大家好,我是CRIWARE的增野。
“想听着己喜欢的音乐,来享受音游”
由我的这个想法而诞生的BEATWIZ,到今年为止已经开发了15年了。
BEATWIZ可以解析现存的乐曲,可以高速且高精度的解析乐曲的速度,节拍数,节拍开始时间等等信息,是一款特化了乐曲解析的引擎。
在这15年的乐曲解析技术的进步里,还添加了比如乐曲的激烈程度的指标,特定的打击乐器的追踪,乐句的推定,清唱声的抽出,主旋律的乐谱的生成,和音解析等等各式各样的功能。
我会分为3话,尽量的给大家讲解BEATWIZ所拥有的其他地方没有的丰富的功能。
不管你对音游制作有或者是没有兴趣,和声音素材制作,声音设计,程序,策划相关的大家都可以来看一看,或许能够对你们有所启发。
▲通过BEATWIZ的乐曲解析功能,只需输入一般的曲目,就可以自动生成舞蹈动作分类和谱面按键信息的DEMO。
打节拍的秘密
为什么人在听音乐的时候,会自然的想要动一动身子,又或是想要打节拍呢?
那是因为人和音乐同步的进行动作的时候,能感受到“快乐”,主动的享受音乐是人类的一种本能的行为。
那么,人是对音乐的什么进行了反应呢?其实是对音乐的速度(节拍)做出了反应。音乐传过来了之后,根据音乐的速度同步,自然的想拍手这个行为正是“人类能够正确的认识到音乐的速度并对其做出反应”的证据。
根据自己喜欢的音乐的节奏,按下按键,或者跳舞的游戏,也就是说“可以用任意的音乐进行音游”的设计和开发,就必须要进行一个“可以自动且高精度的解析任意的音乐的节拍速度”的功能的开发。
BEATWIZ的开发所经历的15年,则正是一个关于如何解开“打节拍的秘密”的冒险故事。
什么是音乐的速度(即节拍数,BPM)
大家谁都在小学或者中学的音乐课里看到过“乐谱”。
在乐谱的一开始的地方有可能会写着“Andante”。
或者也有可能写着“♩=120”。
这个就是表示乐谱速度的记号。
顺带一提“Andante”指的差不多是♩=72。
在BEATWIZ里,使用“BPM”来表示来表示音乐的速度。
BPM是“Beat Per Minute”的缩写,最早是用来表示心脏跳动速率的医学用语。
BEATWIZ使用“在1分钟里演奏了多少次4分音符”来定义BPM值。
也就是说上面的“♩=120”和“120BPM”是同一个意思。
推定音乐的速度(BPM值)的魔法
刚开始打算开发BEATWIZ的15年前的那时候,从一般的乐曲中推测BPM的研究工作基本没有人做,论文也很少。基本上就是“从零开始制作从一般的乐曲中如何推测BPM值的魔法书”的状态这样说也不为过。
当时的BPM推定主要还是实际听着音乐,然后跟着节拍按按钮的“按键法”,但是这种方法不可能自动化。
找了无数的论文,试过了许多方法,在经历了无数次的失败之后,最终得出了通过使用以下暂定的方法来推定BPM,可以得到最高精度的结果。
1. 打击乐器的声音(节奏),可以支配BPM的推定值
2. 这个节奏是一个频率非常低的超低频音波
3. 为了观测超低频音波,准备一个能够装入10秒长度的波形的巨大的窗口(VLW(Very Large Window)),然后传入音乐波形进行解析。
幸运的是,通过上述方法推测BPM的话,还能得到以下
1. 节拍开始时刻(第一小节的第一拍是什么时候)
2. 节拍数(是3节拍还是4节拍)
的信息也可以高精度的推测出来了。
刚开始用这个方法进行尝试的时候,处理非常的耗时,解析时间甚至超过了原乐曲的时间。
▲现在来看非常珍贵的10年以前的BPM解析画面。由于并没有实现高速化,解析需要花上和原曲一样的时间,而且经常检出假的BPM值,所以当时只能和“按键法”一起使用。
在这之后的高速化和优化的结果,可以实现当初的2000倍以上的高速化,1分钟的乐曲可以在0.1秒以内解析完毕。也就是说,一般的音乐的话,都可以在1秒钟之内解析完毕。
▲这是最新的BEATWIZ的用乐曲文件为单位的解析结果。
第一个音轨(ID:1)这个大约7分半的比较长的曲子,用了大约0.43秒解析完成。可以看到BPM值为122.00,第一小节的第一拍的时间为0.1453秒,且这是一个4节拍的曲子。
▲并且还会表示解析结果的详细。BPM候补的前7名会表示出来,而且,各个BPM候补的正确率(Reliability%)也会表示出来。
高速化的结果,不光是可以解析乐曲文件,还可以实现串流的解析了。比如你现在听的乐曲通过麦克风输入之后,马上就可以获取这个曲子的BPM和节拍开始时刻,就像魔法一样。
▲132BPM的曲子通过麦克风输入之后一边串流一边解析的画面。可以干净的检测出BPM值和节拍开头。
BEATWIZ的高精度以及处理的轻量,使得可以接入不仅仅是游戏机,手机,电器等等硬件,甚至照明道具,玩具,乐器等等,实现广泛的应用。
下回预告
这次为大家解开了BEATWIZ打节拍的秘密。
一旦了解了这些秘密之后,就可以获取乐曲中富含的大量的信息了。
在下一回,我会介绍曲子的激烈程度以及乐句的解析,并且介绍应用了这些技术的音游谱面自动生成的概要。
尽请期待。
BEATWIZ的产品页面
暂无关于此日志的评论。