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

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

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

效果如下

用lilypond实现模进的更多相关文章

  1. Open Yale course:Listening to Music

    一.Introductionhttps://app.yinxiang.com /Home.action?offer=www_menu#n=4b034a29-986d-4914-8220-eb99c2e ...

  2. AIR lame参数配置

    -Duser.name=Z.yu 固定码率的例子:=======================================================================固定码率 ...

  3. [转]linux下lame的使用

    找到這篇好文章,不得不说開源的Lame功能很強大 linux下lame的使用 % lame [参数] <输入文件名> [<输出文件名>] 如需查询更多参数,可输入下列命令: % ...

  4. 机器学习第7周-炼数成金-支持向量机SVM

    支持向量机SVM 原创性(非组合)的具有明显直观几何意义的分类算法,具有较高的准确率源于Vapnik和Chervonenkis关于统计学习的早期工作(1971年),第一篇有关论文由Boser.Guyo ...

  5. zt 李鸿章听过《彩云追月》?

    ZT 李鸿章听过<彩云追月>? 2013-05-11 09:35:52 编辑 删除 归档在 观世上之音 | 浏览 1041 次 | 评论 1 条 尝试在网上找一点有关<彩云追月> ...

  6. PHP hex文件及bin文件读取

    背景:做物联网时经常会有软件上传这种操作,上传的软件包文件常见的是hex和bin这两种. 一 hex文件读取 1 首先我们需要了解hex文件内容格式 (图及下面说明来自网络,侵权必删) :(冒号)每个 ...

  7. poj2305-Basic remains(进制转换 + 大整数取模)

    进制转换 + 大整数取模一,题意: 在b进制下,求p%m,再装换成b进制输出. 其中p为b进制大数1000位以内,m为b进制数9位以内二,思路: 1,以字符串的形式输入p,m; 2,转换:字符串-&g ...

  8. poj2635(千进制取模+同余模定理)

    题目链接:https://www.cnblogs.com/kuangbin/archive/2012/04/01/2429463.html 题意:给出大数s (s<=10100) ,L (< ...

  9. poj 2305(指定进制,大数取模)

    题意:输入一个进制b,在输入两个基于b进制的大整数 x,y ,求x%y的b进制结果. http://162.105.81.212/JudgeOnline/problem?id=2305 函数: Str ...

随机推荐

  1. Programming In Lua 第四章

    1, 2, 3, 4, 5, 6, 7,

  2. SpringMVC_Two

    SpringMVC_Two 响应数据和结果视图 创建工厂 导坐标: </load-on-startup> </servlet> <servlet-mapping> ...

  3. kettle —— 从 oracle 到 oracle的坑

    公司有个项目,是使用kettle从oracle上统计,再将结果跟oracle中目标表进行对比更新.接手后,走了一些弯路,中间各种尝试都不尽如人意,也学了kettle的一些组件的用法.正好趁着机会记录 ...

  4. WIN7下vs2010滑轮滚动不正确的解决方法

    win7下vs2010在滚动滑轮时文档滚动条不滚动而是解决方案的滚动条滚动的解决方法, 控制面板>设备和打印机>鼠标设置>滚轮选项卡里面将滚轮功能设置设为只使用office97预设的 ...

  5. python初识(2)

    1 字符串格式占位符 1.1%s %d %% 占位符 预留 字符串 整型 (转义) name = input('name:') print ('你的名字是:%s'%(name)) 1.2 f" ...

  6. 001_html基本结构

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. Event StoryLine Corpus 论文阅读

    Event StoryLine Corpus 论文阅读 本文是对 Caselli T, Vossen P. The event storyline corpus: A new benchmark fo ...

  8. SQL Server Form子查询、链接查询

    所用数据表:用户,钱包,订单 一.from子查询 --查询钱包里金额大于30000 and User_ID = Users.ID) ) 二.链接查询 内连接(inner join)外连接(left/r ...

  9. ROS中URDF的学习以及与Xacro的比较

    1.urdf与Xacro简单比较 "URDF" 是最初也是比较简单的机器人描述文件,它的结构简单明了,容易理解.但是这也导致当机器人模型变得复杂时,urdf的结构描述就变得冗长,无 ...

  10. MySQL常见操作指令

    1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:创建一个数据库MYSQLDATA mysql> CREATE DATABASE M ...