用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
}
}
效果如下

用lilypond实现模进的更多相关文章
- Open Yale course:Listening to Music
一.Introductionhttps://app.yinxiang.com /Home.action?offer=www_menu#n=4b034a29-986d-4914-8220-eb99c2e ...
- AIR lame参数配置
-Duser.name=Z.yu 固定码率的例子:=======================================================================固定码率 ...
- [转]linux下lame的使用
找到這篇好文章,不得不说開源的Lame功能很強大 linux下lame的使用 % lame [参数] <输入文件名> [<输出文件名>] 如需查询更多参数,可输入下列命令: % ...
- 机器学习第7周-炼数成金-支持向量机SVM
支持向量机SVM 原创性(非组合)的具有明显直观几何意义的分类算法,具有较高的准确率源于Vapnik和Chervonenkis关于统计学习的早期工作(1971年),第一篇有关论文由Boser.Guyo ...
- zt 李鸿章听过《彩云追月》?
ZT 李鸿章听过<彩云追月>? 2013-05-11 09:35:52 编辑 删除 归档在 观世上之音 | 浏览 1041 次 | 评论 1 条 尝试在网上找一点有关<彩云追月> ...
- PHP hex文件及bin文件读取
背景:做物联网时经常会有软件上传这种操作,上传的软件包文件常见的是hex和bin这两种. 一 hex文件读取 1 首先我们需要了解hex文件内容格式 (图及下面说明来自网络,侵权必删) :(冒号)每个 ...
- poj2305-Basic remains(进制转换 + 大整数取模)
进制转换 + 大整数取模一,题意: 在b进制下,求p%m,再装换成b进制输出. 其中p为b进制大数1000位以内,m为b进制数9位以内二,思路: 1,以字符串的形式输入p,m; 2,转换:字符串-&g ...
- poj2635(千进制取模+同余模定理)
题目链接:https://www.cnblogs.com/kuangbin/archive/2012/04/01/2429463.html 题意:给出大数s (s<=10100) ,L (< ...
- poj 2305(指定进制,大数取模)
题意:输入一个进制b,在输入两个基于b进制的大整数 x,y ,求x%y的b进制结果. http://162.105.81.212/JudgeOnline/problem?id=2305 函数: Str ...
随机推荐
- 学习kafka自己发生的几个小错误记录
一. The method iterator() is ambiguous ConsumerIterator<byte[],byte[]> it =stream.iterator(); ...
- Vue的生命周期函数
详解Vue Lifecycle 先来看看vue官网对vue生命周期的介绍 Vue实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom.渲染→更新→渲染.销毁等一系列过程,我们称 ...
- kubernetes实战之consul篇及consul在windows下搭建consul简单测试环境
consul是一款服务发现中间件,1.12版本后增加servicemesh功能.consul是分布式的,可扩展的,高可用的根据官方文档介绍,目前已知最大的consul集群有5000个节点,consul ...
- MySQL数据库设计与开发规范
目录 1. 规范背景与目的 2. 设计规范 2.1. 数据库设计 2.1.1. 库名 2.1.2. 表结构 2.1.3. 列数据类型优化 2.1.4. 索引设计 2.1.5. 分库分表.分区表 2.1 ...
- 看看大神 Paul Graham 对如何学习编程的回答
前言 我翻阅自己之前写的博客文章,发现在 2015 年我刚开始学习编程的时候,翻译了一段 Paul Graham 关于"How can I learn to program?"的回 ...
- 对于springboot的几种注入方法的个人看法
最近在知乎上面看到一篇关于程序员面试的问题,面试官问我们一般有几种注入的方法,这几种注入的方法分别在什么时候运用比合理,当时我看到这个时候懵逼了,由于我自己也是刚刚接触springboot不久,所以就 ...
- Windows OS添加USB3.0驱动!
原因:现在的win7.win2008等一些早期的系统在安装时无法使USB鼠标和键盘... 1. 素材(dism64工具.UltraISO工具.U盘一个) 2. 先使用UltrISO工具制作一个wi ...
- 关于vue项目font字体图标库导入未显示的问题
运行项目时,弹出以下信息:
- Mysql常用增删查改及入门(二)
常用:数据库常用就是DML:增删查改 1.增加数据: insert into 表名 values (值1,值2...); insert into 表名 (字段1,字段2) values (值1,值2) ...
- [USACO10FEB]给巧克力Chocolate Giving
题意简叙: FarmerFarmerFarmer JohnJohnJohn有B头奶牛(1<=B<=25000)(1<=B<=25000)(1<=B<=25000), ...