#00111:02000000000000000000000000000000020000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000
#00112:00000000000000000200000000000000000000000000000000020000000000000000000000000000000000000000000002000000000000000000000000000000
#00113:0000000002000000000000000000000000000000000200000000000002000000
#00115:00000000000000000000000000000000000000000000000000020000000000000000000000000000000002000000000000000000000000000000000000000000
说明第一节的1,2,5(对应2,3,6号键)压了64线(有128位),3(对应4号键)压了32线
与实际情况完全相符(6号键既犯了Error 1 压了32线,又犯了Error 2压了64线,取更细的线即64线)。
对于几十个小节,上百个小节的BMS文件,只需要上述步骤,经过筛选即可得到压线过细(相对于整曲大致最细压线水平),即为可能的粗心摆错线的小节(问题小节)。当然,对于由于变速、或者歌曲自身原因需要压32线、64线的小节也会被误判为“问题小节”,这时我们只需要在“问题小节”中筛选出真正有问题的Note即可(忽略变速、音乐密集的小节)
有此方法,可以大大缩短NOTER检查粗心导致的压音错误的时间(BTW,也可作为FF检查上传作品的方法之一)。需要强调的是,该方法不能检查出所有(特别是抓音不准等问题导致的)压音不准的问题。但对于检查粗心所导致的摆放错误,这无疑是一个筛选的好方法。
四.应用之自动Note机
记得向FF抱怨要是有软件检查“压音失误”时,FF戏言:“要是自动写Note那不更好”,通过二。理论篇的研究,我们是完全可以制造一个Note Generator的(在变速问题没有完美解决前,至少是可以做出恒定BPM的歌曲)
大致思路如下:
1.测BPM
2.用频谱分析的方法测出音所在的位置(压哪格线?)和强弱、甚至音色
3.用随机数生成的方法即可自动生成“#001……”这些信息
可改进的有以下几方面:
1.加入自动识别重复旋律的功能以实现重复旋律Note的循环排列
2.判别音色排列出更有规律的Note(避免纯随机)
3.音响决定Note个数
发明是伟大的(至少像嘻哈练习曲、NOF等很有规律的曲子跑个程序就能出一套Note)然而,有了Note Generator,咱这些Noter还享受什么乐趣呢?
五.结论
本文通过对BMS文件的数字化研究,得出了检查“压音失误”的有效方法,可以有效提高Noter检查Note排列失误的效率,同时提出了自动Note机(Note Generator)的构想(有点Crazy)。
最后,感谢CCTV,感谢浆糊论坛,感谢FF大大,祝大家的NOTE越写越好~红名作品越来越多~
(就本文有任何问题与想法,欢迎联系QQ拍砖,QQ:)
handsome8848
2010.8.6