声音信号的音高参考点筛选系统及方法

文档序号:2831120阅读:304来源:国知局
专利名称:声音信号的音高参考点筛选系统及方法
技术领域
本发明涉及一种声音信号的音高参考点筛选系统及方法。
背景技术
近年来由于信息科技的快速发展,计算机软硬件的提升同时也带动了声
音信号处理在卡拉ok歌唱系统(karaoke)、语言学习、音乐制作及音讯传输 等的应用。声音具备三个要素音高(pitch)、音量(volume)和音色(timbre)。 音高即为声音的频率,决定声音的高低;音量为声音的振幅,决定声音的大 小;而音色即为声音的变动轨迹,决定声音的特质。处理声音信号前,必须 先针对声音信号进行取样(sampling)产生声音波形及撷取适当大小的音框 (frame),如图1A所示,即为一个音框中声音信号所产生的声音波形。
而音高检测算法(Pitch Detection Algorithm)乃是针对声音信号的音高 (pitch)作估算所设计出来的算法,这些音高检测算法主要是在估算及检测声 音波形的基频。在时域上的音高检测算法,是从输入之声音信号变动的声音 波形中找出重复出现的声音波形,也就是利用声音波形相似的特征来找出其 基本周期。在作法上是针对每个音框来作音高检测,也就是将音框内之原始 声音信号与声音位移后之信号依序作相似度比对。当此位移时间距离等于音
高频率倒数时,声音信号和其位移信号必有最大的相似度,此时便可求出基 本周期。时域上的各种算法就是在定义寻找这两种信号相似度的算法则,而 目前在时域上较为广泛使用的算法为平均振幅差异函数(Average Magnitude Difference Function, AMDF)算法以及自相关(Auto-Correlation Function, ACF)算法。
而无论是利用ACF算法或AMDF算法来进行音高检测,在计算声音信
号的基本周期前,都必须先找出音高参考点,接着再以音高参考点通过算法 来计算声音信号的基本周期。请参照图1A及图1B,以AMDF之音高检测算法来说,声音信号所对 应的声音波形101通过AMDF算法进行音高检测演算后,便会产生AMDF 曲线102。依照AMDF曲线102的特性,计算声音信号的基本周期时是必需 先找出AMDF曲线102中的局部最小值,如图IB中的103 ~ 106,也就是 AMDF曲线102中的所有反转信号点,然后再从这些局部最小值103 ~ 106 中通过音高周期判断的算法来找出真正属于基本周期的音高点,如图IB中 的音高点105及106,再以音高点105及106通过算法计算实际属于声音波 形的基本周期长度。
换句话说,在寻找声音波形的基本周期上,由于声音波形中的信号点非 常的多,因此往往必须先找出在声音波形中可能的音高参考点,然后再从这 些音高参考点中找出基本周期的音高点,然而在以往撷取音高参考点的方式 中,多半是依照音高检测曲线的特性来决定出音高参考点,亦即以声音波形 中的局部极值直接作为音高参考点,如在AMDF曲线中是将所有局部最 小值103 ~ 106作为音高参考点,而在ACF算法中则是以所有局部最大值作 为音高参考点。
但此类作法所撷取之音高参考点易掺杂过多非音高点而干扰运算,因 此,有必要提出改进的技术手段,来解决此问题。

发明内容
本发明所要解决的技术问题是提供一种声音信号的音高参考点筛选方 法及系统,解决了现有技术中提出的以往计算声音信号之基本周期时,所撷 取到音高参考点易掺杂过多非音高点而干扰运算的问题。
为了解决上述问题,本发明提供了 一种声音信号的音高参考点筛选系 统,其是通过在音高检测演算时由所有的信号点中先计算出门坎值并建立门 坎值条件,先从所有信号点中筛选出部分信号点,再筛选出信号点中之局部 极值作为音高参考点,其包括有音讯撷取模块,用于撷取声音信号;音高 检测演算模块,用于对该声音信号进行音高检测演算后,将该声音信号转换 为对应的至少一信号点,其中各信号点皆具有对应的坐标值(x,y);门坎值演 算模块,用于撷取各信号点之y坐标值并进行运算以取得门坎值,并根据音高检测演算之特性建立门坎值条件;及比对模块,用于将符合门坎值条件之 各信号点进行局部极值比对演算,并将演算出之至少一局部极值点加入至音 高参考数组中。
本发明还提供了 一种声音信号的音高参考点筛选方法,其是通过在音高 检测演算时先筛选出部分信号点,再筛选出信号点中之局部极值作为音高参
考点,其步骤包括有对声音信号进行音高检测演算后,将该声音信号转换 为对应的至少一信号点,其中各信号点皆具有对应的坐标值(x,y);撷取各信 号点之y坐标值进行运算以取得门坎值,并根据音高检测演算之特性建立门 坎值条件;将各信号点与门坎值条件进行比对;及将符合门坎值条件之各信 号点进行局部极值比对演算,并将演算出之至少一局部极值点加入至音高参 考数组中。
本发明还提供了 一种声音信号的音高参考点筛选系统,其是通过于音高 检测演算时先筛选出局部极值,再筛选符合门坎值条件的局部极值作为音高 参考点,其包括有音讯撷取模块,用于撷取声音信号;音高检测演算模块, 用于对该声音信号进行音高检测演算后,将该声音信号转换为对应的至少一 信号点,其中各信号点皆具有对应的坐标值(x,y),并根据音高检测演算之特 性自该些信号点中取出至少一个局部极值点;门坎值演算模块,用于利用该 些局部极值点之y坐标值进行运算以取得门坎值,并根据音高检测演算之特 性建立门坎值条件;及比对模块,用于将符合该门坎值条件之各局部极值点 加入至音高参考数组中。
本发明还提供了一种声音信号的音高参考点筛选方法,其是通过于音高 检测演算时先筛选出局部极值,再筛选符合门坎值条件的局部极值作为音高 参考点,其步骤包括有对声音信号进行音高检测演算后,将该声音信号转 换为对应的至少一信号点,其中各信号点皆具有对应的坐标值(x,y);根据音 高检测演算之特性自该些信号点中取出至少一个局部极值点;以该些局部极 值点之y坐标值进行运算以取得门坎值,并根据音高检测演算之特性建立门 坎值条件;将各局部极值点与门坎值条件进行比对;及将符合门坎值条件之 各局部极值点加入至音高参考数组中。
特别提到的是,在上述系统和方法中所提到的局部极值点会依照整个系
8统与方法中所采取的音高检测演算不同而有所不同,在AMDF及其类似的 音高检测演算中,所称的局部极值点为局部最小值;而在ACF及其类似的 音高检测演算中,所称的局部极值点为局部最大值。
与现有技术相比,应用本发明,本发明可以达到提高计算声音信号之基 本周期时之运算效率及求值精确性之技术功效。


图1A是音框中声音信号波形示意图; 图1B是AMDF曲线示意图2是本发明所述之声音信号的音高参考点筛选系统之方框图3A是本发明第 一 实施例所述之声音信号之音高参考点筛选方法之流
程图3B是本发明第二实施例所述之声音信号之音高参考点筛选方法之流 程图4A是音框中声音信号波形示意图4B是AMDF曲线之音高参考点筛选示意图4C是ACF曲线之音高参考点筛选示意图5A及图5B是AMDF音高参考点筛选结果示意图。
具体实施例方式
下面结合附图和具体实施方式
对本发明作进一步说明。
本发明通过将声音信号经音高检测演算后,保留音框中符合门坎值条件 的音高参考点,用于解决以往计算声音信号之基本周期时,所撷取到之音高 参考点易掺杂过多非音高点而干扰运算之问题,并且本发明就如何达到提高 计算声音信号之基本周期时之运算效率及求值精确性的实现过程进行说明 以供充分理解并据以实施。
本发明之声音信号的音高参考点筛选系统及方法,主要是通过先计算出
9门坎值及门坎值条件,来筛选出较具参考价值之音高参考点,而依照门坎值 计算的方式不同,在实施上具有两种不同的实施例,以下将分别以两个不同 的实施例说明。
首先,请先参考图2及图3A,将配合实施例方式来说明本发明之第一 实施例。
请参照图2,是本发明所述之声音信号的音高参考点筛选系统之方框图, 本发明之声音信号的音高参考点筛选系统是通过于音高检测演算进行同时, 由所有的信号点中先计算出门坎值并建立门坎值条件,先从所有信号点中筛 选出部分信号点,再筛选出信号点中之局部极值点作为音高参考点,其包括 有音讯撷取模块201、音高检测演算模块202、门坎值演算模块203及比 对才莫块204。
音讯撷取模块201,用于撷取声音信号205。撷取时可以根据取样频率 撷取声音信号,声音信号可以是自麦克风等音源输入装置取得,或是自计算 机可执行平台播放多媒体文件之声音信号。
音高检测演算模块202,用于对声音信号205进行音高检测演算后,将 声音信号205转换为对应的至少一信号点,其中各信号点皆具有对应的坐标 值(x,y)。 x坐标值是表示波形的位移点,而y坐标值则是表示波形当中的振 幅变动。
值得特别注意的是,在此所述之音高检测演算的方法可以是平均振幅差 异函数(Average Magnitude Difference Function, AMDF)算法、自相关 (Auto-Correlation Function, ACF)算法等任何音高检测算法,本发明虽以部份 算法为例,但并不以此为限。
门坎值演算模块203,用于撷取所有信号点之y坐标值并进行运算以取 得门坎值,并根据音高检测演算之特性建立门坎值条件。 一般来说,门坎值 可设定为各信号点之y坐标值的平均值,而此平均值的算法,可以是算术平 均值,也可以是加权平均值,本发明对于门坎值的计算公式并未作任何限定。
需要特别注意的是,门坎值条件是根据音高检测演算的特性所决定的, 举例来说,当音高检测演算是AMDF算法时,门坎值条件即为"小于门坎
10值,,,因此在筛选音高参考点时,便将小于该门坎值之各信号点进行局部极
值比对演算,而在AMDF算法之下,便会找出至少一个局部最小值。反之, 当音高检测演算系ACF算法时,门坎值条件即为"大于门坎值",因此在 筛选音高参考点时,便将大于门坎值之各信号点进行该局部极值比对演算, 找出至少一个局部最大值。当采取其它音高检测演算时,亦可依照此原则决 定所建立的"门坎值条件"。
比对;漠块204,用于将符合门坎值条件之各信号点进行局部极值比对演 算,并将演算出之至少一局部极值点加入至一音高参考数组206中。
接下来,将以图3A配合实施例方式(请同时参考图4A至图5B)来说明 第一实施例之作法。
首先,对如图4A中之声音信号401进行音高检测演算并将声音信号转 换为对应的信号点(步骤301),需要注意的是,依照不同音高检测演算之特 性,会产生出不同的曲线,如当音高检测演算为AMDF算法时,便会转 换为图4B中之曲线411,而当音高检测演算为ACF算法时,便会转换为图 4C中之曲线421。其中,每个信号点都具有坐标值(x,y), x坐标值是表示波 形的位移点,而y坐标值则是表示波形当中的振幅变动。
接着,撷取所有信号点的y坐标值进行运算以取得门坎值,并根据音高 检测演算之特性建立门坎值条件(步骤302)。门坎值可设定为各信号点之y 坐标值的平均值,而此平均值的算法,可以是算术平均值,也可以是加权平 均值。而于本实施例中,是取所有信号点之y坐标的算术平均值作为门坎值, 取得门坎值之后,以AMDF算法为音高检测演算举例来说,门坎值条件即 为"小于门坎值412"。
因此将各信号点与门坎值条件进行比对(步骤303)后,便会先将符合"小 于门坎值412"的信号点留下,亦即将图4B中之门坎值412(如图中虚线所 示)下的所有信号点保留下来,接着,再将保留下来之信号点进行局部极值 比对演算(步骤304)。当釆用AMDF算法时,则将局部极值比对演算出之局 部最小值点(即如图4B中门坎值下之反转点)加入至音高参考数组中(步骤 305)。反之,采用ACF算法时,步骤302中所建立的门坎值条件即为"大 于门坎值422",而最终加入音高参考数组的点是局部最大值点(即如图4C
ii中门坎值上之反转点),其余步骤的运作过程与前述采用AMDF算法相似, 因此在此不加赘述。
实际应用上述第一实施例所产生的筛选效果,可以参照图4B、图5A及 图5B来说明,在此,是以采用AMDF算法来筛选出音高参考点来做说明。 假设图4B中经过AMDF算法运算后所得到的曲线411中具有250个信号点, 经过门坎值的运算及门坎值的建立之后,所篩选出来符合门坎值条件之信号 点,即如图5A中信号点筛选表501所示,仅剩下卯个信号点,而再经局 部极值比对演算后,便可得到如图5B音高参考点数组表511所示之信号点, 剩下34个信号点,而此34个信号点即为本发明所运算出来较具参考价值的 音高参考点。
接下来,再请参考到图2及图3B,用来说明本发明之第二实施例。
请参照图2是本发明所述之声音信号的音高参考点筛选系统之方框图, 与第一实施例不同之处,本发明第二实施例的声音信号的音高参考点筛选系 统,是在音高检测演算完成产生筛选出局部极值点之后,再利用这些局部极 值去运算出门坎值并建立门坎值条件,再将符合门坎值条件之局部极值点视 为音高参考点,其系统同样包含有音讯撷取模块201、音高检测演算模块 202、门坎值演算模块203及比对模块204。
音讯撷取模块201,用于撷取声音信号205,与第一实施例时相同。
音高检测演算模块202,用于对声音信号205进行音高检测演算后,将 声音信号205转换为对应的至少一信号点,其中各信号点皆具有对应的坐标 值(x,y)。与第一实施例不同之处,在此音高检测演算模块202会进一步将信 号点依照其音高检测演算之特性筛选出至少一个局部极值点。举例来说当 采用AMDF算法作为音高检测演算时,以局部最小值点作为局部极值点。 反之,当该音高检测演算为ACF算法时,以局部最大值点作为该局部极值
门坎值演算模块203,与第一实施例相同的是,此门坎值演算模块203 是用来计算门坎值及建立门坎值条件,但不同的是在第二实施例中主要是利 用音高检测演算模块202中所产生的局部极值点之y坐标值来进行运算以取 得门坎值,并根据该音高检测演算之特性建立对应的门坎值条件。举例来说
12当音高检测演算为AMDF算法时,以所有局部最小值点之y坐标之平均值为门坎值,并设定门坎值条件为"小于该门坎值,,。反之,当音高检测演算为ACF算法时,以所有局部最大值点之y坐标之平均值为门坎值,并设定门坎值条件为"大于该门坎值"。
如前所述,计算门坎值时同样可以用所有局部最大值(或所有局部最小值)之y坐标值的平均值来算出,而此平均值的算法,可以是算术平均值,也可以是加权平均值,本发明并不对门坎值的计算公式加以限定。
比对模块204,与第一实施例运作原理大致相同,用于将符合门坎值条件之各局部极值点加入至一音高参考数组中。举例来说,于该音高检测演算是AMDF算法时,是将小于门坎值条件之局部最小值加入至音高参考数组206中。反之,当音高检测演算是ACF算法时,将大于门坎值条件之局部最大值加入至音高参考数组206中。
接下来,将以图3B来说明第二实施例之作法。
首先,对如图4A中之声音信号401进行音高检测演算并将声音信号转换为对应的信号点(步骤311),此步骤与第一实施例时相同,接着,音高检测演算会根据本身的特性自各信号点中取出至少 一个局部极值点(步骤312)。举例来说,当以AMDF算法为音高检测演算时,则自信号点中取出局部最小值,反之,若为ACF算法,则自信号点中取出局部最大值。然后,以步骤312中所决定出来的局部极值点来计算门坎值,计算方式同第一实施例,但主要是以局部极值点之y坐标值进行运算以取得门坎值,并根据音高检测演算之特性建立门坎值条件(步骤313),当以AMDF算法为音高检测演算时,门坎值条件即为"小于门坎值412",反之,ACF算法之下,门坎值条件即为"大于门坎值422"。接着,将各局部极值点与门坎值条件进行比对(步骤314),最后将符合门坎值条件之局部极值点加入至音高参考数组中(步骤315)。
至此,可以知道通过本发明所提出的两种不同实施例,将可以解决以往计算声音信号之基本周期时,所撷取到之音高参考点易掺杂过多非音高点而干扰运算之问题。两种不同实施例的差异在于门坎值的计算方式不同,因此在采用相同音高^r测演算时所决定出来的局部极值点会有所不同。在第一实施例中,所决定出来的局部极值点会较多,所以运算效率会较低,但是较不会筛选掉可能为基本周期的实际音高点,在第二实施例中,所决定出来的局部极值点会较少,所以运算效率会较高于第一实施例高,但是可能会筛选掉可能为基本周期的实际音高点,造成后续在基本周期运算精确度上的影响。但基本上两者都可以达到对声音信号的音高参考点筛选的基本技术功效。
虽然于本发明中对于局部极值和门坎值条件的定义,是与音高检测演算
有直接相关,且在上述实施方式描述过程中也多以AMDF算法或ACF算法为例,但实际上音高检测算法并不仅止于此两种,而本发明亦并非以此为限,任何熟习本技术领域者应可在符合"音高检测算法特性"的前提下,于音高检测演算的实施及细节上作些许之更动。
综上所述,可知本发明与现有技术之间的差异在于具有将声音信号经音高检测演算后,保留音框符合门坎值条件的音高参考点之技术手段,藉此可以解决以往计算声音信号之基本周期时,所撷取到之音高参考点易掺杂过多非音高点而干扰运算之问题,进而达成提高计算声音信号之基本周期时之运算效率及求值精确性之功效。
虽然本发明所公开之实施方式如上,惟所述之内容并非用于直接限定本发明之专利保护范围。任何本发明所属技术领域中具有通常知识者,在不脱离本发明所公开之精神和范围的前提下,可以在实施的形式上及细节上作些许之更动。本发明之专利保护范围,仍须以所附之权利要求书为准。
权利要求
1、一种声音信号的音高参考点筛选系统,用于计算音框中一声音信号的基本周期前,其特征在于,包含一音讯撷取模块,用于撷取所述声音信号;一音高检测演算模块,用于对所述声音信号进行一音高检测演算后,将该声音信号转换为对应的至少一信号点,其中各该信号点皆具有对应的一坐标值(x,y);一门坎值演算模块,用于撷取各所述信号点之y坐标值并进行运算以取得一门坎值,并根据所述音高检测演算之特性建立一门坎值条件;及一比对模块,用于将符合所述门坎值条件之各所述信号点进行一局部极值比对演算,并将演算出之至少一局部极值点加入至一音高参考数组中。
2、 如权利要求1所述的音高参考点筛选系统,其特征在于, 所述音讯撷取模块还用于根据一取样频率撷取所述声音信号。
3、 如权利要求1所述的音高参考点筛选系统,其特征在于,所述门坎值演算模块取得的所述门坎值是各所述信号点之y坐标值之 一平均值。
4、 如权利要求1所述的音高参考点筛选系统,其特征在于,当所述音高检测演算是一平均振幅差异函数算法时,所述门坎值演算模 块建立的所述门坎值条件为小于该门坎值;所述比对模块是将小于该门坎值 之各该信号点进行该局部极值比对演算,找出至少一个局部最小值;当所述音高检测演算是一 自相关算法时,所述门坎值演算模块建立的所 述门坎值条件为大于该门坎值;所述比对模块是将大于该门坎值之各该信号 点进行该局部极值比对演算,找出至少 一个局部最大值。
5、 一种声音信号的音高参考点筛选方法,用于计算音框中一声音信 号的基本周期前,包含对所述声音信号进行一音高^^测演算后,将该声音信号转换为对应的至少一信号点,其中各该信号点皆具有对应的一坐标值(x,y);撷取各所述信号点之y坐标值进行运算以取得一门坎值,并根据所述音高检测演算之特性建立一 门坎值条件;将各所述信号点与所述门坎值条件进行比对;及将符合所述门坎值条件之各所述信号点进行一局部极值比对演算,并将 演算出之至少 一局部极值点加入至一音高参考数组中。
6、 如权利要求5所述的音高参考点筛选方法,其特征在于, 所述声音信号是以一取样频率撷取之信号。
7、 如权利要求5所述的音高参考点筛选方法,其特征在于, 所述门坎值是各所述信号点之y坐标值之一平均值。
8、 如权利要求5所述的音高参考点筛选方法,其特征在于,当所述音高检测演算是一平均振幅差异函数算法时,所述门坎值条件为 小于所述门坎值,而将小于该门坎值之各所述信号点进行一局部最小值比对 演算,找出至少一个局部最小值;及当所述音高检测演算是一自相关算法时,所述门坎值条件为大于所述门 坎值,而将大于该门坎值之各所述信号点进行一局部最大值比对演算,找出 至少一个局部最大值。
9、 一种声音信号的音高参考点筛选系统,用于计算音框中一声音信 号的基本周期前,其特征在于,包含一音讯撷取模块,用于撷取所述声音信号;一音高检测演算模块,用于对所述声音信号进行一音高检测演算后,将 该声音信号转换为对应的至少一信号点,其中各该信号点皆具有对应的一坐 标值(x,y),并根据该音高检测演算之特性自该些信号点中取出至少一个局部 极值点;一门坎值演算模块,用于利用所述局部极值点之y坐标值进行运算以取 得一门坎值,并根据所述音高检测演算之特性建立一门坎值条件;及一比对模块,用于将符合所述门坎值条件之各所述局部极值点加入至一 音高参考数组中。
10、 如权利要求9所述的音高参考点筛选系统,其特征在于, 所述音讯撷取模块还用于根据一取样频率撷取所述声音信号。
11、 如权利要求9所述的音高参考点筛选系统,其特征在于,当所述音高检测演算是一平均振幅差异函数算法时,所述音高检测演算 模块取出的局部极值点是局部最小值点;所述门坎值演算模块取得的所述门 坎值是该些局部最小值点之y坐标之一平均值,并建立的所述门坎值条件为 小于该门坎值;当所述音高检测演算是一自相关算法时,所述音高检测演算模块取出的 局部极值点是局部最大值点;所述门坎值演算模块取得的所述门坎值是该些 局部最大值点之y坐标之一平均值,并建立的所述门坎值条件为大于该门坎 值。
12、 如权利要求11所述的音高参考点筛选系统,其特征在于, 所述比对模块还用于当所述音高检测演算是所述平均振幅差异函数算法时,将小于所述门坎 值条件之局部最小值加入至所述音高参考数组中;及当所述音高检测演算是所述自相关算法时,将大于所述门坎值条件之局 部最大值加入至所述音高参考数组中。
13、 一种声音信号的音高参考点筛选方法,用于计算音框中一声音信 号的基本周期前,包含对所述声音信号进行一音高检测演算后,将该声音信号转换为对应的至 少一信号点,其中各该信号点皆具有对应的一坐标值(x,y);根据所述音高检测演算之特性自所述信号点中取出至少一个局部极值点;以所述局部极值点之y坐标值进行运算以取得一门坎值,并根据所述音 高检测演算之特性建立一 门坎值条件;将各所述局部极值点与所述门坎值条件进行比对;及将符合所述门坎值条件之各所述局部极值点加入至一音高参考数组中。
14、 如权利要求13所述的音高参考点筛选方法,其特征在于, 所述声音信号是以一取样频率撷取之信号。
15、 如权利要求13所述的音高参考点筛选方法,其特征在于,当所述音高检测演算为一平均振幅差异函数算法时,以局部最小值点作 为所述局部极值点,并以该些局部最小值点之y坐标之一平均值为所述门坎 值,并设定所述门坎值条件为小于该门坎值;及当所述音高检测演算为一自相关算法时,以局部最大值点作为所述局部 极值点,并以该些局部最大值点之y坐标之一平均值为所述门坎值,并设定 所述门坎值条件为大于该门坎值。
16、 如权利要求15所述的音高参考点筛选方法,其特征在于,当所述音高检测演算是所述平均振幅差异函数算法时,将小于所述门坎 值条件之局部最小值加入至所述音高参考数组中;及当所述音高检测演算是所述自相关算法时,将大于所述门坎值条件之局 部最大值加入至所述音高参考数组中。
全文摘要
本发明公开了一种声音信号的音高参考点筛选系统及方法,目的在于解决以往计算声音信号之基本周期时,所撷取到之音高参考点易掺杂过多非音高点而干扰运算之问题,其通过将声音信号经音高检测演算后,保留音框中符合门坎值条件的音高参考点,而能达到提高计算声音信号之基本周期时之运算效率及求值精确性之功效。
文档编号G10L25/90GK101499275SQ200810208018
公开日2009年8月5日 申请日期2008年12月25日 优先权日2008年12月25日
发明者官圳清, 陈进旺 申请人:爱唱数码科技(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1