一种前端音频处理系统的制作方法

文档序号:12609261阅读:547来源:国知局

本发明涉及智能语音交互领域,尤其涉及一种前端音频处理系统。



背景技术:

随着嵌入式技术和人工智能技术的发展,在智能机器人上,语音识别技术开始得到广泛的应用,再次掀起了人机交互的革命。语音识别技术是一种让机器通过识别和理解过程把自然语音信号转变为相应文本或命令的技术。语音识别技术的关键性能参考是识别率,如果识别率太低,那么用户会因为要多次朗读语音命令而影响人机间通信的流畅性。音频前端处理就是一系列以提高有效语音信噪比为目标的从机器语音采集到算法预处理过程的全称。常见的语音前端处理技术包括环境噪声消除技术,自身音源消除技术以及增益自动控制技术。环境噪声消除技术用于降低真实世界中的稳态和非稳态噪声,一般环境消除技术都对稳态噪声有较好的效果,而对非稳态噪声,由于其具有能量大,规律性不强的特点,常见环境噪声消除效果较差。自身音源消除技术旨在减少机器人自身发声对自身音频收集的影响,比如一台阅读报纸的机器人,报纸上的内容会通过TTS技术转换成语音信息由机器人播放出来,此时播放出来的语音信息有可能会干扰机器人的语音识别系统,使机器人出现误识别和识别率下降的问题。自动增益控制技术则旨在自动调节麦克风采集到音频的增益,在麦克风一定的 情况下,如果采集到的音频能量过大,则会出现信号截幅导致其频谱变化从而出现识别率下降的问题。另外由于声音能量随距离而衰减,如果命令发出者距离机器人较远,则需要提升有效音频信号的能量。

大多数智能机器人采用的操作系统Linux或Android已经将上述技术以单独算法模块的形式集成在系统内部。比如在Android系统中,环境噪声消除技术和自身音源消除技术被抽象为音频特效(Audio Effect),这些音效以单独算法的形式构造成链式结构,通过配置文件由音频服务在启动时决定是否使用这些算法,而增益自动控制则可选的实现在更底层的驱动抽象层或音频服务当中。这些独立存在于不同组件中的音频前端处理算法虽然能满足常规的诸如手机或平板的智能设备应用,但是由于模块之间相互独立,很多场景需要算法协同配合以及参考信号采集困难的问题不能满足复杂且使用场景灵活多变的智能机器人。

由于目前智能操作系统的前端音频处理系统存在算法设计和结构设计上的两个问题。

首先这些算法仍然是针对传统平板或手机等传统智能设备设计的。环境降噪算法在传统手机上的目标是降低稳态噪声,算法参数配置上不注重对稳态噪声的消除。自身音源消除算法则依赖于自身参考音源,传统智能操作系统的自身参考音乐来自自身的音频输出缓冲区,而缓冲区的不确定性这会导致自身参考音源信号和接收到的音源信号延时不固定,从而影响算法的效果,基于上述原因针对手机或平板的自身音源消除算法都比较保守,在有效语音和自身音源信噪比较 低的情况下,效果较差。由于传统智能操作系统多针对手机平板,这些智能设备多配备指向性麦克风,并且用户使用麦克风时习惯性离设备很近,故传统操作系统的自动增益控制并不是必须技术。

其次在结构设计上为当前智能操作系统添加这些算法模块并不能解决问题,这是因为智能机器人所位于的真实场景十分复杂多变,原来各种相互独立的前端音频问题会互相关联在一起。比如自动增益算法如果参数不正确或调用顺序不对会将本身细小的噪音放大然后干扰其他算法。



技术实现要素:

鉴于上述问题,本发明提供一种前端音频处理系统,应用于家庭智能机器人,其中,包括:

信号分离单元,用以对一采集信号进行分离处理以获得有效信号和参考信号;

第一处理单元,连接所述信号分离单元,用以接收所述信号分离单元输出的所述有效信号,并对所述有效信号进行分析去除所述有效信号中的低频噪音信号;

第二处理单元,分别连接所述信号分离单元和所述第一处理单元,分别接收所述信号分离单元输出的所述参考信号和所述第一处理单元输出的经过去除低频噪音信号处理的所述有效信号,用以根据所述参考信号按照预定的算法去除所述有效信号中的自噪声信号形成纯净音频信号;

比较单元,连接所述第二处理单元,用以接收经所述第二处理单 元的所述纯净音频信号,并将所述纯净音频信号和所述有效信号做比较,形成一比较结果;

计算单元,于所述有效音频信号小于所述纯净音频信号一预设阈值的状态下,对所述有效音频信号进行放大,于所述有效音频信号不小于所述纯净音频信号的所述预设阈值的状态下,对所述有效音频信号进行减小。

上述的系统,其特征在于,还包括:

采集转化单元,连接所述信号分离单元,用以接收不同采集单元获取的不同格式的采集信号,并对所述采集信号转化成预定格式的采集信号输出至所述信号分离单元。

上述的系统,其特征在于,

一麦克风,设置于所述音频播放装置的输出端,用以采集所述音频播放装置输出的音频并形成所述参考信号。

上述的系统,其特征在于,所述信号分离单元将所述有效信号和参考信号分布于若干个不同声道中,并将每个所述声道上的所述有效信号和所述参考信号进行分离。

上述的系统,其特征在于,所述纯净音频信号的获取方法为回声时延估计方法。

上述的系统,其特征在于,所述纯净音频信号的获取方法为归一化最小均方自适应算法。

上述的系统,其特征在于,所述纯净音频信号的获取方法为非线性滤波和舒适噪声产生方法。

上述的系统,其特征在于,应用单元,连接所述计算单元,用于将所述计算单元输出的所述有效音频信号进行变换并输出。

综上所述,本发明设计的一种前端音频处理系统,该系统填补了目前市面常见嵌入式操作系统在智能机器人领域语音前端处理方面的缺失,该框架可以再不修改现有嵌入式操作系统代码的基础上为后端语音识别应用提供前端语音降噪功能,具有较高的系统可扩展性和灵活性。

附图说明

参考所附附图,以更加充分的描述本发明的实施例。然而,所附附图仅用于说明和阐述,并不构成对本发明范围的限制。

图1本发明系统框架示意图。

具体实施方式

为了使本发明的技术方案及优点更加易于理解,下面结合附图作进一步详细说明。应当说明,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明的核心思想是:通过对采集到的音频数据进行层层处理后得到家庭智能机器人上的应用所需要的音频信号,在不修改现有嵌入式操作系统代码的基础上为后端语音识别应用提供前端语音降噪功能,具有较高的系统可扩展性和灵活性。

所以本发明涉及一种前端音频处理系统,该系统应用于家庭智能机器人中,包括有:

采集转化单元,该单元采集音频并进行预处理,由于目前不同的操作系统对音频数据的采集方式不同,所以需要采集转化单元来抽象音频信号的数据采集;

信号分离单元,与采集转化单元连接,并用来采集参考信号信息,该信号分离单元通过硬件参考信号采集法在家庭智能机器人的音频模拟信号输出端进行信号采集,然后将采集到的信号合成若干不同声道,并将每个声道上的有效信号和参考信号进行分离;

第一处理单元,与信号分离单元连接,用以接收信号分离单元输出的有效信号,并对有效信号进行分析去除有效信号中的低频噪声信号;

第二处理单元,分别连接所述信号分离单元和所述第一处理单元,分别接收所述信号分离单元输出的所述参考信号和所述第一处理单元输出的经过去除低频噪音信号处理的所述有效信号,用以根据所述参考信号按照预定的算法去除所述有效信号中的自噪声信号形成纯净音频信号;

比较单元,连接所述第二处理单元,用以接收经所述第二处理单元的所述纯净音频信号,并将所述纯净音频信号和所述有效信号做比较,形成一比较结果;

计算单元,于所述有效音频信号小于所述纯净音频信号一预设阈值的状态下,对所述有效音频信号进行放大,于所述有效音频信号不 小于所述纯净音频信号的所述预设阈值的状态下,对所述有效音频信号进行减小。

应用接口,与计算单元连接,将有效音频信号根据家庭智能机器人的应用需要的声道进行转换并传输给家庭智能机器人的应用。

下面结合具体实施例进行说明

如图1所示,本发明针对目前家庭智能机器人前端音频处理问题,设计一种应用于家庭智能机器人的前端音频处理系统,该系统主要包括有:采集转化单元,信号分离单元,第一处理单元,第二处理单元,比较单元和计算单元,以及应用接口;

采集转化单元是用于面向不同操作系统设计的音频采集预处理模块,由于不同操作系统间对音频数据的采集数据方式不同,需要一个采集转化单元将不同数据格式转化为信号分离单元可识别的数据格式输出。。

信号分离单元用于将采集信号进行分离从而获得有效信号和参考信号,本方案中采用通过设置一硬件电路获取参考信号,例如采用一个麦克风设置在音频播放装置的输出端,麦克风采集音频播放装置输出的音频信号并形成参考信号,所述信号分离单元将所述有效信号和参考信号分布于若干个不同声道中,并将每个所述声道上的所述有效信号和所述参考信号进行分离。

第一处理单元用于给有效音频信号进行降噪处理,本方案采用基于改进的维纳滤波器设计的环境音降噪算法,该层仅对有效音频信号 进行降噪处理,参考信号不经过处理直接送往上层。

第二处理单元根据参考信号消除采集转化单元采集到的来自自身的干扰音频信号,该单元需要来自信号分离单元的参考信号和来自第一处理单元降噪后有效音频信号作为输入信号,用以根据所述参考信号按照预定的算法去除所述有效信号中的自噪声信号形成纯净音频信号;

其中,纯净音频信号的获取方法可采用下述的任一中或几种结合:回声时延估计、归一化最小均方自适应算法、非线性滤波、舒适噪声产生。

比较单元和计算单元用于根据当前纯净音频信号的平均能量值对当前音频信号进行处理,如果当前音频信号能量值小于预设阈值则放大当前音频信号能量,如果大于则减小当前音频信号能量。

应用接口针对家庭智能机器人的应用需要的声道数,采样并进行最后转换工作,然后将需要的音频信号导出给家庭智能机器人的语音应用。

在结构整个处理过程采用流水线式设计,每个单元都有工作线程来处理本单元的内容,然后单元间通过一个无锁循环缓冲区进行数据通信,这样可以提升数据的吞吐量,尽量减少音频处理带来的延迟,除此之外,工作线程仅执行自己模块有助于在某些处理器上提高分支预测命中率。

当上述系统应用到家庭智能机器人当中,在一个基于Android嵌入式智能操作系统的基于语音交互的家庭智能机器人中,实现本发明 前端音频处理系统来保证家庭智能机器人语音识别功能在多个场景下的正常使用。首先系统的操作系统音频接口对Android的音频库tinyalsa进行再封装,然后在封装基础上接入采集转化单元,这里封装了tinyalsa的pcm_open(用于打开一个PCM音频流),pcm_close(用于关闭一个PCM音频流),pcm_frames_to_bytes(用于将音频帧数值转换成字节值),pcm_get_buffer_size(获得缓冲区大小),pcm_read(从tinyalsa中读取音频数据)等函数。信号分离单元通过采集转化单元提供的xread函数来读取来音频数据,此时系统的模拟参考音频信号和采集到音频信号混合成了一个双声道数据,其中第一个声道为采集到的音频信号,第二个声道为来自系统自身的参考音频信号。信号分离单元将信号的左右声道进行分离,一路提交给第二处理单元,一路提交给第一处理单元。第一处理单元对麦克风采集的音频信号进行降噪处理,然后记录环境音降噪的算法所消耗的时间,将时间和经过处理的音频信号提交给第二处理单元。第二处理单元根据音频参考信号,采集的音频信号,参考延迟时间进行降噪处理,并将结果提交到比较单元和计算单元。比较单元和计算单元根据当前音频信号的平均能量对音频信号进行增益调整,最后提交给应用接口的缓冲区。

本发明设计的一种前端音频处理系统,该系统填补了目前市面常见嵌入式操作系统在智能机器人领域语音前端处理方面的缺失,该框架可以再不修改现有嵌入式操作系统代码的基础上为后端语音识别应用提供前端语音降噪功能,具有较高的系统可扩展性和灵活性。

通过说明和附图,给出了具体实施方式的特定结构的典型实施例,基于本发明精神,还可作其他的转换。尽管上述发明提出了现有的较佳实施例,然而,这些内容并不作为局限。

对于本领域的技术人员而言,阅读上述说明后,各种变化和修正无疑将显而易见。因此,所附的权利要求书应看作是涵盖本发明的真实意图和范围的全部变化和修正。在权利要求书范围内任何和所有等价的范围与内容,都应认为仍属本发明的意图和范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1