【发布时间】:2015-12-24 03:36:15
【问题描述】:
我用 C# 创建了一些基本的乐谱软件。我有一个“声音”类,其中包含有用的属性(Note、NoteType(Semibreve、quaver 等)。我目前有可以使用这些“声音”类的实例来创建用于播放音符的频率和持续时间的函数.
现在,我只想将此信息导出为 MIDI 文件,我该怎么做?
【问题讨论】:
-
阅读Standard MIDI-File Format Spec. (PDF)。
我用 C# 创建了一些基本的乐谱软件。我有一个“声音”类,其中包含有用的属性(Note、NoteType(Semibreve、quaver 等)。我目前有可以使用这些“声音”类的实例来创建用于播放音符的频率和持续时间的函数.
现在,我只想将此信息导出为 MIDI 文件,我该怎么做?
【问题讨论】:
基本上,您需要一个库来将您的音符列表转换为 MIDI 或创建您自己的。 对于第一个选项,我没有看到任何用 C# 编写的文档库。不过这两个C#-MIDI-Toolkit和midi.net可以查
对于第二个选项,您首先必须阅读MIDI format specification。然后您可以根据音符打开和音符关闭事件对您的音符进行编码。
作为附加选项,您可以考虑在到 midi 转换阶段的注释列表中使用Python 和 Java 编写的其他易于使用的解决方案
【讨论】: