Нотная библиотека - PullRequest
       35

Нотная библиотека

16 голосов
/ 23 марта 2011

Я хакер Python, желающий создать приложение для нот. Мне удобно читать / понимать ноты (я много лет играл на пианино). Вот мои полные вопросы новичка ..

Существует ли стандарт для представления примечаний в цифровом виде? Я не хочу изобретать какие-либо колеса.

Учитывая последовательность нот и длительностей, есть ли библиотека для их отображения в формате ноты?

В основном я ищу место для начала. Я не сильно увлекаюсь графикой, поэтому существующая библиотека с открытым исходным кодом была бы потрясающей. Если в Python ничего не существует, я компетентен и в Java / Javascript / C.

Спасибо

Ответы [ 4 ]

25 голосов
/ 23 марта 2011

Взгляните на lilypond .Он использует LaTeX для набора нот.Его формат ввода - простой текст, и его можно довольно легко сгенерировать с помощью Python или чего-либо еще.

Abjad - это «Python API для формализованного контроля счета» и оболочка для lilypond, но у меня нетне использовал его и поэтому не могу ручаться за него.

5 голосов
/ 24 марта 2011

Насколько я знаю, abc обозначение - это все еще де-факто стандартный текстовый формат в кругах традиционной / народной музыки. Для него доступно немного программного обеспечения , включая abctool и abc2ly (часть GNU LilyPond ), оба из которых написаны на python. Будучи самопровозглашенным хакером Python, я думаю, вы могли бы превратить любой из них в библиотеку без особых проблем.

2 голосов
/ 24 марта 2011

Есть ли стандарт для представления отмечает в цифровом виде?

Полагаю, вы слышали о MIDI (что охватывает гораздо больше, чем просто ноты и длительности, но является стандартом, который представляет ноты в цифровом виде). ​​

Я рекомендую просмотреть программы Music Notation, перечисленные на странице Python in Music Python, и посмотреть, можете ли вы расширить или внести свой вклад в эти приложения, прежде чем запускать свои собственные.

1 голос
/ 23 марта 2011

Возможно, не совсем то, что вы ищете, но есть коммерческая программа под названием capella (от небольшой немецкой софтверной компании; есть и английская версия). Он поддерживает формат MusicXML и использует Python для создания сценариев, поэтому вы можете писать сценарии для расширения его функциональных возможностей (что уже впечатляет).

Я выучил Python из-за капеллы. (Оказывается, я никогда не писал никаких скриптов для капеллы - никогда не нуждался в этом - но это, конечно, заставило меня заинтересоваться Python:))

...