用lilypond实现模进

基本练习通常是一个两个简单动作在不同位置上反复操练,所以打谱的时候用模进必不可少。

 

所谓模进,就是把一个片段平行地转移到其他音高上进行。比如

do re mi fa

可以把从do开始改成从so开始,那么就变成了

so la si do

 

lilypond的模进命令很管用,能节省大量时间。它的命令是:

%先声明片段
pianduan = \relative c'{ c d e f } \score{
  %把片段从c模进到d \transpose c d { \pianduan} }

 

下面给出我做的例子

 

%声明好片段basicOne
basicOne = \relative c''{
    d8-2~ c-1~ <d c>4
    e8-3~ c-1~ <e c>4    
    f8-4~ c-1~ <f c>4    
    g8-5~ c,-1~ <g' c,>4
}

%正式打谱
\score {
  \relative c''{
    \clef treble
    \basicOne
    \break
    %模进到d
    \transpose c d { \basicOne }
    \break
    %模进到e,下面类似
    \transpose c e { \basicOne }
    \break
    \transpose c f { \basicOne }
    \break
    \transpose c g { \basicOne }
    \break
    \transpose c a { \basicOne }
    \break

 

打完谱子基本上就长下面这样

 

\transpose是严格模进,也就是说,模进后的每个音符之间的音程关系和之前相同。

所以像这样

do re mi

从c模进到d之后,就会变成

re mi #fa

因为re mi是全音,所以这两个音模进后也必须保持全音,也就是mi #fa,而不会是mi fa 

 

如果要让模进始终在原来的调性音阶上进行,这种模进一般被称作首调模进。

命令是\modalTranspose,与其配套的还要再声明一个模进用的音阶,示例如下:

%声明要模进的片段
pianduan = \relative c''{
   c d e f
}

%声明模进的音阶,就是片段只会在这些音上模进
scaleC = \relative c'{ c d e f g a b }

\score{
    \relative c'{
        %将片段在指定音阶上从c模进到d
        \modalTranspose c d \scaleC \pianduan
    }
}

 

上面的练习就改成这样

scaleC = \relative c''{ c d e f g a b }

basicone = \relative c''{
   d8-2~ c-1~ <d c>4	
  e8-3~ c-1~ <e c>4
  f8-4~ c-1~ <f c>4
  g8-5~ c,-1~ <g' c,>4 } \score { \relative c''{ \clef treble \basicone \break \modalTranspose c d \scaleC \basicone \break \modalTranspose c e \scaleC \basicone \break \modalTranspose c f \scaleC \basicone \break \modalTranspose c g \scaleC \basicone \break \modalTranspose c a \scaleC \basicone \break \modalTranspose c b \scaleC \basicone \break \modalTranspose c c' \scaleC \basicone } }

 

效果如下

 

posted on 2019-08-06 19:49  lilypond手残粉  阅读(657)  评论(1编辑  收藏  举报