绪论
近期发现很多小伙伴在使用软件生成MML曲谱后经常出现力不从心的情况
才发现许多人都不理解MML代码的意义,在此特别撰写一篇文章
简单的介绍一下MML代码的构成,没有乐理知识也能看懂哦
何为MML
mml是「Music Macro Language」音乐标记语言 的简称
打个比方,比如一个人去演奏钢琴,那他肯定需要一个乐谱,这时候五线谱简谱等书面乐谱就是最好的,因为大家都可以快速的知道每个小节需要按下什么键,要按多久,要怎么按。
但是在计算机中,让计算机去读五线谱显然不太现实,所以便产生了MML代码这种文本语言,这种通用文本可以被所有电脑读取,从而播放出来。
简单来说,MML就是乐谱表示的一种形式,只不过这个乐谱是给计算机去读取的,而不是人类。所以游戏内使用的皆为MML乐谱。
MML代码的构成
现在我们知道了MML代码是一串交给电脑阅读的文本,但是我们人类也需要对其进行修改,所以我们也应该去学习如何阅读他。
注意: MML代码不区分大小写 同时也会忽略错误的字符(所以在乐谱中夹杂中文或者其他符号不会影响乐谱播放)
下面我会讲解一些基础的构成
Part1 音阶
大家都知道 乐谱是由 Do Re Mi Fa Sol La Si 七个基础音阶组成
这七个音阶在MML代码中分别对应为
C D E F G A B
由此可得 以下MML代码可以翻译为
dgabc (DGABC) =读作=> Re Sol La Si Do (唻 嗖 拉 西 哆)
再次注意 MML代码中不区分大小写
Part2 时值
光有基础的音阶还不够 我们写出的乐谱太单调了 我们需要将他们改成不同的时值(长度)
因此 我们需要对它们进行修饰
音符的长度通常被分为
1分音符 2分音符 4分音符 8分音符 16分音符 ····
举个不恰当的例子 (其实这和节拍有关 比较难理解 我就举时间的例子了)
比如一个 一分音符的Do 时值是1秒(也就是Do~这个音要弹奏1秒)
那么之后的 二分音符的Re 的时值也就是0.5秒(Re~这个音要弹奏0.5秒)
在代码里只需要在 音阶后面跟上数字 即可表达音符的时值
一分音符的Do =写作=> C1 (c1)
二分音符的Re =写作=> D2 (d2)
大概理解了吧? 等等,我们这里还有一个点没有说
对的 就是一个点 -> . <-
这个在乐理中叫做附点音符 加在任何音符之后便可以延长其50%的长度
不需要理解哦 你现在知道为什么代码中总是有一堆莫名其妙的点了吧
让我们来总结一下
c2 d8 e32 a128. (c2d8E32A128.) =读作=> Do(2分) Re(8分) Mi(32分) La(128分附点)
Part3 音调
我们现在写出来的乐谱长短不一了 看起来很有节奏感(动次打次) 但是还是太单调了 因为所有的音都是一样高的!
音调(o1~o10) 数字越高表示的音调也越高
这里要参考游戏的设置 或者乐器的设置 因为不是所有乐器的音域都足够饱满 可以演奏出所有的音调的!
我们再加入一点改变 让他们表示不同的音调
我们只需要在一个段落前加上表示 这样就可以让后面所有的音符都使用这个音调
o1 cdf o2 cdf o3 cdf =读作=> 1调的 Do Re Mi 2调的 Do Re Mi 3调的 Do Re Mi
当然 一般情况下 不会总是使用 o1~o10 来标记 因为一个乐谱的音符很少跨那么大的音域 所以我们一般只在开头标识一下标准的音域是多少
然后我们使用 > 和 < 来修改音符的音调(升或降八度)
比如
o4 cd >e <<f =读作=> 4调 Do Re 5调 Mi 3调
Part4 小结
好了 让我们尝试将三个东西组合到一起
o4 c2 d8 <a4 >>b16. c2 / (o4c2D8<A4>>B16.c2)
请试着翻译一下上方的代码(括号内的是不含空格且大小写随机的 显得更加混乱)
o4 c2 d8 <a4 >>b16. c2 =读作=>
4调 Do(二分) Re(八分) 3调 La(四分) 5调 Re(附点十六分) Do(二分)
Part5 乐谱的基础属性
乐谱除了由上面的音符构成 还拥有其他属性哦
曲速(Tempo)
曲速 BPM 用于衡量这首曲速到底以多少速度来演奏 越小的数值越慢 反之亦然
在 MML中 以 (t32~t255) 来表示 在曲目开头部分一定会有标识 并且多轨音乐的情况下要使用一样的曲速 不然多轨就会出现不同步的情况
少数音乐会进行变速 也就是在乐谱中穿插曲速标识 注意识别
t128 o4c2D8<A4>>B16.c2 (128BPM)
音量(Volume)
音量 字如其名 表达不同的响度
在MML中以(v1~v1000) 来表示 这个由游戏设置或软件设置不同而改变
比如在天谕中 音量的范围是 (v1~v15)
而在 上古世纪中 音量的范围是 (v1~v127)
请根据游戏或者软件设置 灵活调整这个值
同曲速一样 这个会在开头进行标记 一般主旋律的声音会比和弦大一些 用于突出重点
少数曲子也会全局变音 也就是在代码中穿插一堆的 vXX 注意识别
t128 v15 o4c2D8<A4>>B16.c2 (音量 : 15)
注意
以上没有固定的顺序 可以曲速在前或者音量在前 甚至音调在前也是可以的
Part6 拓展内容
以下内容属于拓展内容 可以自行阅读
Comments | NOTHING