MIDI乐器列表? [英] MIDI instrument listing?

查看:139
本文介绍了MIDI乐器列表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近从 Head First Java 中的代码实现了一个MIDI Beatbox,我真的很想利用Java的MIDI功能做更多的事情.我以为我可能会在现有代码中添加更多的非打击乐器,但似乎无法找到可用乐器及其int键的直接列表.

I have recently implemented a MIDI Beatbox from the code in Head First Java and would really like to do more with Java's MIDI capabilities. I thought that I might start by adding more, non-percussive instruments to the existing code, but I cannot seem to find a straightforward listing of the available instruments and their int keys.

JDK附带的Soundbank的任何地方都存在这样的清单吗?

Does such a listing exist anywhere for theSoundbankthat ships with the JDK?

推荐答案

像这样的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)
...

这篇关于MIDI乐器列表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆