音乐生成方法指南

来自NPUcraftWiki
Sirius0v0讨论 | 贡献2021年10月17日 (日) 15:00的版本 →‎调教方法
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

音乐生成基于简谱,完美上手需要一点点耐心读懂记谱规则和一点点乐理知识,仅此而已~

调教方法

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

生成诡异的小星星变奏曲