上一回带给大家第一期的 BEATWIZ 里打节拍的秘密,节奏是音乐的灵魂。BEATWIZ 的高精度计算节奏功能可以应用到各种不同的环境当中,他强大的功能中包含着自动识别乐曲的乐句。在音乐游戏中这功能就可以带给开发者无限大的便利啦!《BEATWIZ 音游谱面自动生成!》 大家一起来探究这个秘密吧!
第二话:大家一起热闹
大家好,我是 CRIWARE 的增野。
之前的第一话“打节拍的秘密”里,我简单的介绍了,
BEATWIZ 的诞生,以及功能解说故事。
通过“打节拍的秘密”我们可以对乐曲进行解析,将以往只能用感觉去解释的“乐曲的热闹程度”以及“乐句的构成”到底是怎么一回事。
最终,“只需要输入任意的音乐,就可以自动生成音游”的魔法就完成了。
这次,我们对这个魔法的其中一个元素“乐曲的热闹程度的判定技术”进行说明。
符合作曲家意图的时间标记(MBT 单位)
演奏过乐曲的人都知道,在乐曲的特定的地方做标记的话,比如就会使用“第 12 小节第十三拍”这样的说法,而不会去使用类似“1 分 23 秒”这样的描述。
在第一话里,我们知道了音乐的“打节拍的秘密”,也就是说
BPM
值(音乐的速度)- 拍子开头的时刻(第一小节第一拍是什么时候?)
- 拍子数(3 拍子还是 4 拍子)
对于知道了以上信息的乐曲来说,就可以不使用“时分秒”的单位,而是可以使用“小节,拍”的单位来表示,这两者可以互换。
在 BEATWIZ 里,小节,拍”单位的时刻信息称之为“MBT
”。
M
,B
,T
分别表示以下意思。
小节(Measure 的 M
,从 1
开始)
拍子(Beat 的 B
,从 1
开始,3 拍子的曲目则值为 123
,4 拍子则是 1234
)
Tick(从 0
开始,我们定义一拍(B
)等于 960T
)
比如说 (M,B,T)=(1,1,0)
,就是指“第一小节的第一拍的开头”,也就是曲目的最开始的地方。
在上述图中,表示了 BPM
为 95.50
,第一节第一拍在 0.0756
秒,然后 4
拍子的曲子。
比如说这个曲子的“1 分 23 秒”,省略掉计算,就是 (M,B,T)=(33,4,948)
,差不多就是第 34
小节的第一拍。
同样的,乐谱内使用的音符也可以哟播放 MBT
来表示。
游戏程序在处理音乐的时候,一般会采取时分秒或者“采样数”来表示时刻单位。
通过 BEATWIZ,就可以避免这样的无机的单位,从而使用作曲者更好理解的小节,拍为基础的 MBT
单位。
使用 MBT
单位来解析音乐的话,就可以注意到很多以前的解析方法注意不到的细节。
这次我们要解说的“乐曲的激烈程度”的解析就是其中一个。
激烈程度推测的秘密
乐曲里的“激烈度”到底指的是什么呢?
在音乐变得更激烈后,人们会自然而然的拍手拍的更响,跳舞的人的动作也会更加剧烈,这个到底是对音乐的什么地方起了反应呢?
其实人们大致会根据以下 3 个要素,来感知乐曲的激烈度。
- 一个小节相对于全体的音量。
- 以大鼓为代表的低频音域(
50Hz
以下)的音量。 - 不到
16
分音符的短时间的音量变化的大小。
特别是第三个要素“不到 16
分音符的短时间的音量变化的大小”,比起其他两个要素来说更为重要。
乐曲的激烈度在英文中被叫做“Music Excitation”的情形比较多,不过根据上述的解析结果来看,比起 Excitation,“Dynamics”这个单词可能更加适合。
BEATWIZ 通过解析上述的信息然后收集,从而量化了以前只能用感觉来描述的乐曲的“激烈度”。
通过激烈程度来推定乐句的魔法
就算对音乐不太了解的人来说,也应该听说过“副歌”这样的单词,还有“A 旋律”,“B 旋律”等等说法(日文中的说法)。
“副歌”是在整个曲子中最能够给人留下印象的,也就是说最“激烈”的部分。
BEATWIZ 是如何检测出来“副歌”部分的呢?
以上是将乐曲的激烈度以一个小节作为最小测定单位,然后将曲子全体图表化的例子。
我们可以看出来这个曲子从比较安静开始,在一次“热闹”之后,稍微老实下来一点,然后再次“热闹”,然后突然的冷静下来,最后再来一次大的“热闹”。
因此我们可以认为,这个曲子的“最激烈的部分”=“副歌”,也就说最激烈的那三个部分。然后每个“副歌”的大概的小节位置也可以推定。
“A 旋律”“B 旋律”指的是“乐句”。
一般来说,一个曲子的曲调会在 4
到 16
个小节为单位变换一次,这个单位就叫做“乐句”。
那么 BEATWIZ 是如何检测出“乐句”的呢?
这个是将激烈度的检测精度设置为 16
分音符,详细测定之后的图表。
从第 46
小节的后半,到第 51
小节,激烈度的过渡的形式明显和前后是有区别的。我们可以判定第 46
小节里存在乐句的“区分点”。
BEATWIZ 会像上图一样,在“激烈程度的过渡形式”不一样的地方,会标记为各个乐句的“区分点“的候补,从而检测出不同的乐句。
包含了副歌的乐句自动解析和音游的基本要素
在前面的章节,我们使用”两种不同的精度的乐曲的激烈度解析“,可以如同以下,来解析”乐句构成“,以及“副歌”的位置。
Chorus1
,Chorus2
,Chorus3
表示了副歌在这个曲子中一共出现了 3 次。
我们通过事先准备了几种不同的舞蹈动作,然后根据动作的激烈程度来排序,然后根据乐曲的激烈度信息和乐句信息,来自动选择舞蹈动作。
这个完全就是当初我所想象的,“用自己喜欢的音乐来玩音游”的愿望实现的这一瞬间。
暂无关于此文章的评论。