Question

J'ai récemment mis en place un Beatbox MIDI à partir du code dans Head First Java et voudrais vraiment faire plus avec les capacités MIDI de Java. Je pensais que je pourrais commencer en ajoutant plus, les instruments non percutants au code existant, mais je ne peux pas sembler trouver une liste simple des instruments disponibles et leurs clés de int.

Est-ce que cette liste exist partout pour theSoundbankthat navires avec le JDK?

Était-ce utile?

La solution

DYM comme ça?

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);
    }
}

Sortie

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)
...

Autres conseils

Voici la liste complète, néanmoins. http://www.midi.org/techspecs/gm1sound.php

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top