gpt4 book ai didi

java - JFugue 解析 midi 文件并输出 .csv?

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

我想将 midi 文件转换为 .csv 格式,如下所示:

音符名称、startTick、持续时间、力度

还包括整个和弦(从同一刻度开始的音符组)。

现在,JFugue 有一个 MidiParser 类,看起来它可以做到这一点。我自己的实现有点粗糙,无法检测音符关闭事件、换行符或和弦。

那么,JFugue 中是否有功能可以帮助我完成此任务?

最佳答案

创建您自己的 ParserListener(可能是“CsvParserListener”),将其添加为 MidiParser 的监听器,并让您的 CsvParserListener 知道如何创建 CSV 文件。

ParserListener 是JFugue 中的一个接口(interface)。您还可以扩展 ParserListenerAdapater 而不是实现 ParserListener。

还有第二种方式。您还可以创建一个实现 AuxilliaryMidiParser 并覆盖 parseHandledEvent(MidiEvent e) 的类。您将可以直接访问 MIDI 事件,这可能更适合您,因为您可以在播放音符时轻松访问节拍。将您的 AuxilliaryMidiParser 添加到常规 MidiParser,然后调用 midiParser.parse(File),最后在您编写的辅助解析器上调用一个方法来保存 CSV 文件。

关于java - JFugue 解析 midi 文件并输出 .csv?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37721745/

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