用lilypond实现模进

2021年11月25日 阅读数:3
这篇文章主要向大家介绍用lilypond实现模进,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

基本练习一般是一个两个简单动做在不一样位置上反复操练,因此打谱的时候用模进必不可少。spa

 

所谓模进,就是把一个片断平行地转移到其余音高上进行。好比code

do re mi fablog

能够把从do开始改为从so开始,那么就变成了class

so la si doim

 

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

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

 

下面给出我作的例子img

 

%声明好片断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

 

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

 

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

因此像这样co

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 } }

 

效果以下