音乐生成方法指南
来自NPUcraftWiki
音乐生成基于简谱,完美上手需要一点点耐心读懂记谱规则和一点点乐理知识,仅此而已~
调教方法
- <-musicgen list>: 查看已保存的音乐
- <-musicgen view 音乐名字>: 查看已保存的音乐乐谱
- <-musicgen play 音乐名字>: 播放已保存的音乐
- <-musicgen [Options] -- 乐谱>: 生成音乐,可选参数如下:
-b, --bpm <正整数>: 音乐速度 -s, --save <音乐名字> : 保存音乐
乐谱可有空格可换行
-musicgen后的--不可省略,其表示之后的所有内容为乐谱
支持上传文件乐谱:将后缀为.mscg的文件上传至群文件夹musicgen中,将文件名【包含后缀】替换“乐谱”参数即可,如:-musicgen -b 170 -- unknown.mscg 意为以170速度播放unknown.mscg包含的乐谱内容
记谱规则
[乐谱结构]
\track{track name}i{instrument num} \v{voice num}m{major}{12345671'7654321}__ \track{track name}i{instrument num} \v{voice num}m{major}{12345671'7654321}__ \v{voice num}m{major}{12345671'7654321}__
【说明】
- \track{}表示音轨,不使用多音色时可省略
- i{}等价于\instrument{}; m{}等价于\major{}
- i{}为设置音色,省略时默认钢琴,设置参数请参考MIDI文件说明
- m{}为设置曲调,省略时默认C大调,请务必在\v{}之后设置!
[音长写法规则]
- 全音符: 1---
- 二分音符: 1-
- 附点二分音符: 1-- 或 1-*
- 四分音符: 1
- 三连音:1//2//3//
- 附点四分音符: 1*
- 八分音符: 1_
- 十六分音符: 1__
- 和弦: {1,3,5}
[音高写法规则]
- '和.分别将音符升和降八度
- #和b分别升和降半调
例:1.为C3,1'为C5
当音高达到两个极限值时则会被切断
[注]
- 竖线|可出现在序列中的任何位置,相当于虚词,无实意,只是为了增加可读性,如分隔小节.
- 修饰符位于一个音符之后。_将音符长度减半,n个连续的-和*分别将长度增加n和(1 - 1 / 2^n)倍。也就是说这三个修饰符分别相当于简谱中的下划线、横线和附点.
- 修饰符会影响{}中的所有音符。比如{123}//和1//2//3//是等价的、{1234}_和1_2_3_4_是等价的.
- 表示连音使用修饰符/,n个/将音符长度除以(n + 1).
- \v{num}表示第num声部,例:\v{1}1234567\v{2}7654321
- \track{num}表示第num音轨
- \vel{num}设置弹奏力度,只能在\v{}后设置,推荐在80附近进行调试
[举个栗子]
-musicgen -b -- 140 53_*4__55|67_*1'__75|1'765|6_*5__4_3_2-|53_*4__55|67_*1'__75|1'762'|2'_*1'__71'-|1'*1'_66|2'*1'_77|1'*1'_55|4_*3__2'2'-|5_*5__3'3'-|2'*1'_1'6|7*1'_2'5|3'_*3'__2'1'-
生成速度bpm=140的音乐(西北工业大学校歌)
-musicgen -- \track{1}i{3} \v{1}m{C}{11556655443322_*3__1-}'|{11556655443322_*3__1-}'| {5544332255443_{4_3_2_}//3_*4__321155665544332_{3_2_1_}//2_*3__1-} {5544332255443_{4_3_2_}//3_*4__321155665544332_{3_2_1_}//2_*3__1-} \track{2}i{24} \v{2}\vel{100}11'3'1'4'1'3'1'2'71'6451-|11'3'1'4'1'3'1'2'71'6451- |3'52'51'5753'52'511'_*2'__{5,1'}711'3'1'4'1'3'1'2'71'6451- 3'52'51'5753'52'511'_*2'__{5,1'}711'3'1'4'1'3'1'2'71'6451-
生成诡异的小星星变奏曲