重现音频信号的方法和一种放音机 本发明涉及一种重现音频信号的方法和一种放音机,尤其涉及将已经记录在某一记录媒体(例如紧致磁盘(CD))上的音频信号重现为声音的方法和采用这种方法的放音机。
在某些情况下,需要将放音机(例如,CD放音机、盒式录音机、放像机)的重现速度降低到比正常的重现速度低或快。例如,当听众想在短时间内收听记录的音频数据时,需要加快重现速度;如果音频数据快速被记录下来时,需要放慢重现速度。
通常情况下,改变CD的旋转速度或磁带的运行速度来改变放音机的重现速度。
采用改变重现速度的普通方法,已经从记录媒体(例如CD)读取的音频信号的频率也按照重现速度的变化而改变,从而被重现的声音的音调也发生变化并且变差。
下面参照图8描述改变重现速度但保持原有音调的普通方法。将原始的音频信号划分成多个帧(A1,A2,A3,A4,A5,A6…),每一帧具有固定的时间长度(t)。通过选择帧(A1,A2,A3,A4,A5,A6…),可以改变音频重现速度。例如,为了重现比正常的重现速度快两倍的音频信号,局部使帧(A1,A2,A3,A4,A5,A6…)变窄,将相应于剩余的帧(例如帧(A1,A3,A5…))的音频信号重现为声音。采用这种方法,可以使被重现地音频信号(c)的重现时间为原始记录时间的二分之一。即,可以将收听时间减少二分之一。另外,原始音频信号(a)的频率或其周期(T)不是这样变化的,音频信号(a)可以被重现为具有原来音调的声音。
如果仅仅连接与所选帧(A1,A3,A5…)的音频信号,那么在连接部分(B1,B2,B3,B4)中不会遇到这些所示音频信号(b)的信号,在每一连接部分(B1,B2,B3,B4)中产生不悦耳的噪声。
为了减少这些噪声,在一个所选帧(例如帧(A1))的端点处的信号电平,与相邻所选帧(例如帧(A3))的起点处的信号电平在函数上相互重叠在一起。一例函数式为
W(n)=0.5-0.5cos(2πn/M)
n:该帧中的信号电平;
M:n=0,1,…M。
通过这一过程,可以将原始音频信号(a)合并到在连接部分(B1,B2,B3,B4)中继续的音频信号(c)中,从而可以减少被重现的音频信号(声音)中的不悦耳的噪声。
但是,普通的方法具有下面一些缺点。
在普通的方法中,连接部分(B1,B2,B3,B4)中原始音频信号(a)的信号电平被强制改变成规定的电平(例如零),所以某些连接部分中经改变的音频信号(c)的周期与原始音频信号(a)的周期完全不同。如果变化的音频信号(c)的周期部分地与原始音频信号(a)的周期不同,重现音频信号(话音)的音调就与原始话音完全不同。另外,与连接部分(B1,B2,B3,B4)相应的被重现的音频信号(c)的频率也不同于原始的音频信号(a),所以声音质量也变坏。
本发明的目的是提供一种重现音频信号的方法,这种方法可以改变音频重现速度而不改变音调和音频信号的质量。另一个目的是提供一种采用所述方法的放音机。
为实现这些目的,本发明具有下述结构。
本方法的第一种基本结构包含下述步骤:
对已经记录在某一记录媒体上的原始音频信号进行滤波,以提取基本音频信号;
检测基本音频信号中的零交叉点;
在时间轴上根据零交叉点,将原始音频信号划分成多个帧;
使这些帧变窄;
根据余下的帧重现原始音频信号,从而加速重现速度。
本方法的第二种基本结构包含下述步骤:
对已经记录在某一记录媒体上的原始音频信号进行滤波,以提取基本音频信号;
检测基本音频信号中的零交叉点;
在时间轴上根据零交叉点,将原始音频信号划分成多个帧;
通过重复这些帧来重现原始音频信号,从而使重现速度放慢。
放音机的第一种基本结构包含:
对已经记录在某一记录媒体上的原始音频信号进行滤波、以提取基本音频信号的滤波部分;
检测基本音频信号中的零交叉点的检测部分;
在时间轴上根据零交叉点将原始音频信号划分成多个帧、使这些帧变窄、并根据余下的帧重现原始音频信号从而加速重现速度的信号处理部分。
放音机的第二种基本结构包含:
对已经记录在某一记录媒体上的原始音频信号进行滤波、以提取基本音频信号的滤波部分;
检测基本音频信号中的零交叉点的检测部分;
在时间轴上根据零交叉点将原始音频信号划分成多个帧、并通过重复这些帧来重现原始音频信号从而放慢重现速度的信号处理部分。
本发明中,零交叉点可以包括在基本信号的上升部分或下降部分中。
本发明的方法和放音机中,对应于帧之间的连接部分的重现音频信号的周期与基本音频信号的周期相同,并且它们在连接部分中光滑连接起来。所以,即使根据余下的帧重现原始音频信号,也可以重现音频信号,而不会改变音频信号的音调和质量,从而加速重现速度,或通过使帧重复进行重现而使重现速度放慢。
下面参照附图,举例描述本发明的一个实施例,图中:
图1描述的是本发明音频重现方法基本思想;
图2是本发明一个实施例的放音机的方框图;
图3是图2所示运算单元的方框图;
图4是图2所示放音机动作的流程图,其中,主帧内的原始音频信号是话音;
图5是图2所示放音机动作的流程图,其中,主帧内的原始音频信号不是话音;
图6描述的是图4所示情况处理过程;
图7描述的是图5所示情况处理过程;
图8描述的是普通放音机的处理过程。
下面参照附图详细描述本发明的较佳实施例。
首先参照图1描述本发明重现音频信号的方法基本思想。
声音包括:有声声音,例如元音,它具有周期波形式并由声带的振动而产生;无声声音,例如辅音[s],它由嘴中狭窄空间中通过的气流产生而不振动声带。如果在帧的连接部分(B1,B2,B3,B4)有声声音相互不连续(图8),就会听到不悦耳的声音(噪声)。另一方面,即使无声声音相互不连续,因为无声声音的频率比有声声音的频率(等于声带的振动频率:约70-350Hz)高得多,所以听到的不悦耳声音很少。基于这样的事实,即使通过使帧(A1,A2,A3,A4,A5,A6)变窄以加速重现速度或重复该帧使重现速度放慢来将音频信号重现为话音,也可以通过使连接部分(B1,B2,B3,B4)中的有声声音连续来保持音调、声音电平(sound level)和声音质量。
在重现音频信号的方法中,通过低通滤波,从原始音频信号中提取具有基本频率Fp和基本周期Tp的基本音频信号(d)。检测基本信号(d)的上升部分和下降部分中的零交叉点(D)。图1中,示出了上升部分中的零交叉点(D)。图中,零交叉点(D)在时间轴上用黑圆圈表示。并且将原始音频信号(a)划分成多个帧(C1,C2,C3,C4,C5,C5,C6),每一帧具有4×Tp的时间长度。
如果帧(C1,C2,C3,C4,C5,C5,C6)部分地变窄,例如每一第二帧被跳过以加速重现速度,或者重复每一帧(C1,C2,C3,C4,C5,C6)重复一次或多次以使重现速度放慢,则在帧之间的连续部分中零交叉点(D)处可以使重现的音频信号(e)始终连续,而不必调整信号电平。图1示出的是通过跳过每一第二帧(C2,C4)来使帧(C1,C2,C3,C4,C5,C5,C6)部分地变窄以加速重现速度因而被重现的音频信号(e)在选择的帧(C1,C3,C5)之间的连接部分的零交叉点上光滑连续的情况。另外,因为基本信号(d)的上升部分(图1所示的情况)或下降部分中必须包括零交叉点(D),所以连接部分中被重现的音频信号(e)的相位不会反相,从而与余下的帧(C1,C3,C5)相应的重现音频信号(e)可以光滑连续。
采用这种方法,与帧之间的连接部分相应的重现音频信号的频率不会与基本频率Fp偏移很多。并且重现的音频信号(e)可以在连接部分连续。所以无法保持重现的音频信号(话音和声音)的音调和质量。注意,连接部分中的基本信号(d)示于图1中,用以清楚地说明,但重现的音频信号(e)实际上是由与选择的帧(C1,C3,C5)相应的原始音频信号(a)构成的。
如上所述,图1描述的是使比正常速度快的重现速度加速的情况。另一方面,为了使重现速度比正常重现速度慢,采用使每一帧(C1,C2,C3,C4,C5,C6)重复一次或多次,来连续重现帧(C1,C2,C3,C4,C5,C6)的原始音频信号(a)。例如,可以以如下顺序来重现原始音频信号(a):C1,C1,C2,C2,C3,C3,C4,C4,C5,C5,C6,C6。通过该例,可以以0.5倍于正常重现速度的速度来重现原始音频信号(a)。如果原始音频信号(a)是以C1,C1,C2,C3,C4,C4,C5,C6的顺序重现的,所以原始音频信号(a)可以以0.75倍的正常重现速度的速度来重现。
下面参照图2-7描述采用上述方法的放音机。注意,将要描述的是作为一例放音机的CD-ROM书的声音重现电路10,但是,磁带、软盘、包括半导体存储器(例如RAM等)的IC卡也可以作为记录媒体。作为读故事的话音信号的原始音频信号(a)是记录在由规定的取样频率取样的CD上作为PCM数据的。
下面参照图2和图6描述声音重现电路10。
PCM数据由包括光学拾取的读取部分12从CD14读取,并输入到声音重现电路10内。
由读取部分12读取的PCM数据按顺序的存储在输入存储器16内。
运算单元18以存储顺序从输入存储器16读取规定的PCM数据量,该数据量等于主帧(E)的数据量,并将其存储在运算存储器20内。运算单元18从一个主帧(E)的原始声音信号(a)中获取具有基本频率Fp(按照声音略有变化)的基本音频信号(d),随后运算单元18在基本音频信号(d)的上升部分或下降部分中检测零交叉点(D)。已经存储在运算存储器20中的主帧(E)的原始音频信号(a)由时间轴上的零交叉点划分成多个子帧(C1-C11)。当由控制单元22(一微处理机)输入重现速度(f)时,如果重现速度比正常速度快,则运算单元18使子帧(C1-C11)变窄,以简略恰当数量的子帧,随后,运算单元18从运算存储器20读取与所选子帧(剩余子帧)相应的数据,并顺序地将这些数据存储到输出存储器24内。另一方面,如果重现速度(f)比正常重现速度慢,则运算单元18重复一次或多次恰当的子帧,随后运算单元18按照子帧的重复速度从运算存储器20读取数据,并按顺序地将这些数据存储到输出存储器24内。输出存储器24中存储的PCM数据将构成重现音频信号(e)。
DAC(数/模转换器)26以固定的速度从输出存储器24读取与子帧相应的原始音频信号(a)的数据。读取的数据被转换成模拟信号,并且可以在指定的重现速度(f)下重现为重现的音频信号(e)。已经从DAC26输出的重现音频信号(e)作为话音从扬声器(未图示)输出。
注意,控制单元22将重现速度(f)分配给运算单元18。运算单元18的控制程序被存放在嵌入式存储器(flush memory)28内。输入存储器16和输出存储器24的容量是按照运算单元18的处理速度设计的,即在工作时,存储器16和24不会空着和全满。一个存储单元的存储空间可以划分为存储器16、20和22。
下面参照图3-7描述运算单元18。
滤波部分(数字滤波部分)30通过低通滤波器对原始音频信号(a)的PCM数据进行滤波,以去除无声部分,从而可以提取基本频率为Fp(约70-350Hz)的基本音频信号(d)。本实施例中,采用了一对IIR型低通滤波器,并且它们的截止频率为200Hz(基频的中间频率为70-350Hz)。采用这种滤波器,从滤波部分30输出具有基频Fp和基本周期Tp(见图1、6和7)的基本音频信号(d)。
检测部分32检测每一主帧(E)的基本音频信号(d)的上升(或下降)部分中包括的零交叉点(D)。本实施例中,检测的是基本音频信号(d)的上升部分中的零交叉点(D)。检测部分32通过零交叉点(D)将一个主帧(E)的音频信号(d)划分成多个子帧(C1,…Cn;“n”为自然数),并且每一子帧(C1,…Cn)具有规定的时间长度,该时间长度与基本周期Tp的时间一样长。检测部分32将运算存储器20中存储的相邻子帧之间连接部分的地址数据,例如子帧起点的位置,作为零交叉数据(g)输出。
话音检测部分34检测是否检测部分32检测到了零交叉点(D)。当检测部分32检测到没有零交叉点(D)时,声音检测部分34输出无声音信号(h),该信号表示无声声音或没有话音被记录下来。注意,是检测部分32而不是话音检测部分34会输出无声信号(h)。
当控制单元22分配重现速度(f)时,信号处理部分36定义重现速度(f)。即,重现的音频信号(e)在分配的速度下重现,该速度是正常重现速度的f(“f”是正实数)倍。如果检测到主帧(E)内的零交叉点(D),则信号处理部分36的动作与检测到无零交叉点(D)的情况下的动作不同。
首先描述检测到零交叉点(D),即从声音检测部分34不发送无声信号(h)的情况。
如同4所示,信号处理部分36根据零交叉数据(g)对子帧(C1,…Cn)的个数进行计数,并从运算存储器20读取原始音频信号(a)。信号处理部分36根据预定的规则(步骤S100),从包括“f”(自然数)个子帧的每一组子帧中选择出一个子帧。将所选子帧的原始音频信号(a)存储到输出存储器24内(步骤S102);非选(跳过或变窄)子帧的原始音频信号(a)是不被存储起来的(步骤S104)。注意,为了连续重现音频信号(话音),以重现的音频信号(e)的形式将与所选子帧对应的原始音频信号(a)存储在输出存储器24中。
信号处理部分36检测运算存储器20中存储的主帧(E)中是否留有任何子帧(步骤S106)。如果主帧(E)中留有子帧,则信号处理部分36读取留下的子帧(步骤S108)并返回到步骤S100。另一方面,如果主帧(E)中没有留下子帧,那么信号处理部分36停止对运算存储器20中存储的主帧(E)的原始PCM数据(a)的处理。注意,在存在剩余子帧(I)的情况下,并且其长度比周期Tp短,则在主帧(E)的尾部,将剩余子帧(I)存储到运算存储器20中,并将剩余子帧(I)加到下一个主帧(E)。即,剩余子帧(I)的长度被加到下一个主帧(E)的长度中。
在完成运算存储器20中存储的主帧(E)的原始音频信号(a)的PCM数据处理以后,运算单元18从输入存储器16读取下一个主帧(E)的PCM数据,并将它们存储到输出存储器20中,随后重复上述处理过程。
下面参照图6描述具体例子。本例中,重现速度(f)指定为二(f=2),因而重现的音频信号(e)以二倍于正常重现速度的重现速度而重现。信号处理部分36对来自第一子帧(C1)的子帧(C1,…C11)的个数进行计数。信号处理部分36从包括两个子帧的每一组子帧中选择出一个子帧。所选子帧(画斜线的区域)的原始音频信号(a)从运算存储器20中读出并按顺序存入输出存储器24内。信号处理部分36还处理所有的主帧。由于这一动作,输出存储器24中被重现的音频信号(e)的PCM数据量减半,因而可以在二倍于正常重现速度的重现速度下重现音频数据(e)。
如果“f”=1.5,即指定的重现速度是正常重现速度的1.5倍,则信号处理部分36从每一组子帧中选择出两个子帧,该组子帧中包括三个子帧。所选子帧(画斜线的区域)的原始音频信号(a)从运算存储器20读出,并顺序存入输出存储器24。由于这一动作,输出存储器24中被重现的音频信号(e)的PCM数据量减为2/3,因而可以在1.5倍于正常重现速度的重现速度下重现音频数据(e)。
如果“f”=1,则信号处理部分36从包括一个子帧的每一组子帧中选出一个子帧。即,选择每一子帧,从而所有子帧(C1-C11)的原始音频信号(a)从运算存储器20中读出并存储到输出存储器24内。因此,可以在正常速度下重现音频数据(e)。
上面已经描述了“f”≥1的情况。如果“f”<1,即重现速度放慢,则重复每一子帧或所选的子帧,从而使输出存储器24中重现的音频信号(e)的PCM数据量为主帧(E)的PCM数据量的1/f倍。因此,可以使重现速度(f)比正常重现速度慢。
下面参照图6描述更慢重现速度的例子。如果“f”=0.75,即指定重现速度为正常重现速度的0.75倍,则信号处理部分36对子帧的个数计数,并读取每一子帧的原始音频信号(a)。信号处理部分36从每三个子帧中选出一个子帧,并重复读取所选子帧的信号(a)。已经由信号处理部分36读取并重复的原始音频信号(a)以读-重复的顺序接连存储到输出存储器24中。对所有的主帧(E)均执行这一处理过程。由于这一动作,输出存储器24中重现音频信号(e)的PCM数据量为4/3(=1/0.75)、从而可以在0.75倍与正常重现速度的重现速度来重现音频数据(e)。即,在本例中,图中用黑色区域表示的所选子帧(C1,C4,C7,C10)的原始音频信号(d)被重复两次。
在某些情况下,根据“f”的值,主帧(E)中的数据量与输出存储器24中的数据量不一致。通过选择(变窄)或重复子帧使(主帧中的数据量)/(输出存储器中的数据)的值接近于的指定值“f”。
下面描述检测无零交叉点和从话声检测部分34发送无声信号(h)的情况。
如同5所示,如果“f”≥1,则从主帧(E)的起点读取(一个主帧中PCM数据的取样个数)/主帧(E)中PCM数据的f(正整数),并将其按顺序存储到输出存储器24中。通过这一过程,使输出存储器24中主帧(E)的重现音频信号(e)的PCM数据量为1/f,从而可以以“f”倍于正常重现速度的速度来重现音频信号(e)。
图7中示出了一个具体例子。当输入“f=2”时,重现速度被指定为二倍于正常的重现速度。信号处理部分36读取主帧(E)中PCM数据的1/2取样值,并接着将已经读取的PCM数据按顺序存储到输出存储器24中。采用这一处理过程,使输出存储器24中主帧的重现音频信号(e)的PCM数据量为1/2,从而可以在二倍于正常重现速度的速度下重现音频信号(e)。如果“f=1.5”,则信号处理部分36采用同样的方式处理该数据。
如果“f”<1,则从主帧(E)的起点读取主帧(E)中PCM数据取样的“(一个主帧中PCM数据的取样数)/f)-1”(正整数),并按顺序存入输出存储器24。接着按顺序存储主帧(E)中的所有PCM数据。采用这一处理过程,使输出存储器24中主帧(E)的重现音频信号(e)的PCM数据量为1/f(f<1),从而可以在正常重现速度f倍的速度下重现音频信号。
图7中示出了一个具体例子。当输入“f=0.75”时,重现速度指定为0.75倍于正常重现速度。信号处理部分36读取主帧(E)中PCM数据取样的“1/0.75-1(=1/3)”,并把已经读取的PCM数据存储到输出存储器24中。接着按顺序存储主帧(E)中的所有PCM数据。采用这一过程,使输出存储器24中主帧(E)的重现音频信号(e)的PCM数据量为4/3(=1/3+1=1/f),从而可以在正常重现速度3/4(f)位的速度下重现音频信号。
如果不包括声音的主帧(E)连续,则重复上述处理过程。
另外,如果“f<0.5”,则即使所有的子帧都重复一次,或者当没有话音信号(h)发送时重复PCM数据的所有取样,则使输出存储器24中存储的PCM数据量仅二倍于主帧(E)中的数据量。为了按照指定的“f”值增加输出存储器24中PCM数据量,则重复两次或更多次所有或选择的子帧,或者当发送无话音信号(h)时重复所需PCM数据量所需的次数。通过重复两次或更多次,可以将PCM数据取样所需的个数存储到输出存储器24中,并且可以在指定的重现速度(f<0.5)下重现重现的音频信号(e)。
本发明可以在不偏离其精神或基本特征的情况下以其他形式实施。所以本实施例应当被认为在所有方面都是描述性的而非限定性的,本发明的保护范围由后文的权利要求限定,而不是由上述说明描述限定,因而在与权利要求等效的范围内的所有变更都应视为落在本发明的范围内。