专利名称:一种灯光或电机与声音同步的自适应检测方法
技术领域:
本发明涉及一种灯光或电机与声音同步的自适应检测方法,属于数字信号处理技术领域。
背景技术:
目前,传统玩具上的口型动作与声音的适配、灯光效果与声音的适配是通过人工标注的方式来实现的,这样做有很大的局限性每一个音频都需要进行人工标注,最终的效果和标注人员的熟练程度息息相关;对于用户自己拷贝的内容时无法实现口自动检测以及同步;只能对固定音频进行同步,无法对外界的音源发出的声音进行检测和同步。
发明内容
本发明技术解决问题克服现有技术的不足,提供一种声光、声电同步检测方法,实现自动声光、声电的检测,避免了人工标注的麻烦,而且还可以通过倾听用户的声音,模仿用户的口型,实现跟儿童更好的互动。本发明采用了以下技术方案一种灯光或电机与声音同步的自适应检测方法,其特点在于通过音源的语音通过带AGC控制的ADC (I)检测到后输出带AGC信息的语音信号(2),使用能量归一化算法(3)对带AGC信息的语音信号(2)进行处理后生成宽动态范围的语音信号(4),以实现了对距离的自适应;采用宽动态范围的语音信号(4)计算实时能量和带反馈的实时门限(6),然后把生成的结果进行比较,通过实时能量和门限的比较,得到实时的电机开合状态或灯光亮灭状态(7),电机开合状态或灯光亮灭状态(7) —方面用于配合音频进行输出,另一方面为带反馈的实时门限(6)提供反馈信息,实现了检测自动化过程。所述带AGC控制的ADC (I)对硬件和软件均有要求,其中硬件部分带AGC控制的ADC必须具备3个条件(1)要有可编程增益放大器PGA,即能够通过软件的方式对增益进行控制;(2)可编程增益放大器PGA每一级的增益在0. 5(IdB,否则出现音频能量跳变明显而出现录音噪声,影响效果;(3)所用的ADC至少要有12bit精度,不一定要16bit精度,可以降低ADC的制造成本。软件部分对音频设置一个上门限,当录音样本的值大于这个上门限的时候,把录音增益降低一级;对每一帧的音频能量设置一个下门限,当这一帧的能量低于这个下门限的时候,系统的放大增益需要调高,需要把录音增益提高一级。所述能量归一化算法(3)实现过程如下(I)确定每一个AGC的值所对应的可编程增益放大器PGA的增益放大倍数,作成表格,使用查表的方式来快速检索;(2)确定归一化系数,归一化系数为整段音频中最大的AGC值A ;(3)根据每一个样本对应AGC值计算出能量归一化到指定增益所需要的放大倍数X;
(4)根据X计算出能量归一化后的样本值。所述带反馈的实时门限(6)的计算过程如下(I)设定一个能量的基线值Baseline ;(2) Baseline的初值设定为语音起始3帧能量的均值;(3)实际检测中,每一个实时帧都会对Baseline的值进行更新;(4)把实际帧能量高于门限和低于门限分为2种状态,两种状态下对Baseline的更新系数是不一样的;(5)根据人体工学原理确定两种状态下的更新系数,能量高于门限时的更新系数应该符合人所能发的单音的最长时长,更新系数较小;能量低于门限时更新系数应该符合人在说话时换气的时长,更新系数较大。所述实时能量(5)的计算过程如下(I)为了满足实时性要求,设定每次检测的时长宽度为I帧IOms ;(2)使用求平方和的方式进行能量计算;(3)针对部分语音类玩具内部有简化版DSP并支持MAC指令的特性,把能量的精度控制在40bit,保持较高的精度并取得较好的检出效果。本发明原理语音的声压信号在被带AGC控制的ADC(模拟信号到数字信号转换装置)检测到后,变为带AGC信息的窄动态范围语音信号,使用能量归一化算法把带AGC信息的窄动态范围语音信号还原为宽动态范围语音信号,然后用还原后的语音信号进行语音的实时能量计算和门限计算,通过实时能量和门限的比较,计算出当前语音帧对应的电机的开合状态或灯光的亮灭状态。本发明与现有技术相比的优点在于(I)本发明由于使用了能量归一化算法,可以使用带AGC的低精度ADC代替高精度ADC,但同时又保持基本相同效果的动态范围;同时,由于对门限进行实时计算、通过对电机开合状态或灯光亮灭状态的监控可以对门限进行反馈,使得本方法对带有背景音乐的语音可以实现较好的电机开合、灯光亮灭信息检出效果。(2)本发明通过AGC信息的引入,可以让电机开合状态或灯光亮灭状态信息检测在低采样深度的ADC上获得很高的动态范围,使用12bit的采样深度ADC就可以在5cm(300cm的距离上对用户说话时的电机开合状态或灯光亮灭状态进行检测,大大降低了系统的整体成本。
图1为本发明实现的框图;图2为本发明中带AGC控制的ADC的结构图;图3为本发明中能量归一化算法的实现流程图。
具体实施例方式如图1所示,本发明中,声音经过AGC功能的ADC1,会生成带AGC信息的窄动态范围语音信号2,采用能量归一化算法3对带AGC信息的窄动态语音信号2进行处理后会生成宽动态语音信号4,然后再进行处理,计算每一帧语音的实时能量5,并根据实时能量结合之前的电机开合状态或灯光亮灭状态对门限进行估计后,生成当前语音帧的电机开合状态或灯光亮灭状态带反馈的实时门限6,然后将实时能量5和带反馈的实时门限6进行比较,得到本语音帧的电机开合状态或灯光亮灭状态信息。如图2所示,本发明中的带AGC功能的ADCl必须具备两个条件(I)要有PGA (可编程增益放大器),即可以通过软件的方式对增益进行控制;(2) PGA每一级的增益在0. 5(IdB,不能太高,否则出现音频能量跳变明显而出现录音噪声,最终影响效果。由麦克风检测到的模拟声音信号在经过PGA放大后,进入SRA架构的ADC进行模数转换,变为数字信号,后面的自动增益控制(AGC)算法就是针对音频的数字信号进行分析判断后对PGA进行控制来实现的。软件AGC的设计上要遵循“快降慢升”的原则,主要设计思想如下(I)为了避免音频出现饱和失真,保证近距离的效果好,需要对音频设置一个上门限,当录音样本的值大于这个上门限的时候,就需要把录音增益降低一级,这个检测和调节建议针对每一个样本进行,检测速度较快;(2)为了能够有足够的检测距离,保证远距离的检测效果,需要对每一帧的音频能量设置一个下门限,当这一帧的能量低于这个下门限的时候,就认为当前说话人距离麦克风较远,系统的放大增益需要调高,就需要把录音增益提高一级,这一步的检测和调节要针对每一帧语音来进行,检测速度较慢。经过这样的设计后采集到语音信号基本上可以保证“近距离不会出现削顶失真,远距离也会保证足够的信噪比”。具体的实现过程主要分为如下几步(I)预估一帧语音数据的平均能量,这个需要采集足够的样本进行分析,一般来说,一个人在IM的距离上用正常语速和音量说话,调节PGA的值,直到不会出现截幅失真为止,记录下当前的PGA值;在此PGA值的基础上录一段背景噪声,取背景噪声的平均帧能量;(2)去平均帧的80%作为帧能量的下限,帧能量低于此值则AGC需要上调I级;(3)取ADC所能表示的最大范围的80%作为单个样本的能量上限,单个样本能量高于此值则AGC需要下调I级;(4) AGC下调的优先级高于AGC上调的优先级;由于AGC的作用,此时出来的语音信号的每一个样本基于的能量基准都有差别,如果用这样的数据进行电机开合状态或灯光亮灭状态的检测的话,效果会比较糟糕。此时,需要把语音信号的每一个样本的能量基准进行统一,能量归一化算法就可以实现这样的功能。ADC输出语音信号的时候也同步输出了当前录音样本所对应的PGA的值,我们事先会设定一个基准值A,然后计算不同的样本所对应的PGA的值对A的差值B,通过差值B再计算出每一个样本映射到统一的能量值上的放大系数C,最后用样本值和C相乘,得到能量归一化后的样本值。这样就从带AGC信息的窄动态范围语音信号得到了宽动态范围语音信号。能量归一化算法的实现过程如下(I)从ADC中获取到带AGC信息的窄动态范围语音信号后现把信号分离为录音样本和对应的AGC信息;(2)确定每一个AGC的值所对应的PGA的增益放大倍速,可以做成表格,使用查表的方式来快速检索;(3)确定归一化系数,一般为整段音频中最大的AGC值A ;
(4)根据每一个样本对应AGC值计算出如果这个样本设定的AGC值为A那么所得到的样本值应该在现有基础上的放大倍数X ;( 5 )计算出化后的样本值。带反馈的实时门限(6)的计算过程如下(I)设定实时门限为Baseline ;(2) Baseline的初值设定为语音起始3帧能量的均值;(3)实际检测中,每一个实时帧都会对Baseline的值进行更新;(4)把实际帧能量高于门限和低于门限分为2种状态,两种状态下对Baseline的更新系数是不一样的;(5)根据人体工学原理确定两种状态下的更新系数,一般的原则为能量高于门限时的更新系数应该符合人所能发的单音比如“啊”的最长时长,更新系数较小;能量低于门限时更新系数应该符合人在说话时换气的时长,更新系数较大;在实时能量(5)的计算过程中,为了保证较好的效果,主要做了如下改进如下(I)为了满足实时性要求,设定每次检测的时长宽度为I帧IOms ;(2)使用求平方和的方式进行能量计算;(3)针对部分语音类玩具内部有简化版DSP并可以支持MAC指令的特性,把能量的精度控制在40bit,可以保持较高的精度并取得较好的检出效果;带AGC控制的ADC (I)为低采样精度的ADC,可以使用制造成本较低的逐次逼近型(SRA)ADC,12bit的精度即可,没有必要使用成本较高的2-A架构ADC。传统的玩具中,大部分的内容都是纯人声的,音质较差,但是随着人们生活水平越来越高,对玩具的品质要求也越来越高,目前的故事类、娃娃类玩具的内容大部分都会配有精美的背景音乐。背景音乐的出现对电机开合状态或灯光亮灭状态检测又提出了新的要求,如果按照传统方法使用固定门限的话就有很大的可能出现嘴巴一直张着的尴尬局面。此时,动态门限的引入可以较好的解决这个问题。本发明中口型状态的门限是根据当前的音频信号而实时计算出来的,它会根据语音的特点进行自适应。背景音乐和普通语音有比较明显的区别,普通语音的能量变化速度更快,背景音乐的能量变化相对要慢很多并且更有规律,本发明在对电机开合状态或灯光亮灭状态门限的计算中会根据上次电机开合状态或灯光亮灭状态信息采用不同的能量更新系数,经过实际的检测,这样的策略可以较好的适应各种不同内容的口型检测。综上所述,本发明可以对无背景音乐、有背景音乐的声音进行自动检测和同步;可以对近距离、远距离的声音(包括人说话的声音)都有较好的电机开合状态或灯光亮灭状态检出效果。本发明未详细阐述部分属于本领域公知技术。以上所述,仅为本发明部分具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本领域的人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
权利要求
1.ー种灯光或电机与声音同步的自适应检测方法,其特征在于通过音源的语音通过带AGC控制的ADC (I)检测到后输出带AGC信息的语音信号(2),使用能量归ー化算法(3)对带AGC信息的语音信号(2)进行处理后生成宽动态范围的语音信号(4),以实现了对距离的自适应;采用宽动态范围的语音信号(4)计算实时能量(5)和带反馈的实时门限(6),然后把生成的结果进行比较,通过实时能量和门限的比较,得到实时的电机开合状态或灯光亮灭状态(7),电机开合状态或灯光亮灭状态(7) —方面用于配合音频进行输出,另ー方面为带反馈的实时门限(6)提供反馈信息,实现了检测自动化过程。
2.根据权利要求1所述的ー种灯光或电机与声音同步的自适应检测方法,其特征在于所述带AGC控制的ADC (I)对硬件和软件均有要求,其中 硬件部分带AGC控制的ADC必须具备3个条件(I)要有可编程增益放大器PGA,即能够通过软件的方式对增益进行控制;(2)可编程增益放大器PGA每ー级的増益在0. 5 (IdB,否则出现音频能量跳变明显而出现录音噪声,影响效果;(3)所用的ADC至少要有12bit精度,不一定要16bit精度,可以降低ADC的制造成本。
软件部分对音频设置ー个上门限,当录音样本的值大于这个上门限的时候,把录音增益降低ー级;对每ー帧的音频能量设置ー个下门限,当这ー帧的能量低于这个下门限的时候,系统的放大增益需要调高,需要把录音增益提高ー级。
3.根据权利要求1所述的ー种灯光或电机与声音同步的自适应检测方法,其特征在于所述能量归ー化算法(3)实现过程如下 (1)确定每ー个AGC的值所对应的可编程增益放大器PGA的増益放大倍数,作成表格,使用查表的方式来快速检索; (2)确定归一化系数,归ー化系数为整段音频中最大的AGC值A; (3)根据每ー个样本对应AGC值计算出能量归ー化到指定増益所需要的放大倍数X; (4)根据X计算出能量归ー化后的样本值。
4.根据权利要求1所述的ー种灯光或电机与声音同步的自适应检测方法,其特征在于所述带反馈的实时门限(6)的计算过程如下 (1)设定ー个能量的基线值Baseline; (2)Baseline的初值设定为语音起始3帧能量的均值; (3)实际检测中,每ー个实时帧都会对Baseline的值进行更新; (4)把实际帧能量高于门限和低于门限分为2种状态,两种状态下对Baseline的更新系数是不一样的; (5)根据人体工学原理确定两种状态下的更新系数,能量高于门限时的更新系数应该符合人所能发的单音的最长时长,更新系数较小;能量低于门限时更新系数应该符合人在说话时换气的时长,更新系数较大。
5.根据权利要求1所述的ー种灯光或电机与声音同步的自适应检测方法,其特征在于所述实时能量(5)的计算过程如下 (1)为了满足实时性要求,设定每次检测的时长宽度为I帧IOms; (2)使用求平方和的方式进行能量计算; (3)针对部分语音类玩具内部有简化版DSP并支持MAC指令的特性,把能量的精度控制在40bit,保持较高的精度并取得较好的检出效果。
全文摘要
本发明涉及一种灯光或电机与声音同步的自适应检测方法,包括语音的声压信号在被带AGC控制的ADC检测到后输出带AGC信息的窄动态范围语音信号,使用能量归一化算法把带AGC信息的窄动态范围语音信号还原为宽动态范围语音信号,然后用还原后的语音信号进行语音的实时能量计算和门限计算,通过实时能量和门限的比较,计算出当前语音帧对应的电机开合状态或灯光亮灭状态。本发明通过AGC信息的引入,可以让电机开合状态或灯光亮灭状态信息检测在低采样深度的ADC上获得很高的动态范围,使用12bit的采样深度ADC就可以在5cm(300cm的距离上对用户说话时的电机开合状态或灯光亮灭状态进行检测,大大降低了系统的整体成本。
文档编号G10L19/00GK103050119SQ20121058546
公开日2013年4月17日 申请日期2012年12月30日 优先权日2012年12月30日
发明者王晓斐, 孙秀明, 谢信珍, 黄海兵 申请人:安徽科大讯飞信息科技股份有限公司