一种人声判别的方法和装置的制作方法

文档序号:2831050研发日期:2008年阅读:501来源:国知局
技术简介:
本专利提出一种基于时域滑动最大值和跃迁判断的人声识别方法,通过计算音频信号滑动最大绝对值并分析其与阈值的跃迁次数及间隔,实现对人声的高效识别。该方法利用人声在时域特性与非人声的差异,结合动态阈值调整和延迟帧数机制,有效解决了传统方法计算复杂度高、易受音量干扰的问题,显著降低了硬件资源占用。
关键词:人声判别,滑动最大值,跃迁判断
专利名称:一种人声判别的方法和装置的制作方法
技术领域
本发明涉及音频处理技术领域,特别涉及一种人声判别的方法和装置。
背景技术
人声判别,顾名思义,就是判别音频信号中是否出现了人的说话声。人 声判别具有其特殊使用环境和要求。 一方面,不需要知道说话人所说的内容,
只关心是否有人在说话;另一方面,需要做到对人声进行实时地判别。此外, 还需要考虑系统软硬件的开销,尽可能地降低软硬件方面的要求。
现有的人声判别技术主要包括如下两种方式 一种是从提取音频信号的 特征参数出发,利用音频信号中出现人声和音频信号中没有人声时特征参数 的不同之处,进行人声的检测。目前人声判别主要利用的特征参数包括能 量值、过零率、自相关系数,倒语等。另一种人声判别技术是利用语言学的 原理,对音频信号的线性预测倒镨系数或Mel频率倒谙系数进行特征提取, 然后通过模板匹配技术来进行人声判别。
现有的人声判别技术存在如下不足之处
1:能量值、过零率、自相关系数等特征参数不能很好地反映出人声和 非人声之间的区别,从而导致检测效果不佳;
2:计算线性预测倒谱系数或Mel频率倒谱系数,然后通过模板匹配技 术来进行人声判别的方法过于复杂,计算量太大,需要占用过多的软硬件资 源,可行性不好。

发明内容
有鉴于此,本发明实施例提出一种人声判别的方法和装置,能够较为准 确地判别音频信号中的人声,并且计算开销很小。
本发明实施例提出的 一种人声判别的方法,包括如下步骤
一种人声判别的方法,用于判别外部输入的音频信号中的人声,包括如下 步骤
计算所述音频信号的滑动最大绝对值;
判断所述滑动最大绝对值相对于判别阔值是否发生了跃迁,所述判别阈 值用于与所述滑动最大绝对值的曲线进行比对;
若是,则进 一 步判断单位时间内的跃迁次数以及两次相邻跃迁之间的时 间间隔是否达到预先设定的条件,若是,则得出音频信号为人声。
本发明实施例提出的 一 种人声判别装置,用于判别外部输入的音频信号 中的人声,包括
计算模块,用于计算外部输入的音频信号的滑动最大绝对值;
跃迁判断模块,用于判断所述计算模块得到的滑动最大绝对值是否相对 于判别阈值发生了跃迁,并得到单位时间内的跃迁次数以及两次相邻跃迁之 间的时间间隔;
人声判别模块,用于判断所述跃迁判断模块所得单位时间内的跃迁次数 频信号为人声。
从以上技术方案可以看出,通过音频信号的滑动最大绝对值相对于阈值 的跃迁来区分人声和非人声,可以很好地反应出人声与非人声的特性,并且 所需计算量和存储空间较小。


图1示出了作为示例的纯人声时域波形;
图2示出了作为示例的纯音乐的时域波形;
图3示出了作为示例的人唱歌的流行音乐的时域波形;
图4为根据图1所示纯人声转换得到的滑动最大绝对值曲线;
图5为根据图2所示纯音乐转换得到的滑动最大绝对值曲线;
图6为根据图3所示人唱歌的流行音乐转换得到的滑动最大绝对值曲
线;
图7为一段广播节目录音的时域波形图8为将图7所示的时域波形转换得到的滑动最大绝对值曲线,其中包 括了判别阈值;
图9为本发明实施例提出的人声判别的流程图; 图10示出了典型的人声的滑动最大绝对值与判别阈值的关系图; 图11示出了典型的非人声的滑动最大绝对值与判别阈值的关系图; 图12为本发明实施例提出的人声判别装置的模块示意图。
具体实施例方式
在对本发明具体实施方案进行说明之前,首先介绍一下本发明方案依据 的原理。图1至图3给出了三段时域波形图的示例,图中横坐标为音频信号 采样点的标号,纵坐标为采样点的相对强度,其中采样率为44100。以下各 示意图中,采样率均为44100。其中,图1是纯人声的时域波形图;图2是 纯音乐的时域波形图;图3是人唱歌的流行音乐时域波形图,可以看作是人 声和音乐的叠加效果。
观察图l至图3的波形特征,可以发现人声的时域图和非人声的时域图 具有明显差别。人说话声音是抑扬顿挫的,音节之间具有停顿,在停顿处声 强很弱,体现在时域波形图上就是图像变化非常剧烈,而非人声就没有这样 的典型特征。为了更加明显地体现出人声的上述特征,将图l至图3转换为 滑动最大绝对值的曲线图,分别如图4至图6所示,横坐标依然为采样点的 标号,而纵坐标为采样点的相对强度。滑动最大绝对值是指从一个长度为n 的时间区间的时间相关数据中,选取多个连续的长度为m时间区间的该数据 的最大值,m称为滑动长度。可以看出,图4与图5或图6之间的最大区别 点就是曲线中是否会出现零值,人声的波形特征导致其滑动最大绝对值会出
现零值,而音乐等非人声则不会出现零值。
本发明方案利用人声的滑动最大绝对值会出现零值的这个特性来实现 人声判别。但具体应用中,人说话时周围的环境不可能是绝对安静的,或多 或少会混有非人声。因此,需要确定一个合适的判别阈值,如果滑动最大绝 对值的曲线越过了判别阈值代表的横线,则表明有人声。
图7是一段广播节目录音的时域波形,前面一段是主持人说话,后面是 播放流行歌曲。其滑动最大绝对值曲线如图8所示,图7和图8中的横坐标 为采样点的标号,纵坐标表示音频采样点的相对强度。通过选取合适的判别 阈值就可以区分人声和非人声。图8中的横实线表示判别阔值。在主持人说 话的部分,滑动最大绝对值曲线会出现与该横实线相交的现象;而在播放流 行歌曲的部分,滑动最大绝对值曲线与该横实线就不再相交。本专利文件中, 将滑动最大值曲线与判别阈值曲线相交称为滑动最大绝对值相对于判别阈 值发生了跃迁,或简称为跃迁。滑动最大值曲线与判别阔值曲线相交的次数 则称为跃迁次数。需要说明的是,图8中的判别阈值是一个恒定值,实际应 用中判别阈值可能会根据音频信号的强度进行动态调整。
本发明以如下步骤实现 一种人声判别的方法,用于判别外部输入的音频 信号中的人声,其特征在于,包括如下步骤 计算所述音频信号的滑动最大绝对值;
判断所述滑动最大绝对值相对于判别阈值是否发生了跃迁,所述判别阈 值用于与所述滑动最大绝对值的曲线进行比对;
若是,则进一步判断单位时间内的跃迁次数以及两次相邻跃迁之间的时 间间隔是否达到预先设定的条件,若是,则得出音频信号为人声。
本发明实施例实现人声判别的具体流程如图9所示,包括如下步骤
步骤901:进行参数初始化。需要初始化的参数包括音频信号的帧长、 判别阈值、滑动长度和延迟帧数。此外,还要将目前最大绝对值和跃迁次数 归零。
关于选取判别阈值的问题,可以从最大绝对值角度出发取到截至目前的
脉沖编码调制(PCM)数据点的最大值的K分之一。K是正数,不同的K 会导致判别能力的不同,建议选择K=8有较好的效果。通过实验发现实际 上非人声也会跃迁到这条线,图10示出了典型的人声的滑动最大绝对值与 判别阈值的关系图,图11示出了典型的非人声的滑动最大绝对值与判别阈 值的关系图,其中横坐标均为采样点标号,纵坐标为采样点的相对强度。可 以发现,人声和非人声跃迁的分布特征不一样,人声两次相邻跃迁之间的时 间间隔大而非人声两次相邻跃迁之间的时间间隔小。因此为了进一步避免误 判,还需要引入跃迁长度的判断,将两次相邻跃迁之间的时间间隔称为跃迁 长度,只有发生跃迁并且跃迁长度大于预先设置的标准跃迁长度,才认为是 人声。
本发明方案应用于实时处理的场合,对当前音频信号进行判别后,由于 当前音频信号已经播放,无法对当前音频信号进行相应处理,只能处理当前 音频信号之后的音频信号。而人说话声有一定的延续性,因此可以设置延迟 帧数k,当判别当前帧为人声后,可以认为当前帧之后的连续k个帧的音频 信号都是人声,而将这k个帧当作人声进行处理。k为正整数,例如可以取 为5。
步骤902:将当前帧的每n个采样点作为一个分段,取每个分段的最大 绝对值,得到当前帧各个分段的最大绝对值。
目前流行音乐等常用的音频采样率为44100,即每秒采样点的数目是 44100,对于不同的采样率参数都需要进行适当调整,下面我们就以44100 采样率为例。如果每个点都要做一次滑动最大绝对值的话,这样空间就会占 用太大了,帧长为4096,滑动最大绝对值长度选择2048,那就意味着需要 4096+2048个存储单元来存储这些数据,这显然存储单元占用太多。发明人 通过实验发现256点的解析度就满足要求。因此可以规定n的值为256,滑 动长度仍然是2048, 一帧包括16个分段,滑动长度包括8个分段,每个分 段取一个釆样点,则只需要16+8 = 24个存储单元。
步骤卯3:对于其中任一分段,取该分段以及该分段之后滑动长度内的 各个分段的初始最大绝对值中的最大值,作为该分段的滑动最大绝对值。例 如,取分段1到分段9的初始绝对值中的最大值作为分段1的滑动最大绝对 值;取分段2到分段10的初始绝对值中的最大值作为分段2的滑动最大绝 对值并依次类推。。
步骤904:根据截至目前的PCM数据点的最大值更新判别阈值。判断 延迟帧数是否为零,若为零则直接转至步骤905,若延迟帧数非零则减1, 并将音频信号作为人声进行处理。所述处理根据具体应用而定,例如进行消 音处理。
步骤905:根据最大绝对值以及判别阈值,判断是否滑动最大绝对值相 对于判别阈值发生了跃迁。具体做法可以是分别对该帧所有的滑动最大绝 对值做下面的计算(当前这个点滑动最大绝对值-判别阅值)x (该点上 一个滑动最大绝对值-判别阈值),
判断乘积是否小于O,若是则发生了跃迁,否则没有跃迁。
步骤906:根据发生跃迁的分布判断音频信号是否为人声。
具体做法可以包括
判断跃迁密度和跃迁长度是否达到要求。跃迁密度的含义就是单位时间 内发生的跃迁次数。统计截至目前一段时间内的跃迁密度是否符合预定标 准。该预定标准包括了最大的跃迁密度和最小跃迁密度,即规定了跃迁密度 的上限和下限。所述预定预定标准可以通过对标准的人声信号进行训练得 出。如果跃迁次数的密度小于所述上限并大于所述下限,同时跃迁长度大于 标准跃迁长度,则音频信号是人声,否则不是人声。
若判断音频信号是人声,则将延迟帧数设置为预定值,再执行步骤907。 如果判断音频信号非人声,则直接执行步骤907。
步骤卯7:判断是否结束人声判别,若是,则结束本流程,否则转至步 骤903。
本发明实施例还提出 一种用于进行人声判别的装置,其模块示意图如图
12所示,包括
计算模块1201,用于计算音频信号的滑动最大绝对值;
跃迁判断模块1202,用于判断所述计算模块1201得到的滑动最大绝对 值是否相对于判别阈值发生了跃迁,并得到跃迁密度以及跃迁长度;
人声判别模块1203,用于判断所述跃迁判断模块1202所得单位时间内 的跃迁次数以及两次相邻跃迁之间的时间间隔是否达到预先设定的要求,若 是则判定音频信号为人声。
其中,所述计算模块1201可以包括
最大绝对值单元1204,用于将当前帧的每n个采样点作为一个分段, 取每个分段的音频信号最大绝对值,得到当前帧各个分段的初始最大绝对 值,其中n为正整数;
比较滑动单元1205,用于根据最大绝对值单元1204所得各个分段的初 始最大绝对值,得到各个分段的滑动最大绝对值,具体包括取当前分段以 及当前分段之后滑动长度内的各个分段的初始最大绝对值中的最大值,作为 当前分段的滑动最大绝对值。
所述跃迁判断模块1202包括
跃迁单元1206,用于计算当前分段的滑动最大绝对值减去预先设定的 判别阈值的差,以及上一个分段的滑动最大绝对值与所述判别阈值的差,将 所述两个差值相乘,判断所得乘积是否小于O,若是则跃迁次数加l;
计数单元1207,用于统计截至目前一段时间内跃迁单元1206得到的跃 迁次数,以及两次相邻跃迁之间的跃迁长度,,并根据所统计的跃迁次数得 到跃迁密度。
所述人声判别模块1203包括
判断单元1208,用于判断所述跃迁判断模块1202得到的单位时间内的 跃迁次数是否大于预先设置的下限并小于预先设置的上限,并且跃迁长度大 于标准跃迁长度,若是则将所述音频信号标识为人声;
延迟单元1209,用于当所述判断单元1208将音频信号标识为人声时启
动对延迟帧数的计数,该计数值随着时间递减,每隔音频信号l帧的时间则 减1,减到零则停止递减。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来 实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技 术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出
来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘 等,包括若干指令用以使得一台计算机设备(可以是个人计算机,便携媒体 播放器,或者其它具有媒体播放功能的电子产品)执行本发明各个实施例或 者实施例的某些部分所述的方法。
本发明提出了 一套适用于便携式多媒体播放器上的人声判别方案,所需 计算量较小,需要的存储空间也较小。本发明实施例方案中,采取时域数据 做滑动最大值,可以很好的反应出人声与非人声的特性;采用跃迁方式的判 断标准,可以很好地避免由于不同音量带来的标准不一致问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本 发明的保护范围之内。
权利要求
1、一种人声判别的方法,用于判别外部输入的音频信号中的人声,其特征在于,包括如下步骤计算所述音频信号的滑动最大绝对值;判断所述滑动最大绝对值相对于判别阈值是否发生了跃迁,所述判别阈值用于与所述滑动最大绝对值的曲线进行比对;若是,则进一步判断单位时间内的跃迁次数以及两次相邻跃迁之间的时间间隔是否达到预先设定的条件,若是,则得出音频信号为人声。
2、 根据权利要求1所述的人声判别的方法,其特征在于,所述计算音 频信号的滑动最大绝对值的步骤包括将所述音频信号的当前帧的每n个采样点作为一个分段,取每个分段的 音频信号最大绝对值,得到当前帧各个分段的初始最大绝对值,其中n为正 整数;对于其中任一分段,取该分段以及该分段之后滑动长度内的各个分段的 初始最大绝对值中的最大值,作为该分段的滑动最大绝对值。
3、 根据权利要求2所述的人声判别的方法,其特征在于,当音频信号 的采样率为44100时,n的值取为256。
4、 根据权利要求2所述的人声判别的方法,其特征在于,所述判断所述滑动最大绝对值相对于判别阈值是否发生了跃迁包括计算目前的滑动最大绝对值减去预先设定的判别阈值的差,以及上一个滑动最大绝对值与所述判别阈值的差,将所述两个差值相乘,判断所得乘积 是否小于0,若是,则滑动最大绝对值相对于判别阈值发生了跃迁;否则滑 动最大绝对值相对于判别阈值没有发生跃迁。
5、 根据权利要求4所述的人声判别的方法,其特征在于,所述判别阈 值为音频信号截至目前最大绝对值的八分之一 。
6、 根据权利要求1所述的人声判别的方法,其特征在于,所述得出音 频信号为人声的步骤之后,进一步包括判断是否结束人声判别,若否,则 转至所述计算音频信号的滑动最大绝对值的步骤。
7、根据权利要求1至6任一项所述的人声判别的方法,其特征在于,统计截至目前一段时间内的跃迁次数,根据所述跃迁次数计算得到跃迁 密度,判断所述跃迁密度是否大于预先设置的下限,并且小于预先设置的上 限,若是则单位时间内的跃迁次数达到预先设定的条件;判断本次跃迁距离上一次跃迁的时间长度是否大于预先设置的标准跃 迁长度,若是则两次相邻跃迁之间的时间间隔达到预先设定的条件。
8、 根据权利要求7所述的人声判別的方法,其特征在于,所述判断单 位时间内的跃迁次数是否达到预先设定的条件之前,进一步包括判断当前是否处于延迟帧数中,若是,则转至所述计算音频信号的滑动 最大绝对值的步骤;否则,执行所述判断单位时间内的跃迁次数是否达到预 先设定的要求的步骤。
9、 一种人声判别的装置,用于判别外部输入的音频信号中的人声,其 特征在于,包括计算模块,用于计算所述音频信号的滑动最大绝对值;跃迁判断模块,用于判断所述计算模块得到的滑动最大绝对值是否相对于判别阈值发生了跃迁,并得到单位时间内的跃迁次数以及两次相邻跃迁之间的时间间隔;人声判别模块,用于判断所述跃迁判断模块所得单位时间内的跃迁次数 以及两次相邻跃迁之间的时间间隔是否达到预先设定的条件,若是则判定音 频信号为人声。
10、 根据权利要求9所述的人声判别装置,其特征在于,所述计算模块 包括最大绝对值单元,用于将当前帧的每n个采样点作为一个分段,取每个分段的音频信号最大绝对值,得到当前帧各个分段的初始最大绝对值,其中n为正整凄史;比较滑动单元,用于根据最大绝对值单元所得各个分段的初始最大绝对 值,得到各个分段的滑动最大绝对值,具体包括取当前分段以及当前分段 之后滑动长度内的各个分段的初始最大绝对值中的最大值,作为当前分段的 滑动最大绝对值。
11、 根据权利要求9所述的人声判别装置,其特征在于,所述跃迁判断 模块包括跃迁单元,用于计算当前分段的滑动最大绝对值减去预先设定的判别阈 值的差,以及上一个分段的滑动最大绝对值与所述判别阈值的差,将所述两 个差值相乘,判断所得乘积是否小于O,若是则跃迁次数加1;计数单元,用于统计截至目前一段时间内跃迁单元得到的跃迁次数,以 及两次相邻跃迁之间的跃迁长度,并根据所统计的跃迁次数得到跃迁密度。
12、 根据权利要求9、 10或11所述的人声判别装置,其特征在于,所 述人声判别模块包括判断单元,用于判断所述跃迁判断模块得到的单位时间内的跃迁次数是 否大于预先设置的下限并小于预先设置的上P艮,并且跃迁长度大于标准跃迁 长度,若是则将所述音频信号标识为人声。
13、 根据权利要求12所述的人声判别装置,其特征在于,所述人声判 别模块进一步包括延迟单元,用于当所述判断单元将音频信号标识为人声时启动对延迟帧 数的计数,该计数值每隔音频信号1帧的时间则减1,减到零则停止递减。
全文摘要
本发明公开了一种人声判别的方法,包括如下步骤计算外部输入的音频信号的滑动最大绝对值;判断所述滑动最大绝对值相对于判别阈值是否发生了跃迁;若是,则进一步判断单位时间内的跃迁次数以及两次相邻跃迁之间的时间间隔是否达到预先设定的条件,若是,则得出音频信号为人声。本发明还公开了一种人声判别的装置。本发明方案能够较为准确地判别音频信号中的人声,并且计算开销很小。
文档编号G10L25/78GK101359472SQ20081016714
公开日2009年2月4日 申请日期2008年9月26日 优先权日2008年9月26日
发明者谢湘勇, 展 陈 申请人:炬力集成电路设计有限公司
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!