lilypond
Меня интересует в первую очередь запись ритма.
- https://github.com/mjago/ob-lilypond и, похоже, оно же: https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-lilypond.html - про возможность работать с ним в org-mode.
- https://lilypond.org/doc/v2.18/Documentation/snippets/rhythms - по идее, оно же есть в доках, установленных с лилипондом.
- http://lilypond.org/doc/v2.19/Documentation/notation/using-midi-instruments - оттель же про выбор миди-инструмента
\midi { }
- нужно, чтоб генерился миди-файл.- http://www.forumklassika.ru/forum.php - там тоже обсуждают лилипонд иногда
в Lilypond файлы можно внедрять язык PostScript. Если кто-то нибуть имеет представление что это за язык, то поймут, что это делает возможности LilyPond неограниченными.
С помощью конструкции вида:
\markup { \postscript #"some code" }
Можно нарисовать любую фигуру в нотах. Правда цена этого - изучение PostScript - но он, к счастью не является особенно сложным языком.
(Нннууу, может, и не является. Не бралась и боюсь. :))
Меняем темп
To change the tempo in MIDI output without printing anything, make the metronome mark invisible.
\score { \new Staff \relative c' { \tempo 4 = 160 c4 e g b c c4 b d c \set Score.tempoHideNote = ##t \tempo 4 = 96 d,4 fis a cis d4 cis e d } \layout { } \midi { } }
Ноты на нитке
\version "2.20.0" \score { << \new RhythmicStaff { \new Voice = "myRhythm" \relative { \time 4/4 c'4 e8 f g2 r4 g g f g1 } } \new Lyrics { \lyricsto "myRhythm" { This is my song I like to sing } } >> }
Пример, который должен на выходе печатать кусочек, а не прям страницу pdf
благодаря инклюду.
\version "2.18.2" \include "lilypond-book-preamble.ly" \paper { indent = 2\mm line-width = 210\mm } \layout { indent = #0 \context { \Score \remove "Bar_number_engraver" } } music = \relative c' { \tempo 4 = 60 \clef treble \key d \major g8^\markup { C } g8 b4 b8 b8 d4 cis8 cis8 e4 b8 b8 d4 } \score{ \music \layout{} \midi{} }
midi 2 mp3
Чтоб было удобнее делиться результатами
timidity my_file.mid -Ow -o - | ffmpeg -i - -acodec libmp3lame -ab 64k my_converted_file.mp3
or use lame - у меня не работает:
timidity my_file.mid -Ow -o - | lame -b 64 - my_converted_file.mp3