23

我是一名 python 黑客,希望构建一个乐谱应用程序。我喜欢阅读/理解乐谱(弹钢琴多年)。这是我完整的新手问题..

是否有以数字方式表示笔记的标准?我不想重新发明任何轮子。

给定一系列音符和持续时间,是否有用于以活页乐谱格式显示这些的库?

基本上我正在寻找一个开始的地方。我不是很喜欢图形,所以现有的开源库会很棒。如果 Python 中不存在,我也能胜任 Java/Javascript/C。

谢谢

4

4 回答 4

29

看看百合。它使用 LaTeX 排版乐谱。它的输入格式是简单的文本,可以很容易地用 Python 或其他东西生成。

Abjad是“用于形式化分数控制的 Python API”和 lilypond 的包装器,但我没有使用它,因此无法保证。

于 2011-03-23T20:27:36.327 回答
6

据我所知,abc 符号仍然传统/民间音乐界事实上的标准文本格式。有很多可用的软件,包括abctool和 abc2ly(GNU LilyPond的一部分),它们都是用 python 编写的。作为一个自称是 python 黑客的人,我想你可以毫不费力地将其中任何一个变成一个库。

于 2011-03-23T21:06:03.663 回答
2

可能不完全是您正在寻找的东西,但有一个名为capella的商业程序(来自一家小型德国软件公司;也有英文版)。它支持MusicXML格式,并使用 Python 编写脚本,因此您可以编写脚本来扩展其功能(不过,这已经相当令人印象深刻了)。

我因为无伴奏合唱而学习了 Python。(事实证明我从来没有为卡佩拉写过任何脚本——从来不需要——但这确实让我对 Python 感到好奇 :))

于 2011-03-23T20:53:20.687 回答
1

是否有以数字方式表示笔记的标准?

我假设您听说过MIDI(它包含的不仅仅是音符和持续时间,而是一种以数字方式表示音符的标准)。

我建议查看Python in Music Python wiki 页面中列出的 Music Notation 程序,看看您是否可以扩展或为这些应用程序做出贡献,然后再推出自己的应用程序。

于 2011-03-23T21:04:27.843 回答