资讯详情

基于FPGA的卡拉OK打分系统完整设计

随着生活水平的不断提高,卡拉OK练歌房在我国已经非常普遍。卡拉OK机的自动评分功能往往会引起一些人的兴趣,觉得机器能够自动评分是件挺神奇的事。但同时也会发现它有一个很大的缺点--评分不太准。本项目立足于近几年出现的一些数据处理和控制集成芯片,将一些语音信号处理的专用算法应用到评分系统中来,以改进现行系统,增强评分的准确性。

 

  1. 研究背景

近年来随着我国经济的飞速发展,人民的生活水平不断地提高。全国各地的KTV产业蓬蓬勃勃的发展,大街小巷随处可见KTV练歌房的身影。而我们的邻邦韩国和日本,KTV产业更是庞大,到卡拉OK练歌房唱日本民歌甚至已经逐步演变为日本的一种民族风俗。正是由于卡拉OK目前如此的流行,促使卡拉OK设备生产商对这个领域进行大量的投入和研发,因此卡拉OK系统不断地得到完善,功能也不断地增强。从上世纪90年代开始,人们逐渐开始关注卡拉OK的自动评分功能。当演唱完一首歌以后,经过一段延迟时间,机器便能自动算出一个分数来,这始终是一件让人觉得挺有意思的事情。

 

当这个想法被一个叫唐骏的中国留学生提出并付诸实践后,立即在日本引起了巨大的轰动。人们普遍都感到非常的新奇,都想尝试尝试这种有趣的机器,这就造就了第一个买下这项专利的公司的卡拉OK设备的销售量的飞涨,甚至有人评价说是这项发明挽救了当时处在市场危机中的三星公司。不过,过了一段时间人们发现这种机器有一种问题——评分不准。后来这项专利的发明者唐骏也公开表示,该系统的评分效果不是很准确,演唱时只要尽力模仿唐骏的声音就一定能得到高分。

 

正是由于这套系统的这些缺点与不足,后来又有很多专家学者陆续投入到语音打分系统的研究中来,激起了一次研究卡拉OK打分系统的热潮——1990年到1998年。这些研究人员主要是日本人,因为日本的卡拉OK非常的盛行。在这期间,他们申请了将近十几项专利,不过没有发表过一片论文,毕竟这是一个可以赚大钱的东西。这些专利可以分为以下几类:

 

从时域波形出发,对演唱者的音频信号和机器自带的原唱信号进行采样,然后比较各个采样点的大小,如果比较一致则得分高,否则得分低。

 

从能量的角度出发,对演唱者的音频信号和伴奏音乐分别用A/D进行数字化,然后对两种数字信号的规格化能量进行比较和差异测量,最后根据两者差异情况给分。

 

从频域分析的角度出发,首先将机器自带原唱信号与伴奏乐声进行小波变换,再将演唱者的音频信号与伴奏音乐进行小波变换。比较两次得到的频谱信号的分布情况,越是一致则得分越高。

 

到98年以后,这一领域才逐渐开始降温,也没有多少新的专利或者是相关文献出现。而且,即使是上文叙述的那些专利也没有多少投入到商业生产中。这些专利发明有一个共同的特点,那就是计算量非常大,受限于当时的硬件水平,实现起来不是很令人满意。这也可以理解,毕竟要是一首4分钟左右长的歌曲唱完后需要几十分钟的计算后才能得到一个分数,那将是令人无法容忍的事情。

 

目前市场上正在销售的那些卡拉OK机一般都带有自动评分的功能。但基于上文分析的原因,90年代研究者申请的那些专利都没有在这些商品中得到实际的应用。各个生产厂家正在使用的那些评价标准基本都是当年唐骏发明的那套设备,俗称“唐骏标准”。但还是多少有一些差别,高档一点的可能做一下FFT,进行频频分析;低档次的甚至是直接比较音量的大小,音量越大得分越高。有人曾做过实验,让一个三岁小孩在万利达的卡拉OK机前大声哭着喊妈妈,结果由于小孩子声带小,发声频率高,音量又大,竟得了98分,非常匪夷所思。前一段时间流行的江苏卫视的《谁敢来唱歌》栏目也应有了机器打分系统。他们从国外引进了一套叫SAM的系统,使用时先将每首歌的原音预录进去,然后设置10个关键字点。得分的高低,取决于这10个关键字唱得准不准,也许别的地方唱得不特别准,但关键字唱对了,选手也能得高分。使用后被很多观众抱怨评分不准。

 

经过近几十年的发展,硬件设备尤其是大规模技术取得了巨大的进步。目前最新的D芯片每秒能进行上百万次的运算,的的并行处理能力也已经非常强大了。用这些芯片对音频信号进行一些FFT运算和频域分析,硬件方面已经没有问题了。因此,本文提出一种基于FPGA和DSP的新型卡拉OK评分系统。本系统除了运用一些新型的集成芯片来进行运算处理,还提出了一种改进了的评分算法,来尽量减小评分所需的运算量,同时使评价结果与演唱者实际水平尽量吻合。

 

  1. 语音信号的基本特征

 

图1:一段语音的时域波形图

 

图[1]是一小段语音的时域波形图,可以看出,语音一般由三部分组成:无音段、清音段和浊音段。无音段不存在语音信号,在背景噪声较低的情况下,幅度近似为零。清音信号的幅度很小,没有规律,类似于随机噪声。浊音信号幅度较大,波形的上下起伏近似呈现周期性,称之为准周期性。语音信号有两个重要的时域参数:短时能量和基音周期。从图2.1可以看出信号的幅度随时间改变而变化显著,短时能量可以反映这一特性,其定义如下:   

                     

                          (2.2.1)

 

短时能量的主要意义在于给出了区分清浊音的基础,清音的短时能量明显小于浊音的短时能量,用短时能量可以大体分辨出清音、浊音以及清音变成浊音的时刻,对于质量很高(高信噪比)的语音,也可用来区分有音与无音。

 

从图[1]可以看出,浊音信号是一个准周期信号,其周期称为基音周期,基音周期的倒数称为基频 (Pitch)。基音周期实际上是声门波往复一次的时间长度。声门波是指声门气流的速率随时间变化的函数曲线。通常而言,当声带闭合时,声门处受阻聚积的气流会逐渐冲开声带,气流速率也随之开始缓慢地增大,达到最大值后由于声带突然闭合,气流速率陡降为零,如图[2]所示。

 

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台