如何让LilyPond生成MIDI输出中的滑音?

3
我的lilypond代码片段生成了一个乐谱,其中包含一个正确的滑音(从一个音高滑到另一个音高)。它生成了一个midi文件,但听起来不像是从一个音高滑到另一个音高,而是听起来像两个不同的音高。我的乐器设置为小提琴。
在midi文件中生成滑音的正确方法是什么?
\version "2.18.2"
\include "articulate.ly"


\score {
  \articulate
  <<
  \new Staff {
    \set Staff.midiInstrument = #"violin"

    \relative a' {
      a4 \glissando d
    }
  }
  >>  
  \layout { }
  \midi { }

}
2个回答

1
LilyPond不能自动产生midi滑音(即使是最新版本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来适配音符之间的所有离散音高。一个真正的滑音不是离散的,但这已经是用midi能做到的最好了。

  • 我还将\articulate.ly脚本移动到了midi块中。将这个脚本应用于midi是有意义的,但它会破坏pdf文件。


1
很遗憾,LilyPond在其MIDI输出中不支持滑音。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接