我正在寻找一个小应用程序,允许用户视觉和控制(主要是)古典音乐,以便更好地识别诸如佳能之类的结构。存储音乐的合适数据和文件结构是什么?
我对音乐知之甚少,所以这对我来说将是两个层面的学习经历。我想从基本的可视化开始,例如在音乐以受控速度播放时突出显示乐谱中的音符。我想用 C# 在 WPF 中执行此操作,从结构化文件中读取音乐。
我正在寻找一个小应用程序,允许用户视觉和控制(主要是)古典音乐,以便更好地识别诸如佳能之类的结构。存储音乐的合适数据和文件结构是什么?
我对音乐知之甚少,所以这对我来说将是两个层面的学习经历。我想从基本的可视化开始,例如在音乐以受控速度播放时突出显示乐谱中的音符。我想用 C# 在 WPF 中执行此操作,从结构化文件中读取音乐。
您需要的是符号音乐格式与音频格式。由于您处理的是古典音乐,因此请使用MusicXML 格式。它受到 160 多个应用程序的支持,包括所有领先的乐谱应用程序,如 Finale 和 Sibelius,因此您可以使用非常广泛的工具。
但是请注意,进行您正在谈论的视觉显示和突出显示类型是一项复杂的工作。从 Finale 导出的 MusicXML 通过包含大量格式简化了编程,因此您不必执行音乐符号布局的类似 AI 的部分,但它仍然很复杂。你可能想看看现有的工具,看看有什么作用。也许您可以合并像Zong 这样的免费 MusicXML 查看器/播放器!查看器,还是像MuseScore这样的符号编辑器?查看MusicXML 应用程序列表以获得更多选择。由于 MusicXML 是在 XML 中定义的,因此您还可以使用在任何其他项目中使用的相同 XML 工具来读取和写入 MusicXML 文件。
GUIDO 是另一种符号格式,但它只被几个小众应用程序支持,并且它的开发在很多年前就被放弃了。MEI 是另一种几乎没有应用程序支持的符号格式。大约 10 年前开发了许多符号格式,但 MusicXML 是当今唯一常用的一种。MIDI 是一种较旧的交换格式,适用于电子乐器播放,但缺乏准确表示符号所需的语义。
祝你好运!
使用它可能有点神秘,但 MIDI 可能是一个很好的格式。