关于K歌音准的校对问题
最近有蛮多K歌的软件应用,根据音准进行打分,不知道音准这东西是识别的原理是什么呢?java里面有没有什么开源的库之类的。还有就是每个歌曲都有自己的音准线,这个音准线应该都是要一首一首的转换而成的吧,这个是怎么转换嘞?如果靠原曲来识别那那些背景音啥的岂不是会干扰
kbs2000
12 years, 10 months ago
Answers
有专门的基音提取算法,分时域和频域两种。不管哪一种都是先把语音切成很短的帧(基音提取的话可以取10ms-40ms一帧),然后时域算法计算这一小段信号的自相关,频域算法直接取FFT然后找出最合适的一条谱线。相关的论文和研究很多,不同算法的性能差别是很大的。
对于音乐来说,唱准的调都在440 * 2^(k/12)的频率上,根据调性不同实际上用到的更少,也可以不用区分高八度和低八度。没有乐谱的话可以先依据这个判断是否基本唱准,当然最好还是要有纯人声的部分。卡拉OK都是有原唱和伴奏切换的,当然也会有纯人声的数据(一减就行了嘛),所以不是什么问题。
verui
answered 12 years, 10 months ago