12

【CRIWARE】BEATWIZ功能解说故事 第二话:大家一起热闹

 3 years ago
source link: https://gameinstitute.qq.com/community/detail/133597
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【CRIWARE】BEATWIZ功能解说故事 第二话:大家一起热闹

发表于1天前
评论0 1.1k浏览

想免费获取内部独家PPT资料库?观看行业大牛直播?点击加入腾讯游戏学院游戏程序行业精英群

711501594
FLC4lzV6QGPJGHY3xT78.gif

大家好,我是CRIWARE的增野。

之前的第一话“打节拍的秘密”里,我简单的介绍了,

BEATWIZ的诞生,以及功能解说故事。

通过“打节拍的秘密”我们可以对乐曲进行解析,将以往只能用感觉去解释的“乐曲的热闹程度”以及“乐句的构成”到底是怎么一回事。

最终,“只需要输入任意的音乐,就可以自动生成音游”的魔法就完成了。

这次,我们对这个魔法的其中一个元素“乐曲的热闹程度的判定技术”进行说明。

IMG_256

▲上一话介绍的,读取已有的音乐然后生成音游的DEMO。在乐曲的最热闹的部分,也就是“高潮”部分,背景的演出将会自动变得非常的豪华。

符合作曲家意图的时间标记(MBT单位)

演奏过乐曲的人都知道,在乐曲的特定的地方做标记的话,比如就会使用“第12小节第十三拍”这样的说法,而不会去使用类似“1分23秒”这样的描述。

在第一话里,我们知道了音乐的“打节拍的秘密”,也就是说

1. BPM值(音乐的速度)

2. 拍子开头的时刻(第一小节第一拍是什么时候?)

3. 拍子数(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),就是指“第一小节的第一拍的开头”,也就是曲目的最开始的地方。

IMG_256

在上述图中,表示了BPM为95.50,第一节第一拍在0.0756秒,然后4拍子的曲子。

比如说这个曲子的“1分23秒”,省略掉计算,就是(M,B,T)=(33,4,948),差不多就是第34小节的第一拍。

同样的,乐谱内使用的音符也可以哟播放MBT来表示。

HtrhsZBRqepzTgt1RJKY.png

游戏程序在处理音乐的时候,一般会采取时分秒或者“采样数”来表示时刻单位。

通过BEATWIZ,就可以避免这样的无机的单位,从而使用作曲者更好理解的小节,拍为基础的MBT单位。

使用MBT单位来解析音乐的话,就可以注意到很多以前的解析方法注意不到的细节。

这次我们要解说的“乐曲的激烈程度”的解析就是其中一个。

激烈程度推测的秘密

乐曲里的“激烈度”到底指的是什么呢?

在音乐变得更激烈后,人们会自然而然的拍手拍的更响,跳舞的人的动作也会更加剧烈,这个到底是对音乐的什么地方起了反应呢?

其实人们大致会根据以下3个要素,来感知乐曲的激烈度。

1. 一个小节相对于全体的音量。

2. 以大鼓为代表的低频音域(50Hz以下)的音量。

3. 不到16分音符的短时间的音量变化的大小。

特别是第三个要素“不到16分音符的短时间的音量变化的大小”,比起其他两个要素来说更为重要。

乐曲的激烈度在英文中被叫做“Music Excitation”的情形比较多,不过根据上述的解析结果来看,比起Excitation,“Dynamics”这个单词可能更加适合。

BEATWIZ通过解析上述的信息然后收集,从而量化了以前只能用感觉来描述的乐曲的“激烈度”。

通过激烈程度来推定乐句的魔法

就算对音乐不太了解的人来说,也应该听说过“副歌”这样的单词,还有“A旋律”,“B旋律”等等说法(日文中的说法)。

“副歌”是在整个曲子中最能够给人留下印象的,也就是说最“激烈”的部分。

BEATWIZ是如何检测出来“副歌”部分的呢?

IMG_256

以上是将乐曲的激烈度以一个小节作为最小测定单位,然后将曲子全体图表化的例子。

我们可以看出来这个曲子从比较安静开始,在一次“热闹”之后,稍微老实下来一点,然后再次“热闹”,然后突然的冷静下来,最后再来一次大的“热闹”。

因此我们可以认为,这个曲子的“最激烈的部分”=“副歌”,也就说最激烈的那三个部分。然后每个“副歌”的大概的小节位置也可以推定。

“A旋律”“B旋律”指的是“乐句”。

一般来说,一个曲子的曲调会在4到16个小节为单位变换一次,这个单位就叫做“乐句”。

那么BEATWIZ是如何检测出“乐句”的呢?

IMG_256

这个是将激烈度的检测精度设置为16分音符,详细测定之后的图表。

从第46小节的后半,到第51小节,激烈度的过渡的形式明显和前后是有区别的。我们可以判定第46小节里存在乐句的“区分点”。

IMG_256

BEATWIZ会像上图一样,在“激烈程度的过渡形式”不一样的地方,会标记为各个乐句的“区分点“的候补,从而检测出不同的乐句。

包含了副歌的乐句自动解析和音游的基本要素

在前面的章节,我们使用”两种不同的精度的乐曲的激烈度解析“,可以如同以下,来解析”乐句构成“,以及“副歌”的位置。

IMG_256

▲乐句的解析结果的例子。这个曲子的“B旋律”就是副歌。

Chorus1,Chorus2,Chorus3表示了副歌在这个曲子中一共出现了3次。

我们通过事先准备了几种不同的舞蹈动作,然后根据动作的激烈程度来排序,然后根据乐曲的激烈度信息和乐句信息,来自动选择舞蹈动作。

IMG_256

这个完全就是当初我所想象的,“用自己喜欢的音乐来玩音游”的愿望实现的这一瞬间。

署名 - 非商业性使用 - 相同方式共享

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK