发明内容
本发明的目的是提供一种回声消除方法、装置、设备及可读存储介质,以消除声音信号中的回声信号。
为解决上述技术问题,本发明提供如下技术方案:
一种回声消除方法,包括:
利用麦克风采集声音信号;
判断所述声音信号是否包括远端声音;
若是,则对所述声音信号进行回声消除处理,获得目标声音信号;
若否,则将所述声音信号作为所述目标声音信号。
优选地,对所述声音信号进行回声消除处理,获得目标声音信号,包括:
对所述远端声音进行内容识别,确定所述远端声音的声音类型;
按照所述声音类型对应的回声消除处理方式,进行回声消除处理,获得所述目标声音信号。
优选地,按照所述声音类型对应的回声消除处理方式,进行回声消除处理,获得所述目标声音信号,包括:
判断所述声音类型是否为静音;
如果是,则将所述声音信号确定为所述目标声音信号;
如果否,则对所述声音信号进行回声消除处理,获得所述目标声音信号。
优选地,判断所述声音信号是否包括远端声音,包括:
当所述声音信号中包括远端设备对应的声音水印,则确定所述声音信号包括所述远端声音。
优选地,判断所述声音信号是否包括远端声音,包括:
当检测到所述声音信号中包括近端设备开机或声场检测时播放的预设声音,则确定所述声音信号包括所述远端声音。
优选地,对所述声音信号进行回声消除处理,获得目标声音信号,包括:
将所述声音信号输入至声学回声消除模型中进行回声消除处理,获得所述目标声音信号;其中,所述声学回声消除模型为利用神经网络训练后获得的回声消除模型。
优选地,所述利用神经网络训练后获得的回声消除模型,包括:
获取近端样本声音和远端样本声音并进行混合,获得混音,并将所述近端声音作为预期结果;
提取所述混音和所述远端样本声音分别对应调制信号;
对所述调整信号进行快速傅里叶变换,获得频域信息;
将所述频域信号划分为多段,并提取每一频段的特征作为神经网络的输入特征;
训练所述神经网络,直到所述神经网络的输出结果与所述预期结果的差异值小于阈值,以获得所述回声消除模型。
一种回声消除装置,包括:
声音采集模块,用于利用麦克风采集声音信号;
判断模块,用于判断所述声音信号是否包括远端声音;
回声消除处理模块,用于在所述声音信号中包括远端信号时,对所述声音信号进行回声消除处理,获得目标声音信号;
信号免处理模块,用于在所述声音信号中未包括远端信号时,将所述声音信号作为所述目标声音信号。
一种回声消除设备,包括:
麦克风,用于采集声音信号;
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述回声消除方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述回声消除方法的步骤。
应用本发明实施例所提供的方法,利用麦克风采集声音信号;判断声音信号是否包括远端声音;若是,则对声音信号进行回声消除处理,获得目标声音信号;若否,则将声音信号作为目标声音信号。
在采集到声音信号之后,首先判断声音信号中是否包括远端声音,当声音信号中无远端声音时,则可直接将声音信号作为回声消除处理后的输出信号;当声音信号中有远端声音时,对声音信号进行回声消除处理,得到无远端声音的目标声音信号。通过减少回声消除处理,便可降低回声消除处理对近端声音信号音质的影响。
相应地,本发明实施例还提供了与上述回声消除方法相对应的回声消除装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
本发明实施例提供一种回声消除方法,该方法针对声学回声消除(Acoustic EchoCancellation,AEC),该方法可应用于视频会议终端,下面以应用于视频会议终端为例进行详细说明,应用于其他需要进行回声消除处理的终端设备中的具体实现可参照于此,在此不再赘述。
请参考图1,图1为本发明实施例中一种回声消除方法的流程图,该方法包括以下步骤:
S101、利用麦克风采集声音信号。
在本实施例中,会议终端可利用麦克风采集声音信号。当然,麦克风也可仅仅是扬声器对应的声音信号采集设备。在本实施例中,所采集得到的声音信号可用于视频会议中,即声音信号为视频会议时,参会者的发声;声音信号也可仅仅是需要被放大/扩音的信号,如广播或演唱会场景中的声音采集。
S102、判断声音信号是否包括远端声音。
在本实施例中,采用以下方式判断声音信号中是否包括远端声音:
方式1:在远端设备播放的声音中添加声音水印。声音水印,即采用音频数字水印算法,将数字水印通过水印嵌入算法,嵌入到音频文件中(如wav,mp3,avi等等),但是又对音频文件原有音质无太大影响,或者人耳感觉不到它的影响。相反的又通过水印提取算法,将音频数字水印从音频宿主文件中完整的提取出来,而这嵌入的水印,和提取出来的水印,即音频数字水印,同声音水印。
具体的,当声音信号中包括远端设备对应的声音水印,则确定声音信号包括远端声音。其中,远端设备可以为相对于采集信号的麦克风相对较远的设备,如扬声器。例如,若是在会议视频场景中,远端设备可以为与当前会话终端相对应的其他参会终端,如对讲场景下的对方设备。也就是说,当采集到声音信号之后,可利用水印提取算法对声音信号进行音频数字水印提取,当提取到与远端设备对应的声音水印时,则确定声音信号中包括了远端声音。否则,即视为无远端声音。
方式2:在本实施例中,还可在视频会议开始前,对声场进行检测,或利用近端设备开机声音进行检查。其中,近端设备即相对远离麦克风的设备,如扬声器,会议终端。当检测到声音信号中包括近端设备开机或声场检测时播放的预设声音,则确定声音信号包括远端声音。其中,预设声音可具体为远端设备开机启动的声音,或在声场检测中,近端设备播放的声音。当检测到预设声音时,则确认声音信号包括远端声音,当未检测到预设声音,则认为声音信号不包括远端声音。
在确定声音信号中是否包括远端声音之后,便可根据判断结果进行后续的回声消除处理。具体的,当判断结果为是,则进入步骤S103,当判断结果为否,则进入步骤S104。
S103、对声音信号进行回声消除处理,获得目标声音信号。
当确定声音信号中包括了远端声音,此时为了避免出现回声,声音啸叫,可对声音信号进行回声消除处理。在本实施例中,将回声消除处理后的声音信号称之为目标声音信号,即目标声音信号为消除了远端声音的声音信号。
优选地,为避免回声消除处理对近端声音造成损耗,降低声音质量,在本实施例中还可对声音信号中的远端声音进行分类处理。具体实现过程,包括:
步骤一、对远端声音进行内容识别,确定远端声音的声音类型;
步骤二、按照声音类型对应的回声消除处理方式,进行回声消除处理,获得目标声音信号。
为便于描述,下面将上述两个步骤结合起来进行说明。
其中,内容识别可具体为识别远端声音是否为静音。判断是否为静音可基于远端声音的调制信号(PCM)进行识别。对于确定是否为静音,可计算PCM采样点能量值,若最大能量值小于预设值,则视远端声音的类型为静音。
特别地,对于远端传输给近端的信号,若识别出该信号的类型为噪音,可直接播放预设舒适噪声信号。可通过判断远端声音的PCM的频域分布是否符合噪音分布(如,功率谱密度在整个频域内均匀分布),如果符合,则确定远端声音为噪音。
其中,步骤二可具体包括:
步骤1、判断声音类型是否静音;
步骤2、如果是,将声音信号确定为目标声音信号;
步骤3、如果否,则对声音信号进行回声消除处理,获得目标声音信号。
即,当声音类型为静音,声音信号中的远端声音对应的频率范围分布较均匀,在去除远端声音时,难以保障不影响近端声音音质。即,若对声音信号进行回声消除处理,显然会对前端声音造成损耗,因此可根据声音类型直接确定目标声音信号。即,当声音类型为静音,则将声音信号直接确定为目标声音信号。如果声音类型非静音,此时可对声音信号进行回声消除处理,以获得目标声音信号。
S104、将声音信号作为目标声音信号。
在确定声音信号中无远端声音时,则可无需对声音信号进行处理,可直接将声音信号作为回声消除处理后的输出信号,即目标声音信号。
在本实施例中,获得目标声音信号之后,可对目标声音信号进行放大处理,最终实现音量放大的作用。也可对目标声音信号进行编码处理,将其传输至远端设备,以便远端设备播放近端声音(如视频会议场景中)。
应用本发明实施例所提供的方法,利用麦克风采集声音信号;判断声音信号是否包括远端声音;若是,则对声音信号进行回声消除处理,获得目标声音信号;若否,则将声音信号作为目标声音信号。
在采集到声音信号之后,首先判断声音信号中是否包括远端声音,当声音信号中无远端声音时,则可直接将声音信号作为回声消除处理后的输出信号;当声音信号中有远端声音时,对声音信号进行回声消除处理,得到无远端声音的目标声音信号。通过减少回声消除处理,便可降低回声消除处理对近端声音信号音质的影响。
需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在优选/改进实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在本文的优选/改进实施例中不再一一赘述。
优选地,由于上述方法实施例可降低回声消除处理的应用场景,为了提高回声消除处理的性能,还可采用声学回声消除模型对声音信号进行回声消除处理,由于声学回声消除模型的应用场景减少,可对声学回声消除模型进行针对性训练,提高回声消除处理性能。回声消除处理过程可包括:将声音信号输入至声学回声消除模型中进行回声消除处理,获得目标声音信号;其中,声学回声消除模型为利用神经网络训练后获得的回声消除模型。
请参考图2,图2为本发明实施例中回声消除模型训练过程示意图,利用神经网络训练后获得的回声消除模型,包括:
步骤一、获取近端样本声音和远端样本声音并进行混合,获得混音,并将近端声音作为预期结果;
其中,近端样本声音可将采集的视频会议场景中的语音、音乐、歌曲等作为近端声音样本;同理,也可将采集的视频会议场景中的语音、音乐、歌曲等作为远端声音样本。
其中,关于混音,请参考图3,可按照视频会议双讲的场景进行混音。即拼接近端样本声音与远端样本声音,以模拟出应用场景下,采集到的声音信号。
步骤二、提取混音和远端样本声音分别对应调制信号;
具体的,可按照时间间隔提取混音以及远端样本声音分别对应的声音PCM。具体的,关于远端样本声音信号可按照以下方式处理后再行提取PCM:请参照图3,可获取混音中远端声音在PCM中的开始时间T,调整远端声音在PCM中的开始时间为T-ΔT1,且保障PCM总时长与混音时长相同,以模拟短句接话。
步骤三、对调整信号进行快速傅里叶变换,获得频域信息;
其中快速傅里叶变化即FFT变化。
步骤四、将频域信号划分为多段,并提取每一频段的特征作为神经网络的输入特征;
具体的,可按照人声感知特性将频域信号划分为m段,其中人声感知特性即20-20KHZ,m可在10附近进行选择(如18)。需要说明的是,m越大,精度越高,但训练难度越高,因此可具体根据实际应用场景的需求,设置m的具体值。
每一频段的特征通过神经网络的输入层进入神经网络的隐含层,其中隐含层包括多个全连接层和GRU层。
步骤五、训练神经网络,直到神经网络的输出结果与预期结果的差异值小于阈值,以获得回声消除模型。
神经网络的输出层的数据可通过交叉熵函数对输出结果进行评估,若与预期结果差异大于阈值,则调整权重和偏移量,以便最终获得差异小于阈值的回声消除模型。具体的,可进行有监督的RNN神经网络训练,通过不断调整神经元的权值和偏移量,直到神经网络的输出差异值小于阈值。其中,阈值可根据实际应用场景下的回声消除精度进行设置,精度要求高,则阈值较小,反之则阈值较大。
需要说明的是,AEC模型即回声消除模型,即对神经网络训练调整后的权值和偏移量对应的模型。
实施例二:
相应于上面的方法实施例,本发明实施例还提供了一种回声消除装置,下文描述的回声消除装置与上文描述的回声消除方法可相互对应参照。
参见图4所示,该装置包括以下模块:
声音采集模块101,用于利用麦克风采集声音信号;
判断模块102,用于判断声音信号是否包括远端声音;
回声消除处理模块103,用于在声音信号中包括远端信号时,对声音信号进行回声消除处理,获得目标声音信号;
信号免处理模块104,用于在声音信号中未包括远端信号时,将声音信号作为目标声音信号。
应用本发明实施例所提供的装置,利用麦克风采集声音信号;判断声音信号是否包括远端声音;若是,则对声音信号进行回声消除处理,获得目标声音信号;若否,则将声音信号作为目标声音信号。
在采集到声音信号之后,首先判断声音信号中是否包括远端声音,当声音信号中无远端声音时,则可直接将声音信号作为回声消除处理后的输出信号;当声音信号中有远端声音时,对声音信号进行回声消除处理,得到无远端声音的目标声音信号。通过减少回声消除处理,便可降低回声消除处理对近端声音信号音质的影响。
在本发明的一种具体实施方式中,回声消除处理模块103,包括:
内容识别单元,用于对远端声音进行内容识别,确定远端声音的声音类型;
回声消除处理单元,用于按照声音类型对应的回声消除处理方式,进行回声消除处理,获得目标声音信号。
在本发明的一种具体实施方式中,回声消除处理单元,具体用于判断声音类型是否为静音;如果是,则将声音信号确定为目标声音信号;如果否,则对声音信号进行回声消除处理,获得目标声音信号。
在本发明的一种具体实施方式中,判断模块102,具体用于当声音信号中包括远端设备对应的声音水印,则确定声音信号包括远端声音。
在本发明的一种具体实施方式中,判断模块102,具体用于当检测到声音信号中包括近端设备开机或声场检测时播放的预设声音,则确定声音信号包括远端声音。
在本发明的一种具体实施方式中,回声消除处理模块103,具体用于将声音信号输入至声学回声消除模型中进行回声消除处理,获得目标声音信号;其中,声学回声消除模型为利用神经网络训练后获得的回声消除模型。
在本发明的一种具体实施方式中,回声消除模型训练模块,用于获取近端样本声音和远端样本声音并进行混合,获得混音,并将近端声音作为预期结果;提取混音和远端样本声音分别对应调制信号;对调整信号进行快速傅里叶变换,获得频域信息;将频域信号划分为多段,并提取每一频段的特征作为神经网络的输入特征;训练神经网络,直到神经网络的输出结果与预期结果的差异值小于阈值,以获得回声消除模型。
实施例三:
相应于上面的方法实施例,本发明实施例还提供了一种回声消除设备,下文描述的一种回声消除设备与上文描述的一种回声消除方法可相互对应参照。
参见图5所示,该回声消除设备包括:
麦克风D1,用于采集声音信号;
存储器D2,用于存储计算机程序;
处理器D3,用于执行计算机程序时实现如上述回声消除方法的步骤。
具体的,请参考图6,为本实施例提供的一种回声消除设备的具体结构示意图,该回声消除设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上麦克风(图中未绘制),一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在回声消除设备301上执行存储介质330中的一系列指令操作。
回声消除设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
上文所描述的回声消除方法中的步骤可以由回声消除设备的结构实现。
实施例四:
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种回声消除方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的回声消除方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。