快速找到基音的方法

文档序号:2821998阅读:1294来源:国知局
专利名称:快速找到基音的方法
交叉参考本申请涉及1998年10月29日申请的流水号为60/106,150的临时专利申请,并要求该申请的权益,该申请在此可结合起来作为参考。
发明的背景和概述本发明涉及电子音乐的产生和再现,还涉及在放大和增强由音符产生的信号过程中改善声音的电子模拟的方法,并且一般地涉及具有快速确定复合波的基音频率的目的的系统,该复合波是多个频率的总和。
测量一个正弦波信号的频率达到一个特定的音高精度(例如,半音的1/4)所要求的时间长度具有一个最小值的限制。该最小时间与待处理信号的频率成反比。保持音高精度为常数,要求测量一个82.4赫兹的纯正弦波的频率的时间最小量将是要求测量一个659.4赫兹的纯正弦波的频率的最小时间的8倍还长。因此,存在这样的问题,即,对于不用键盘(或者当发一个音符的音时,表示基音频率的其它装置)的乐器产生的低音音符的基音频率来说,其测量和再现需要很长时间。例如,当来自低音音符的信号在它们被放大和再现之前由合成器处理时,通常,导致一个令人烦恼的延迟时间。
在整个专利中,一个分音(partial)或者分音频率定义为一个确定的能量频带,而泛音(harmonics)或者泛音频率被定义为根据一种整数关系,比如,一个机械物体,例如,一条弦,或者一个气柱用结点的整数来分割这种现象所产生的分音。由多级振荡/振动装置产生的泛音频率之间的关系,包括乐器,可以用一个函数G(n)来建立模型fn=f1×G(n)这里,fn是第n个泛音的频率,f1是基音频率,也就是所谓的第1个泛音,n是一个正整数,它代表泛音阶数(harmonic rankingnumber)。这类函数的已知例子是fn=f1×n;以及,fn=f1×n×[1+(n2-1)β]1/2。
这里,β是一个常数,通常是0.004。
关于复杂波形的特性和泛音含量以及靠振动物体和这类物体的电气/电子模拟量产生的泛音分音之间的关系,知识和理论本身是存在的。有助于知识本身的理解的教科书例子是1)Fletcher和Rossing的《乐器物理》,2)Sethares的《调音、音色、频谱、音阶》,以及3)Rabiner和Schafer的《语音信号的数字处理》。还包括与测量/确定频率的方法有关的知识和理论,例如,固定的和可变的带通和带阻滤波器,振荡器,谐振器,快速傅立叶变换等。知识本身的总述包含在大不列颠百科全书中。
最近特别谈到测量基音频率的方法的专利例如有授予Szalay的美国专利5,780,759描述了一种音高识别方法,该方法采用一个信号的零交点之间的间隔作为该信号的周期长度的一个计量单位。零交点的梯度大小被用来选择零交点,以便评估。
授予Bartkowiak等人的美国专利5,774,836显示了一种改进的声码器系统,该系统用来估计在一个语音波形中的音高。该方法首先进行一个相关的计算,然后,产生一个基音频率的估计。它再进行错误校验,以去除“错误的”音高估计。在这个过程中,该方法寻找该估计的基音频率的较高的泛音。
授予Warrander的美国专利4,429,609显示了一种装置和方法,该装置和方法进行A/D转换,去除在有影响的区域之外的频带,并采用零交点时间数据来完成分析,以确定基音。它靠对应于零交点之间的间隔的逐次量来延迟一个参考信号,并把参考信号与延迟信号结合起来,以确定该基音。
本发明是一种采用较高的泛音频率之间的关系,快速推断一个复杂波形或者信号的基音频率的方法。
该方法包括选择至少两个在信号中的候选频率。接着,它要确定该候选频率是否是一组合理的(legitimate)、具有泛音关系的泛音频率。最后,基音频率从合理的频率中被推断出来。
在一种方法中,被检测的分音频率之间的关系与可比关系进行比较,可比关系取决于所有的组成是否是合理的泛音频率。被比较的关系包括频率比,频率差,这些频率差的比,以及由泛音频率靠一个假定只是正整数值的变量函数来模型化的事实引出的特有关系。这个整数值叫做泛音阶数。最好是,整数变量的函数是fn=f1×n×(S)log2n,]]>其中,S是一个常数,通常,1≤S≤1.003,n是泛音阶数。S的值,以下称为升音常数,确定泛音随n的值增加而逐步升高的程度。
其它的关系必须保持候选分音频率是否是根据作为信号源的振动/振荡物体或者仪器的物理特征的合理的泛音主干(stem),即,它能产生的最高和最低基音频率以及它能产生的最高泛音频率。确定合理的泛音频率和推断一个基音频率的另一种方法包括将候选频率组与一个基音频率及其泛音比较,以找出一个可接受的匹配。一种方法是产生一个泛音倍数音阶(harmonic multiplier scale),在该音阶(scale)上,G(n)的值被记录。这些数值对于n的每一个值,即,对于每一个泛音阶数,都是基音频率的倍数。接着,一个类似的音阶被产生,在那里,候选分音频率的数值能被记录。在一组候选分音频率已经被检测和记录之后,两个音阶被比较,即,它们相互相对被移动,以定位候选频率组与泛音倍数组的可接受的匹配。最好是,该音阶是对数的。当一个好的匹配找到时,候选频率组的一个可能的阶数集就由泛音阶数音阶来确定(或者能被直接读出)。同样地,与合理的分音候选频率组相关的隐含基音频率能被直接地读出。这是在候选频率音阶中的频率,它对应(相应于)泛音倍数音阶上的“1”。
假如函数G(n)对于不同的频率寄存器是不同的,以致于在一个频率寄存器中的泛音方式是相关的,这些方式不同于其它频率寄存器中相关的方式,然后,不同的泛音倍数音阶被产生,对于不同的频率寄存器中的每一个,都有一个对应的音阶。分音频率被记录在频率寄存器的合适音阶上,在频率寄存器中,它们终止,并与对应于频率寄存器的泛音倍数音阶比较。
在另一种匹配方法中,候选频率与被检测、测量的来自数个基音频率的多个泛音频率比较。被检测和测量的泛音频率最好组成一个阵列,按基音频率次序组成,列是泛音阶数,行是泛音频率。当三个或者三个以上被检测的分音阵列充分地接近在该阵列的一行中的三个测量到的泛音频率时,泛音阶数和基音就已知了。
因为更高的泛音频率通常能比基音频率更快地被确定,推断基音频率的计算能在一个很短的时间内完成,因此,低音音符的基音频率能在它们被测量到之前被很好地推断。
从下面结合附图对发明的详细描述中,可以更加清楚地了解本发明的其它优点和新颖的特征。
附图的简单说明

图1是根据本发明推断基音频率的一种方法的方框图。
图2是具体实现图1的方法的方框图。
图3表示一个对数音阶及一个相应的对数音阶,其中,在对数音阶上,示出了泛音1—17的倍数,在相应的对数音阶上,示出了四个被检测的分音。
图4是放大图,表示图3中音阶所选择的部分在这些音阶相互相对移动之后,找出三个候选频率与泛音倍数的一个好匹配。
图5是图4的一个窄频带的放大图,表示匹配位怎样能用作一个匹配程度的计量单位。
图6是一个实现图1—4的方法的一个系统的方框图。
优选实施例的详细描述为了从较高的泛音推断基音频率f1,异常的频率必须被筛选出来,并且至少一个合理泛音组的泛音阶数必须被确定。或者,由两个合理的泛音包括的未占据泛音位置(失去的泛音)的数目必须被确定。一般的方法,如在图1所示,选择候选频率。接着,它确定候选频率是否是合理的泛音频率,该频率具有相同基础的基音频率。最后,基音频率从合理的频率来推断。定义和符号下面的定义和符号将用于整个专利中fH,fM,fL分音三音组的候选频率,以下降的频率次序排列。
RH,RM,RL与fH,fM,fL相关的阶数。
FL 最低的基音频率,f1,能由信息源产生。
FH 最高的基音频率,f1,能由信息源产生。
FMAX最高的泛音频率,能由信息源产生。关系和限制条件本方法利用较高泛音之间的关系、限制选择的条件、较高泛音与基音具有的关系、以及可能的基音频率的范围。例子是
假如fRZ=f1×G(Rz)使第Rz个泛音的频率模型化,并且假如fH,fM和FL是合理的泛音频率,以及假如RH,RM和RL是与fH,fM,fL相关的阶数,那末,下面的比关系必须保持a)被检测的候选频率的比必须大约等于通过在泛音模型中取代它们的阶数所获得的比,即,fH÷fM≈fRH÷fRMfM÷fL≈fRM÷fRLb)被检测的候选频率之间的差之比必须是与模型化的频率的差之比相一致,即,(fH-fM)÷(fM-fL)≈(fRH-fRM)÷(fRM-fRL)c)候选频率分音fH,fM,fL,它们是候选泛音,必须是在可以由源或者乐器产生的频率的范围内。
d)泛音阶数RH,RM,RL不必隐含一个低于FL或高于FH基音频率,基音频率的范围可以由源或者乐器产生。
e)当匹配整数变量比,以获得阶数的可能三音组时,在整数比RH/RM中的整数RM必须与在整数比RM/RL中的整数RM相同,例如,这种关系用来将阶数对{RH,RM}和{RM,RL}加入可能的三音组{RH,RM,RL}。方法的概述本方法分析一组分音或者候选频率,并确定它们是否包括异常的频率。最好是,被分析的每一组将包含三个分音。假如确定不存在一个或者一个以上的异常频率,则认为该组是一组合理的泛音频率。每一泛音频率的阶数被确定,基音频率被推断。当确定存在一个或者一个以上的异常频率时,一个新的分音或者候选频率被检测、测量和选择,异常的频率被分隔和筛选出来。这一过程持续到一组合理泛音频率保留为止。在这一过程中,合理的泛音频率的阶数被确定和确认。然后,基音频率用多种方法计算。考虑泛音不同于fn=f1×n的程度,而进行调整。方法I下面是实现图1的方法的简要流程图以推断基音频率的一种方法的例子,并表示在图2中。该方法测试被检测的候选分音频率的三音组,以确定其成分是否只是相同的基音频率的合理泛音频率。当不是这样时,附加的候选频率就被引入,并用来代替现有的三音组中的频率,直到一个合理泛音的三音组已经被找到为止。当这样的一个三音组被找到时,与每一个成分相关的阶数就被确定,基音频率被推断。
在此描述的这种方法表明了逻辑运算的种类,该运算将直接或者间接地被完成。实际执行将通过捷径,消除冗余信息等,并可以以其它的方式区别于下面所描述的执行。
该方法用一般术语描述的一系列步骤被呈现出来,同时一个数字表示的例子表明了对不同步骤所要求的计算。乐器常数的定义K1是最高的泛音阶数,该数将被赋值/估量。将在测量第K1个泛音的频率过程中的预计的%误差与整数比的商值进行比较,由此来设定K1的值[(K1+1)÷K1]÷[K1÷(K1-1)]K1的一个默认值将被设定等于17,并将修改以符合在手边的乐器的知识和在频率测量中预计的误差。
K2是两个邻近被检测的泛音频率之间漏掉的泛音的最大预计数。K2的默认值被设定等于8。
K3等于两个泛音之间漏掉的泛音的预计最大值之和,加1,所述的泛音包含一个插入的或中间的泛音。K3的默认值被设定等于12。步骤1.为乐器或者信号源设定常数/参数。
例如FH=300HZ,FL=30HZ,Fmax=2,100HZ;K1=17,K2=8,K3=12为了简化和简洁,描述泛音频率G(n)之间的关系的函数被假定为f1×n。步骤2.检测、测量和选择,例如,三个分音的频率。这些频率按它们产生的阶被检测和测量。三种频率或者分音,具有一个明显超过,例如,环境噪音级的能级,被选择作为可能的合理泛音的候选者。较高的频率,和次高的泛音频率,自然地被首先检测和测量。下面的例子假定一种例外,并表明怎样处理这种例外情况,在这种例外情况下,较低的泛音在一个较高的泛音之前被检测。
例如测得第1频率=722HZ,测得第2频率=849HZ,测得第3频率=650HZ。步骤3.这三个候选频率以频率的大小阶排列,标记为fH,fM,fL。
例如fH=849HZ,fm=722Hz,fL=650HZ。步骤4.对于候选频率fH,fM,fL,可能的阶数的三音组被确定。fH/fM和fM/fL比值的商与整数比Ia/Ib的商进行比较,这里,Ia和Ib都≤K1,一个给定的阈值。在此,为说明的目的,K1被设定等于17。当一个频率比的商充分地接近一个整数比的商时,该整数比被保留作为代表一对频率比的可能的阶数和与它匹配的数。比值还可以是fH/fL和fM/fL或者fH/fM和fH/fL或者任何的倒数。
例如当fH/fM=1.176时,最接近的整数比的商是1.1818=13/11和1.1667=7/6或者14/12。注意26/22不会被考虑,因为26>17。当fM/fL=1.111时,最接近的整数比的商是1.111=10/9和1.10=11/10。
当两个比的共有频率相等时,则形成一个可能的阶数三音组{RH,RM,RL}。在这个例子中,它是当整数分数fH/fM的分母与整数分数fM/fL的分子相等时的情形。
例如因为只有fH/fM=13/11和fM/fL=11/10导致fM的相同的阶数,所以,在这个例子中仅有可能的三音组是{RH,RM,RL}={13,11,10}。步骤5.所有阶数的可能三音组被排除,这隐含着一个由FL和FH确定的在该范围外的基音频率f1。
例如基音f1是由它的阶数相除的候选频率。仅有的可能三音组{13,11,10},不会被筛选掉,因为fH/13=65.308,fM/11=65.636,以及FL/10=65.00都是在FL=30和FH=300确定的范围内。步骤6.差值DH,M=fH-fM和DM,L=fH-fL被计算,DH,M/DM,L的比值被算出。其它的能被相似使用的差比是DH,L/DM,L或者DH,L/DH,M。
例如DH,M=849-722=127,DM,L=722-650=72,并且DH,M/DM,L=127/72=1.764。步骤7.差比的商DH,M/DM,L与小整数比Ic/Id的商相比较,这里,Ic<K2,和Ic+Id<K3。注意整个例子中,数值K2=8和K3=12。K2=8对应一个假定fH和fM相差不大于7倍的基音频率,或者泛音阶数RH和RM相差不大于7。同样地,K3=12是假定fH和fL将相差不大于11倍基音频率,并且阶数RH和RL相差不大于11。域数据的粗略检查确定了这些假定。假如其它的差比被使用,则K2和K3的值采用相同的分析而被大约地设定。
例如DH,M/DH,L=1.764≈1.75=7/4。这个比适合首先考虑,因为7<8并且7+4<12。步骤8.任何隐含着基音频率f1<FL的差比是不合格的。
例如在此,差比7/4隐含着最高频率fH=849Hz和最低频率fL=650Hz之间的差等于198Hz,应该是大约等于7+4或者11倍基音频率。这样,隐含着f1=199/11=18.1,小于FL=30。对于DH,M/Ic和DM,L/Id,同样是正确的。这只是隐含着一个或者一个以上异常频率的存在。步骤9将表示另一种比较仍然隐含着异常频率是在三音组的候选频率中。步骤9.假如与频率差比匹配的整数比Ic/Id同对应的阶数比(RH-RM)÷(RM-RL)不一致,则任何阶数RH,RM,RL的三音组都是不合格的。
例如只有可能的阶数三音组是{13,11,10}。它被筛选掉,因为7/4≠(13-11)÷(11-10)=2。步骤10.a)假如存在不协和的不一致(unresolvable inconsistenies),则进入步骤11。
例如第一次通过,一个新的频率被选择并且异常频率被消除之前,存在不协和的不一致。所有可能的阶数三音组被筛选掉,差比导致不一致。
b)假如没有不协和的不一致,那么,一致的三音组已经被发现是合理的,则进入步骤17,以推断基音频率。
例如在这种情况下,一个新的频率已经被引入和在原始的三音组中的第二频率已经被取代之后,没有发现不协和的不一致,如下面所示。步骤11.所有已经被测量和检测的频率已经被选择了吗?假如不是,进入步骤12,假如是,进入步骤16。步骤12-14.为了找到一个候选频率的三音组,原始的三个候选频率与一个或者一个以上的附加候选频率被使用,以确定一个合理的三音组。对一个三音组,假如它是第一次经过这一过程,则进入步骤13,以选择一个第4候选频率,进入步骤14,以取代三音组中的一个频率。确定一个由第四候选频率和原始候选频率三音组中的两个候选频率所组成的合理三音组从步骤3开始进行。
假如第四候选频率的第1次取代没有产生一个合理的三音组,则从步骤12直接进入步骤14。一个第二原始候选频率由第四候选频率取代,以形成一个新的三音组。假如这没有产生一个合理的三音组,则第四候选将取代第三原始候选频率。
假如,第三次通过步骤12时确定第四候选频率取代了原始三音组中的每一个频率之后,没有发现合理的或者一致的三音组,则进入步骤15。
例如因为在原始的三音组{849,722,650}中存在不协和的不一致,则选择一个新的频率。该新的频率是602Hz。
数值849由602所取代,以形成三音组{722,650,602},该组被指定作为新的候选三音组{fH,fM,fL}。
因fH/fM=1.111,故最接近的整数比是10/9,11/10,和9/8。
因fM/fL=1.0797,故最接近的整数比是14/13,13/12,和15/14。不存在匹配的阶数。
而且,没有一致的三音组被找到。
在原始的三音组中的一个不同频率被取代,即,722由602所取代,再插入原始的频率849,以形成三音组{849,650,602},该组被指定作为新的候选三音组{fH,fM,fL}。
因fH/fM=1.306,故最接近的整数比是13/10,17/13,和14/11。
因fM/fL=1.0797,故最接近的整数比是14/13,13/12,和15/14。
fH/fM=17/13,而fM/fL=13/12,形成一个可能的阶数三音组,它就是{RH,RM,RL}={17,13,12}。
(fH-fM)÷(fM-fL)=199/48=4.146≈4。
(RH-RM)÷(RM-RL)=4/1=4,它与频率差比相一致。
而且,fH÷RH=49.94,fM÷RM=50,fL÷RL=50.17。所有的都是大于FL=30。
所有的条件都满足,因此,RH,RM,和RL被假定为分别是17,13和12,候选频率849,650,602被认为是一个合理的三音组。现在在步骤17中确定基音频率。步骤15.一个第五和第六候选频率被选择。第四频率与第五和第六候选频率组合,以形成一个新开始的三音组,该方法将从步骤3开始被执行。步骤12将被复位到0通过。步骤16.假如所有检测和测量到的频率通过步骤11已经被选择和确定之后,没有一致或者合理的三音组在步骤7-10已经被找到,所有被选择的频率中的最低的将被认为是基音。步骤17.通过下面的任何一种方法来推断基音频率,例如,其中,G(n)=n,fH=849Hz,fM=650Hz,fL=602Hz,{RH,RM,RL}={17,13,12}a)f1=fH/RH
b)f1=fM/RMc)f1=fL/RLd)f1=(fH-fM)÷(RH-RM)e)f1=(fM-fL)÷(RM-RL)f)f1=(fH-fL)÷(RH-RL)例如找到一个带相应的阶数的一致的合理频率三音组是{849,650,602}和{17,13,12}之后a)f1=849/17=49.94Hzb)f1=650/13=50.00Hzc)f1=602/12=50.17Hzd)f1=(849-650)÷(17-13)=49.75Hze)f1=(650-602)÷(13-12)=48.00Hzf)f1=(849-602)÷(17-12)=49.4Hz该推断的基音能被设定等于6个计算值的各种加权平均数的任何值。例如采用比的计算的方法,例如,从a)到c),计算得出f1的平均值=50.04Hz。
考虑到频率差方法,跨过泛音的最大数,根据f)以上所给定的数值,计算得出f1的值=49.4Hz。
通过比方法和跨过泛音的最大数的差方法计算,得到平均f1的值为(50.04+49.4)÷2=49.58。
这三种平均方法应该为推断基音频率产生合理值。最后的是优选的,除非/直到域数据引入一个更好的平均方法。
b)假如在手边的乐器的泛音已经按照函数fn=f1×n×(S)log2n]]>模型化,这里,S>1,一种更精确的推断基音的方法将如下面所述a)---f1=(fH÷Slog2RH)÷RH]]>b)----f1=(fM÷Slog2RM)÷RM]]>c)----f1=(fL÷Slog2RL)÷RL]]>d)----f1=[(fH÷Slog2RH)-(fM÷Slog2RM)]÷(RH-RM)]]>e)---f1=[(fM÷Slog2RM)-(fL÷Slog2RL)]÷(RM-RL)]]>f)---f1=[(fH÷Slog2RH)-(fL÷Slog2RL)]÷(RH-RL)]]>假如高音调的常数S已经被设定等于1.002,则基音的推断值将如下面所述a)f1=49.535Hz。
b)f1=49.63Hz。
c)f1=49.81Hz。
d)f1=49.22Hz。
e)f1=47.51Hz。
f)f1=48.88Hz。
采用比的计算方法,例如,从a)到c),计算得出f1的平均值等于49.66Hz。
考虑到频率差方法,跨过泛音的最大数,根据f)以上所给定的数值,计算得出f1的值等于48.88Hz。
通过比方法和跨过泛音的最大数的差方法计算,得到平均f1的值为(49.66+48.88)÷2=49.27。
这三种平均方法中的任何一种都可以用于推断基音。最后的是优选的。
假如在步骤9完成之后,两个或者两个以上一致的阶数组保留,则基音f1应该与阶数组的每一个重新计算,获得的最低频率,它与在步骤3到9中描述的条件一致,被选择作为推断的基音频率f1。
前面的描述和给定的例子都假定泛音频率以fn=f1×G(n)=f1×n×(S)log2n]]>为模型,这里,1≤S≤1.003。后面的函数中,S是这样的接近1,隐含着fn/fm将大约等于整数比n/m,频率差的比(fH-fM)÷(fM-fL)将大约等于一个小的整数比和,以及fx-fy≈(X-Y)×f1。
在一般的情况下,合理的泛音分音的三音组被分离,它们对应的阶数按下述方法确定a)将fH÷fM和fM÷fL的商与比值G(RH)÷G(RM)以及比值(RM)÷G(RL)的商分别进行比较。
b)将频率差比(fH-fM)÷(fM-fL)与函数差比[G(RH-G(RM)]÷[(RM)-G(RL)]进行比较。
c)将阶数的可能组合所隐含的基音频率与在手边的乐器能产生的最低的基音频率和最高的泛音频率进行比较。方法II另一种分离检测到的分音的三音组的方法如图3,4和5所示,该分音只是由具有同样基础的基音频率的合理泛音频率组成,以便找到它们的相关阶数,并确定由每一个这样的三音组所隐含的基音频率。该方法标记和记录被检测的分音频率在一个对数音阶上,并将这些分音之间的关系与一个类似的表示预计的/模型化的泛音频率之间的关系的音阶进行匹配。
用下面的一个例子来说明一般的概念。它表明一种能用来匹配或者找到对泛音频率的调号或者图谱的最合适接收信号的方法,并且仅表明将采用的逻辑运算的种类。该例子应该被认为是本发明的一种可能的体现,而不应认为是一种限制。
为了说明这一例子,假定在手边的乐器产生的泛音按照函数fn=f1×n×(S)log2n]]>模型化,这里,n是一个正整数1,2,…,17,而S是一个等于1.002的常数。根据该函数,一个泛音倍数音阶(以下称之为HM音阶)被建立,其中,每一个梯度标号代表百分之一,它是半音的1/100或者八音度的1/1200。在音阶上的第一标记代表泛音倍数1,即,当用f1乘以该数字时,得到f1。在音阶上的每一个相继的标记代表前一个倍数数字本身用[2×S]1/1200相乘。假定采用一串位(bits),每一位代表百分之一。第n位将代表倍数[(2×S)1/1200](n-1)。沿HM音阶所选择的位将代表泛音倍数,并将用适当的泛音数标记f1将由位1,f2由位1200,f3由位1902,f4由位2400,…,f17由位4905代表。该音阶如图3所示。
另一种音阶被建立,以便标记和记录被检测到的候选分音频率。开始的梯度标号,由位1代表,将代表频率FL;下一个,用FL×[(2×S)1/1200]1,再下一个,用FL×[(2×S)1/1200]2代表。第n位将代表FL×[(2×S)1/1200]n-1。该音阶通常称为候选分音频率音阶,以下称CPF音阶。它与HM音阶一起在图3中示出。
当分音被检测时,它们的频率被标记和记录在CPF音阶上。当三个已经这样被检测、标记和记录时,CPF音阶相对于HM音阶移动,寻找匹配。假如在音阶的任何地方都没有找到三个候选频率的一个匹配,则另一个分音频率被检测、标记和记录,寻找匹配的三个将继续。当候选分音的一个三音组的成分在一个特定的限度内匹配CPF音阶上的一组倍数时,则候选频率被假定是合理的泛音频率,它们的阶数与在CPF音阶上其对应部(counterparts)的阶数匹配。同样地,所隐含的基音能被直接推断。它是在CPF上的频率位置与在HM音阶上的“1”匹配。
图4表示音阶的部分,在该部分,音阶被移动到揭示三个频率的一个好的调准之后,被检测的候选频率就出来了,即,第4频率被检测到了,421Hz,与被检测的第1和第3频率,624Hz和467Hz组合。
一种测量一个候选分音和一个泛音倍数之间的调准(alignment)程度的方法是扩大位,该位标记候选分音频率及泛音倍数,使它们成为多个邻近位的集。在这个例子中,在HM音阶上,7个位在每个标记泛音倍数的位的两边转动(turned)。同样地,在CPF音阶上,7个位在每个标记候选分音频率的位的两边转动。当音阶相互相对移动时,匹配位的数字提供一个调准程度的大小。当在一个候选频率的三音组中匹配位的数字超过一个阈值时,例如,45个位中的37个位,则候选分音的调准被认为是可接受的,候选频率被指定作为一个合理泛音频率的三音组。图5表示匹配的程度,例如,在一个候选分音频率,即,624Hz,与第12泛音的倍数之间一个可能的15中的12。
当一个可接受的调准或者匹配被找到时,采用方法I的步骤6-9,所隐含的阶数被用来测试不协和的不一致。假如没有不协和的不一致被找到,所隐含的基音是比fL,更低或者比fH更高,则音阶分别被移动,寻找分别隐含一个更高的基音或者一个更低的基音的调准。当没有不协和的不一致被找到时,所隐含的基音就存在在fL和fH之间,然后,所隐含的基音f1变成推断的基音。
某些等级的乐器/装置具有共鸣带和/或音区,它们产生的泛音从系统上比在其它共鸣带和/或音区的泛音更高。同样地,一些乐器的泛音在一些频带可以是系统的和可预测的,而在其它频带正相反。在这些情况下,方法II能按下面的步骤使用1.分隔S在整个频带一致的频带。
2.建立一个HM音阶,只用于基于S所属频带的该频带的频率。
3.建立另一个HM音阶,用于其它的S不同值应用的频带。
4.当频率被检测时,将它们定位在CPF音阶中,该音阶用S的数值构成,S的数值适用于包含该频率的频带。
5.忽略检测的频率,这些检测的频率位于泛音不可预测的频带内。
6.采用类似音阶(相同的S值),寻找泛音倍数模式和被检测的候选频率模式之间的匹配。方法III另一种推断基音频率的方法需要检测和测量或者计算数个基音频率的泛音频率。这些频率被编在一个行是基音频率,列是泛音阶数的阵列中。当一个具有未知基音频率的音符被演奏时,较高的泛音的频率在它们被检测到时逐行地与表示在该阵列中的泛音频率比较。与该阵列中三个或者三个以上频率的良好匹配(good match)或者与从该阵列成分插入的频率的良好匹配表示一个可能的阶数组和一个可能的推断基音频率。当一个被检测的频率三音组与在该阵列中的两个或者两个以上基音频率匹配,并因此包含两个或者两个以上基音频率时,推断的基音频率被设定等于包含的基音频率的最低值,它与在手边的乐器能产生的音符一致。该阵列只是一个为快速取得而编排频率的一种方法的例子,其它的方法也可以被使用。
上面的方法I,II和III能用于分隔和编辑异常分音。例如,给定一个单声道音乐,在一个时间过程中所有的分音被检测之后,当推断的基音保持一定时,这些方法能用来识别所有的不是给定基音产生的泛音集的合理成分的分音。该信息能被使用,例如,用于a)编辑来自音乐声道的外来的声音;或者b)分析异常的东西,以确定它们的源。
尽管在一些特殊的情况下,只要两个合理的泛音就充足了,但通常,方法I、II或者III将要求三个或者三个以上合理的泛音频率。为了从两个高次泛音推断出基音频率,下面的条件必须优先a)必须知道不代表合理泛音的异常分音频率是极少的,以致该可能性能被忽略和b)两个频率的比必须是这样两个频率的阶数被唯一地建立。例如,假设两个频率是434Hz和404Hz,该频率比的商就处在14/13和15/14之间。假如fL=30Hz,那末,阶数被唯一地建立为14和13,因为阻碍条件(brake)434÷15=28.9,小于30,这样,不符合要求。两个候选频率的差是30,是可接受的,因为它不小于FL。还有,比值(FH-FL)(RH-RH)=30,仍不小于FL。
函数fn=f1×n×(S)log2n]]>用于使泛音模型化,这些泛音随n增加而逐级变高。S是变高的常数,通常设定在1—1.003之间,n是一个正整数1,2,3,…,T,这里,T通常等于17。根据该函数,由S的值来确定变高的范围。当fn=n×f1时,与泛音是谐和的方式一样,模型化的泛音也是谐和的。即,假如fn和fm是一个音符的n次和m次泛音,那末,fn/fm=f2n/f2m=f3n/f3m=…=fkn/fkm,其中,k是一个正整数。
实现该方法的系统被表示在图6中。预处理级接收或者拾起来自源的信号。它可以包括一个在乐器上弦的拾音器。预处理还调节(conditions)信号。这可以包括使输入信号的幅度、及频率和/或频带的限制标准化。接着,用一个频率检测级分隔具有足够能量的频带,该频带明显是环境噪音并有适当的界定。
快速找到基音级完成候选频率的分析和推断该基音。后处理级采用由快速找到基音级产生的信息,以处理该输入信号。这可以包括放大、调制和其它的信号操作处理。
本方法已经描述了利用泛音频率之间的关系来推断基音。只确定泛音关系和它们的阶,而不推断基音,这也是有价值的。基音频率可以不存在于波形中。较高的泛音可以用于找到其它的泛音,而不推断基音。这样,后处理将采用现有识别的泛音。
尽管本发明已经针对歌唱或者乐器产生的声音进行了描述,但它可以包括其它的复杂波的源,该波具有一个基音频率和较高的泛音。这些能包括例如,一个说话的声音,复杂机械或者其它机械振动单元的声音。
尽管本发明已经被详细地描述和展示,但是,很显然,这仅仅是展示和举例的目的,而不是限制性的。本发明的精神和范围只能由附属的权利要求来限定。
权利要求
1.一种从在一个信号中存在的泛音推断一个基音频率的方法,该方法包括选择至少两个在该信号中的候选频率;确定该候选频率是否是一组具有泛音关系的合理的泛音频率;和从合理的频率推断所述的基音频率。
2.根据权利要求1所述的方法,其中,确定合理的频率包括采用一个或者一个以上候选频率的比,候选频率的差,和候选频率的差之比。
3.根据权利要求2所述的方法,包括确定这些比是否是等于泛音模型fn=f1×G(n)的比,其中,f1是基音频率,和n是所述候选频率的阶数。
4.根据权利要求3所述的方法,其中,G(n)=n×(S)log2n,]]>这里,S是一个常数。
5.根据权利要求3所述的方法,其中,G(n)=n。
6.根据权利要求1所述的方法,其中,确定合理的频率包括确定一个候选频率比是否实质上等于一个可接受的泛音阶数比。
7.根据权利要求1所述的方法,其中,确定合理的频率包括确定该候选频率的可接受的泛音阶数。
8.根据权利要求7所述的方法,其中,可接受的泛音阶数作为一个信号源的函数被确定。
9.根据权利要求1所述的方法,包括选择三个在信号中的候选频率和确定合理的泛音频率,包括采用一个或者一个以上的候选频率的比、候选频率的差、和候选频率差的比。
10.根据权利要求9所述的方法,包括从三个候选频率的比确定三个候选频率的可接受的泛音阶数。
11.根据权利要求9所述的方法,包括确定实质上等于候选频率之比的整数比,以及从一个候选频率与其它两个候选频率的整数比的一个阶匹配确定每一个候选频率的泛音阶数。
12.根据权利要求9所述的方法,包括确定候选频率的泛音阶数;以及确定差比是否等于阶数的差比。
13.根据权利要求9所述的方法,包括确定一个实质上等于差比的整数比;以及确定比的整数是否在一个预定的范围内。
14.根据权利要求13所述的方法,包括确定比的整数是否每个在一个第一值之下和整数的和是否在一个第二值之下。
15.根据权利要求9所述的方法,包括假如头三个候选信号被确定不是合理的频率组,则在信号中选择第四候选频率,并确定第四候选频率和头三个候选频率中的两个是否是一组具有一种泛音关系的合理的频率。
16.根据权利要求1所述的方法,其中,确定合理的频率包括将候选频率与一个基音频率和它的较高的泛音比较,以找到至少一个可接受的匹配。
17.根据权利要求16所述的方法,其中,为泛音而产生一个泛音音阶,为候选频率而产生一个候选音阶,以及候选音阶和泛音音阶相互相对移动,以找到至少一个可接受的匹配。
18.根据权利要求17所述的方法,其中,候选音阶和泛音音阶是同底的对数音阶。
19.根据权利要求17所述的方法,包括产生数个泛音音阶及对应的不同泛音关系的候选音阶。
20.根据权利要求16所述的方法,包括存储带它们的阶数的数个泛音频率组,将候选频率与泛音频率组比较,以确定至少一个可接受的匹配。
21.根据权利要求1所述的方法,其中,确定合理的频率包括为一组泛音产生一个对数泛音音阶;为候选频率产生一个与泛音音阶的同底的对数候选音阶;以及相互相对地移动候选音阶和泛音音阶,以找到至少一个可接受的匹配。
22.根据权利要求21所述的方法,包括根据候选音阶与泛音音阶的匹配来确定候选频率的阶数,以及利用阶数来确定一组合理的频率。
23.根据权利要求1所述的方法,包括确定合理频率的阶数;并且其中,基音频率采用一个或者一个以上合理的频率和合理频率的差来推断,所述的合理频率用其阶数相除,所述的合理频率的差用其阶数的差相除。
24.根据权利要求23所述的方法,其中,基音频率采用一个商的加权平均来推断。
25.根据权利要求23所述的方法,其中,基音频率用 除以合理的频率来推断,这里,n是阶数,S是一个常数。
26.一种从存在于一个信号中的泛音确定一个基音频率的方法,该方法包括在该信号中选择至少两个候选频率;和从候选频率的比、差、以及泛音阶数,推断出基音频率。
27.一种确定在一个信号中的一组分音频率的方法,该频率是一个共同基音频率的合理泛音频率,该方法包括选择至少两个在信号中的候选频率;将候选频率的关系与对应泛音频率的模型化关系比较;为每一个候选频率确定一个泛音阶数;以及根据候选频率和阶数推断共同的基音频率。
28.根据权利要求27所述的方法,其中,该模型化关系是fn=f1×n×(S)log2n,]]>这里,n是阶数,f1是一个基音频率,S是一个常数。
29.一种确定在一个信号中的一组分音频率的方法,该频率是一个共同基音频率的合理泛音频率,该方法包括选择至少两个在该信号中的候选频率;在一个对数候选音阶上标注候选频率;和将在对数候选音阶上的候选频率与一个对数泛音音阶进行比较,以确定候选频率是否是一个共有基音频率的合理泛音频率,所述的泛音音阶包括一个模型化泛音频率的泛音关系。
30.根据权利要求29所述的方法,包括根据比较的结果来确定候选频率的泛音阶数和候选频率的共有基音频率。
31.根据权利要求30所述的方法,其中,模型化关系是fn=f1×n×(S)log2n,]]>这里,n是阶数,f1是一个基音频率,S是一个常数。
32.一种确定在一个信号中的一组分音频率的方法,该频率是一个共有基音频率的合理泛音频率,该方法包括选择至少两个在该信号中的候选频率;将该候选频率与数个泛音频率组比较,以找到可接受的匹配;和根据可接受的音阶匹配选择最低的推断基音频率作为一个共有基音频率的合理泛音频率。
33.根据权利要求1所述的方法,包括存贮该方法作为在一个数字信号处理器中的指令。
全文摘要
本发明包含三种快速推断复杂波形或者信号的基音频率的方法。一种方法是利用较高泛音的频率之间的关系,包括:频率比,频率之间的差,频率差比,和来自这种事实的关系,泛音频率由一个整数变量的函数来模型化,该整数的值代表泛音阶数。另一种方法是:所选频率的泛音的预计的/模型化的关系处在对数音阶上,在一个类似的音阶上记录所检测的分音频率,以及相互相对地移动音阶,以寻找三个泛音的匹配。当这样一个匹配找到时,可能的泛音阶数和隐含的基音频率能被直接推断出来。当检测分音还匹配一个预计的/模型化泛音关系的集时,第一种方法的对数被用来选择推断的基音。还有一种方法是:数个基音的泛音频率被收集和编排,这样,与一个未知基音联结的分音能与它们比较,并且未知的基音被推断。
文档编号G10H1/38GK1328680SQ99812696
公开日2001年12月26日 申请日期1999年10月29日 优先权日1998年10月29日
发明者杰克·W·史密斯 申请人:保罗-里德-史密斯-吉塔尔斯股份合作有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1