Java 如何在JFugue 5.0中获取乐器词典

Java 如何在JFugue 5.0中获取乐器词典,java,midi,jfugue,Java,Midi,Jfugue,我正在用JFugue 5.0做一个项目,我试过4.0,但5.0似乎比他以前的兄弟更流畅。无论如何,我有完整的JFugue v4指南,这些字符串用于引用 现在,当我尝试运行我的代码时,出现以下错误: Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: JFugue NoteSubparser: Could not find 'HIGH_TOM' in dictionary. 这是我使用的自定义节奏图: kitPer

我正在用JFugue 5.0做一个项目,我试过4.0,但5.0似乎比他以前的兄弟更流畅。无论如何,我有完整的JFugue v4指南,这些字符串用于引用

现在,当我尝试运行我的代码时,出现以下错误:

Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: JFugue NoteSubparser: Could not find 'HIGH_TOM' in dictionary.
这是我使用的自定义节奏图:

kitPercusion = new HashMap<>();
    kitPercusion.put('O', "[ACOUSTIC_BASS_DRUM]i");
    kitPercusion.put('S', "[ACOUSTIC_SNARE]i");
    kitPercusion.put('`', "[CLOSED_HI_HAT]s Rs");
    kitPercusion.put('^', "[OPEN_HI_HAT]i");
    kitPercusion.put('R', "[RIDE_CYMBAL_1]s Rs");
    kitPercusion.put('C', "[CRASH_CYMBAL_1]s Rs");
    kitPercusion.put('T', "[HIGH_TOM]s Rs");
    kitPercusion.put('-', "[HI_MID_TOM]s Rs");
    kitPercusion.put('_', "[LOW_FLOOR_TOM]s Rs");
    kitPercusion.put('~', "[COWBELL]i");
    kitPercusion.put('.', "Ri");

打击乐器的名称保存在静态字符串中[]
注。打击乐器名称

你好,汤姆
就是你要找的。在JFugue 5中,所有以前命名为
HIGH_X
LOW_X
的打击乐器都简化为
HI_X
loux


(您可能还对乐器名称感兴趣,这些名称与打击乐器名称不同。打击乐器名称只是在MIDI为打击乐器保留的第10声道(
V9
)中播放这些音符时使用的音符值的替代名称(这就是为什么你的MIDI钢琴在几个音符上都有打击乐器符号的原因);乐器名称代表实际的乐器补丁。你可以在
MIDI字典中找到它们。乐器字节到字符串
MIDI字典。乐器字符串到字节

大卫·科勒本人已经回答了!非常感谢。这是StackOverflow的优点之一——来自《stuff》原作者的大量评论和回答!
    Player player = new Player();
    StaccatoParser sp = player.getStaccatoParser();
    StaccatoParserContext spc = new StaccatoParserContext(sp);
    System.out.println(spc.getDictionary());