一种多声道混音的回音消除系统和回音消除方法与流程

文档序号:18748841发布日期:2019-09-24 20:39阅读:718来源:国知局
本发明涉及消除回音领域,尤其涉及一种多声道混音的回音消除系统和回音消除方法。
背景技术
::现有技术中的音频设备中通常会存在声学回音的问题,并且传统的语音助手的音频通道输出和回音采样都是以二声道为主,并且音频设备的扬声器配置也仅支持二声道输出。因此传统的具有语音交互功能的语音助手设备通常为二声道和单声道设备,即上述语音助手设备的音频输出仅支持自身音频的单一输出。因此语音助手设备为了消除外部噪声以及自激回音等噪声,通常将播放出去的二声道或者是单声道的声音回采,使用aec(acousticechocancellor,回音抵消)相关算法将噪声滤除;因此传统的回音抵消系统无法实现多声道的音频数据进行混音后的混合音频的输出。现有技术将多声道音频的输出与自身单一音频输出互斥。即在播放多声道音频的时候将自身的单一输出禁止,或者是在播放自身单一音频输出的时候将多声道音频的输出禁止。因此现有技术中的多声道音频与自身单一音频可以同时输出,但是回采的仅仅是自身单一音频的二声道或者是单声道的音频数据,当语音助手设备(voiceassistant)输出两声道数据的时候会在输出到混频器之前将输出的音频数据直接拿回去做回音消除。这样的实现方式仅仅实现了语音助手设备相对于自身输出的回音抑制,对于应用程序或者是音频解码器的输出无法实现回音抵消,即只能实现二声道的回采,因此现有技术无法回采多声道的音频数据,从而降低回音消除的有效性,进而降低产品的功能多样性和优良性。技术实现要素:针对现有技术中存在的上述问题,现提供一种旨在根据多声道的音频数据进行混音后的混音数据进行回音消除的多声道混音的回音消除系统。具体技术方案如下:一种多声道混音的回音消除系统,其中,包括:语音助手模块,用于输出适配于扬声器配置的第一音频数据;至少一个声音信号产生设备,用于输出适配于扬声器配置的第二音频数据;复制模块,分别与语音助手模块和至少一个声音信号产生设备连接,用于接收第一音频数据和第二音频数据,并分别将第一音频数据和第二音频数据进行复制以得到对应第一音频数据的第三音频数据和对应第二音频数据的第四音频数据;第一混音模块,与复制模块连接,用于接收第一音频数据和第二音频数据,以及对第一音频数据和第二音频数据进行混音并转化,以得到一二声道的第一混音数据;第二混音模块,与复制模块连接,用于接收第三音频数据和第四音频数据,以对第三音频数据和第四音频数据进行混音,以得到一第二混音数据;回音消除模块,与第一混音模块连接,用于根据第一混音数据进行回音消除;播放模块,与第二混音模块连接,用于接收并播放第二混音数据。优选的,回音消除系统,其中,声音信号产生设备包括应用程序和/或音频解码器。优选的,回音消除系统,其中,还包括:参考模块,分别与第一混音模块和回音消除模块连接,用于生成对应第一混音数据的参考数据,并将第一混音数据和参考数据输入至回音消除模块中。优选的,回音消除系统,其中,参考数据为对应第一混音数据的时间戳信息。优选的,回音消除系统,其中,扬声器配置包括2.0、5.1和7.1。优选的,回音消除系统,其中,播放模块通过一驱动器对第二混音数据进行转换和放大,并输出至对应的扬声器。优选的,回音消除系统,其中,回音消除模块包括:声音采集单元,用于采集现场音频数据;回音消除单元,连接声音采集单元,用于根据所述第一混音数据对所述现场音频数据行回音消除,并将回音消除后的混音数据发送至所述语音助手模块。还包括一种多声道混音的回音消除方法,其中,包括以下步骤:步骤s1,接收语音助手模块输出适配于扬声器配置的第一音频数据,并接收至少一个声音信号产生设备输出适配于扬声器配置的第二音频数据;步骤s2,分别将第一音频数据和第二音频数据进行复制以得到对应第一音频数据的第三音频数据和对应第二音频数据的第四音频数据;步骤s3,接收第一音频数据和第二音频数据,以及对第一音频数据和第二音频数据进行混音并转化,以得到一二声道的第一混音数据;和接收第三音频数据和第四音频数据,以对第三音频数据和第四音频数据进行混音,以得到一第二混音数据;步骤s4,根据第一混音数据进行回音消除;和接收并播放第二混音数据。优选的,回音消除系统,其中,在步骤s3和步骤s4之间包括以下步骤:生成对应第一混音数据的参考数据,并将第一混音数据和参考数据输入至回音消除模块中。上述技术方案具有如下优点或有益效果:有效地获得多声道的音频数据进行混音后的混音数据,并根据上述混音数据进行回音消除,进而提高了产品的功能多样性和优良性。附图说明参考所附附图,以更加充分的描述本发明的实施例。然而,所附附图仅用于说明和阐述,并不构成对本发明范围的限制。图1为本发明回音消除系统实施例的原理框图;图2为本发明回音消除系统实施例的回音消除模块的原理框图;图3为本发明回音消除方法实施例的流程图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。本发明包括一种多声道混音的回音消除系统,如图1所示,包括:语音助手模块1,用于输出适配于扬声器配置的第一音频数据;至少一个声音信号产生设备2,用于输出适配于扬声器配置的第二音频数据;复制模块3,分别与语音助手模块1和至少一个声音信号产生设备2连接,用于接收第一音频数据和第二音频数据,并分别将第一音频数据和第二音频数据进行复制以得到对应第一音频数据的第三音频数据和对应第二音频数据的第四音频数据;第一混音模块4,与复制模块3连接,用于接收第一音频数据和第二音频数据,以及对第一音频数据和第二音频数据进行混音并转化,以得到二声道的第一混音数据;第二混音模块5,与复制模块3连接,用于接收第三音频数据和第四音频数据,以对第三音频数据和第四音频数据进行混音,以得到一第二混音数据;回音消除模块6,与第一混音模块4连接,用于根据第一混音数据进行回音消除;播放模块7,与第二混音模块5连接,用于接收并播放第二混音数据。在上述实施例中,通过语音助手模块1和至少一个声音信号产生设备2分别输出适配于扬声器配置的第一音频数据和第二音频数据,并通过复制模块3将上述第一音频数据和第二音频数据进行复制以得到对应第一音频数据的第三音频数据和对应第二音频数据的第四音频数据,通过第一混音模块4将第一音频数据和第二音频数据进行混音和处理以得到二声道的第一混音数据,回音消除模块6根据所述第一混音数据将回音消除模块6接收到的现场音频数据进行回音消除,播放模块7则播放第二混音模块5将第三音频数据和第四音频数据进行混音后的第二混音数据,从而有效地获得多声道的音频数据进行混音后的混音数据,并对上述混音数据进行回音消除,进而提高了产品的功能多样性和优良性。其中,回音消除模块6在进行回音消除时,以对第一混音数据作为参考,而对第一混音数据中不仅包含第一音频数据也包含第二音频数据,因此回音消除模块6不仅会以语音助手模块1自身的第一音频数据作为参考,同时也会将会把其他声音信号产生设备2输出的第二音频数据作为参考,从而提高了回音消除的精确度,进而增加对外部噪声的抑制效果。进一步,在上述实施例中,声音信号产生设备2包括应用程序和/或音频解码器。其中,回音消除系统通常对应用程序和音频解码器中的一个第二音频数据进行处理。进一步,在上述实施例中,还包括:参考模块8,分别与第一混音模块4和回音消除模块6连接,用于生成对应第一混音数据的参考数据,并将第一混音数据和参考数据输入至回音消除模块6中。使得回音消除模块6根据第一混音数据并依照参考数据进行回音消除。进一步,在上述实施例中,参考数据为对应第一混音数据的时间戳信息,用于提供时间参考。其中,参考模块8包括虚拟声卡设备,上述参考模块8可以为回音消除模块6提供待对应于第一混音数据的精确时间戳信息,上述时间戳信息用于在回音消除模块6根据第一混音数据进行回音消除时提供时间参考,从而提高了回音消除的精确度。进一步,在上述实施例中,扬声器配置包括2.0、5.1和7.1。即扬声器可以输出和接收二声道、六声道和八声道的音频数据。进一步,在上述实施例中,播放模块7通过一驱动器对第二混音数据进行转换和放大,并输出至对应的扬声器。从而播放多声道的音频数据进行混音后的混音数据。进一步,在上述实施例中,如图2所示,回音消除模块6包括:声音采集单元61,用于采集现场音频数据;回音消除单元62,连接声音采集单元61,用于根据所述第一混音数据对所述现场音频数据行回音消除,并将回音消除后的混音数据发送至所述语音助手模块。其中,现场音频数据为声音采集单元61采集到的所有音频数据,即现场音频数据包括第一混音数据。进一步地,将扬声器配置为二声道作为优选的实施方式,其中回音消除系统,应用于linuxalsa系统中,此时的复制模块3可以为alsamulti插件,alsamulti插件将所有播放源的二声道音频数据分别拷贝到第一混音模块4和第二混音模块5中进行混音以得到对应的第一混音数据和第二混音数据,第一混音模块4将第一混音数据通过参考模块8发送到回音消除模块6,回音消除模块6对第一混音数据进行回音消除;第二混音模块5将第二混音数据发送至播放模块7,上述播放模块7通过驱动器对第二混音数据进行转换和放大,并输出至对应的扬声器,以实现对第二混音数据的播放。其中,由于当播放源包括输出多声道音频的音频解码器时,音频解码器需要将多声道的音频数据转化为二声道或单声道的第二音频数据来输出。例如音频解码器可以通过下述代码(1)将六声道的音频数据转化为二声道的第二音频数据来输出。pcm.loopback{typerouteslave.pcm"hw:1,1,0"#输入扬声器节点slave.channels6#输入声道数ttable.0.00.3#通道的映射和映射比例,0.3表示30%比例映射ttable.1.10.3ttable.0.20.3ttable.1.30.3ttable.0.40.3ttable.1.50.3}(1)同理可得,音频解码器也可以通过将八声道的音频数据转化为二声道的第二音频数据来输出。进一步地,将扬声器配置为六声道作为优选的实施方式,其中回音消除系统,应用于linuxalsa系统中,此时的复制模块3可以为alsamulti插件,alsamulti插件将所有播放源的多声道的音频数据输出到第一混音模块4中进行混音以得到二声道的第一混音数据,同时alsamulti插件将所有播放源的多声道的音频数据输出到第二混音模块5中进行混音以得到第二混音数据,第一混音模块4将第一混音数据通过参考模块8发送到回音消除模块6,回音消除模块6对第一混音数据进行回音消除;第二混音模块5将第二混音数据发送至播放模块7,上述播放模块7通过驱动器对第二混音数据进行转换和放大,并输出至对应的扬声器,以实现对第二混音数据的播放。其中,上述alsamulti插件可以通过上述程序(1)将六声道的音频数据转化为二声道的第一混音数据来输出。同理可得,上述alsamulti插件可以将八声道的音频数据转化为二声道的第一混音数据来输出。其中,当播放源包括输出二声道音频的应用程序时,应用程序需要将二声道的音频数据转化为六声道的第二音频数据来输出。当播放源包括输出二声道音频的语音助手模块1时,语音助手模块1需要将二声道的音频数据转化为六声道的第二音频数据来输出。例如应用程序和语音助手模块1均可以通过下述代码(2)将二声道的音频数据转化为六声道的第二音频数据来输出。pcm.output{typerouteslave.pcm"outsideinput"#输出下一级设备slave.channels6ttable.0.01ttable.1.11ttable.0.21ttable.1.31ttable.0.41ttable.1.51}(2)同理可得,应用程序和语音助手模块1均可以将二声道的音频数据转化为八声道的第二音频数据来输出。还包括一种多声道混音的回音消除方法,如图3所示,包括以下步骤:步骤s1,接收语音助手模块1输出适配于扬声器配置的第一音频数据,并接收至少一个声音信号产生设备2输出适配于扬声器配置的第二音频数据;步骤s2,分别将第一音频数据和第二音频数据进行复制以得到对应第一音频数据的第三音频数据和对应第二音频数据的第四音频数据;步骤s3,接收第一音频数据和第二音频数据,以及对第一音频数据和第二音频数据进行混音并转化,以得到一二声道的第一混音数据;和接收第三音频数据和第四音频数据,以对第三音频数据和第四音频数据进行混音,以得到一第二混音数据;步骤s4,根据第一混音数据进行回音消除;和接收并播放第二混音数据。通过上述方法可以有效地获得多声道的音频数据进行混音后的混音数据,并对上述混音数据进行回音消除,从而提高了产品的功能多样性和优良性。进一步,在上述实施例中,在步骤s3和步骤s4之间包括以下步骤:生成对应第一混音数据的参考数据,并将第一混音数据和参考数据输入至回音消除模块6中。上述参考数据为对应第一混音数据的时间戳信息,上述时间戳信息用于在回音消除模块6将第一混音数据进行回音消除时提供时间参考,从而提高了回音消除的精确度。以上仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1