音频信号处理方法、装置、终端及存储介质与流程
2021-01-28 17:01:57|372|起点商标网
本申请实施例涉及语音处理技术,尤其涉及一种音频信号处理方法、装置、终端及存储介质。
背景技术:
:随着终端设备硬件以及音频处理技术的发展,终端设备可以进行音频信号的播放,其中音频信号为声波的频率、幅度变化信息的载体。现有的音频信号处理算法中,如在lms(leastmeansquare,最小均方误差)算法的基础上通过引入动量因子对音频信号进行处理的方式,其算法精度低、复杂度高、运算量大。技术实现要素:本申请实施例提供了一种音频信号处理方法、装置、终端及存储介质,可以解决相关技术中,音频信号处理精度低、复杂度高、运算量大的问题。所述技术方案如下:第一方面,本申请实施例提供了一种音频信号处理方法,包括:获取音频信号,对所述音频信号进行预处理得到和所述音频信号对应的频域下的帧信号;计算所述帧信号的频谱平滑度;确定所述频谱平滑度是否满足预设条件,如果是,则对所述帧信号进行增益处理。第二方面,本申请实施例还提供了一种音频信号处理装置,包括:信号预处理模块,用于获取音频信号,对所述音频信号进行预处理得到和所述音频信号对应的频域下的帧信号;平滑度计算模块,用于计算所述帧信号的频谱平滑度;增益处理模块,用于确定所述频谱平滑度是否满足预设条件,如果是,则对所述帧信号进行增益处理。第三方面,本申请实施例还提供了一种终端,包括:处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的音频信号处理方法。第四方面,本申请实施例还提供了一种包含终端可执行指令的存储介质,所述终端可执行指令在由终端处理器执行时用于执行本申请实施例所述的音频信号处理方法。本申请实施例提供的方案中,通过获取音频信号,对所述音频信号进行预处理得到和所述音频信号对应的频域下的帧信号,计算所述帧信号的频谱平滑度,确定所述频谱平滑度是否满足预设条件,如果是,则对所述帧信号进行增益处理,提高了语音处理的精确性和处理效率。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请一个示例性实施例提供的音频信号处理方法的流程图;图2是本申请另一个示例性实施例提供的音频信号处理方法的流程图;图3是本申请另一个示例性实施例提供的音频信号处理方法的流程图;图4是本申请一个示例性实施例提供的音频信号处理装置的结构框图;图5是本申请一个示例性实施例提供的终端的结构框图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。示例性的,本申请实施例所示的音频信号处理方法可以应用在终端中,该终端具备处理器、存储器。该终端可以包括服务器、电视、机顶盒、智能眼镜、智能手表、数码相机、mp4播放终端、mp5播放终端、学习机、点读机、电子词典、车载终端、虚拟现实(virtualreality,vr)播放终端、增强现实(augmentedreality,ar)播放终端、手机、平板电脑、膝上型电脑、台式电脑或电脑一体机等。请参考图1,图1示出了本申请一个示例性实施例提供的音频信号处理方法的流程图,该方法包括:步骤s101、获取音频信号,对所述音频信号进行预处理得到和所述音频信号对应的频域下的帧信号。音频信号为声波的频率、幅度变化信息的载体,通过音频信号可以进行音频数据的传输,音频信号可由音频信号采集装置(如麦克风)进行采集。在本申请实施例中,该音频信号可以是用户发出的语音,其可被终端集成的信号采集装置所采集,该被采集的音频信号为模拟信号。终端在采集音频信号时,如手机在免提状态下接收用户的语音,当回声消除处理不好时,或者当两台手机靠近时,同一频率的声音会进行不断叠加,在手机通话的另一端会产生刺耳是声音(即啸叫)。又如,用户通过语音聊天软件进行多人语音通话时,在回声消除技术处理失败时也会出现啸叫现象。传统的啸叫抑制算法利用最小均方算法(lms)构建陷波器来检测和消除啸叫,但是这种算法计算量较大,存在一定的延迟,在低延迟和复杂的通话场景下,不能起到较好的效果。本申请实施例中,获取如麦克风采集的音频信号,对该音频信号进行预处理以得到其在频域下的帧信号。其中,原始的音频信号为时域信号,时域用于描述的是信号随时间变化的波形,而频域用于描述的是信号在频率方面的特性。示例性的,得到音频信号对应的频域下的帧信号的预处理方式包括对音频信号进行分帧、加窗处理,对处理结果进行傅里叶变换以得到时域的音频信号对应的频域下的帧信号。步骤s102、计算所述帧信号的频谱平滑度。本申请实施例中,在得到音频信号对应频域下的帧信号后,计算每一帧信号的频谱平滑度,其中频谱平滑度用于表征该帧信号的平滑情况,指在频率域上功率的相对变化,频谱平滑度的值越低(趋近于0)则产生啸叫的可能性越小,频谱平滑度的值越大(趋近于1),则该帧信号为啸叫信号的可能性越大,当确定出该帧信号为啸叫信号(即会产生啸叫现象)时需要进行啸叫抑制处理以避免啸叫现象的产生。本申请一个实施例中,在得到音频信号对应的频域下的帧信号x(m,k)后,将所述帧信号x(m,k)划分为l个频带的信号xb(m,k),其中b为第b个频带,b=0,1,2,3....l,示例性的l可以是20,bu为该频带的上频点,bl为该频带的下频点,示例性的每个频带假设有25个频点,bu为该频带的第1个频点,bl为该频带的第25个频点,其中每个频带的宽度为fs/l,每个频带包含的频点数w=n/l,其中fs为采样率,n为每帧的长度,k代表频点,k=0,1,2,3....n-1;计算帧信号的频谱平滑度γ(m,b)的计算公式如下:步骤s103、确定所述频谱平滑度是否满足预设条件,如果是,则对所述帧信号进行增益处理。本申请实施例中,可设置一啸叫阈值θ,当频谱平滑度的值大于该啸叫阈值θ时,可认定其满足预设条件,则对该帧信号进行增益处理。示例性的,该啸叫阈值的取值范围可以是0.1至0.3,具体可设置为0.15。本申请实施例中,在得到音频信号对应的频域下的帧信号后,对每一帧信号依据前述s102中的公式计算频谱平滑度,如果满足条件则直接对该帧信号进行增益处理,无需还原为时域信号再对时域信号进行处理,同时,增益处理过程针对每一帧单独设定,处理精准度高,通过上述的频谱平滑度计算公式以及后续和啸叫阈值进行比对以判定是否需要进行增益处理,算法复杂度叫现有技术而言显著降低。本申请实施例中,对所述帧信号进行增益处理包括:依据公式xmg(n)=gxm(n)对帧信号进行增益处理,其中,g为增益系数,取值范围包括0至0.5,xm(n)为音频信号对应的频域下的帧信号。本申请实施例中,获取麦克风采集的音频信号,通过啸叫检测模块进行对所述音频信号进行预处理得到和所述音频信号对应的频域下的帧信号,计算所述帧信号中每一帧的频谱平滑度,以检测该帧是否存在啸叫现象,如果检测出啸叫则将该帧信号送入啸叫抑制模块,即对该帧信号进行增益处理以得到啸叫抑制后的信号再送入cpu进行常规的音频信号处理,最终通过扬声器播放出该处理后的音频信号。如果未检测到啸叫现象,则不进行增益处理,或者将增益值设为1。由上述可知,通过获取音频信号,对所述音频信号进行预处理得到和所述音频信号对应的频域下的帧信号,计算所述帧信号的频谱平滑度,确定所述频谱平滑度是否满足预设条件,如果是,则对所述帧信号进行增益处理,其算法复杂度低,且直接针对频域下的帧信号进行处理,处理精度和处理效率均得以显著提高。请参考图2,图2是本申请另一个示例性实施例提供的音频信号处理方法的流程图,对原步骤s101进一步进行了限定,具体如下:步骤s201、获取音频信号,对所述音频信号进行分帧处理,对处理结果进行加窗处理后进行傅里叶变换得到和所述音频信号对应的频域下的帧信号。用户语音的音频信号在宏观上是不平稳的,在微观上是平稳的,具有短时平稳性(10ms-30ms内可以认为用户语音的音频信号近似不变),而傅里叶变换要求输入的时域信号为平稳信号,故本申请实施例中首先对获取的音频信号进行分帧处理,本申请实施例中,在执行分帧处理时,并非采取互不交叠的连续截取的方式,而是采取具备一定交叠的方式进行分帧,如交叠50%,其中分帧的每帧长度n为整数,如采取n=512的方式进行分帧处理。本申请实施例中,对音频信号x(n)进行分帧处理得到信号xm(n),其中n=0,1,2,3....n-1,m代表帧数为第m帧,n为每帧的长度。在分帧处理后,为了使全局更加连续,避免出现吉布斯效应,同时使原本没有周期性的语音信号呈现出周期函数的部分特征,进行了加窗处理,如可采用矩形窗、三角窗、hanning窗、hamming窗、blackman窗等,本申请实施例中依据公式对xm(n)进行加窗处理,其中,对信号进行傅里叶变换即:x(m,k)=fft[xm(n)],得到频域下的帧信号x(m,k),其中,k代表频点,k=0,1,2,3....n-1。步骤s202、计算所述帧信号的频谱平滑度。本申请实施例中,将s201得到的帧信号x(m,k)划分为l个频带的信号xb(m,k),其中b为第b个频带,b=0,1,2,3....l,每个频带的宽度为fs/l,每个频带包含的频点数w=n/l,其中fs为采样率;依据公式计算信号xb(m,k)的频谱平滑度γ(m,b),其中,bu为频带上频点,bl为频带下频点。步骤s203、确定所述频谱平滑度是否满足预设条件,如果是,则对所述帧信号进行增益处理。本申请实施例中,其判定条件可依据如下公式:其中,g取值为1则代表未检测到啸叫,取值为0则代表检测到啸叫,其中,具体判定条件为频谱平滑度γ(m,b)大于啸叫阈值θ。本申请实施例中,依据公式对帧信号进行增益处理,其中,g为增益系数,取值范围包括0至0.5,xm(n)为音频信号对应的频域下的帧信号。由上述可知,本方案中合理高效的对音频信号中的啸叫信号进行检测并进行增益处理,有效的避免了啸叫现象的产生,提高了音频信号的通话、播放质量。请参考图3,图3是本申请另一个示例性实施例提供的音频信号处理方法的流程图,对步骤s103进一步进行了限定,具体参见如下:步骤s301、获取音频信号,对所述音频信号进行分帧处理,对处理结果进行加窗处理后进行傅里叶变换得到和所述音频信号对应的频域下的帧信号。步骤s302、计算所述帧信号的频谱平滑度。步骤s303、确定所述频谱平滑度是否满足预设条件,如果是,则确定所述音频信号对应的播放场景,根据所述播放场景确定增益系数值。本申请实施例中,不同的音频信号播放场景对应不同的增益系数值,示例性的,如下表所示:场景增益值游戏语音0.2电话通话0.1其中,在对音频信号进行处理的过程中,可针对终端正在运行的主程序判断该音频信号的播放场景,如运行有xx游戏语音软件,则确定当前场景为游戏语音场景,相应的可查表得到对应的增益值(如0.2)。步骤s304、对所述帧信号进行增益处理,将增益处理后的音频信号输入至音频播放器进行播放。由上述可知,本方案中合理高效的对音频信号中的啸叫信号进行检测并进行增益处理,在处理过程中根据不同的场景选取不同的增益值以使得处理结果符合更加符合当前的应用场景,如本申请实施例中针对电话通话设置较低的增益值以最大程度减少啸叫,而游戏语音场景中可稍微提高增益值以保证语音数据的真实性。下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。图4是本申请一个示例性实施例提供的音频信号处理装置的结构框图。该音频信号处理装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置包括:信号预处理模块101,用于获取音频信号,对所述音频信号进行预处理得到和所述音频信号对应的频域下的帧信号。本申请实施例中,获取如麦克风采集的音频信号,对该音频信号进行预处理以得到其在频域下的帧信号。其中,原始的音频信号为时域信号,时域用于描述的是信号随时间变化的波形,而频域用于描述的是信号在频率方面的特性。示例性的,得到音频信号对应的频域下的帧信号的预处理方式包括对音频信号进行分帧、加窗处理,对处理结果进行傅里叶变换以得到时域的音频信号对应的频域下的帧信号。用户语音的音频信号在宏观上是不平稳的,在微观上是平稳的,具有短时平稳性(10ms-30ms内可以认为用户语音的音频信号近似不变),而傅里叶变换要求输入的时域信号为平稳信号,故本申请实施例中首先对获取的音频信号进行分帧处理,本申请实施例中,在执行分帧处理时,并非采取互不交叠的连续截取的方式,而是采取具备一定交叠的方式进行分帧,如交叠50%,其中分帧的每帧长度n为整数,如采取n=512的方式进行分帧处理。本申请实施例中,对音频信号x(n)进行分帧处理得到信号xm(n),其中n=0,1,2,3....n-1,m代表帧数为第m帧,n为每帧的长度。在分帧处理后,为了使全局更加连续,避免出现吉布斯效应,同时使原本没有周期性的语音信号呈现出周期函数的部分特征,进行了加窗处理,如可采用矩形窗、三角窗、hanning窗、hamming窗、blackman窗等,本申请实施例中依据公式对xm(n)进行加窗处理,其中,对信号进行傅里叶变换即:x(m,k)=fft[xm(n)],得到频域下的帧信号x(m,k),其中,k代表频点,k=0,1,2,3....n-1。平滑度计算模块102,用于计算所述帧信号的频谱平滑度。本申请实施例中,在得到音频信号对应频域下的帧信号后,计算每一帧信号的频谱平滑度,其中频谱平滑度用于表征该帧信号的平滑情况,指在频率域上功率的相对变化,频谱平滑度的值越低(趋近于0)则产生啸叫的可能性越小,频谱平滑度的值越大(趋近于1),则该帧信号为啸叫信号的可能性越大,当确定出该帧信号为啸叫信号(即会产生啸叫现象)时需要进行啸叫抑制处理以避免啸叫现象的产生。本申请一个实施例中,在得到音频信号对应的频域下的帧信号x(m,k)后,将所述帧信号x(m,k)划分为l个频带的信号xb(m,k),其中b为第b个频带,b=0,1,2,3....l,示例性的l可以是20,bu为该频带的上频点,bl为该频带的下频点,示例性的每个频带假设有25个频点,bu为该频带的第1个频点,bl为该频带的第25个频点,其中每个频带的宽度为fs/l,每个频带包含的频点数w=n/l,其中fs为采样率,n为每帧的长度,k代表频点,k=0,1,2,3....n-1;计算帧信号的频谱平滑度γ(m,b)的计算公式如下:增益处理模块103,用于确定所述频谱平滑度是否满足预设条件,如果是,则对所述帧信号进行增益处理。本申请实施例中,可设置一啸叫阈值θ,当频谱平滑度的值大于该啸叫阈值θ时,可认定其满足预设条件,则对该帧信号进行增益处理。示例性的,该啸叫阈值的取值范围可以是0.1至0.3,具体可设置为0.15。本申请实施例中,在得到音频信号对应的频域下的帧信号后,对每一帧信号依据前述公式计算频谱平滑度,如果满足条件则直接对该帧信号进行增益处理,无需还原为时域信号再对时域信号进行处理,同时,增益处理过程针对每一帧单独设定,处理精准度高,通过上述的频谱平滑度计算公式以及后续和啸叫阈值进行比对以判定是否需要进行增益处理,算法复杂度叫现有技术而言显著降低。本申请实施例中,对所述帧信号进行增益处理包括:依据公式对帧信号进行增益处理,其中,g为增益系数,取值范围包括0至0.5,xm(n)为音频信号对应的频域下的帧信号。本申请实施例中,获取麦克风采集的音频信号,通过啸叫检测模块进行对所述音频信号进行预处理得到和所述音频信号对应的频域下的帧信号,计算所述帧信号中每一帧的频谱平滑度,以检测该帧是否存在啸叫现象,如果检测出啸叫则将该帧信号送入啸叫抑制模块,即对该帧信号进行增益处理以得到啸叫抑制后的信号再送入cpu进行常规的音频信号处理,最终通过扬声器播放出该处理后的音频信号。如果未检测到啸叫现象,则不进行增益处理,或者将增益值设为1。由上述可知,通过获取音频信号,对所述音频信号进行预处理得到和所述音频信号对应的频域下的帧信号,计算所述帧信号的频谱平滑度,确定所述频谱平滑度是否满足预设条件,如果是,则对所述帧信号进行增益处理,其算法复杂度低,且直接针对频域下的帧信号进行处理,处理精度和处理效率均得以显著提高。在一个可能的实施例中,所述信号预处理模块101具体用于:对所述音频信号进行分帧处理,对处理结果进行加窗处理后进行傅里叶变换得到和所述音频信号对应的频域下的帧信号。在一个可能的实施例中,所述信号预处理模块101具体用于:对音频信号x(n)进行分帧处理得到信号xm(n),其中n=0,1,2,3....n-1,m代表帧数为第m帧,n为每帧的长度;依据公式对xm(n)进行加窗处理,其中,对信号进行傅里叶变换得到频域下的帧信号x(m,k),其中,k代表频点,k=0,1,2,3....n-1。在一个可能的实施例中,所述平滑度计算模块102具体用于:将所述帧信号x(m,k)划分为l个频带的信号xb(m,k),其中b为第b个频带,b=0,1,2,3....l,每个频带的宽度为fs/l,每个频带包含的频点数w=n/l,其中fs为采样率;依据公式计算信号xb(m,k)的频谱平滑度γ(m,b),其中,bu为频带上频点,bl为频带下频点。在一个可能的实施例中,所述增益处理模块103具体用于:确定所述频谱平滑度是否大于预设啸叫阈值θ。在一个可能的实施例中,所述增益处理模块103具体用于:依据公式对帧信号进行增益处理,其中,g为增益系数,取值范围包括0至0.5,xm(n)为音频信号对应的频域下的帧信号。在一个可能的实施例中,所述增益处理模块103还用于:确定所述音频信号对应的播放场景,根据所述播放场景确定增益系数值;播放模块104,用于在对所述帧信号进行增益处理之后,将增益处理后的音频信号输入至音频播放器进行播放。请参考图5,图5是本申请一个示例性实施例提供的终端的结构框图。该终端包括处理器201和存储器202。处理器201可以是中央处理器(英文:centralprocessingunit,cpu),网络处理器(英文:networkprocessor,np)或者cpu和np的组合。处理器201还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specificintegratedcircuit,asic),可编程逻辑器件(英文:programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(英文:field-programmablegatearray,fpga),通用阵列逻辑(英文:genericarraylogic,gal)或其任意组合。存储器202通过总线或其它方式与处理器201相连,存储器202中存储有至少一条指令、至少一段程序、代码集或指令集,上述至少一条指令、至少一段程序、代码集或指令集由处理器201加载并执行以实现如上各个实施例所述的音频信号处理方法。存储器202包括易失性存储器(英文:volatilememory)和非易失性存储器(英文:non-volatilememory)。易失性存储器可以为随机存取存储器(英文:random-accessmemory,ram),例如静态随机存取存储器(英文:staticrandomaccessmemory,sram),动态随机存取存储器(英文:dynamicrandomaccessmemory,dram)。非易失性存储器可以为只读存储器(英文:readonlymemoryimage,rom),例如可编程只读存储器(英文:programmablereadonlymemory,prom),可擦除可编程只读存储器(英文:erasableprogrammablereadonlymemory,eprom),电可擦除可编程只读存储器(英文:electricallyerasableprogrammableread-onlymemory,eeprom)。非易失性存储器也可以为快闪存储器(英文:flashmemory),磁存储器,例如磁带(英文:magnetictape),软盘(英文:floppydisk),硬盘。非易失性存储器也可以为光盘。本申请实施例还提供了一种包含终端可执行指令的存储介质,该存储介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的音频信号处理方法。本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的音频信号处理方法。本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页1 2 3 
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除
热门咨询
tips