Java 如何在JFugue 5.0中获取乐器词典
我正在用JFugue 5.0做一个项目,我试过4.0,但5.0似乎比他以前的兄弟更流畅。无论如何,我有完整的JFugue v4指南,这些字符串用于引用 现在,当我尝试运行我的代码时,出现以下错误: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
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());