Как заставить lilypond генерировать глиссандо в миди-выходе
Мой фрагмент lilypond генерирует счет, содержащий глиссандо (слайд с одного поля на другое) правильно. Он генерирует MIDI-файл, но он не похож на слайд с одного поля на другое. Это звучит как 2 разных шага. Мой инструмент настроен на скрипку.
Как правильно генерировать глиссандо в миди-файле?
\version "2.18.2"
\include "articulate.ly"
\score {
\articulate
<<
\new Staff {
\set Staff.midiInstrument = #"violin"
\relative a' {
a4 \glissando d
}
}
>>
\layout { }
\midi { }
}
Спасибо Джон
2 ответа
К сожалению, LilyPond не поддерживает глиссанди в своем MIDI-выходе.
LilyPond не может создавать миди-глиссандо автоматически (даже в последней версии 2.23), но вы можете сделать его вручную:
Хитрость заключается в том, чтобы использовать отдельные блоки партитуры для pdf и midi и использовать теги , отфильтрованные из этих блоков (с
\removeWithTag
).
\version "2.18.2"
\include "articulate.ly"
contents = {
<<
\new Staff {
\set Staff.midiInstrument = #"violin"
\relative a' {
\tag #'pdfonly {
a4 \glissando^\markup{\italic"gliss."} d r2 |
}
\tag #'midionly {
\tuplet 5/4 {a16 ais b c cis} d4 r2 |
}
}
}
>>
}
% PDF
\score {
\removeWithTag #'midionly
\contents
\layout { }
}
% MIDI
\score {
\removeWithTag #'pdfonly
\articulate
\contents
\midi { }
}
я использовал
\tuplet
чтобы соответствовать всем дискретным высотам между нотами. Действительно глиссандо не будет дискретным, но это лучшее, что вы можете получить с миди.Я также переместил
\articulate.ly
скрипт в миди-блок. Имеет смысл применить этот скрипт к миди, но он портит pdf.