Как заставить 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.

Другие вопросы по тегам