gpt4 book ai didi

java - JFugue 5.0中乐器词典获取方法

转载 作者:行者123 更新时间:2023-11-30 10:43:43 25 4
gpt4 key购买 nike

我正在用 JFugue 5.0 做一个项目,我试过 4.0,但 5.0 似乎比他 previous sibling 更流畅。不管怎样,我有 JFugue v4 的完整指南,这些是用来引用 differents percussion instruments 的字符串。

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

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

在官方网站示例中,我看到名称已被“简化”,如“吉他”、“钢琴”等。

有没有办法获取包含有效乐器字符串的字典?

编辑:我试过这个,但它打印出一个空 map

    Player player = new Player();
StaccatoParser sp = player.getStaccatoParser();
StaccatoParserContext spc = new StaccatoParserContext(sp);
System.out.println(spc.getDictionary());

最佳答案

打击乐器的名称保存在静态 String[] Note.PERCUSSION_NAMES 中。

HI_TOM 就是您要找的。在JFugue 5中,所有以前命名为HIGH_XLOW_X的打击乐器都被简化为HI_XLO_X

(您可能还对乐器名称感兴趣,这与打击乐名称不同。打击乐名称只是音符值的替代名称,用于在第 10 声道播放这些音符时使用(V9 ),其中 MIDI 为打击乐器保留(这就是为什么您的 MIDI 钢琴在多个音符上有打击乐器符号的原因);乐器名称用于实际乐器音色。您可以在 MidiDictionary.INSTRUMENT_BYTE_TO_STRING 中找到它们和 MidiDictionary.INSTRUMENT_STRING_TO_BYTE。)

关于java - JFugue 5.0中乐器词典获取方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37683934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com