CN117690446A - 回声消除方法、装置、电子设备及存储介质 - Google Patents
回声消除方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117690446A CN117690446A CN202311848822.0A CN202311848822A CN117690446A CN 117690446 A CN117690446 A CN 117690446A CN 202311848822 A CN202311848822 A CN 202311848822A CN 117690446 A CN117690446 A CN 117690446A
- Authority
- CN
- China
- Prior art keywords
- model
- signal
- data
- training
- parameters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000001914 filtration Methods 0.000 claims abstract description 50
- 238000003062 neural network model Methods 0.000 claims abstract description 39
- 230000005236 sound signal Effects 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 19
- 230000001131 transforming effect Effects 0.000 claims abstract description 3
- 238000012549 training Methods 0.000 claims description 94
- 230000008569 process Effects 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 230000009467 reduction Effects 0.000 claims description 6
- 239000003550 marker Substances 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 11
- 230000000694 effects Effects 0.000 abstract description 9
- 230000004044 response Effects 0.000 abstract description 4
- 230000007613 environmental effect Effects 0.000 description 47
- 238000010586 diagram Methods 0.000 description 13
- 238000005259 measurement Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002592 echocardiography Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Landscapes
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
Abstract
本申请提供一种回声消除方法、装置、电子设备及存储介质,其中,所述方法包括:对接收的音频信号进行变换,得到频域信号;将所述频域信号输入预设的神经网络模型,获取所述神经网络模型输出的卡尔曼滤波参数;使用所述卡尔曼滤波参数及预设的卡尔曼滤波模型对所述频域信号进行处理,得到处理信号;将所述处理信号转换为处理音频信号,通过神经网络模型对卡尔曼滤波模型的参数进行预测,利用预测的参数和卡尔曼滤波模型对语音数据进行回声消除,有效提升了回声消除效果,对于回声路径有变化的环境的响应更为及时并且具有更强的鲁棒性。此外,本申请的方法计算复杂度低,实时性高。
Description
技术领域
本申请属于通信传输技术领域,具体涉及一种回声消除方法、装置、电子设备及存储介质。
背景技术
声学领域中,技术术语“回声”指的是声音在传输过程中因为遇到障碍物或界面反射回原始信号源的现象。在通信系统中,从扬声器到麦克风的声学反馈产生的回声会严重降低通话质量。
相关技术中通常自适应滤波器来解决,采用自适应滤波器仍然存在着诸多问题,例如这个方法在资源受限的边缘性设备上不但在实时性上存在挑战,无法迅速适应环境变化,导致效果下降,而且高级算法可能需要较大计算资源,使得在资源受限设备上运行效率降低。
发明内容
鉴于此,本申请的目的在于提供一种回声消除方法、装置、电子设备及存储介质,以提升了回声消除效果,提高回声消除的实时性。
第一方面,本申请实施例提供了一种回声消除方法,所述方法包括:对接收的音频信号进行变换,得到频域信号;将所述频域信号输入预设的神经网络模型,获取所述神经网络模型输出的卡尔曼滤波参数;使用所述卡尔曼滤波参数及预设的卡尔曼滤波模型对所述频域信号进行处理,得到处理信号;将所述处理信号转换为处理音频信号。
上述回声消除方法,通过神经网络模型对卡尔曼滤波模型的参数进行预测,利用预测的参数和卡尔曼滤波模型对语音数据进行回声消除,有效提升了回声消除效果,对于回声路径有变化的环境的响应更为及时并且具有更强的鲁棒性。此外,本申请的方法计算复杂度低,实时性高。
在本申请一个可选实施例中,所述神经网络模型通过训练预设的基础模型得到,所述训练中至少一个训练样本中标记数据为包括环境噪音的音频信号。
上述实施例中,训练数据中至少一个训练样本中标记数据为包括环境噪音的音频信号,从而使得卡尔曼滤波模型在消除回声的同时,能有效的保留并放大环境声,从而满足用户个性化的需求。
在本申请一个可选实施例中,所述训练的数据集包括第一训练集和第二训练集;所述第一训练集为单向通话数据,所述第一训练集用于所述基础模型的前一半训练过程;所述第二训练集为双向通话数据,所述第二训练集用于所述基础模型的后一半训练过程。
上述实施例中,使用单向通话的数据集训练到一半后,再使用双向通话数据集进行训练,会极高的提升回声消除的性能表现。
在本申请一个可选实施例中,所述第一训练集中每一样本中特征数据为麦克风数据,标签数据为近端语音,所述麦克风数据为对远端语音和所述近端语音进行接收得到的数据,所述远端语音为扬声器发出的声音,所述近端语音为用户讲话的语音,第一训练集中的近端语音为零。
在本申请一个可选实施例中,所述第二训练集中每一样本中特征数据为麦克风数据,标签数据为近端语音和环境噪音,所述麦克风数据为对所述近端语音、远端语音及所述环境噪音进行接收得到的数据,所述近端语音为用户讲话的语音,所述远端语音为扬声器发出的声音,所述环境噪音为对所述用户指定的环境音进行调整得到的。
在本申请一个可选实施例中,所述环境噪音的相位、幅值、频率均与所述近端语音相似。
上述实施例中,通过将环境噪音的相位、幅值、频率中均调整为与近端语音相似,可以让模型将环境噪音认为其是近端语音相似的语音,更好的实现环境噪音的保留。
在本申请一个可选实施例中,所述基础模型训练的损失函数为信号差和权重值之和,所述信号差为所述近端语音与所述卡尔曼滤波模型的输出信号之差,所述权重值基于回声权重、幅值及相位值得到,所述回声权重依据噪声在所述麦克风数据中的占比,所述幅值为所述卡尔曼滤波模型的输出信号的幅值与所述近端语音的幅值之差,所述相位为所述卡尔曼滤波模型的输出信号的相位与所述近端语音的相位之差。
上述实施例中,通过设置的损失函数,使得得到模型输出的卡尔曼滤波模型的参数,能够更好的抑制消除环境噪音并且放大环境语音和环境声。
在本申请一个可选实施例中,所述卡尔曼滤波模型为多个,每一所述卡尔曼滤波模型对应一个所述卡尔曼滤波参数,每一所述卡尔曼滤波模型用于对所述频域信号中对应的频点组中每一频点进行降噪,所述频点组内包括多个频点。
上述实施例中,频点组内的所有频点共用同一组参数从而大大降低了计算复杂度,有利于在低算力设备上的部署和实时性的提升。
在本申请一个可选实施例中,所述卡尔曼滤波参数包括以下至少一者:预测状态参数、协方差参数、噪声参数。
第二方面,本申请实施例提供了一种回声消除装置,所述装置包括:第一转换模块,用于对接收的音频信号进行变换,得到频域信号;预测模块,用于将所述频域信号输入预设的神经网络模型,获取所述神经网络模型输出的卡尔曼滤波参数;降噪模块,用于使用所述卡尔曼滤波参数及预设的卡尔曼滤波模型对所述频域信号进行处理,得到处理信号;第二转换模块,用于将所述处理信号转换为处理音频信号。
第三方面,本申请实施例提供了一种电子设备,包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行如第一方面中任一项所述的回声消除方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行第一方面中任一项所述的回声消除方法。
本申请的其他特征和优点将在随后的说明书阐述。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。
图1示出了本申请实施例提供的一种回声消除方法的流程示意图;
图2示出了本申请实施例提供的一种回声消除效果的对比图;
图3示出了本申请实施例提供的一种回声消除装置的示意框图;
图4示出了本申请实施例提供的一种电子设备的示意框图。
具体实施方式
在下文中,参照附图详细描述本申请的实施例。应当注意,尽管相同的元件在不同的附图中示出,但是它们将由相同的参考标号表示。在下面的描述中,提供诸如详细配置和组件的具体细节以仅帮助全面理解本申请的实施例。因此,本领域技术人员应当清楚,在不脱离本申请的范围的情况下,可做出对在此描述的实施例的各种改变和修改。此外,为了清楚和简明,省略了对公知的功能和构造的描述。下面描述的术语是考虑到本申请中的功能而定义的术语,并且可根据用户、用户的意图或习惯而不同。因此,术语的定义应基于贯穿本说明书的内容来确定。
本申请可具有各种修改和各种实施例,在本申请中,下面参照附图详细描述实施例。然而,应当理解,本申请不限于实施例,而是包括在本申请的范围内的所有修改、等同物和替代物。
在此使用的术语仅用于描述本申请的各种实施例,而不意在限制本申请。除非上下文另外清楚地指示,否则单数形式意在包括复数形式。在本申请中,应当理解,术语“包括”或“具有”指示存在特征、数量、步骤、操作、结构元件、部件或它们的组合,并且不排除存在一个或多个其他特征、数量、步骤、操作、结构元件、部件或它们的组合、或者添加一个或多个其他特征、数量、步骤、操作、结构元件、部件或它们的组合的可能性。
除非不同地定义,否则在此使用的所有术语具有与本申请所属领域的技术人员所理解的含义相同的含义。除非在本申请中明确地定义,否则术语(诸如,在通用词典中定义的术语)应被解释为具有与相关领域中的上下文含义相同的含义,而不应被解释为具有理想化或过于形式化的含义。
根据一个实施例的电子设备可以是各种类型的电子设备中的一种。电子设备可包括例如便携式通信设备(例如,智能电话)、计算机、便携式多媒体设备、便携式医疗设备、相机、可穿戴设备或家用电器。根据公开的一个实施例,电子设备不限于上述那些。
本申请中使用的术语不意在限制本申请,而是意在包括相应实施例的各种改变、等同物或替换物。关于附图的描述,类似的参考标号可用于表示类似的元件或相关的元件。除非相关上下文另外清楚地指示,否则与项对应的名词的单数形式可包括一个或多个事物。如在此使用的,诸如“A或B”、“A和B中的至少一个”、“A或B中的至少一个”、“A、B或C”、“A、B和C中的至少一个”和“A、B或C中的至少一个”的短语中的每个可包括在短语中的相应一个中一起列举的项的所有可能组合。如在此使用的,诸如“第1”、“第2”、“第一”和“第二”的术语可用于将相应组件与另一组件区分开,而不意在在其他方面(例如,重要性或顺序)限制组件。意图是,如果在具有或不具有术语“可操作地”或“通信地”的情况下,元件(例如,第一元件)被称为“与”另一元件(例如,第二元件)“结合”、“结合到”、“连接”或“连接到”另一元件(例如,第二元件),则指示该元件可直接(例如,有线)、无线地或经由第三元件与所述另一元件结合。
如在此使用的,术语“模块”可包括以硬件、软件或固件实现的单元,并且可与其他术语(例如,“逻辑”、“逻辑块”、“部件”和“电路”)可互换地使用。模块可以是适合于执行一个或多个功能的单个集成组件或其最小单元或部件。例如,根据一个实施例,模块可以以专用集成电路(ASIC)的形式实现。
为了便于理解,下面先对本申请实施例涉及的相关术语及概念进行介绍。
相关技术中,一般通过自适应滤波器来解决麦克风的回声问题,该方案主要包括以下步骤:系统监测麦克风捕捉到的回声信号,通过分析确定回声的时域和频域特征。利用自适应滤波器的方法,系统动态调整参数,以适应当前环境。可能包括滤波器系数、增益等的调整。应用合适的算法对监测到的回声信号进行抑制,减小回声的幅度、时延等,确保最终输出中的回声最小化。系统需要在实时性上表现优异,不断监测和调整,以适应环境变化,保持回声消除效果。
然而该方法在存在多个声源的复杂环境中难以实现高效回声消除并且通常难以准确识别和调整用户个性化需求,通用性有限,特别是在助听器的场景下,不同于普通耳机的回声消除,用户仅需要消除回声信号但需要放大周围的环境声等噪声,目前已有的方案几乎都是将所有的环境声等噪音与回声同时消除掉而没有进行分离。而且,这个方法在资源受限的边缘性设备上不但在实时性上存在挑战,无法迅速适应环境变化,导致效果下降,而且高级算法可能需要较大计算资源,使得在资源受限设备上运行效率降低。
基于上述问题,本申请提供一种回声消除方法,整合了深度学习和神经网络技术,使模型能够更准确、更智能地理解复杂的声学环境。其动态适应性和实时性的特点使其能够在多变的环境中快速响应,为用户提供清晰自然的听觉体验。更为突出的是,新型AI(人工智能,Artificial Intelligence)模型强调个性化调整,通过机器学习算法精细理解用户的听力特征,实现高度个性化的回声消除。
如图1所示,图1示出了本申请实施例提供的一种回声消除方法的流程示意图,所述方法包括步骤110至步骤140:
步骤110,对接收的音频信号进行变换,得到频域信号。
接收音频信号,例如,可以通过设备外接或者内置的麦克风模块接收外界音频,生成音频信号。
将所接收音频信号转换为频域表示,生成频域信号。上述频域表述是指将音频信号转换为带有频域特征的表示,并非指只能将音频信号使用频域进行表示。示例的,可以将音频信号进行短时傅里叶变换(Short-time Fourier transform,STFT),将音频信号从时域表示转换为时频域表示。短时傅里叶变换是将长时间信号分成数个较短的等长信号,然后再分别计算每个较短段的傅里叶变换。短时傅里叶变换通常拿来描绘频域与时域上的变化,是时频分析中一个重要的工具。
步骤120,将所述频域信号输入预设的神经网络模型,获取所述神经网络模型输出的卡尔曼滤波参数。
将频域信号输入预设的神经网络模型,得到神经网络模型输出的卡尔曼滤波参数。本申请中预设的神经网络模型能够捕捉输入频域信号与卡尔曼滤波参数之间的关联关系。
卡尔曼滤波(Kalman filter)是一种高效率的递归滤波器,它能够从一系列的不完全及包含噪声的测量中,估计动态系统的状态。卡尔曼滤波会根据各测量值在不同时间下的值,考虑各时间下的联合分布,再产生对未知变数的估计,因此会比只以单一测量值为基础的估计方式要准。
卡尔曼滤波是一种递归的估计,即只要获知上一时刻状态的估计值以及当前状态的观测值就可以计算出当前状态的估计值,并最小化估计值与实际值之间的误差。
卡尔曼滤波器中,预测状态涉及的内容包括:
其中,表示k时刻的预测状态,Fk表示作用于/>上状态变换模型,表示k-1时刻的预测状态,Bk是作用在控制器向量uk上的输入控制模型,Pk|k-1表示k时刻的后验估计误差协方差矩阵,用于度量估计值的精确程度,Pk-1|k-1表示k-1时刻的后验估计误差协方差矩阵,Qk表示过程噪声的分布。
得到卡尔曼滤波模型的预测状态后,可以进行更新,更新涉及的内容为:
其中,表示测量残差,公式3中zk表示对真实状态xk的一个测量值,Hk表示k时刻的观测模型,Sk表示测量残差协方差,Pk|k-1表示k-1时刻更新的协方差估计,Rk表示观测噪声的分布,Kk表示k时刻的最优卡尔曼增益。
通过上述公式3至公式5计算出上述参数后,可以计算更新参数:
Pk|k=(I-KkHk)Pk|k-1 (7)
其中,表示k时刻的更新状态,Pk|k表示k时刻更新的协方差估计。
需要注意的是,上述示例的计算过程仅适用于最佳卡尔曼增益的计算,对于其他类型的卡尔曼增益的计算可以采用其他公式。上述实施例仅是本申请中卡尔曼增益的一种示例,其不够成对本申请卡尔曼滤波模型的限制,本申请的卡尔曼滤波模型可以使用不同增益或者计算过程进行计算。
从最佳卡尔曼增益计算过程中可以观察到其中存在一些人为设计的参数包括:预测状态相关的参数,如状态变换模型Fk内的参数等,协方差相关的参数,如观测模型Hk内的参数等,噪声参数,例如,观测噪声、过程噪声等。本申请中采用神经网络模型预测这些参数,供卡尔曼滤波模型进行使用。
在本申请一个实施例中,所述卡尔曼滤波参数包括以下至少一者:预测状态参数、协方差参数、噪声参数。
本申请实施例中,可以神经网络模型可以预测一个或者多个参数,对于没有被预测的参数可以采用其他方法进行设置。例如,本申请中可以使用神经网络模型对状态变换模型Fk内的参数进行预测,其他参数采用手动设计的方法,例如,可以手动将观测模型的参数设置为固定值,将手动设置观测噪声、过程噪声。或者,本申请可以对卡尔曼滤波模型中需要设计的参数都采用使用神经网络模型进行预测,例如,上述预测状态参数、协方差参数、噪声参数均采用神经网络模型进行预测。
发明人发现目前的回声消除方法不够个性化,相关技术中的方法都是将所有的环境声等噪音与回声同时消除掉而没有进行分离,这种方法对于部分场景及部分设备的使用带来的不变。例如,对于助听器设备,如果将环境音都消除,那么用户将无法听见一些非常重要的环境音,例如,当用户的手机的远处响起铃声形成环境音,此时如果将该环境音消除,用户将无法得知其手机的来电,给用户带来不变。又如,对于一些场景如用户佩戴蓝牙耳机在道路上行走时,如果将环境音都消除,将会给用户带来安全隐患,例如,当交通信号灯响起提示音形成环境音时,如果将环境音的消除,此时用户将无法通过声音知晓交通信号灯的变换,存在安全隐患。
因此,保留环境音的将对部分设备及部分场景产生积极作用。
在本申请一个实施例中,所述神经网络模型通过训练预设的基础模型得到,所述训练中使用至少一个训练样本中标记数据为包括环境噪音的音频信号。
需要注意的是,本申请中的环境噪音并非指所有的环境噪音,而是用户预先指定的环境音,这些才能作为环境噪音。对于用户没有指定的环境音,如汽车喇叭声,爆鸣声等声音仍然将被视为需要消除的噪音。
本申请实施例神经网络模型通过训练预设的基础模型如卷积神经网络、循环神经网络得到。并且,基础模型的训练过程中使用的训练集中至少一个训练样本中标记数据为包括环境噪音的音频信号。使用带有环境噪音的音频信号作为理想的输出数据来训练基础模型,可以使模型将环境噪音也视为需要被保留的声音,从而不会将其消除。
上述实施例中,训练数据中至少一个训练样本中标记数据为包括环境噪音的音频信号,从而使得卡尔曼滤波模型在消除回声的同时,能有效的保留并放大环境声,从而满足用户个性化的需求。
在本申请一个实施例中,所述训练的数据集包括第一训练集和第二训练集;所述第一训练集为单向通话数据,所述第一训练集用于所述基础模型的前一半训练过程;所述第二训练集为双向通话数据,所述第二训练集用于所述基础模型的后一半训练过程。
基础模型得到神经网络模型的训练过程包括第一训练阶段和第二训练阶段两个子过程,第一训练阶段为训练过程的前一半训练,其将对原始的基础模型进行训练,第二训练阶段为训练过程的后一半训练,其将对第一阶段输出的基础模型继续进行训练,第二训练阶段输出的模型才是本申请预测时使用的神经网络模型。需要注意的时,本申请中两个训练阶段的前一半和后一半并非仅指将训练过程均分,其仅指将训练分为两个部分。例如,第一训练阶段可以总训练过程的三分之一,第二训练阶段可以是总训练过程的三分之二,本申请对训练阶段划分并不进行限制,其可以所需的神经网络模型进行设置。
第一训练阶段使用的训练数据为单向通话数据(Single Talk),单向通话是指在通话中只有一个人在说话。在单向通话中,通常只有用户或通话的另一方在说话,没有其他嘈杂的声音。
进一步的,所述第一训练集中每一样本中特征数据为麦克风数据,标签数据为近端语音,所述麦克风数据为对远端语音和所述近端语音进行接收得到的数据,所述远端语音为扬声器发出的声音,所述近端语音为用户讲话的语音,第一训练集中的近端语音为零。
在本申请实施例中,单向通话的数据集包括多个训练样本,其中,每一训练样本中的训练数据为麦克风数据,标签数据为近端语音数据;
单向通话的数据集中,麦克风所处的理想空间中只存在近端语音和远端语音两个声源,近端语音是指用户说话的声音,远端语音是指设备上扬声器发出的声音,在理想空间中,麦克风只能接收到近端语音和远端语音所产生的声音。麦克风接收的数据就是训练数据,与麦克风数据对应的近端语音数据就是标签数据,在单向通话中,近端语音为零,就是说理想空间中只有扬声器在发声。
第二训练阶段使用的训练数据为双向通话(Double Talk)数据,双向通话是指在通话中,同时有两个或更多的人在说话的情况。在双向通话中,除了用户(设备如助听器的使用者)之外,还可能有其他人同时说话。
进一步的,所述第二训练集中每一样本中特征数据为麦克风数据,标签数据为近端语音和环境噪音,所述麦克风数据为对所述近端语音、远端语音及所述环境噪音进行接收得到的数据,所述近端语音为用户讲话的语音,所述远端语音为扬声器发出的声音,所述环境噪音为对所述用户指定的环境音进行调整得到的。
在本申请实施例中,双向通话的训练数据集包括多个训练样本,其中,每一训练样本中的训练数据为麦克风数据,标记数据为近端语音数据。
双向通话的数据集中,麦克风所处的理想空间中存在近端语音、环境噪音、远端语音三个声源,近端语音是指用户说话的声音,远端语音是指设备上扬声器发出的声音,环境噪音为对所述用户指定的环境音进行调整得到的,在理想空间中,麦克风将接收到近端语音、远端语音及环境噪音所产生的声音。对于一个训练样本,标签数据为近端语音和环境噪音的混合语音,该标签数据对应的训练数据就是该标签数据对应的麦克风数据。
进一步的,所述环境噪音的相位、幅值、频率均与所述近端语音相似。
本实施例中,通过将环境噪音的相位、幅值、频率中均调整为与近端语音相似,可以让模型将环境噪音认为其是近端语音相似的语音,更好的实现环境噪音的保留。
上述实施例中,使用单向通话的数据集训练到一半后,再使用双向通话数据集进行训练,会极高的提升回声消除的性能表现。
本实施例中的训练方法中,可以达到只消除回声保留环境声的目的。避免了现有技术中会将回声和环境声一起消除掉的缺点,这一特性更好的符合了助听器这一场景所需要的特性和功能。
在本申请一个实施例中,所述基础模型训练的损失函数为信号差和权重值之和,所述信号差为所述近端语音与所述卡尔曼滤波模型的输出信号之差,所述权重值基于回声权重、幅值及相位值得到,所述回声权重依据噪声在所述麦克风数据中的占比得到,所述幅值为所述卡尔曼滤波模型的输出信号的幅值与所述近端语音的幅值之差,所述相位为所述卡尔曼滤波模型的输出信号的相位与所述近端语音的相位之差。
在基础模型的训练过程中,考虑到保留环境音的场景下,除了保留环境声,还需要适当的放大环境声,使用了以下的损失函数:损失函数为信号差和权重值之和,
其中,信号差为近端语音与所述卡尔曼滤波模型输出的信号之差,例如,可以是10*RELU(近端语音label-估计的近端语音)。
其中,权重值为回声权重和幅值及相位值的积,
回声权重依据噪声(主要是回声)在所述麦克风信号中的占比得到,可以利用回声信号,对每个时频点做加权,即回声占比越多,对应的加权就越大,也就是在时频级别上根据信回比自适应的调整加权。
所述幅值为卡尔曼滤波模型的输出信号的幅值与近端语音的幅值之差,相位为卡尔曼滤波模型的输出信号的相位与所述近端语音的相位之差。
基于上述回声权重、幅值及相位值得到权重值,例如,将回声权重与幅值相乘,将乘积与相位值相加得到权重值,或者,将回声权重分别与幅值、相位值相乘得到权重值。
上述实施例中,通过设置的损失函数,使得得到模型输出的卡尔曼滤波模型的参数,能够更好的抑制消除环境噪音并且放大环境语音和环境声。
步骤130,使用所述卡尔曼滤波参数及预设的卡尔曼滤波模型对所述频域信号进行处理,得到处理信号。
得到卡尔曼波参数后,使用参数对卡尔曼滤波模型进行设置,得到当前时刻的卡尔曼滤波模型,使用当前时刻的卡尔曼滤波模型对频域信号进行处理,得到处理信号。
示例的,音频信号的变换采用短时傅里叶变换,短时傅里叶变换简单来说就是在连续时间中,一个函数可以先乘上仅在一段时间不为零的窗函数再进行一维的傅里叶变换。再将这个窗函数沿着时间轴挪移,所得到一系列的傅里叶变换结果排开则成为二维表象。即音频信号将被划分不同时间窗口内的时频信号,所有时间窗口内的时频信号构成了频域信号。
将一个时间窗口的时频信号输入神经网络模型,神经网络模型将输出卡尔曼滤波参数,将这些参数带入卡尔曼滤波模型中,就可以得到该时间窗口对应的卡尔曼滤波模型。
此时,将该时间窗口的时频信号就是当前时刻的观测状态,有当前时刻的观测状态和当前时刻的卡尔曼滤波模型就可以运行卡尔曼滤波模型对当前时刻的观测状态,得到当前时刻的最优的信号,对所有时间窗口内的时频信号进行处理就可以得到处理信号。
或者,将频域信号输入神经网络模型,神经网络模型将输出卡尔曼滤波参数,将这些参数带入卡尔曼滤波模型中,就可以得到音频信号对应的卡尔曼滤波模型。
此时,频域信号就是当前时刻的观测状态,有当前时刻的观测状态和当前时刻的卡尔曼滤波模型就可以运行卡尔曼滤波模型对当前时刻的观测状态,得到当前时刻的最优的信号,该最优信号就是处理信号。
在本申请一个实施例中,所述卡尔曼滤波模型为多个,每一所述卡尔曼滤波模型对应一个所述卡尔曼滤波参数,每一所述卡尔曼滤波模型用于对所述频域信号中对应的频点组中每一频点进行降噪,所述频点组内包括多个频点。
本申请实施例中,卡尔曼滤波模型可以为多个,一个卡尔曼滤波模型对应频域信号中的一个频点组,一个频点组内包括多个频点,例如,可以选择在频域上相邻的2-3个频点作为一个频点组。本申请实施例中,可以依据频点之间的耦合和连续性,选择频点及频点的数量生成频点组。
卡尔曼滤波模型要对频点组中每一频点进行降噪,此时每一卡尔曼滤波模型对应一个卡尔曼滤波参数,也就是说神经网络模型需要对频点组内的一个或者多个频点进行预测,从而获得该频点组的卡尔曼滤波参数。
上述实施例中,频点组内的所有频点共用同一组参数从而大大降低了计算复杂度,有利于在低算力设备上的部署和实时性的提升。
一般普通的256个频点或者512个频点的情况下,这大大的增加了计算量,采用本实施例的方法无需一个频点需要对应的修改一次滤波器参数。考虑到频点之间的耦合和连续性,以及模型的鲁棒性,可选择每2-3个频点经过实验证明该方案的可行性并且有利于在低算力设备上的部署和实时性的提升。
步骤140,将所述处理信号转换为处理音频信号。
将处理信号即卡尔曼滤波模型输出的频域信号进逆转换,生成音频信号,所述逆转换与音频信号的转换对应,例如,对音频信号进行短时傅里叶变换得到频域信号时,将卡尔曼滤波模型输出的频域信号经过逆傅里叶变换,得到经过回声消除后并放大了环境音的语音。
上述回声消除方法,通过神经网络模型对卡尔曼滤波模型的参数进行预测,利用预测的参数和卡尔曼滤波模型对语音数据进行回声消除,有效提升了回声消除效果,对于回声路径有变化的环境的响应更为及时并且具有更强的鲁棒性。此外,本申请的方法计算复杂度低,实时性高。
传统的卡尔曼滤波器在面对回声路径变化的情况通常会产生极大的扰动从而导致不稳定的情况,而通过利用神经网络模型在泛化能力的优点,提升卡尔曼滤波器的鲁棒性,克服了传统卡尔曼滤波响应慢的缺点。
示例的,如图2所示,图2示出了本申请实施例提供的回声消除效果的对比图。图2中图A为使用传统自适应滤波方案进行降噪得到声音的示意图,图2中图B为使用本申请的回声消除方法进行降噪得到声音的示意图,通过图A和图B的对比,能看出本申请在性能上的优越性。
如图3所示,图3示出了本申请实施例还提供的一种回声消除装置300的示意框图。所述回声消除装置300包括第一转换模块310、预测模块320、降噪模块330及第二转换模块340;
第一转换模块310,用于对接收的音频信号进行变换,得到频域信号;
预测模块320,用于将所述频域信号输入预设的神经网络模型,获取所述神经网络模型输出的卡尔曼滤波参数;
降噪模块330,用于使用所述卡尔曼滤波参数及预设的卡尔曼滤波模型对所述频域信号进行处理,得到处理信号;
第二转换模块340,用于将所述处理信号转换为处理音频信号。
在本申请一个实施例中,所述神经网络模型通过训练预设的基础模型得到,所述训练中至少一个训练样本中标记数据为包括环境噪音的音频信号。
在本申请一个实施例中,所述训练的数据集包括第一训练集和第二训练集;
所述第一训练集为单向通话数据,所述第一训练集用于所述基础模型的前一半训练过程;
所述第二训练集为双向通话数据,所述第二训练集用于所述基础模型的后一半训练过程。
在本申请一个实施例中,所述第一训练集中每一样本中特征数据为麦克风数据,标签数据为近端语音,所述麦克风数据为对远端语音和所述近端语音进行接收得到的数据,所述远端语音为扬声器发出的声音,所述近端语音为用户讲话的语音,第一训练集中近端语音为零。
在本申请一个实施例中,所述第二训练集中每一样本中特征数据为麦克风数据,标签数据为近端语音和环境噪音,所述麦克风数据为对所述近端语音、远端语音及所述环境噪音进行接收得到的数据,所述近端语音为用户讲话的语音,所述远端语音为扬声器发出的声音,所述环境噪音为对所述用户指定的环境音进行调整得到的。
在本申请一个实施例中,所述环境噪音的相位、幅值、频率均与所述近端语音相似。
在本申请一个实施例中,所述卡尔曼滤波模型为多个,每一所述卡尔曼滤波模型对应一个所述卡尔曼滤波参数,每一所述卡尔曼滤波模型用于对所述频域信号中对应的频点组中每一频点进行降噪,所述频点组内包括多个频点。
在本申请一个实施例中,所述卡尔曼滤波参数包括以下至少一者:预测状态参数、协方差参数、噪声参数。
在本申请一个实施例中,所述基础模型训练的损失函数为信号差和权重值之和,所述信号差为所述近端语音与所述卡尔曼滤波模型的输出信号之差,所述权重值基于回声权重、幅值及相位值得到,所述回声权重依据噪声在所述麦克风数据中的占比得到,所述幅值为所述卡尔曼滤波模型的输出信号的幅值与所述近端语音的幅值之差,所述相位为所述卡尔曼滤波模型的输出信号的相位与所述近端语音的相位之差。
本申请实施例所提供的回声消除装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
如图4所示,图4示出了本申请实施例提供的一种电子设备400的示意框图。所述电子设备400包括:处理器410和存储器420。
处理器410、所述存储器420以及各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器420用于存储计算机程序,如存储有图3中所示的软件功能模块,即回声消除装置300。其中,回声消除装置300包括至少一个可以软件或固件(Firmware)的形式存储于所述存储器420中或固化在所述电子设备400的操作系统(Operating System,OS)中的软件功能模块。所述处理器410,用于执行存储器420中存储的可执行模块,例如色回声消除装置300包括的软件功能模块或计算机程序。
其中,存储器420可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器410可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)、微处理器等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。或者该处理器410也可以是任何常规的处理器等。
本申请实施例还提供了一种非易失性的计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备400运行时,执行上述所示的回声消除方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者电子设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种回声消除方法,其特征在于,所述方法包括:
对接收的音频信号进行变换,得到频域信号;
将所述频域信号输入预设的神经网络模型,获取所述神经网络模型输出的卡尔曼滤波参数;
使用所述卡尔曼滤波参数及预设的卡尔曼滤波模型对所述频域信号进行处理,得到处理信号;
将所述处理信号转换为处理音频信号。
2.根据权利要求1所述的方法,其特征在于,所述神经网络模型通过训练预设的基础模型得到,所述训练中至少一个训练样本中标记数据为包括环境噪音的音频信号。
3.根据权利要求2所述的方法,其特征在于,所述训练的数据集包括第一训练集和第二训练集;
所述第一训练集为单向通话数据,所述第一训练集用于所述基础模型的前一半训练过程;
所述第二训练集为双向通话数据,所述第二训练集用于所述基础模型的后一半训练过程。
4.根据权利要求3所述的方法,其特征在于,所述第一训练集中每一样本中特征数据为麦克风数据,标签数据为近端语音,所述麦克风数据为对远端语音和所述近端语音进行接收得到的数据,所述远端语音为扬声器发出的声音,所述近端语音为用户讲话的语音,第一训练集中近端语音为零。
5.根据权利要求3所述的方法,其特征在于,所述第二训练集中每一样本中特征数据为麦克风数据,标签数据为近端语音和环境噪音,所述麦克风数据为对所述近端语音、远端语音及所述环境噪音进行接收得到的数据,所述近端语音为用户讲话的语音,所述远端语音为扬声器发出的声音,所述环境噪音为对所述用户指定的环境音进行调整得到的。
6.根据权利要求5所述的方法,其特征在于,所述环境噪音的相位、幅值、频率均与所述近端语音相似。
7.根据权利要求4或5所述的方法,其特征在于,所述基础模型训练的损失函数为信号差和权重值之和,所述信号差为所述近端语音与所述卡尔曼滤波模型的输出信号之差,所述权重值基于回声权重、幅值及相位值得到,所述回声权重依据噪声在所述麦克风数据中的占比得到,所述幅值为所述卡尔曼滤波模型的输出信号的幅值与所述近端语音的幅值之差,所述相位为所述卡尔曼滤波模型的输出信号的相位与所述近端语音的相位之差。
8.根据权利要求1所述的方法,其特征在于,所述卡尔曼滤波模型为多个,每一所述卡尔曼滤波模型对应一个所述卡尔曼滤波参数,每一所述卡尔曼滤波模型用于对所述频域信号中对应的频点组中每一频点进行降噪,所述频点组内包括多个频点。
9.根据权利要求1所述的方法,其特征在于,所述卡尔曼滤波参数包括以下至少一者:预测状态参数、协方差参数、噪声参数。
10.一种回声消除装置,其特征在于,所述装置包括:
第一转换模块,用于对接收的音频信号进行变换,得到频域信号;
预测模块,用于将所述频域信号输入预设的神经网络模型,获取所述神经网络模型输出的卡尔曼滤波参数;
降噪模块,用于使用所述卡尔曼滤波参数及预设的卡尔曼滤波模型对所述频域信号进行处理,得到处理信号;
第二转换模块,用于将所述处理信号转换为处理音频信号。
11.一种电子设备,其特征在于,包括:存储器和处理器,所述处理器与所述存储器连接;
所述存储器,用于存储程序;
所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求1-9中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311848822.0A CN117690446A (zh) | 2023-12-28 | 2023-12-28 | 回声消除方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311848822.0A CN117690446A (zh) | 2023-12-28 | 2023-12-28 | 回声消除方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117690446A true CN117690446A (zh) | 2024-03-12 |
Family
ID=90138969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311848822.0A Pending CN117690446A (zh) | 2023-12-28 | 2023-12-28 | 回声消除方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117690446A (zh) |
-
2023
- 2023-12-28 CN CN202311848822.0A patent/CN117690446A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11315587B2 (en) | Signal processor for signal enhancement and associated methods | |
US8521530B1 (en) | System and method for enhancing a monaural audio signal | |
TWI463817B (zh) | 可適性智慧雜訊抑制系統及方法 | |
US10930298B2 (en) | Multiple input multiple output (MIMO) audio signal processing for speech de-reverberation | |
CN108604452B (zh) | 声音信号增强装置 | |
JP6703525B2 (ja) | 音源を強調するための方法及び機器 | |
JP7324753B2 (ja) | 修正された一般化固有値ビームフォーマーを用いた音声信号のボイス強調 | |
CN111418010A (zh) | 一种多麦克风降噪方法、装置及终端设备 | |
US9343073B1 (en) | Robust noise suppression system in adverse echo conditions | |
KR20190026234A (ko) | 비선형 특성을 갖는 오디오 필터를 이용하여 오디오 신호를 처리하는 방법 및 장치 | |
US10755728B1 (en) | Multichannel noise cancellation using frequency domain spectrum masking | |
CA3124017C (en) | Apparatus and method for source separation using an estimation and control of sound quality | |
RU2768514C2 (ru) | Процессор сигналов и способ обеспечения обработанного аудиосигнала с подавленным шумом и подавленной реверберацией | |
JP2008216720A (ja) | 信号処理の方法、装置、及びプログラム | |
EP2987314B1 (en) | Echo suppression | |
US6999920B1 (en) | Exponential echo and noise reduction in silence intervals | |
EP1913591B1 (en) | Enhancement of speech intelligibility in a mobile communication device by controlling the operation of a vibrator in dependance of the background noise | |
US11380312B1 (en) | Residual echo suppression for keyword detection | |
Strasser et al. | Correlation detection for adaptive feedback cancellation in hearing aids | |
CN117690446A (zh) | 回声消除方法、装置、电子设备及存储介质 | |
US20180158447A1 (en) | Acoustic environment understanding in machine-human speech communication | |
Panda et al. | A VSS sparseness controlled algorithm for feedback suppression in hearing aids | |
CN112133320A (zh) | 语音处理装置及语音处理方法 | |
JP2006126841A (ja) | 周期信号増強システム | |
Goswami et al. | A novel approach for design of a speech enhancement system using NLMS adaptive filter and ZCR based pattern identification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |