Твір і обробка музики за допомогою Haskell

    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 см. тут .
    
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.