Список инструментов MIDI? - PullRequest
7 голосов
/ 18 октября 2011

Я недавно внедрил MIDI Beatbox из кода в Head First Java и очень хотел бы сделать больше с возможностями Java MIDI.Я подумал, что мог бы начать с добавления дополнительных, не ударных инструментов в существующий код, но я не могу найти простой список доступных инструментов и их ключей int.

Существует ли такой список где-нибудь для Soundbank, который поставляется с JDK?

Ответы [ 2 ]

14 голосов
/ 18 октября 2011

DYM, как это?

import javax.sound.midi.*;
import javax.swing.*;

class Instruments {

    public static void main(String[] args) throws MidiUnavailableException {
        Synthesizer synthesizer = MidiSystem.getSynthesizer();
        synthesizer.open();
        Instrument[] orchestra = synthesizer.getAvailableInstruments();

        final StringBuilder sb = new StringBuilder();
        String eol = System.getProperty("line.separator");
        sb.append("The orchestra has ");
        sb.append(orchestra.length);
        sb.append(" instruments.");
        sb.append(eol);
        for (Instrument instrument : orchestra) {
            sb.append(instrument.toString());
            sb.append(eol);
        }
        synthesizer.close();

        Runnable r = new Runnable() {

            @Override
            public void run() {
                JOptionPane.showMessageDialog(null,
                        new JScrollPane(new JTextArea(sb.toString(), 20, 30)));
            }
        };
        SwingUtilities.invokeLater(r);
    }
}

Выход

The orchestra has 411 instruments.
Instrument Piano (bank 0 program 0)
Instrument Bright Piano (bank 0 program 1)
Instrument Electric Grand (bank 0 program 2)
Instrument Honky Tonk Piano (bank 0 program 3)
Instrument Electric Piano 1 (bank 0 program 4)
Instrument Electric Piano 2 (bank 0 program 5)
Instrument Harpsichord (bank 0 program 6)
Instrument Clavinet (bank 0 program 7)
Instrument Celesta (bank 0 program 8)
Instrument Glockenspiel (bank 0 program 9)
...
3 голосов
/ 05 января 2015

Вот полный список, тем не менее.http://www.midi.org/techspecs/gm1sound.php

...