Music Suite — программное обеспечение для сочинения, обработки и анализа музыкальных композиций. Подмножество встроено в библиотеку Haskell. Освоить нотную запись с помощью довольно простого кода сможет почти каждый композитор, ведь что такое музыкальная нотация? Это передача музыкальной логики для исполнения «кода» на музыкальном инструменте. Haskell просто позволяет программировать более эффективно.
Итак, генерация мелодии в Music Suite/Haskell осуществляется через выражения.
let
m = staccato (scat [c,d,e,c]^/2) |> ab |> b_ |> legato (d |> c)^*2
in stretch (1/8) m
Обработка — с помощью функций. К примеру, эта функция сокращает длительность нот вдвое и транспонирует их до малой сексты (m6).
up m6 . compress 2
Для вышеуказанной мелодии получается следующий результат.
Music Suite поддерживает работу с несколькими форматами нотной записи: MusicXML, Lilypond, ABC-нотация и MIDI.
В документации подробно рассказывается, как записывать нотные знаки, интервалы, темп, штрихи и т.д.
Для обработки музыки предусмотрены десятки функций (эта часть документации ещё не дописана).
Примеры музыкальных нотаций в Music Suite см. здесь.
Автор: alizar