CN110035355B - 麦克风阵列输出声源的方法、系统、设备及存储介质 - Google Patents
麦克风阵列输出声源的方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN110035355B CN110035355B CN201810031726.XA CN201810031726A CN110035355B CN 110035355 B CN110035355 B CN 110035355B CN 201810031726 A CN201810031726 A CN 201810031726A CN 110035355 B CN110035355 B CN 110035355B
- Authority
- CN
- China
- Prior art keywords
- sound source
- output
- energy
- spectrum data
- frame
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R3/00—Circuits for transducers, loudspeakers or microphones
- H04R3/005—Circuits for transducers, loudspeakers or microphones for combining the signals of two or more microphones
Landscapes
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Otolaryngology (AREA)
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
本发明公开了一种麦克风阵列输出声源的方法、系统、设备及存储介质,所述声源为多个,方法包括:获取每个所述声源的频谱数据;根据所述频谱数据分别计算每个所述声源的能量和;比较所有所述声源的所述能量和,确定所述能量和最大的所述声源为待输出声源;输出所述待输出声源的所述频谱数据。本发明提供的麦克风阵列输出声源的方法、系统、设备及存储介质通过计算每个声源频谱数据的能量和,然后再比较以确定能量和最大的声源作为最终的待输出声源进行输出,由此为一些资源有限的嵌入式设备提供了一种单路音频输入的解决方案,解决了现有技术中针对麦克风阵列的开源项目输出的多声源的多个音频数据在资源有限的嵌入式设备中无法直接使用的问题。
Description
技术领域
本发明涉及麦克风阵列输出控制领域,特别涉及一种麦克风阵列输出声源的方法、系统、设备及存储介质。
背景技术
麦克风阵列相关技术包括声源定位、追踪、分离及后置滤波等,目前已有开源项目比较成熟,现有的开源项目能够追踪分离多个声源,在后置滤波后将每个声源分别输出为相应的音频文件,例如有4个声源则输出4个音频文件。
如果需要利用开源项目的输出做关键词识别或语音识别等应用,就需要其输出为一路音频,或者需要多线程处理关键词识别或语音识别等相应的应用。在一些资源有限的嵌入式设备中,无法进行多线程操作,此时只能实现输出一路音频。
发明内容
本发明要解决的技术问题是为了克服现有技术中针对麦克风阵列的开源项目输出的多声源的多个音频数据在资源有限的嵌入式设备中无法直接使用的缺陷,提供一种适用于资源有限的嵌入式设备的麦克风阵列输出声源的方法、系统、设备及存储介质。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供了一种麦克风阵列输出声源的方法,所述声源为多个,其特点在于,所述方法包括以下步骤:
获取每个所述声源的频谱数据;
根据所述频谱数据分别计算每个所述声源的能量和;
比较所有所述声源的所述能量和,确定所述能量和最大的所述声源为待输出声源;
输出所述待输出声源的所述频谱数据。
本方案中,每个所述声源的频谱数据由现有的针对麦克风阵列的开源项目输出得到。本方案中通过计算每个声源频谱数据的能量和,然后再比较以确定能量和最大的声源,即将最大能量输出的声源作为最终的待输出声源进行输出,由此为一些资源有限的嵌入式设备提供了一种单路音频输入的解决方案,解决了现有技术中针对麦克风阵列的开源项目输出的多声源的多个音频数据在资源有限的嵌入式设备中无法直接使用的问题。
可选地,所述获取每个所述声源的频谱数据包括:
获取每个所述声源的当前帧的频谱数据,所述当前帧包括若干个频点;
所述根据所述频谱数据分别计算每个所述声源的能量和包括:
分别计算每个所述声源的所述当前帧的各个频点的能量;
根据所述各个频点的能量分别计算每个所述声源的所述当前帧的所有频点的能量和;
所述输出所述待输出声源的所述频谱数据包括:输出所述待输出声源的所述当前帧的频谱数据。
本方案中,以当前帧为计算能量和及比较的单位,通过先计算每个声源的当前帧的频谱数据中的每个频点的能量,然后再累加得到每个声源的能量和,也就是将每个声源的当前帧的频谱数据的能量总和作为每个声源的能量和,最终输出的也是能量和最大的声源的当前帧的频谱数据。
本方案中,将能量和的计算单位确定为每个声源的当前帧,由此确定的能量和实时性更高,比较后确定的待输出声源也更加合理。
可选地,所述获取每个所述声源的频谱数据包括:获取每个所述声源的每帧的频谱数据,所述每帧包括M个频点,M为正整数;
所述根据所述频谱数据分别计算每个所述声源的能量和包括:
分别计算每个所述声源的所述每帧的各个频点的能量,计算公式为:
powerik=realik*realik+imagik*imagik;
其中,i表示第i个声源,k表示第k个频点,0<k<M,realik表示第i个声源当前帧的频谱数据的第k个频点的实部,imagik表示第i个声源当前帧的频谱数据的第k个频点的虚部;
根据所述各个频点的能量采用滑动时间窗算法分别计算每个所述声源的预设时间窗口个帧的所有频点的能量和,计算公式为:
其中,N表示所述预设时间窗口的值,n表示第n帧,powerink表示第i个声源N个帧的各个频点的能量,fn表示到目前为止声源存在的帧数;
所述比较所有声源的所述能量和,确定所述能量和最大的声源为待输出声源包括:
根据所述能量和分别计算每个所述声源的帧平均能量和,计算公式为:
其中,averagei表示第i个声源的帧平均能量和;
比较所有声源的所述帧平均能量和,确定所述帧平均能量和最大的声源为所述待输出声源。
多声源存在时,经常会出现两帧之间声源的能量交替的情况,这会造成输出时频繁地切换声源。本方案中,采用滑动时间窗算法计算每个声源的帧平均能量和,通过比较每个声源的帧平均能量和选取最大的作为最终的待输出声源,由此能够避免在两帧之间声源存在能量交替时输出会频繁切换声源的问题。
可选地,所述方法还包括以下步骤:
设置所述预设时间窗口的值。
本方案中,预设时间窗口能够根据实际情况通过设置步骤进行调整,以满足不同的使用需求。
可选地,所述获取每个声源的频谱数据包括:采用ManyEars(一种基于麦克风阵列的音频处理的开放框架)获取每个声源的频谱数据。
ManyEars是基于麦克风阵列的音频处理的开放框架,其默认可追踪分离8个声源,在后置滤波后将每个声源分别输出。本方案拓展了ManyEars开源项目的应用场景,使其可以应用在单路音频的应用中;在多声源的情况下,避免了使用多线程处理多个声源的后期处理,效率和资源利用率都有所提高。
本发明还提供了一种麦克风阵列输出声源的系统,所述声源为多个,其特点在于,所述系统包括:
获取模块,用于获取每个所述声源的频谱数据;
第一计算模块,用于根据所述频谱数据分别计算每个所述声源的能量和;
第一比较模块,用于比较所有所述声源的所述能量和,确定所述能量和最大的所述声源为待输出声源;
输出模块,用于输出所述待输出声源的所述频谱数据。
可选地,所述获取模块用于获取每个所述声源的当前帧的频谱数据,所述当前帧包括若干个频点;
所述第一计算模块包括第二计算模块和第三计算模块,所述第二计算模块用于分别计算每个所述声源的所述当前帧的各个频点的能量;所述第三计算模块用于根据所述各个频点的能量分别计算每个所述声源的所述当前帧的所有频点的能量和;
所述输出模块用于输出所述待输出声源的所述当前帧的频谱数据。
可选地,所述获取模块用于获取每个所述声源的每帧的频谱数据,所述每帧包括M个频点,M为正整数;
所述第一计算模块包括第四计算模块和第五计算模块;
所述第四计算模块用于分别计算每个所述声源的所述每帧的各个频点的能量,计算公式为:
powerik=realik*realik+imagik*imagik;
其中,i表示第i个声源,k表示第k个频点,0<k<M,realik表示第i个声源当前帧的频谱数据的第k个频点的实部,imagik表示第i个声源当前帧的频谱数据的第k个频点的虚部;
所述第五计算模块用于根据所述各个频点的能量采用滑动时间窗算法分别计算每个所述声源的预设时间窗口个帧的所有频点的能量和,计算公式为:
其中,N表示所述预设时间窗口的值,n表示第n帧,powerink表示第i个声源N个帧的各个频点的能量,fn表示到目前为止声源存在的帧数;
所述第一比较模块包括第六计算模块和第二比较模块;
所述第六计算模块用于根据所述能量和分别计算每个所述声源的帧平均能量和,计算公式为:
其中,averagei表示第i个声源的帧平均能量和;
所述第二比较模块用于比较所有声源的所述帧平均能量和,确定所述帧平均能量和最大的声源为所述待输出声源。
可选地,所述系统还包括设置模块,所述设置模块用于设置所述预设时间窗口的值。
可选地,所述获取模块用于采用ManyEars获取每个声源的频谱数据。
本发明还提供一种麦克风阵列输出声源的设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特点在于,所述处理器执行所述程序时实现前述的麦克风阵列输出声源的方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特点在于,所述程序被处理器执行时实现前述的麦克风阵列输出声源的方法的步骤。
本发明的积极进步效果在于:本发明提供的麦克风阵列输出声源的方法、系统、设备及存储介质通过计算每个声源频谱数据的能量和,然后再比较以确定能量和最大的声源,即将最大能量输出的声源作为最终的待输出声源进行输出,由此为一些资源有限的嵌入式设备提供了一种单路音频输入的解决方案,解决了现有技术中针对麦克风阵列的开源项目输出的多声源的多个音频数据在资源有限的嵌入式设备中无法直接使用的问题。
进一步地,本发明采用滑动时间窗算法计算每个声源的帧平均能量和,通过比较每个声源的帧平均能量和选取最大的作为最终的待输出声源,由此能够避免在两帧之间声源存在能量交替时输出会频繁切换声源的问题。
进一步地,本发明拓展了ManyEars开源项目的应用场景,使其可以应用在单路音频的应用中;在多声源的情况下,避免了使用多线程处理多个声源的后期处理,效率和资源利用率都有所提高。
附图说明
图1为本发明实施例1的麦克风阵列输出声源的方法的流程图。
图2为本发明实施例2的麦克风阵列输出声源的方法的流程图。
图3为本发明实施例3的麦克风阵列输出声源的系统的模块示意图。
图4为本发明实施例4的麦克风阵列输出声源的系统的模块示意图。
图5为本发明实施例5的麦克风阵列输出声源的设备的硬件结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
如图1所示,本实施例提供了一种麦克风阵列输出声源的方法,所述声源为多个,所述方法包括以下步骤:
步骤101、获取每个所述声源的当前帧的频谱数据,所述当前帧包括若干个频点,本实施例中频点的个数为128个;
步骤102、分别计算每个所述声源的所述当前帧的各个频点的能量;
步骤103、根据所述各个频点的能量分别计算每个所述声源的所述当前帧的所有频点的能量和;
步骤104、比较所有所述声源的所述能量和,确定所述能量和最大的所述声源为待输出声源;
步骤105、输出所述待输出声源的所述当前帧的频谱数据。
本实施例中,每个所述声源的频谱数据由现有的针对麦克风阵列的开源项目输出得到。本实施例中通过计算每个声源频谱数据的能量和,然后再比较以确定能量和最大的声源,即将最大能量输出的声源作为最终的待输出声源进行输出,由此为一些资源有限的嵌入式设备提供了一种单路音频输入的解决方案,解决了现有技术中针对麦克风阵列的开源项目输出的多声源的多个音频数据在资源有限的嵌入式设备中无法直接使用的问题。
本实施例中,以当前帧为计算能量和及比较的单位,通过先计算每个声源的当前帧的频谱数据中的每个频点的能量,然后再累加得到每个声源的能量和,也就是将每个声源的当前帧的频谱数据的能量总和作为每个声源的能量和,最终输出的也是能量和最大的声源的当前帧的频谱数据。本实施例中,将能量和的计算单位确定为每个声源的当前帧,由此确定的能量和实时性更高,比较后确定的待输出声源也更加合理。
实施例2
如图2所示,本实施例提供了一种麦克风阵列输出声源的方法,所述声源为多个,所述方法包括以下步骤:
步骤200、设置参数预设时间窗口的值;
步骤201、采用ManyEars获取每个所述声源的每帧的频谱数据,所述每帧包括M个频点,M为正整数,本实施例中M取512;
步骤202、分别计算每个所述声源的所述每帧的各个频点的能量,计算公式为:
powerik=realik*realik+imagik*imagik;
其中,i表示第i个声源,k表示第k个频点,0<k<M,realik表示第i个声源当前帧的频谱数据的第k个频点的实部,imagik表示第i个声源当前帧的频谱数据的第k个频点的虚部;
步骤203、根据所述各个频点的能量采用滑动时间窗算法分别计算每个所述声源的预设时间窗口个帧的所有频点的能量和,计算公式为:
其中,N表示所述预设时间窗口的值,n表示第n帧,powerink表示第i个声源N个帧的各个频点的能量,fn表示到目前为止该声源已经存在的帧数;
步骤204、根据所述能量和分别计算每个所述声源的帧平均能量和,计算公式为:
其中,averagei表示第i个声源的帧平均能量和,其为第i个声源在当前时间窗口中的帧平均能量和,如果该声源目前收到的帧的数量fn小于N,则计算帧平均能量和时以接收到的实际的帧为准;
步骤205、比较所有声源的所述帧平均能量和,确定所述帧平均能量和最大的声源为所述待输出声源;
步骤206、输出所述待输出声源的所述当前帧的频谱数据。
本实施例中,每个所述声源的频谱数据由现有的针对麦克风阵列的开源项目输出得到。本实施例中开源项目采用ManyEars,ManyEars是基于麦克风阵列的音频处理的开放框架,它由声源定位,跟踪和分离系统组成,可以提供增强的扬声器信号,以便在现实环境中改善语音和声音识别。ManyEars默认可追踪分离8个声源,在后置滤波后将每个声源分别输出。ManyEars基本流程为:基于波束形成器的声源定位;基于粒子的追踪,解决了由导向波束形成期产生的误探,并对每个声源进行追踪;线性声源分离;多通道后置滤波,能够降低平稳和瞬时噪声;输出多声源音频文件。本实施例基于上述基础实现,用于对ManyEars输出的多声源的音频进行处理以输出一路最大能量的声源。
本实施例提供的麦克风阵列输出声源的方法在具体应用时,其输出的所述待输出声源的所述当前帧的频谱数据还需要经ifft(傅里叶逆变换),将每帧最大能量声源的频谱转换为时域信号,再对时域信号进行反归一化处理,以得到最终的消除了平稳和瞬时噪声、混响及削弱了低能量声源后的时域信号,该时域信号能够用于关键词识别及语音识别等应用场景。
本实施例中通过计算每个声源频谱数据的能量和,然后再比较以确定能量和最大的声源,即将最大能量输出的声源作为最终的待输出声源进行输出,由此为一些资源有限的嵌入式设备提供了一种单路音频输入的解决方案,解决了现有技术中针对麦克风阵列的开源项目输出的多声源的多个音频数据在资源有限的嵌入式设备中无法直接使用的问题。
多声源存在时,经常会出现两帧之间声源的能量交替的情况,这会造成输出时频繁地切换声源。例如:第一路声源说“你好”,第二路声源说“电话”,由于第一路声源中“你”和“好”间隔较长,中间插入了第二路声源的“电”,此时输出时就需要切换声源,在输出“你”之后要从第一路声源切换到第二路声源输出“电”,然后再切换回第一路声源,输出“好”。本实施例中,采用滑动时间窗算法计算每个声源的帧平均能量和,通过比较每个声源的帧平均能量和选取最大的作为最终的待输出声源,由此能够避免在两帧之间声源存在能量交替时输出会频繁切换声源的问题。其中,预设时间窗口能够根据实际情况通过设置步骤进行调整,以满足不同的使用需求。
本实施例拓展了ManyEars开源项目的应用场景,使其可以应用在单路音频的应用中;在多声源的情况下,避免了使用多线程处理多个声源的后期处理,效率和资源利用率都有所提高。
实施例3
如图3所示,本实施例提供了一种麦克风阵列输出声源的系统,所述声源为多个,所述系统包括:获取模块1、第一计算模块2、第一比较模块3和输出模块4。
所述获取模块1用于获取每个所述声源的当前帧的频谱数据,所述当前帧包括若干个频点。
所述第一计算模块2包括第二计算模块21和第三计算模块22,所述第二计算模块21用于分别计算每个所述声源的所述当前帧的各个频点的能量;所述第三计算模块22用于根据所述各个频点的能量分别计算每个所述声源的所述当前帧的所有频点的能量和。
所述第一比较模块3用于比较所有所述声源的所述能量和,确定所述能量和最大的所述声源为待输出声源。
所述输出模块4用于输出所述待输出声源的所述当前帧的频谱数据。
本实施例中,每个所述声源的频谱数据由现有的针对麦克风阵列的开源项目输出得到。本实施例中通过计算每个声源频谱数据的能量和,然后再比较以确定能量和最大的声源,即将最大能量输出的声源作为最终的待输出声源进行输出,由此为一些资源有限的嵌入式设备提供了一种单路音频输入的解决方案,解决了现有技术中针对麦克风阵列的开源项目输出的多声源的多个音频数据在资源有限的嵌入式设备中无法直接使用的问题。
本实施例中,以当前帧为计算能量和及比较的基本单位,通过先计算每个声源的当前帧的频谱数据中的每个频点的能量,然后再累加得到每个声源的能量和,也就是将每个声源的当前帧的频谱数据的能量总和作为每个声源的能量和,最终输出的也是能量和最大的声源的当前帧的频谱数据。本实施例中,将能量和的计算单位确定为每个声源的当前帧,由此确定的能量和实时性更高,比较后确定的待输出声源也更加合理。
实施例4
如图4所示,本实施例提供了一种麦克风阵列输出声源的系统,所述声源为多个,所述系统包括:设置模块0、获取模块1'、第一计算模块2'、第一比较模块3'和输出模块4'。
所述设置模块0用于设置预设时间窗口的值。
所述获取模块1'用于采用ManyEars获取每个所述声源的每帧的频谱数据,所述每帧包括M个频点,M为正整数,本实施例中M取512。
所述第一计算模块2'包括第四计算模块21'和第五计算模块22'。
所述第四计算模块21'用于分别计算每个所述声源的所述每帧的各个频点的能量,计算公式为:
powerik=realik*realik+imagik*imagik;
其中,i表示第i个声源,k表示第k个频点,0<k<M,realik表示第i个声源当前帧的频谱数据的第k个频点的实部,imagik表示第i个声源当前帧的频谱数据的第k个频点的虚部。
所述第五计算模块22'用于根据所述各个频点的能量采用滑动时间窗算法分别计算每个所述声源的预设时间窗口个帧的所有频点的能量和,计算公式为:
其中,N表示所述预设时间窗口的值,n表示第n帧,powerink表示第i个声源N个帧的各个频点的能量,fn表示到目前为止声源存在的帧数。
所述第一比较模块3'包括第六计算模块31和第二比较模块32。
所述第六计算模块31用于根据所述声源的预设时间窗口个帧的所有频点的所述能量和分别计算每个所述声源的帧平均能量和,计算公式为:
其中,averagei表示第i个声源的帧平均能量和;
所述第二比较模块32用于比较所有声源的所述帧平均能量和,确定所述帧平均能量和最大的声源为所述待输出声源;
所述输出模块4'用于输出所述待输出声源的所述当前帧的频谱数据。
本实施例中,每个所述声源的频谱数据由现有的针对麦克风阵列的开源项目输出得到。本实施例中开源项目采用ManyEars。本实施例用于对ManyEars输出的多声源的音频进行处理以输出一路最大能量的声源。
本实施例提供的麦克风阵列输出声源的系统在具体应用时,其输出的所述待输出声源的所述当前帧的频谱数据还需要经ifft(傅里叶逆变换),将每帧最大能量声源的频谱转换为时域信号,再对时域信号进行反归一化处理,以得到最终的消除了平稳和瞬时噪声、混响及削弱了低能量声源后的时域信号,该时域信号能够用于关键词识别及语音识别等应用场景。
本实施例中通过计算每个声源频谱数据的能量和,然后再比较以确定能量和最大的声源,即将最大能量输出的声源作为最终的待输出声源进行输出,由此为一些资源有限的嵌入式设备提供了一种单路音频输入的解决方案,解决了现有技术中针对麦克风阵列的开源项目输出的多声源的多个音频数据在资源有限的嵌入式设备中无法直接使用的问题。
多声源存在时,经常会出现两帧之间声源的能量交替的情况,这会造成输出时频繁地切换声源。本实施例中,采用滑动时间窗算法计算每个声源的帧平均能量和,通过比较每个声源的帧平均能量和选取最大的作为最终的待输出声源,由此能够避免在两帧之间声源存在能量交替时输出会频繁切换声源的问题。其中,预设时间窗口能够根据实际情况通过设置步骤进行调整,以满足不同的使用需求。
本实施例拓展了ManyEars开源项目的应用场景,使其可以应用在单路音频的应用中;在多声源的情况下,避免了使用多线程处理多个声源的后期处理,效率和资源利用率都有所提高。
实施例5
图5为本发明实施例1和2提供的一种麦克风阵列输出声源的设备的结构示意图。图5示出了适于用来实现本发明实施方式的示例性麦克风阵列输出声源的设备50的框图。图5显示的麦克风阵列输出声源的设备50仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,麦克风阵列输出声源的设备50可以以通用计算设备的形式表现,例如其可以为服务器设备。麦克风阵列输出声源的设备50的组件可以包括但不限于:上述至少一个处理器51、上述至少一个存储器52、连接不同系统组件(包括存储器52和处理器51)的总线53。
总线53包括数据总线、地址总线和控制总线。
存储器52可以包括易失性存储器,例如随机存取存储器(RAM)521和/或高速缓存存储器522,还可以进一步包括只读存储器(ROM)523。
存储器52还可以包括具有一组(至少一个)程序模块524的程序/实用工具525,这样的程序模块524包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器51通过运行存储在存储器52中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1或2所提供的麦克风阵列输出声源的方法。
麦克风阵列输出声源的设备50也可以与一个或多个外部设备54(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口55进行。并且,麦克风阵列输出声源的设备50还可以通过网络适配器56与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器56通过总线53与麦克风阵列输出声源的设备50的其它模块通信。应当明白,尽管图中未示出,可以结合麦克风阵列输出声源的设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了麦克风阵列输出声源的设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例6
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1和实施例2所提供的麦克风阵列输出声源的方法的步骤。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (12)
1.一种麦克风阵列输出声源的方法,应用于资源有限的嵌入式设备,所述声源为多个,其特征在于,所述方法包括以下步骤:
获取每个所述声源的频谱数据;
根据所述频谱数据分别计算每个所述声源的能量和;
比较所有所述声源的所述能量和,确定所述能量和最大的所述声源为待输出声源;
输出所述待输出声源的所述频谱数据。
2.如权利要求1所述的麦克风阵列输出声源的方法,其特征在于,
所述获取每个所述声源的频谱数据包括:
获取每个所述声源的当前帧的频谱数据,所述当前帧包括若干个频点;
所述根据所述频谱数据分别计算每个所述声源的能量和包括:
分别计算每个所述声源的所述当前帧的各个频点的能量;
根据所述各个频点的能量分别计算每个所述声源的所述当前帧的所有频点的能量和;
所述输出所述待输出声源的所述频谱数据包括:输出所述待输出声源的所述当前帧的频谱数据。
3.如权利要求1所述的麦克风阵列输出声源的方法,其特征在于,
所述获取每个所述声源的频谱数据包括:获取每个所述声源的每帧的频谱数据,所述每帧包括M个频点;
所述根据所述频谱数据分别计算每个所述声源的能量和包括:
分别计算每个所述声源的所述每帧的各个频点的能量,计算公式为:
根据所述各个频点的能量采用滑动时间窗算法分别计算每个所述声源的预设时间窗口个帧的所有频点的能量和,计算公式为:
所述比较所有声源的所述能量和,确定所述能量和最大的声源为待输出声源包括:
根据所述能量和分别计算每个所述声源的帧平均能量和,计算公式为:
比较所有声源的所述帧平均能量和,确定所述帧平均能量和最大的声源为所述待输出声源。
4.如权利要求3所述的麦克风阵列输出声源的方法,其特征在于,所述方法还包括以下步骤:
设置所述预设时间窗口的值。
5.如权利要求1至4任一项所述的麦克风阵列输出声源的方法,其特征在于,所述获取每个声源的频谱数据包括:采用ManyEars获取每个声源的频谱数据。
6.一种麦克风阵列输出声源的系统,应用于资源有限的嵌入式设备,所述声源为多个,其特征在于,所述系统包括:
获取模块,用于获取每个所述声源的频谱数据;
第一计算模块,用于根据所述频谱数据分别计算每个所述声源的能量和;
第一比较模块,用于比较所有所述声源的所述能量和,确定所述能量和最大的所述声源为待输出声源;
输出模块,用于输出所述待输出声源的所述频谱数据。
7.如权利要求6所述的麦克风阵列输出声源的系统,其特征在于,
所述获取模块用于获取每个所述声源的当前帧的频谱数据,所述当前帧包括若干个频点;
所述第一计算模块包括第二计算模块和第三计算模块,所述第二计算模块用于分别计算每个所述声源的所述当前帧的各个频点的能量;所述第三计算模块用于根据所述各个频点的能量分别计算每个所述声源的所述当前帧的所有频点的能量和;
所述输出模块用于输出所述待输出声源的所述当前帧的频谱数据。
8.如权利要求6所述的麦克风阵列输出声源的系统,其特征在于,
所述获取模块用于获取每个所述声源的每帧的频谱数据,所述每帧包括M个频点;
所述第一计算模块包括第四计算模块和第五计算模块;
所述第四计算模块用于分别计算每个所述声源的所述每帧的各个频点的能量,计算公式为:
所述第五计算模块用于根据所述各个频点的能量采用滑动时间窗算法分别计算每个所述声源的预设时间窗口个帧的所有频点的能量和,计算公式为:
所述第一比较模块包括第六计算模块和第二比较模块;
所述第六计算模块用于根据所述能量和分别计算每个所述声源的帧平均能量和,计算公式为:
所述第二比较模块用于比较所有声源的所述帧平均能量和,确定所述帧平均能量和最大的声源为所述待输出声源。
9.如权利要求8所述的麦克风阵列输出声源的系统,其特征在于,所述系统还包括设置模块,所述设置模块用于设置所述预设时间窗口的值。
10.如权利要求6至9任一项所述的麦克风阵列输出声源的系统,其特征在于,所述获取模块用于采用ManyEars获取每个声源的频谱数据。
11.一种麦克风阵列输出声源的设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述的麦克风阵列输出声源的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述的麦克风阵列输出声源的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810031726.XA CN110035355B (zh) | 2018-01-12 | 2018-01-12 | 麦克风阵列输出声源的方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810031726.XA CN110035355B (zh) | 2018-01-12 | 2018-01-12 | 麦克风阵列输出声源的方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110035355A CN110035355A (zh) | 2019-07-19 |
CN110035355B true CN110035355B (zh) | 2022-06-07 |
Family
ID=67234473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810031726.XA Active CN110035355B (zh) | 2018-01-12 | 2018-01-12 | 麦克风阵列输出声源的方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110035355B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CZ56396A3 (en) * | 1993-08-26 | 1996-07-17 | Motorola Inc | Method of receiving signal and a communication system for communication with a plurality of receivers of selective calling |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4195267B2 (ja) * | 2002-03-14 | 2008-12-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 音声認識装置、その音声認識方法及びプログラム |
US20040114772A1 (en) * | 2002-03-21 | 2004-06-17 | David Zlotnick | Method and system for transmitting and/or receiving audio signals with a desired direction |
CN101689371B (zh) * | 2007-06-21 | 2013-02-06 | 皇家飞利浦电子股份有限公司 | 处理音频信号的设备和方法 |
US9094645B2 (en) * | 2009-07-17 | 2015-07-28 | Lg Electronics Inc. | Method for processing sound source in terminal and terminal using the same |
-
2018
- 2018-01-12 CN CN201810031726.XA patent/CN110035355B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CZ56396A3 (en) * | 1993-08-26 | 1996-07-17 | Motorola Inc | Method of receiving signal and a communication system for communication with a plurality of receivers of selective calling |
Also Published As
Publication number | Publication date |
---|---|
CN110035355A (zh) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11825279B2 (en) | Robust estimation of sound source localization | |
KR102220187B1 (ko) | 음장의 고차 앰비소닉 표현에서 상관되지 않은 음원들의 방향을 판정하는 방법 및 장치 | |
WO2021179424A1 (zh) | 结合ai模型的语音增强方法、系统、电子设备和介质 | |
JP6703525B2 (ja) | 音源を強調するための方法及び機器 | |
CN110634497A (zh) | 降噪方法、装置、终端设备及存储介质 | |
US9520138B2 (en) | Adaptive modulation filtering for spectral feature enhancement | |
US11749294B2 (en) | Directional speech separation | |
US10839820B2 (en) | Voice processing method, apparatus, device and storage medium | |
WO2016119388A1 (zh) | 一种基于语音信号构造聚焦协方差矩阵的方法及装置 | |
Kim et al. | Signal separation for robust speech recognition based on phase difference information obtained in the frequency domain. | |
Morita et al. | Robust voice activity detection based on concept of modulation transfer function in noisy reverberant environments | |
WO2020041580A1 (en) | System and method for acoustic speaker localization | |
Rodemann et al. | Real-time sound localization with a binaural head-system using a biologically-inspired cue-triple mapping | |
US11107492B1 (en) | Omni-directional speech separation | |
US10978089B2 (en) | Method, apparatus for blind signal separating and electronic device | |
Kumar | Mean-median based noise estimation method using spectral subtraction for speech enhancement technique | |
BR112014009647B1 (pt) | Aparelho de atenuação do ruído e método de atenuação do ruído | |
CN110035355B (zh) | 麦克风阵列输出声源的方法、系统、设备及存储介质 | |
CN109640242B (zh) | 音频源分量及环境分量提取方法 | |
Lan et al. | Research on speech enhancement algorithm of multiresolution cochleagram based on skip connection deep neural network | |
CN110992966B (zh) | 一种人声分离方法及系统 | |
CN112151053B (zh) | 语音增强方法、系统、电子设备和存储介质 | |
Sapozhnykov | Sub-band detector for wind-induced noise | |
Nesta et al. | Robust two-channel TDOA estimation for multiple speaker localization by using recursive ICA and a state coherence transform | |
US20240161762A1 (en) | Full-band audio signal reconstruction enabled by output from a machine learning model |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |