2009-12-31 94 views
8

我期待创建一个小应用程序,允许用户可视化和控制(大部分)古典音乐,以便更好地识别canon等结构。什么是合适的数据和文件结构来存储音乐?音乐的语义表征(或符号)

我对音乐知之甚少,所以这对我来说将是一个两层次的学习体验。我想从一个基本的可视化开始,比如突出显示乐谱中的音符,因为音乐以受控的速度播放。我想用C#在WPF中执行此操作,从结构化文件中读取音乐。

+0

哇,这是开放式的。有什么办法可以缩小这个范围吗?编程语言提示?其他技术的喜好,如关系数据库? – 2009-12-31 22:50:21

+0

@ S.Lot,我已经添加了我所能做的。我故意在我的问题中试图避免使用特定平台,因为它离任何实现层都很遥远。 – ProfK 2010-01-01 08:49:49

+0

我一直在研究一个应用程序来解析XPS文档中的音乐分数(从其他应用程序(如acrobat reader)保存/“打印”出来,因为XPS文档基本上是XAML)并显示它们并在WPF中播放它们。 WPF是一个很好的平台,但我希望早些时候看到关于MusicXML的答案,而不是自己解析分数。现在对我来说太晚了...... – AndrewS 2010-01-07 10:21:19

回答

6

您需要的是符号音乐格式与音频格式。由于您正在处理古典音乐,请使用MusicXML format。它支持160多种应用程序,包括所有主流音乐符号应用程序,如Finale和Sibelius,因此您可以使用各种各样的工具。

但请注意,进行可视化显示的类型并突出显示您所谈论的内容是一项复杂的工作。从Finale导出的MusicXML通过包含大量格式化来简化编程,因此您不必执行音乐符号布局的类似AI的部分,但它仍然很复杂。你可能想看看现有的工具,看看有什么工作。也许你可以加入一个免费的MusicXML查看器/播放器,如Zong! Viewer,或者像MuseScore这样的符号编辑器?查看MusicXML application list获取更多选择。由于MusicXML是以XML定义的,因此您还可以使用您在任何其他项目中使用的相同XML工具读取和写入MusicXML文件。

GUIDO是另一种符号格式,但它只支持一些小众应用程序,并且其开发在多年前被放弃。 MEI是另一种符号格式,几乎没有应用程序支持。大约10年前开发了许多符号格式,但MusicXML是目前唯一常用的符号格式。 MIDI是一种旧式交换格式,通用于电子乐器播放,但缺乏准确表示符号所需的语义。

祝你好运!

+0

MEI(Music Encoding Initiative)是另一种格式,尤其是学术用途,我最近一直在使用这种格式。 – 2013-08-01 18:20:55

1

这可能有点神秘,但MIDI可能是一个很好的格式。

2

您可能最终想要使用现有的系统,如GUIDO。音乐是一个相当复杂的事情来模拟和GUIDO已经为你做了这份工作。我会强烈建议你check it out