#java #midi #javasound #midi-instrument
#java #midi #javasound #midi-инструмент
Вопрос:
Я недавно внедрил MIDI-битбокс из кода в Head First Java и действительно хотел бы сделать больше с возможностями MIDI Java. Я подумал, что мог бы начать с добавления дополнительных, не ударных инструментов в существующий код, но, похоже, я не могу найти простой список доступных инструментов и их int
клавиш.
Существует ли где-нибудь такой список для Soundbank
того, что поставляется с JDK?
Ответ №1:
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)
...
Ответ №2:
Тем не менее, вот полный список. http://www.midi.org/techspecs/gm1sound.php