音程变换装置的制作方法

文档序号:6751871阅读:130来源:国知局
专利名称:音程变换装置的制作方法
技术领域
本发明涉及音程变换装置,具体而言,涉及一种把声音信号的音程变换为任意音程的音程变换装置。
音程是表示两个声音音调高低关系的量,通常用该两个音的频率比来表示。
把声音信号的音程变换成期望音程的装置称为音程变换装置,作为具体例子,可举出熟知的设置在卡拉OK所用的CD(激光唱片)重放机中的键控制器。


图16用于说明把声音信号变换成期望音程的原理。
如图16所示,若原声音信号(a)沿时间轴压缩,则频率升高,得到较高音程的声音信号(b);若沿时间轴扩展,则频率降低,得到较低音程的声音信号(b)。
例如,如果声音信号沿时间轴压缩至0.5倍,则频率变为2倍,该声音信号其音程升高1倍频程(八音度)。如果声音信号沿时间轴扩展2倍,则频率变为0.5倍,该声音信号的音程降低1倍频程。
一般如果声音信号沿时间轴压缩/扩展K-1倍(0<K,下同)(1<K时为压缩,0<K<1时为扩展),则频率变为K倍,该声音信号的音程变化(log2K)倍频程。
下文,上述K,即原来声音信号的音程与变换后声音信号音程之比称为“音程变换比”。
由此,通过把声音信号沿时间轴压缩/扩展K-1倍,可把该声音信号的频率变换为原信号的K倍。但是,仅用这种压缩/扩展方法,则声音信号的时长(即重放时间)变为原来的K-1倍。从而要再进行所谓“交叉衰减”(cross fade),使重放时间不变。
图17说明互不连续的2帧声音进行平滑连接的交叉衰减处理的原理。
如图17所示,考虑在声音信号中切去帧B连接A帧与C帧的情况。这时,A帧与C帧按原样连接,两者接点处的信号值不连续,因而信号重放时会产生噪声。
因此,使帧A渐弱且帧C渐强来连接两者。这样,两者接点处信号值连续,在重放信号时不会产生噪声。
但是,另一方面,如果通过交叉衰减连接帧A与帧C,则与按原样连接两者相比,重放时间变短。因而把沿时间轴进行压缩/扩展与交叉衰减加以组合,即可不改变重放时间而变换声音信号的音程。
图18说明通过组合沿时间轴压缩/扩展与交叉衰减(下文称为交叉衰减压缩扩展),不改变重放时间变换声音信号音程的原理。图18(a)、18(b)中分别示出音程变高(即时间轴压缩)与音程变低(即时间轴扩展)的情况。
在图18(a)、(b)中,先确定时间轴压缩/扩展后的帧(以下称为输出帧)的时长,即确定输出帧长,然后,确定与音程变换率相应的输入帧长。这里,设音程变换为K倍,确定输出帧长为2,输入帧长为2K。
接着,从原信号中顺次切取帧长为2K的输入帧,使其部分重叠。重叠部分的长度是(2K-1)。在图18(a)、(b)中,A1与B2、A2与B3、A3与B4分别是输入帧。
接着,切取的各输入帧以帧最前面为基准(也可以帧最后面或中间为基准)沿时间轴压缩/扩展K-1倍,由此,得到帧长为2的输出帐。各输出帧其帧长的一半相互重叠。
在图18(a)中,A1H与B2H、A2H与B3H、A3H与B4H分别是输出帧,B2H与A2H、B3H与A3H相互重叠。在图18(b)中,A1L与B2L、A2L与B3L、A3L与B4L分别是输出帧,B2L与A2L、B3L与A3L相互重叠。
接着,各输出帧通过交叉衰减相互连接。交叉衰减可对相互重叠的整个区域进行,也可对该区域的一部分进行。
在图18(a)中示出对相互重叠的B2H与A2H、B3H与A3H全部进行交叉衰减的情况,及时其约25%进行交叉衰减处理的情况。在图18(b)中示出对相互重叠的B2L与A2L、B3L与A3L全部(即100%)进行交叉衰减的情况,及对其约25%进行交叉衰减的情况。
由此,可不改变重放时间而把声音信号的频率变换成K倍。
以下对通过对离散的声音数据进行交叉衰减压缩扩展从而进行音程变换的以往的音程变换装置进行说明。
图19是以往音程变换装置一个构成例的框图,图20是设置图19的音程变换装置的以往CD重放机一个构成例的框图。
图20中,预先在CD20中,记录以预定周期(设为T)采样声音信号而得到的离散的声音数据{X(0),X(1),X(2),X(3),……}。CD重放机包括读出部21、重放部22、音程变换比设定部23、音程控制信号生成部24、声音数据输出端子25、音程控制信号输出端子26、声音数据输入端子27。
音程变换比设定部23包含从预定的多个音程变换比中选择一个变换比的选择钮及指定任意音程变换比的调节旋钮等,设定由用户选择的或任意指定的音程变换比。音程控制信号生成部24生成音程控制信号,指示音程变换比设定部23设定的音程变换比。从音程控制信号输出端子26输出音程控制信号生成部24生成的音程控制信号。
读出部21,从CD20顺次读出上述声音数据。读出部21读出的声音数据,以周期T,依次从声音数据输出端子25输出。
音程变换装置接收从声音数据输出端25依次输出的声音数据{X(0),X(1),X(2),X(3),……}及从音程控制信号输出端26输出的音程控制信号,以周期T依次输出音程变换后的声音数据{out(0),out(1),out(2),out(3),……}。
从声音数据输入端27输入音程变换装置依次输出的、音程变换后的声音数据。重放部22接收从声音数据输入端27输入的音程变换后的声音数据{out(0),out(1),out(2),out(3),……},重放声音信号。由重放部22重放的声音信号经未图示的放大器放大后,输入至扬声器。
在图19中,以往的音程变换装置包括存储部1、一对读出地址产生部4a,4b、一对插补部10a,10b、交叉衰减部3、声音数据输入端7、声音数据输出端8、音程控制信号输入端9。
从CD重放机的声音数据输出端25输出的声音数据{X(0),X(1),X(2),X(3),……}输入至声音数据输入端7,存储部1暂存该声音数据。
从音程控制信号输出端26输出的音程控制信号输入至音程控制信号输入端9,读出地址产生部4a、4b,根据音程控制信号,产生读出地址,用于读出存储部1暂存的声音数据。即,以音程控制信号所示的音程变换比作为地址增值进行累加,输出该累加结果作为读出地址。
图21是图19的读出地址产生部4a、4b一个构成例子的框图。
图21中,读出地址产生部4a、4b包含累加器16(ALU),累加地址增量(=K)。例如在特开平9-212193号公报中记载了这样构成的地址产生部。
从而,地址产生部在音程变换比K为1(音程不变)时,例如输出{0,1,2,3,……};在K为2时,例如输出{0,2,4,6,……}。在K为0.5时,例如输出{0,0.5,1,1.5,……};在K为1.26时,例如输出{0,1.26,2.52,3.78,……}。
如果进行插补,则在读出地址产生部4a与4b中设定不同的初始值,产生相互偏移一定值的地址。
例如,从一个地址产生部产生{0,1,2,3,4……}时,另一个产生{4,5,6,7,8,……}。即如下方式产生在某一时刻产生一对地址(0,4),从该时刻经时间T后产生(1,5),再经时间T后产生(2,6)……。
根据输出帧长和音程变换比等(参照图18)确定两读出地址的偏移。其具体确定方法与本发明目的无直接关系,因而省略。
图19中,根据读出地址产生部4a、4b产生的读出地址,存储器部1读出预存的声音数据。
例如,音程变换比为2时,读出地址产生部4a产生读出地址{0,2,4……},存储部1以周期T依次读出声音数据{X(0),X(2),X(4),……},因而时间轴压缩(1/2)倍。
即,在以往的音程变换装置中,通过存储部1和读出地址产生部4a、4b,实现上述时间轴压缩与扩展。
但是,例如音程变换比为1.26时,虽然产生读出地址{0,1.26×1,1.26×2,……},但在存储部1中不存在X(1.26×1)、X(1.26×2)这样的声音数据。因此,为实现任意音程变换比,还必须插补部10a、10b,以从存储部1中存在的声音数据计算插补值。
插补部10a,根据读出地址产生部4a产生的读出地址和根据该地址从存储部1读出的声音数据,产生必要的插补数据。插补部10b,根据读出地址产生部4b产生的读出地址和根据该地址从存储部1读出的声音数据,产生必要插补数据(在音程变换比为整数,即不具有有效小数部分时,不必产生插补数据)。
增加这种插补部10a、10b,即使音程变换比有小数部分时,也可进行时间轴压缩扩展,即可把声音信号变换成任意音程。
交叉衰减部3接收插补部10a与10b输出的经插补的声音数据,对该对数据进行交叉衰减。即,各数据分别乘交叉衰减系数(后述)后相加。
通过再增加该交叉衰减部3,可不改变重放时间把声音信号变换成任意音程。
从声音数据输出端8输出交叉衰减压缩扩展后的声音数据,即输出音程变换后的声音信号。
对上述构成的CD重放机及其中设置的以往音程变换装置的动作说明如下。
图20中,首先用户通过未图示的调节钮等对CD重放机指定期望的音程变换比K,接着,按未图示的播放(PLAY)按钮。
相应地,在CD重放机中,首先,音程变换比设定部23设定音程变换比K。接着,读出部21以周期T,从CD20开始读出声音数据并加以处理。音程变换比设定部23也进行处理,生成表示音程变换比K的音程控制信号。在重放开始后,上述设定的音程变换比K可变更成其它值。
上述读出的声音数据和生成的音程控制信号分别经声音数据输入端7及音程控制信号输入端9输入至以往的音程变换装置。
图19中,输入的声音数据由存储部1暂存。
图22是图19的音程变换装置进行的音程变换处理的直观示图。
图22(a)直观地表示图11的存储部1是如何存储声音数据的。
图22(a)中,X(0),X(1),X(2),……是声音数据。横轴标度是以采样周期(=T)为单位的实际时间(=t),也表示存储部1中缓冲区的地址。各声音数据的信号值以距横轴的距离来表示。
如图22(a)所示,存储部1顺序存储输入的声音信号,即X(0)、X(1)、X(2)分别存于地址0,地址1,地址2。
另一方面,输入的音程控制信号分成两路,分别向读出地址产生部4a、4b提供。根据提供的音程控制信号,读出地址产生部4a、4b,以周期T产生相互偏移预定值的读出地址。
向存储部1和插补部10a、10b提供上述产生的一对读出地址。根据提供的一对读出地址,存储部1读出预存的声音数据(参照图22(a))。
图23表示图19存储部1的缓冲区上输入的声音数据的写入位置与接收一对读出地址产生部4a、4b的地址以读出预先写入的声音数据的两个位置之间的关系(音程变高的情况)。
图23中,“W”是写入指针,指示写入声音数据在缓冲区中的位置。“r1”是读出指针,指示与地址产生部输出的地址相对应的存储器位置,即指示接收该地址以读出声音数据的缓冲区中的位置。“r2”是读出指针,指示与地址产生部输出的地址对应的存储器位置,即接收该地址以读出声音数据的缓冲区中的位置。
参照图23,说明存储部1如何把输入的声音数据写入缓冲区,及其后如何根据提供的一对读出地址从缓冲区读出声音数据。
如图23上部分所示,最初,在存储器中,“r1”位于“W”后方预定距离(设为d)处(这里设指针进行方向为前方),“r2”位于“r1”后方距离d处。写入/读出开始后,“r1”比“W”前进快,“r2”与“r1”同速前进。一旦“r1”追上“W”,“r1”跳至“r2”后方d距离处。
该期间“r1”与“r2”的轨迹相当于图18(a)所示区域B2与A2。
如图23中部所示,在“r1”跳跃后,“r2”位于“W”后方距离d处,“r1”位于“r2”后方距离d处。接着,“r2”比“W”前进得快,“r1”与“r2”同速前进。一旦“r2”追上“W”,则“r2”跳至“r1”后方距离d处。
该期间“r2”与“r1”的轨迹相当于图18(a)所示的区域B3与A3。
如图23下部所示,在“r2”跳跃后,“r1”位于“W”后方距离d处,“r2”位于“r1”后方距离d处。以后,“W”、“r1”、“r2”重复上述移动。
图19中,在地址产生部产生的读出地址不是整数时,与上述写入/读出即时间轴压缩扩展处理并行地由存储部1和插补部10a、10b进行如下插补处理。
即,读出地址是整数(即没有有效小数部)时,存储部1读出与该读出地址一致的地址中存储的声音数据,而在读出地址有有效小数部分时,则读出该读出地址相邻地址(该读出地址紧前与紧后的地址)中存储的2个声音数据。
例如,读出地址为0时,读出1个声音数据X(0),读出地址为0.5时,读出2个声音数据X(0)和X(1)。同样,读出地址为1.26时,读出2个声音数据X(1)和X(2)。
根据读出地址产生部4a产生的地址,读出的声音数据向插补部10a提供,根据读出地址产生部4b产生的地址,读出的声音数据向插补部10b提供。
根据提供的声音数据和读出地址,插补部10a、10b计算必要的插补值后,输出经插补的声音数据。
在读出地址不具有小数部分时,插补部10a、10b把存储部1提供的1个声音数据按其原样作为完成插补的声音数据输出,而在读出地址有小数部分时,根据存储部1提供的2个声音数据的信号值,计算插补值后,输出该插补值作为经插补的声音数据。
通常,根据“线性插补”进行插补值计算。
图22(b)直观地表示插补部10a、10b中进行的线性插补(音程变换比为1.26时)。
图22(b)中,X(0)、X(1)、X(2),……是存储部1中存储的声音数据,Y(1.26)、Y(1.26×2)、……是插补值。
如图22(b)所示,在读出地址是1.26时,插补部10a、10b,由小数部分0.26与声音数据X(1)和X(2),用下式(1)计算插补值Y(1.26)。
Y(1.26)=X(1)+0.26×{X(2)-X(1)}…(1)同样,读出地址为1.26×2时,插补部10a、10b,由小数部分(1.26×2-2)与声音数据X(2)和X(3),用下式(2)计算插补值Y(1.26×2)。
Y(1.26×2)=X(2)+(1.26×2-2)×{X(3)-X(2)} …(2)一般,读出地址为(K×n)时(K为音程变换比,n为任意整数),设其整数部分为m,则插补部10a、10b,由其小数部分(K×n-m)与声音数据X(m)和X(m+1),用下式(3)计算插补值Y(K×n)。
Y(K×n)=X(m)+(K×n-m)×{X(m+1)-X(m)} …(3)插补部10a、10b以周期T依次输出的一对声音数据提供至交叉衰减部3,该部对该声音数据进行交叉衰减处理。
交叉衰减部预存一对与一对声音数据相乘的交叉衰减系数。
图24是图19的交叉衰减部3与一对声音数据相乘的一对交叉衰减系数的例示图。
图24中,2表示声音从帧最前面起的序号,V(2)是与该声音数据(即从帧最前面起第2个声音数据)相乘的交叉衰减系数。设1帧中所含的声音数据的个数为α0,在α=0时,V(α)=0。α=α0/2时,V(α)=1。
交叉衰减部3,通过对输入的一对经补插的声音数据进行计数,检测该对经补插的声音数据从帧最前面起的序号。例如,若是第n1、n2个经补插的声音数据,求与α=n1、n2对应的一对V(α)与各自声音数据相乘,这些相乘结果相加。
该相加结果,即音程变换后的声音数据{Y′(0),Y′(K×1),Y′(K×2),……},经声音数据输出端8,以周期T输出至音程变换装置的外部。
由音程变换装置输出的经音程变换后的声音数据{Y′(0),Y′(K×1),Y′(K×2),……},经声音数据输入端27输入至CD重放机。
图20中经声音数据输入端27输入的音程变换后的声音数据,提供至重放部22。后者由提供的音程变换后的声音数据重放声音信号。
这样重放的声音信号,经未图示的放大器放大后,输入至扬声器变换成声波。
图22(c)直观地表示从音程变换后的声音数据重放的声音信号。
图22(c)中,{Out(0),out(1),out(2),……}是与音程变换后的声音数据{Y′(0),Y′(K×1),Y′(K×2),……}对应的声音信号,横轴上的标度表示以周期T为单位的实际时间。
如上所述,在以往的音程变换装置中,通过交叉衰减压缩扩展,可不改变重放时间而变换声音信号的音程。
然而,由于对压缩/扩展进行线性补插,在低频段良好,但在高频段具有理想值与插补值间偏差大、产生信号失真的问题。
因而,考虑把声音数据的采样频率(=T-1)变换成较高的采样频率(=N×T-1;N是2的乘幂)进行升频采样(N称为升频采样比),以减小高频信号失真。
图25是另一种音程变换装置的构成框图。
图25的音程变换装置与图19的装置相同,例如设置在图20的CD重放机中。
图25中,另一种音程变换装置包括存储部1、1对读出地址产生部4a,4b、一对插补部10a,10b、交叉衰减部3、声音数据输入端7、声音数据输出端8、音程控制信号输入端9、升频采样部11、降频采样部12。
即,图25的音程变换装置,在图19的音程变换装置上追加了升频采样部11与降频采样部12。
升频采样部11接收经声音数据输入端7输入的声音数据{X(0),X(1),X(2),……},进行升频采样(这里说明升频采样比为2的情况)。
升频采样部11包含内插部13、有去除混叠特性的抗混叠滤波器(低通滤波器)14a,并首先在声音数据与声音数据间,即在X(0)与X(1)、X(1)与X(2)……间各插入1个零值。接着,根据插入零值后的声音数据{X(0),0,X(1),0,X(2),0,……},以周期{(1/2)XT}进行滤波运算,计算声音数据{X′(0),X′(0.5),X′(1),X′(1.5),X′(2),X′(2.5),……}。
降频采样部12接收交叉衰减部3输出的音程变换后的声音{Y′(0),Y′(K×0.5),Y′(K×1),Y′(K×1.5),Y′(K×2),Y′(K×2.5),……},进行降频采样。
即降频采样部12含具有去除混叠成分的抗混叠滤波器(低通滤波器14b)及抽取器15。首先根据声音数据{Y′(0),Y′(K×0.5),Y′(K×1),Y′(K×1.5),Y′(K×2),Y′(K×2.5),……},以周期{(1/2)×T}进行滤波运算,计算声音数据{Y″(0),Y″(K×0.5),Y″(K×1),Y″(K×1.5),Y″(K×2),Y″(×2.5),……}。接着,从声音数据{Y″(0),Y″(K×0.5),Y″(K×1),Y″(K×1.5),Y″(K×2),Y″(×2.5),……}中抽取{Y″(K×0.5),Y″(K×1.5),Y″(×2.5),……}。
升频采样部11与降频采样部12以外的各构成要素与图19的音程变换装置的动作基本上相同。不同点在于,动作周期变为一半(即{(1/2)XT})及存储部1的缓冲区容量需为2倍。通常,升频采样比为N倍时,动作周期为{N-1XT},存储部1的缓冲区容量必须为N倍。
图25的音程变换装置与图19装置动作不同点在于下述两点。
第1点是除音程变换处理外,还进行升频采样的处理。即,在音程变换前进行内插和滤波运算,在音程变换后进行滤波运算和抽取。
第2点是因升降采样增加了声音数据个数,从而增加了音程变换处理的每个单位时间的运算量。即,升频采样比为N倍时,插补部10a、10b与交叉衰减部3的动作周期变为{N-1XT}。
从图25的音程变换装置输出的声音数据与从图19的音程变换装置输出的声音数据不同点如下。
图26直观表示图25的音程变换装置进行的音程变换处理。
即,如果与图22进行比较即可知图26与之不同点是,通过2倍升频采样,声音数据与下一声音数据的时间间隔变狭一半(一般在升频采样比为N倍时,间隔窄出N-1倍),因而在读出地址有小数部分进行插补值计算时,可用较接近该读出地址的地址的声音数据,其结果是,可得到更接近于真值的插补值。
因而,与图19的音程变换装置(的声音数据输出端8)输出的声音数据{Y(0),Y(K+1),Y(K+2),……}相比,图15的音程变换装置(的声音数据输出端8)输出的声音数据{Y″(0),Y″(K×1),Y″(K×2),……}其高频段信号的失真变小。升频采样比越大,高频段信号失真越小。
如上所述,以往音程变换装置,其动作依据交叉衰减压缩扩展的原理,且在音程变换比有小数部分时进行线性插补,因而可不改变重放时间把声音信号高精度地变换成任意音程。但是,经线性插补的插补值,虽然低频段较好,但高频段与真值的偏差大。为此,以往的音程变换装置,存在高频段声音信号失真(下文称为“高频失真”)的问题。
考虑在以往的音程变换装置中再进行升频采样。由此,经线性插补的插补值与真值的偏差变小,因而可降低高频失真。升频采样比越大,该降低高频失真的效果越显著。
但是,在这种以往的音程变换装置中,不仅增加升频采样部11,还增加降频采样部12,因而存在装置规模大幅度增加的问题。
上述这种以往的音程变换装置中,进行N倍升频采样时,在升频采样部11和降频采样部12必须以周期{T×N-1}进行滤波运算。N倍升频采样的结果是声音数据个数变为(不进行升频采样时的)N倍,因而存储部1的缓冲区容量必须为N倍以上,交叉衰减部3与插补部10a、10b也须以周期{T×N-1}运作。即,随着升频采样比变大,存储部1中的缓冲区必须大容量,且升频采样部11的低频滤波器14a、降频采样部12的低通滤波器14b、插补部10a,10b、交叉衰减部3等必须高速化,因而存在装置价格急剧提高的问题。
为此,本发明的目的在于提供一种不改变重放时间而能把声音信号的音程高精度变换成任意音程,且不相应使装置大规模化及高速化即可充分降低高频失真的音程变换装置。
本发明为解决上述问题,因而具有下述特征。
本发明第1方面是一种用于不改变重放时间,把声音信号的音程变换成任意音程的音程变换装置,它包括声音数据输入端,依次输入采样所述声音信号所得的离散声音数据;音程控制信号输入端,输入表示音程变换比的音程控制信号;一对读出地址产生部,根据经所述音程控制信号输入端输入的音程控制信号,产生相互偏移一定值的读出地址;含缓冲区的存储部,经所述声音数据输入端输入的声音数据依次写入该缓冲区,同时,根据所述各读出地址产生部产生的读出地址的整数部分位,从该缓冲区读出一对声音数据串;滤波系数串存储部,以预定顺序,存储与对N倍升频采样所用的低通滤波器进行多相分解所得的N个副滤波器对应的N个滤波系数串,其中,N为2的乘幂;一对滤波系数串选择部,根据各所述读出地址产生部产生的读出地址的小数部分第1至第log2N位,选择所述滤波系数串存储部所存储的N个滤波系数串中某一滤波系数串;一对滤波运算部,接收所述存储部读出的一对声音数据串,对该声音数据串,用各所述滤波系数串选择部选择的滤波系数串进行滤波运算;交叉衰减部,接收各所述滤波运算部输出的一对声音数据,把交叉衰减系数与该对声音数据相乘然后相加。
在上述第1方面中,与升频采样相比,可使装置小型且廉价,同时可与升频采样时同程度降低高频失真。
而且,在进行N倍升频采样时,缓冲区容量必须为原来的N倍,且必须在N-1倍的滤波运算操作周期中进行滤波运算,但在上述第1方面中4存储部中包含的缓冲器容量与N无关而是固定的,滤波运算操作周期也可与N无关而为固定的,从而可不相应使装置大规模化及增加其价格,使N足够大。由此,即使省略线性插补,也可高精度进行音程变换。
此外,根据读出地址小数部分第1至第(log2N)位,选择滤波系数串,因而不相应使装置规模增大即可容易地进行滤波运算。
第2方面,是在第1方面中,读出地址产生部包含累加所述音程变换比的累加器。
第3方面,是在第1方面中,各读出地址产生部包括累加预定值的累加器及把所述累加器输出与所述音程变换比相乘的乘法器。
根据第2或第3方面,可得到读出地址,用于从缓冲区读出声音数据并选择滤波系数串。
第4方面,是在第1方面中还包括另一对滤波运算部,所述存储部从所述缓冲区读出一对声音数据串时,还从该缓冲区读出与该对声音数据串相同或各偏移1个地址的另一对声音数据串;所述一对滤波系数串选择部,除根据各所述读出地址产生部产生的读出地址的小数部分的第1至第(log2N)位,选择所述滤波系数存储部所存储的N个滤波系数串中的某一滤波系数串外,还选择与该滤波系数串相邻的另外滤波系数串;所述存储部接收读出的另一对声音数据串,对该另一对声音数据串,用各所述滤波系数串选择部选择的另一滤波系数串进行滤波运算;一对插补部,接收所述一对滤波运算部输出的一对声音数据和所述另一对滤波运算部输出的一对声音数据,以各所述读出地址产生部产生的读出地址的小数部分第{(log2N)+1}位以下的位作为插补系数,求线性插补值,由此,产生在互邻的2个声音数据间进行插补的一对插补数据;所述一对插补部输出的一对声音数据,向所述交叉部提供。
根据第4方面,可更高精度进行音程变换。
第5方面,是在第4方面中,各读出地址产生部包含累加所述音程变换比的累加器。
第6方面,是在第4方面中,各读出地址产生部包含累加预定值的累加器及把所述累加器输出与所述音程变换比相乘的乘法器。
根据第5或第6方面,可得到读出地址,用于从缓冲区读出声音数据并选择滤波系数串。
第7方面是一种用于不改变重放时间,把声音信号的音程变换成任意音程的音程变换装置,它包括声音数据输入端,依次输入采样所述声音信号所得的离散声音数据;音程控制信号输入端,输入表示音程变换比的音程控制信号;一个读出地址产生部,根据经所述音程控制信号输入端输入的音程控制信号,产生读出地址;含缓冲区的存储部,经所述声音数据输入端输入的声音数据依次写入该缓冲区,同时,根据所述读出地址产生部产生的读出地址的整数部分位,从该缓冲区读出一对相互偏移一定数量地址的声音数据串;交叉衰减部,接收所述存储部读出的一对声音数据串,构成该对声音数据串的各对声音数据各乘交叉衰减系数,然后相加;滤波系数串存储部,以预定顺序,存储与对N倍升频采样所用的低通滤波器进行多相分解所得的N个副滤波器对应的N个滤波系数串,其中,N为2的乘幂;一个滤波系数串选择部,根据所述读出地址产生部产生的读出地址的小数部分第1至第(log2N)位,选择所述滤波系数串存储部所存N个滤波系数串中的某一滤波系数串;一个滤波运算部,接收所述交叉衰减部输出的声音数据串,对该声音数据串,用所述滤波系数串选择部选择的滤波系数串进行滤波运算。
在第7方面中,与进行升频采样相比,可使装置小型且廉价,同时,可与进行升频采样时同等程度减小高频失真。
而且,在进行N倍升频采样时,缓冲区容量必须为原来的N倍,且必须在N-1倍的滤波运算操作周期中进行滤波运算,但在上述第7方面中,存储部中包含的缓冲器容量与N无关而是固定的,滤波运算操作周期也可与N无关而为固定的,从而可不相应使装置大规模化及增加其价格,使N足够大。由此,即使省略线性插补,也可高精度进行高程变换。
此外,根据读出地址小数部分第1至第(log2N)位,选择滤波系数串,因而不相应使装置规模增大即可容易地进行滤波运算。
上述各效果与第1方面是同样的,但在第7方面中,读出地址产生部、滤波系数串选择部和滤波运算部各为1个,因而与第1方面的装置相比,其规模更小。
第8方面,是在第7方面中,读出地址产生部包含累加所述音程变换比的累加器。
第9方面,是在第7方面中,读出地址产生部包括累加预定值的累加器及把所述累加器输出与所述音程变换比相乘的乘法器。
根据上述第8或第9方面,可得到读出地址,用于从缓冲区读出声音数据并选择滤波系数串。
第10方面,是在第7方面中,缓冲区中设置表示经所述声音数据输入端输入的声音数据写入位置的写入指针及表示读出的所述一对声音数据串各首部位置的一对读出指针;缓冲区是环形缓冲区,其首部与末尾环形连接,具有相当于所述一对读出指针间距离2倍的容量;存储部把所述一对读出指针中的一个及所述写入指针间的距离通知所述交叉衰减部;交叉衰减部,把与所述存储部通知的距离对应的交叉衰减系数与构成所述一对声音数据串的各对声音数据相乘。
在第10方面中,根据一对读出指针中的1个与写入指针间的距离,求要与该对声音数据串相乘的交叉衰减系数。
第11方面,是在第10方面中,读出地址产生部包含累加所述音程变换比的累加器。
第12方面,是在第10方面中,读出地址产生部包括累加预定值的累加器及把所述累加器输出与所述音程变换比相乘的乘法器。
根据第11或12方面,可得到读出地址,用于从缓冲区读出声音数据并选择滤波系数串。
图1是本发明第1实施形态的音程变换装置的构成框图。
图2是图1的音程变换装置的滤波运算部2a、2b计算的声音数据(音程变换比为1.26时)与图25的音程变换装置的升频采样部11进行4倍升频采样时所得的声音数据的关系示图。
图3是图1的读出地址产生部4a、4b一个构成例的框图。
图4是图1的读出地址产生部4a、4b另一个构成例的框图。
图5是图3、图4的ALU的输出寄存器一个例子(24位)的示意图。
图6直观地表示在图5的输出寄存器中,读出地址如何表示。
图7是直观地表示图1的音程变换装置进行的音频变换动作的示意图。
图8是本发明第2实施形态的音程变换装置的构成框图。
图9是图8的读出地址产生部4a、4b一个构成例的框图。
图10是图8的读出地址产生部4a、4b另一个构成例的框图。
图11是图9、图10的ALU的输出寄存器一个例子(24位)的示意图。
图12是本发明第3实施形态的音程变换装置的构成框图。
图13是图12的存储部1和交叉衰减部3的内部构成的示意示图。
图14是一对交叉衰减系数V(a1)、V(a2)的一个例子示图,交叉衰减部3把该系数与从存储部1读出的一对声音数据相乘。
图15是图12的存储部1的环行缓冲区上输入的声音数据的写位置(写地址指针“W”)与接收读出地址产生部4a输出的地址后,一对声音数据的2个读出位置(读出地址指针“r1”、“r2”)的关系(音频变高时)的示意图。
图16是把声音信号的音程变换成期望音程的原理说明图。
图17是平滑连接互不连续的2帧声音的交叉衰减处理的原理说明图。
图18是通过组合沿时间轴压缩/扩展与交叉衰减(交叉衰减压缩扩展),不改变重放时间而变换声音信号的音程的原理说明图。
图19是以往的音程变换装置一个构成例框图。
图20是设置图19的音程变换装置的以往的CD重放机一个构成例的框图。
图21是图19的读出地址产生部4a、4b一个构成例的框图。
图22是图19的音程变换装置进行音程变换处理的直观显示图。
图23是图19的存储部1的缓冲区中输入的声音数据写入位置与接收一对读出地址产生部4a、4b输出的地址以读出预先写入的声音数据的2个读出位置(音程变高时)的关系示图。
图24表示与一对声音数据相乘的图19的交叉衰减部3的一对交叉衰减系数的一个例子。
图25是进行升频采样的另一以往音程变换装置的构成框图。
图26直观地表示图25的音程变换装置进行的音程变换处理。
下文参照附图,说明本发明的实施形态。对于与已有技术相同的且已说明的技术,省略详细说明。
在以下说明中,“K”、“T”、“t”、“N”分别表示音程变换比、声音数据的采样周期、以T为单位的实际时间、升频采样比(参照已有技术部分)。
(第1实施形态)在详细说明本发明第1实施形态的音程变换装置前,先作概要说明。
第1实施形态的音程变换装置,与以往的音程变换装置相同,也通过时间轴压缩扩展和交叉衰减,不改变重放时间而变换声音信号的音程。
关于累加音程变换比,该累加结果用作读出地址这一点也与以往的音程变换装置相同。
第1实施形态的音频变换装置与以往的音程变换装置的不同点如下。
(Ⅰ)表观上,不进行升频采样,代之以,采用对用于升频采样的低通滤波器14a(或14b)进行多相分解所得的副滤波器,进行下述滤波。
另一已有技术的音程变换装置(参照图25),在存储部1的前级各有升频采样部11。升频采样部11所含低通滤波器14a进行N倍升频采样时,以周期(T×N-1)进行运算,由此得到的采样周期(T×N-1)的声音数据暂存于存储部1中。因而,存储部1的缓冲区容量必须为不进行升频采样时的N倍。
第1实施形态的音程变换装置则在存储部1的后级备有滤波运算部,该部采用对上述升频采样部11所含低通滤波器14a进行多相分解所得到的N个副滤波器(各副滤波器的抽头数为低通滤波器14a的抽头数的N-1倍)中的一个,以周期T进行运算。从而,存储部1的缓冲区容量,可与不进行升频采样时相同。
即,与进行N倍升频采样的音程变换装置相比,第1实施形态的音频变换装置中,可得到与存储部1的缓冲区容量为N-1倍、滤波器运算操作周期为N倍(即动作速度为N-1倍)且与进行升频采样时同样的降低高频失真的效果。
换言之,存储部1的缓冲区容量与升频采样比N无关,可是一定的;滤波运算操作,也与交叉衰减压缩扩展操作同样,与升频采样比N无关,可以一定周期,即以与声音数据的采样频率相同的周期(=T)进行。为此,不相应急剧增加装置价格,即可使升频采样比N变大。
如果使升频采样比足够大,即使不进行线性插补,也能进行高精度音程变换。由此,可使装置规模减小插补部10a、10b这一部分。
如果在升频采样比小时不进行线性插补,则音程变换比随时间变动,不太能进行高精度音程变换。
(Ⅱ)用读出地址小数部分第1~第(log2N)位,选择N个副滤波器中的某一个。由此,不相应使装置规模变大即可容易地选择滤波器。
以下,对本发明第1实施形态的音程变换装置进行详细说明。
图1是本发明第1实施形态的音程变换装置的构成框图。
第1实施形态的音程变换装置,例如设置在图12所示的以往CD重放机中。
图1中,第1实施形态的音程变换装置包括存储部1、一对滤波运算部2a,2b、交叉衰减部3、一对读出地址产生部4a,4b、一对滤波系数串选择部5a,5b、滤波系数串存储部6、声音数据输入端7、声音数据输出端8、音程控制信号输入端9。
第1实施形态的音程变换装置中,存储部1、读出地址产生部4a,4b及交叉衰减部3,对声音数据进行与音程变换比相应的时间轴压缩扩展及交叉衰减。由此,不改变重放时间而变换声音信号的音程。这点,与以往音程变换装置相同。
在第1实施形态的音程变换装置中,滤波运算部2a,2b、滤波系数串选择部5a,5b及滤波系数串存储部6,通过滤波运算计算必要的声音数据。这一点与组合升频采样与插补值计算的另一以往音程变换装置不同。
这里,为使说明简单,设升频采样比为4倍(即N=4)。
对4倍升频采样先作简单说明。
图2是由图1的音频变换装置的滤波运算部2a、2b计算的声音数据(音程变换比为1.26时)与图25的音程变换装置的升频采样部11进行4倍升频采样时得到的声音数据的关系示图。
在升频采样部11中,如图2(a)所示,经内插器13,在声音数据与下一声音数据之间,例如X(0)与X(1)间,X(1)与X(2)间……各插入3个零值。然后,由低通滤波器14a,以式(5)作为滤波系数以周期TX4-1进行滤波运算。
例如,t=4后,升频采样部11的低通滤波器14a进行的滤波运算,若排除与零相乘,则如下所示。
y(4)=f(0)x(4)+f(4)x(3)+f(8)x(2)+f(12)x(1)+f(16)x(0)y(4+1/4)=f(1)x(4)+f(5)x(3)+f(9)x(2)+f(13)x(1)+f(17)x(0)y(4+2/4)=f(2)x(4)+f(6)x(3)+f(10)x(2)+f(14)x(1)+f(18)x(0)y(4+3/4)=f(3)x(4)+f(7)x(3)+f(11)x(2)+f(15)x(1)+f(19)x(0)y(5)=f(0)x(5)+f(4)x(4)+f(8)x(3)+f(12)x(2)+f(16)x(1)y(5+1/4)=f(1)x(5)+f(5)x(4)+f(9)x(3)+f(13)x(2)+f(17)x(1)由此,从升频采样部11输出采样周期(T×4-1)的声音数据{Y(0),Y(0.25),Y(0.5),Y(0.75),Y(1),Y(1.25),……}。
但是,例如频率变换为1.26倍时,采样周期(T×4-1)的声音数据{Y(0),Y(0.25),Y(0.5),Y(0.75),Y(1),Y(1.25),……}并不全部需要。
因此,在第1实施形态的音程变换装置中,通过采用4个副滤波器(后述)中的一个以周期T进行滤波运算,如图2(b)所示,仅求音程变换所需的声音数据{Y(0),Y(1.25×1),Y(1.25×2),……}。
在图1中,向声音数据输入端7,输入CD重放机的声音数据输出端25输出的声音数据{X(0),X(1),X(2),X(3),……},存储部1暂存该声音数据。
向音程控制信号输入端9输入CD重放机的音程控制信号输出端26输出的音程控制信号,读出地址产生部4a、4b把音程控制信号表示的音程变换比作为地址增量加以累加,该累加结果输出作为读出地址。
即,读出地址产生部4a、4b进行的动作与图19的动作相同。不同点在于,产生的读出地址的整数部分位向存储部1提供作为有效读出地址,小数部分第1和第2位(N=4)提供至滤波系数串选择部5a、5b作为滤波器选择信息。
一般把小数部分第1~第(log2N)位提供至滤波系数串选择部5a、5b作为滤波器选择信息。
图3是图1的读出地址产生部4a、4b一个构成例的框图,图4是另一构成例的框图。
图3中,读出地址产生部4a、4b包含累加器16(ALU),累加地址增量(=K)。这与图21的地址产生部构成相同。
图4中,读出地址产生部4a、4b包含累加常数(例如1)的ALU及把地址增量(K=K)与ALU输出相乘的乘法器17。这与图21的地址产生部构成不同,但产生相同的读出地址。
图5是图3、图4的ALU的输出寄存器一个例子(24位)的示意图。
图5的输出寄存器中,左端起第16位与第17位之间有小数点,位于小数点高端的16位表示读出地址的整数部分,位于低端的8位表示小数部分。
若小数点紧右邻的位称为“小数部分第1位”,其右邻位称为“小数部分第2位”……,则在例如N=4时,小数部分第1和第2位作为滤波选择信息。
读出地址产生部4a和4b的关系与图19时相同,省略其说明。
在图1中,存储部1根据读出地址产生部4a、4b产生的读出地址的整数部分(高端),从缓冲区读出声音数据串。
另一方面,在滤波系数串存储部6中,存储4个(一般为N个)滤波系数串。这些滤波系数串是对图25的升频采样部11包含的低通滤波器14a进行多相分解得到的4个(一般为N个)副滤波器的滤波系数串。
若设滤波器抽头数为20,则N=4时,升频采样部11中包含的低通滤波器14a如下式(4)所示。
F(z)=f(0)+f(1)z^(-1/4)+f(2)z^(-2/4)+…+f(19)z^(-19/4)…(4)上述式(4)中,E^(-n)是延迟运算符,与X(t)间存在下式(5)所示关系。
x(t)z^(-n)=x(t-n)…(5)对上述(4)所示的低通滤波器14a进行多相分解得到的4个副滤波器如下式(6-1)~(6-4)所示。
F0(z)=f(0)+f(4)z^(-1)+f(8)z^(-2)+f(12)z^(-3)+f(16)z^(-4)…(60-1)F1(z)=[f(1)+f(5)z^(-1)+f(9)z^(-2)+f(13)z^(-3)+f(17)z^(-4)]z^(-1/4)…(6-2)F2(z)=[f(2)+f(6)z^(-1)+f(10)z^(-2)+f(14)z^(-3)+f(18)z^(-4)]z^(-2/4)…(6-3)F3(z)=[f(3)+f(7)z^(-1)+f(11)z^(-2)+f(15)z^(-3)+f(19)z^(-4)]z^(-3/4)…(6-4)滤波系数串存储部6存储的上述得到的4个(一般为N个)副滤波器的系数部分。
根据读出地址产生部4a、4b产生的读出地址的小数部分第1和第2位,滤波系数串选择部5a、5b从滤波系数串存储部6所存储的4个(一般为N个)滤波系数串中选择某一滤波系数串。读出该滤波系数串并向滤波运算部2a、2b转送。
滤波运算部2a、2b,根据存储部1输出的声音数据串与滤波系数串选择部5a、5b输出的滤波系数串进行滤波运算。
交叉衰减部3接收滤波运算部2a输出的声音数据与滤波运算部2b输出的声音数据,对该对数据进行交叉衰减。即,对各数据分别乘以交叉衰减系数后相加。
通过增加交叉衰减部3,可不改变重放时间而把声音信号的音程变换成任意音程。这一点与已有技术相同。
从声音数据输出端8输出已进行交叉衰减压缩扩展的声音数据,即输出音程变换后的声音数据。
对上述构成的音程变换装置的动作进行下述说明。CD重放机的动作与已有技术部分说明过的动作相同。
图20中,用户通过未图示的调节钮等先对CD重放机指定期望的音程变换比K,然后,按未图示的PLAY(播放)按钮。
相应地,在CD重放机中,音程变换比设定部23先设定音程变换比K。接着,读出部21以周期T开始从CD20读出声音数据的读出处理,音程变换比设定部23也进行处理,生成表示音程变换比K的音程控制信号。重放开始后,上述设定的音程变换比K可变更为其它值。
如上所述读出的声音数据与产生的音程控制信号各自经声音数据输入端7和音程控制信号输入端9输入至图1的音程变换装置。
输入的声音数据由存储部1暂存。图22(a)表示存储部1是如何存储声音数据的。存储部1依序存储输入的声音数据,即X(0)、X(1)、X(2)……,并分别存入地址0、地址1、地址2……。
另一方面,输入的音程控制信号分为2路分别向读出地址产生部4a、4b提供。根据提供的控制信号,读出地址产生部4a、4b以周期T产生相互偏移一定值的读出地址。
这样产生的一对读出地址向存储部1和滤波系数串选择部5a、5b提供。
读出地址产生部4a产生的读出地址的整数部分位向存储部1提供作为有效读出地址,小数部分第1和第2位,向滤波系数串选择部5a提供,作为滤波选择信息。读出地址产生部4b产生的读出地址的整数部分位作为有效读出地址,向存储部1提供,小数部分第1和第2位向滤波系数串选择部5b提供。
根据提供的一对整数部分位(有效读出地址),存储部1从缓冲区读出一对声音数据串。
在存储部1的缓冲区中,输入的声音数据等的位置与接收一对读出地址产生部4a、4b输出的有效读出地址后,一对声音数据串2个读出位置的关系(音程变高时)示于图23。这时,读出指针“r1”、“r2”指示一对读出的声音数据串的最前位置。
存储部1如何把输入的声音数据写入缓冲区及如何根据提供的一对有效读出地址从缓冲区读出一对声音数据串,除读出的是由5个声音数据组成的声音数据串(N=4时)外,其余均与已有技术部分说明的内容相同。
另一方面,根据提供的一对滤波选择信息,滤波系数串选择5a、5b,从滤波系数串存储部6所存储的N个滤波系数串中选择某一个滤波系数串。读出该滤波系数串并向滤波运算部2a、2b传送。
例如,N=4且抽头数为20时,下述4个滤波系数串依次存入滤波系数串存储部6中。
{f(0),f(4),f(8),f(12),f(16)}{f(1),f(5),f(9),f(13),f(17)}{f(2),f(6),f(10),f(14),f(18)}{f(3),f(7),f(11),f(15),f(19)}下文中,上述滤波系数串依次称为第0滤波系数串、第1滤波系数串、第2滤波系数串、第3滤波系数串。
滤波系数串选择部5a、5b,根据提供的滤波器选择信息,选择滤波器如下。
滤波器选择信息为“00”时,选择第0滤波系数串。
滤波器选择信息为“01”时,选择第1滤波系数串。
滤波器选择信息为“10”时,选择第2滤波系数串。
滤波器选择信息为“11”时,选择第3滤波系数串。
根据存储部1输出的声音数据串(目前情况由5个声音数据构成)与滤波系数串选择部5a、5b输出的滤波系数串,滤波运算部2a、2b进行滤波运算(目前场合抽头数为5),计算必要的声音数据{Y(0),Y(K×1),Y((K×2),……}。
这里,作为具体例子,对于音程变换比为1.26的情况,说明读出地址产生部4a,4b、滤波系数串选择部5a,5b及滤波运算部2a,2b的处理进行说明。
从读出地址产生部4a、4b,以周期T依次产生如下读出地址。
t=0: 0t=1: 1.26=1+1/4+0.01t=2: 1.26×2=2+2/4+0.02t=3: 1.26×3=3+3/4+0.03t=4: 1.26×4=5+0.04t=5: 1.26×5=6+1/4+0.05t=6: 1.26×6=7+2/4+0.06t=7: 1.26×7=8+3/4+0.07t=8: 1.26×8=10+0.08t=9: 1.26×9=11+1/4+0.09上述读出地址,在图5的输出寄存器中分别表示如下。
t=0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0 0 0 0 0 0 0 0t=1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.0 1 0 0 0 0 1 0t=2: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.1 0 0 0 0 1 0 0t=3: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1.1 1 0 0 0 1 1 0t=4: 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1.0 0 0 0 1 0 0 0t=5: 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0.0 1 0 0 1 0 1 0t=6: 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1.1 0 0 0 1 1 0 0t=7: 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0.1 1 0 0 1 1 1 0t=8: 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0.0 0 0 1 0 0 0 0t=9: 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1.0 1 0 1 0 0 1 0上述读出地址整数部分第2~第16位,作为有效读出地址向存储部1提供,上述读出地址小数部分第1和第2位,作为滤波器选择信息向滤波器选择部5a、5b提供(参照图6)。
相应地,存储部1,以周期T,依次读出与提供的有效读出地址对应的声音数据为首的5个连续的一组声音数据,提供至滤波运算部2a、2b。从而,时刻t=4以后,从存储部1读出并向滤波运算部2a、2b提供的声音数据如下所述。
t=4: {x(5),x(4),x(3),x(2),x(1)}t=5: {x(6),x(5),x(4),x(3),x(2)}t=6: {x(7),x(6),x(5),x(4),x(3)}t=7: {x(8),x(7),x(6),x(5),x(4)}t=8: {x(10),x(9),x(8),x(7),x(6)}t=9: {x(11),x(10),x(9),x(8),x(7)}另一方面,在时刻t=4以后,根据滤波器选择信息,滤波系数串选择部5a、5b选择下述滤波系数串。
t=4 根据滤波器选择信息“00”,选择第0滤波系数串。
t=5 根据滤波器选择信息“01”,选择第1滤波系数串。
t=6 根据滤波器选择信息“10”,选择第2滤波系数串。
t=7 根据滤波器选择信息“11”,选择第3滤波系数串。
t=8 根据滤波器选择信息“00”,选择第0滤波系数串。
t=9 根据滤波器选择信息“01”,选择第1滤波系数串。
在时刻t=4以后,根据存储部1输出的声音数据与滤波系数串选择部5a、5b输出的滤波系数串,滤波运算部2a、2b进行下述滤波运算。
t=4: y(1.25×4)=f(0)x(5)+f(4)x(4)+f(8)x(3)+f(12)x(2)+f(16)x(1)t=5: y(1.25×5)=f(1)x(6)+f(5)x(5)+f(9)x(4)+f(13)x(3)+f(17)x(2)t=6: y(1.25×6)=f(2)x(7)+f(6)x(6)+f(10)x(5)+f(14)x(4)+f(18)x(3)t=7: y(1.25×7)=f(3)x(8)+f(7)x(7)+f(11)x(6)+f(15)x(5)+f(19)x(4)t=8: y(1.25×8)=f(0)x(10)+f(4)x(9)+f(8)x(8)+f(12)x(7)+f(16)x(6)t=9: y(1.25×9)=f(1)x(11)+f(5)x(10)+f(9)x(9)+f(13)x(8)+f(17)x(7)
这样得到的声音数据{……,Y(1.25×4),Y(1.25×5),Y(1.25×6),Y(1.25×7),Y(1.25×8),Y(1.25×9),……},与4倍升频采样得到的声音数据等同,良好地近似于理想值{(X(1.26×4),X(1.26×5),X(1.26×6),X(1.26×7),X(1.26×8),X(1.26×9),……}。升频采样比N越大越接近于理想值。
这里,对上述说明过的地址产生部4a,4b、滤波系数串选择部5a、5b及滤波运算部2a,2b的动作作简单整理。
图7是直观表示图1的音程变换装置进行的音程变换动作的示意图。
图7中,设读出地址产生部4a产生读出地址“0000000010010111.10”。这时,有效读出地址是其整数部分“0000000010010111”,即是“151”(十进制)。另一方面,滤波器选择信息是其小数部分第1与第2位“10”(二进制)。
一旦接收该读出地址,存储部1即从缓冲区的地址151~147,读出声音数据串(5个声音数据)。一旦接收该滤波选择信息,滤波系数串选择部5a即选择第3滤波系数串。
读出的声音数据串与选择的滤波系数串,提供至滤波运算部2a,进行滤波运算。
在读出地址产生部4b、滤波系数串选择部5b及滤波运算部2b侧,进行与此相同的动作。
在图1中,由滤波运算部2a、2b以周期T依次输出且相互偏移一定时间的一对声音数据,向交叉衰减部3提供,并叉衰减部3对这些声音数据施加交叉衰减处理,该处理与已有技术部分说明的过程相同。
即,交叉衰减部3预存与一对声音数据相乘的一对交叉衰减系数,例如示于图24的系数。
交叉衰减部3对输入的一对声音数据进行计数,由此,检测该对声音数据是帧首部起第n个数据。例如,若是第n1、n2个声音数据,则求与α=n1、n2对应的一对V(α),与各声音数据相乘,相乘结果相加。
经声音数据输出端8,该相加结果,即音程变换后的声音数据{Y′(0),Y′(1.25×1),Y′(1.25×2),……}(一般为Y′(0),Y′(K′×1),Y′(K′×2),……}),以周期T向音程变换装置外部输出。
从音程变换装置输出的经音程变换的声音数据{Y′(0),Y′(K′×1),Y′(K′×2),……},经声音数据输入端27再次输入至CD重放机。
图20中,经声音数据输入端27输入的音程变换后的声音数据,向重放部22提供。重放部22从提供的音程变换后的声音数据重放声音信号。
这样重放的声音信号,经未图示的放大器放大后,输入至扬声器,变换成声波。
图2(c)直观地表示音程变换后的声音数据重放的声音信号。
图2(c)中,{out(0),out(1),out(2),……}是与音程变换后的声音数据{Y′(0),Y′(K×1),Y′(K×2),……}对应的声音信号,横轴刻度表示以周期T为单位的实际时间。
(第2实施形态)在第2实施形态中,对第1实施形态作进一步的线性插补,使升频采样比小时,也能进行高精度的音程变换,线性插补的原理与已有技术部分说明的内容相同。但利用滤波运算得到的声音数据,即利用升频采样后的声音数据计算插补值这一点,与以往相同。例如,在计算插补值Y(1.26)时,已有技术采用声音数据X(1)和X(2),但本实施形态1,采用升频采样后的声音数据Y(1.25)和Y(1.5)。
在第1实施形态中舍去的读出地址小数部分的第{(log2N)+1}位以下部分用于线性插补的插补系数。由此,可不相应增大装置而容易地进行线性插补。
图8是本发明第2实施形态的音程变换装置的构成框图。
第2实施形态的音程变换装置例如设置在图20所示的以往CD重放机上。
图8中,第2实施形态的音程变换装置包括存储部1、一对滤波运算部2a,2b、另一对滤波运算部2c,2d、一对插补部10a,10b、交叉衰减部3、一对读出地址产生部4a,4b、一对滤波系数串选择部5a,5b、滤波系数串存储部6、声音数据输入端7、声音数据输出端8、音程控制信号输入端9。
即,第2实施形态的音程变换装置,在第1实施形态的音程变换装置中增加另一对滤波运算部2c、2d及一对插补部10a、10b。一对读出地址产生部4a、4b产生的读出地址的小数部分第{(log2N)+1}位以下的位向一对插补部10a、10b提供作为插补系数。
CD重放机的声音数据输出端25输出的声音数据{X(0),X(1),X(2),X(3),……}输入至声音数据输入端7,存储部1暂存这些声音数据。
CD重放机的音程控制信号输出端26输出的音程控制信号输入至音程控制信号输入端9,读出地址产生部4a、4b以音程控制信号所示的音程变换比作为地址增量进行累加,该累加结果输出作为读出地址。
即,读出地址产生部4a、4b的动作与图1部件的动作相同。产生的读出地址的整数部分位作为有效读出地址向存储部1提供,小数部第1和第2位(N=4时)作为滤波器选择信息向滤波系数串选择部5a、5b提供(一般,小数部分第1~第(log2N)位作为滤波器选择信息向滤波系数串选择部5a、5b提供)。这一点与第1实施形态相同。
不同点在于下述2点。第1是不仅上述整数部分位,而且从上述整数部分位与小数部分第1和第2位算得的另一整数部分位也向存储部1提供(或,上述整数部分位与小数部分第1和第2位向存储部1提供,据此存储部11计算其余整数部分位)。对于读出地址产生部4a、4b产生的读出地址,使小数部分第2位(一般,小数部分第(log2N)位)加1,从相加结果取出整数部分,由此得到另一整数部分。
不同的第2点是,把第1实施形态不用的小数部分第3位以下的位,向插补部10a、10b提供。一般,把小数部分第{(log2N)+1}位以下的位,向插补部10a、10b提供。
图9是图8的读出地址产生部4a、4b一个构成例的框图,图10是另一构成例的框图。
图9中,读出地址产生部4a、4b包含累加器16(ALU),累加地址增量(=K)。这与图3的构成相同。
图10中,读出地址产生部4a、4b包含对常数(例如1)进行累加的ALU、把地址增量(=K)与ALU的输出相乘的乘法器17。这与图4的构成相同。
图11是图9、图10的ALU的输出寄存器一个例子(24位时)的示意图。
图11的输出寄存器中,例如N=4时,小数部分第3位以下的位作为插补系数(一般,小数部分{(log2N)+1}位以下的位作为插补系数)。除这点外,其余均与图5相同。
读出地址产生部4a与4b的关系,与第1实施形态相同,省略说明。
图8中,根据读出地址产生部4a、4b产生的读出地址的整数部分位,存储部1从缓冲区读出声音数据串。
为进行线性插补,增加一对与第1实施形态相同的声音数据串,还读出与该对声音数据串相同或各偏移一个地址的另一对声音数据串。即,根据读出地址产生部4a输出的整数部分位,读出相互相同的或偏移1个地址的2个声音数据串,根据读出地址产生部4b输出的整数部分位,读出相同的或相互错开1个地址的2个声音数据串。读出相同的2个声音数据是在读出地址产生部4a、4b产生的读出地址的小数部分第1与第2位是“00”、“01”、“10”中之一的情况下。读出相互偏移1个地址的2个声音数据串则在该第1与第位是“11”时。通常,仅小数部分第1~第(log2N)位全为“1”时,读出相互偏移1个地址的2个声音数据串,此外,均读出相同的2个声音数据串。
在滤波系数串存储部6中,存储4个(一般N个)滤波系数串。这些滤波系数串是与第1实施例相同的系数串,即是对图25的升频采样部1所含低通滤波器14a进行多相分解得到的4个(一般N个)副滤波系数部分。
N=4时,低通滤波器14a由式(14)表示,对其进行多相分解得到的4个副滤波器由式(6-1)~(6-4)表示。
根据读出地址产生部4a产生的读出地址的小数部分第1和第2位(滤波器选择信息),滤波系数串选择部5a,从滤波系数存储部6所存储的4个滤波系数串中选择互邻的2个滤波系数串。读出这些滤波系数串并向滤波运算部2a、2c传送。
根据读出地址产生部4b产生的读出地址的小数部分第1和第2位,滤波系数串选择部5b从滤波系数存储部6所存储的4个滤波系数串中,选择互邻的2个滤波系数串。读出该滤波系数串,向滤波运算部2b、2d传送。
根据存储部1输出的声音数据、滤波系数串选择部5a输出的滤波系数串,滤波运算部2a、2c进行滤波运算。根据存储部1输出的声音数据与滤波系数串选择部5b输出的滤波系数串,滤波运算部2b、2d进行滤波运算。
插补部10a根据滤波运算部2a、2c输出的一对声音数据与读出地址产生部4a输出的插补系数(即读出地址小数部分的第3~第8位),用上式(3)计算插补值。插补部10b,根据滤波运算部2b、2d输出的声音数据与读出地址产生部4b输出的插补系数(即读出地址小数部分的第3~第8位),用式(3)计算插补值。
交叉衰减部3接收插补部10a、10b输出的声音数据,对该对数据进行交叉衰减。即,各数据分别乘交叉衰减系数后相加。
从声音数据输出端8输出进行交叉衰减压缩扩展的声音数据,即输出音程变换后的声音数据。
对上述构成的音程变换装置的动作说明如下。但与第1实施形态音程变换装置相同的动作省略说明或简单加以说明,仅对不同的动作加以详细说明。
图20中,从CD20读出的声音数据与表示音程变换比K的音程控制信号,分别经声音数据输入端7与音程控制信号输入端9,输入至音程变换装置。
输入的声音数据由存储部1暂存。存储部1如何存储声音数据,如图22(a)所示。
另一方面,输入的音程控制信号分为2路,分别向读出地址产生部4a、4b提供。根据提供的音程控制信号,读出地址产生部4a、4b,以周期T产生相互偏移一定值的读出地址。
这样产生的一对读出地址,向一对滤波系数串选择部5a、5b及一对插补部10a、10b提供。
即,读出地址产生部4a产生的读出地址的位串中的整数部分位,作为有效读出地址向存储部1提供,小数部分第1与第2位,作为滤波器选择信息,向滤波系数串选择部5a提供。进而,小数部分第1和第2位,还向存储部1提供,小数部分第3位至第8位,向插补部10a提供。
读出地址产生部4b产生的读出地址位串中的整数部分位,作为有效读出地址,向存储部1提供,小数部分第1与第2位,作为滤波器选择信息向滤波系数串选择部5b提供,进而还向存储部1提供,小数部分第3至第8位,向插补部10b提供。
与第1实施形态相同,存储部1根据提供的一对整数部分位(有效读出地址),从缓冲区读出一对声音数据。此外,从提供的一对整数部分位与小数部分第1和第2位,计算另一对整数部分位,根据该另一对整数部分位,从缓冲区再读出与上述一对声音数据串相同或各偏移1个地址的另一对声音数据。
存储部1的缓冲区中,输入的声音数据写位置所示的“W”,与接收一对读出地址产生部4a、4b输出的地址读出一对声音数据串的读位置所示的“r1”、“r2”的关系(音程变高时)示于图23。在本实施形态中引用图23时,可在与“r1”相同位置上追加“r3”,与“r2”相同位置上追加“r4”。“r3”从“r1”向后(向图右侧)偏移1个地址,“r4”从“r2”向后(即向图右侧)偏移1个地址。
另一方面,根据提供的一对滤波器选择信息,滤波系数串选择部5a,从滤波系数串存储部6所存储的4个(一般为N个)滤波系数串中,选择互邻的2个滤波系数串。读出这些滤波系数串,向滤波运算部2a、2c传送。根据提供的一对滤波器选择信息,滤波系数串选择部5b,从滤波系数串存储部6所存储的4个(一般为N个)滤波系数串中,选择互邻的2个滤波系数串。读出这些滤波系数串,向滤波运算部2b、2d传送。
例如,N=4时,在滤波系数串存储部6中存储的是与第1实施形态相同的第1至第4滤波系数串。
这时,滤波系数串选择部5a,根据提供的滤波器选择信息,如下所述进行滤波器选择。
滤波器选择信息为“00”时,选择与“00”和“01”对应的第0和第1滤波系数串,分别转送至滤波运算部2a与2c。
滤波器选择信息为“01”时,选择与“01”和“10”对应的第1和第2滤波系数串,分别转送至滤波运算部2a与2c。
滤波器选择信息为“10”时,选择与“10”和“11”对应的第2和第3滤波系数串,分别转送至滤波运算部2a与2c。
滤波器选择信息为“11”时,选择与“11”和“00”对应的第3和第0滤波系数串,分别转送至滤波运算部2a与2c。
另一方面,滤波系数串选择部5b,根据提供的滤波器选择信息,进行滤波器选择如下。
滤波器选择信息为“00”时,选择与“00”和“01”对应的第0和第1滤波系数串,分别传送至滤波运算部2b和2d。
滤波器选择信息为“01”时,选择与“01”和“10”对应的第1和第2滤波系数串,分别传送至滤波运算部2b和2d。
滤波器选择信息为“10”时,选择与“10”和“11”对应的第2和第3滤波系数串,分别传送至滤波运算部2b和2d。
滤波器选择信息为“11”时,选择与“11”和“00”对应的第3和第0滤波系数串,分别传送至滤波运算部2b和2d。
滤波运算部2a、2b,根据存储部1输出的一对声音数据串与滤波系数选择部5a、5b输出的一对滤波系数串,进行滤波运算。滤波运算部2c、2d,根据存储部1输出的另一对声音数据串及滤波系数串选择部5a、5b输出的一对滤波系数串,进行滤波运算。各滤波运算,与第1实施形态相同。
插补部10a,根据滤波运算部2a、2c输出的声音数据Y(m)、Y(m+1/4)及读出地址产生部4a输出的插补信息(小数部分第3至第8位),用下式(7),计算插补值q(1.26×n)。插补部10b,根据滤波运算部2b、2d输出的声音数据Y(m)、Y(m+1/4)及读出地址产生部4b输出的插补信息(小数部分第3至第8位),用下式(7)计算插补值q(1.26×n)q(1.26×n)=Y(m)+(1.26×n-m)×{Y(m+1/4)-Y(m)}…(7)这里,m是1.26以下最大的(1/4)的倍数。插补系数(1.26×n-m)是小数点插入插补信息(小数部分第3至第8位)的小数部分第3位与第4位之间所得的值。
例如,t=3时,读出地址是1.26×3,即0000000000000011.11000110(参照第1实施形态),从读出地址产生部4a,向插补部10a提供该读出地址的小数部分第3至第8位“000110”,作为插补信息。从滤波运算部2a、2c,向插补部10a提供Y(3.75)、Y(4.00)。
相应地,在提供的小数部分第3至第6位“000110”中,在小数部分第3位至第4位间插入小数点。用上式(7),从由此得到的插补系数“0.00110(二进制)”与声音数据Y(3.75)、Y(4.00)计算插补值q(1.26×3)。
一般,读出地址为(K×n)时,插补部10a、10b,用下式(8),从插补系数(K×n-m)与声音数据Y(m)、Y(m+1/N)计算插补值q(K×n)。
q(K×n)=Y(m)+(K×n-m)×{Y(m+1/N)-Y(m)}…(8)通过进一步进行这种线性插补,可比第1实施形态精度更高地进行音程变换。
从插补部10a、10b以周期T依次输出的、相互偏移一定时间的一对声音数据,向交叉衰减部3提供,交叉衰减部3对该对声音数据施加交叉衰减处理。该处理与第1实施形态相同。
即,交叉衰减部3预先存储与一对经插补的声音数据相乘的一对系数,(例如,图24所示的系数)。
交叉衰减部3对输入的一对经插补的声音数据进行计数,由此检测该对经插补的声音数据是帧首部开始第n个。例如,若是第n1、n2个经插补的声音数据,则求与α=n1、n2对应的一对V(α),与各声音数据相乘,该相乘结果相加。
相加结果,即音程变换后的声音数据{q′(0),q′(K×1),q′(K×2),……},经声音数据输出端8,以周期T向音程变换装置的外部输出。
音程变换装置输出的音程变换后的声音数据{q′(0),q′(K×1),q′(K×2),……},经声音数据输入端27,再次向CD重放机输入。
图20中,经声音数据输入端27输入的音程变换后的声音数据,向重放部22提供。重放部22,根据提供的音程变换后的声音数据重放声音信号。
这样重放的声音信号,经未图示的放大器放大后,输入至扬声器,变换的声波。
(第3实施形态)第3实施形态中,省略第1实施形态1的读出地址产生部4b、滤波系数串选择部5b及滤波运算部2b且调换滤波运算部2a与交叉衰减部3的顺序。
图12是第3实施形态的音程变换装置的构成框图。
第3实施形态的音程变换装置,例如设置在图20所示的以往的CD重放机中。
图12中,第3实施形态的音程变换装置包括存储部1、滤波运算部2a、交叉衰减部3、读出地址产生部4a、滤波系数串选择部5a、滤波系数串存储部6、声音数据输入端7、声音数据输出端8及音程控制信号输入端9。
即,第3实施形态的音程变换装置,其构成是在第1实施形态的音程变换装置(参照图1)中,省略读出地址产生部4b、滤波运算部2b及滤波系数串选择部5b,再调换滤波运算部2a与交叉衰减部3的位置。
存储部1和交叉衰减部3以外的构成要素,其动作与第1实施形态相同。
图13是图12的存储部1和交叉衰减部3内部构成的示意图。
图13中,存储部1所含的缓冲区是以环形连接该存储区域头尾的环型缓冲区,具有的容量相当于图23所示的读出指针“r1”与“r2”间距离的2倍。
这里,设存储部1中的环形缓冲区的容量为4096字。从而,在存储部1中,设环形缓冲区首部为第0地址,末尾为第4096地址,则第4096地址与第0地址连续,即第4095地址的下一地址即为0地址。
在环形缓冲区中,写入指针“W”,在箭头方向以一定速度移动。“W”的速度与K无关,为每单位时间(=采样周期)仅前进1个地址。
另一方面,读出指针“r1”与“r2”保持二等分环形缓冲区的位置关系,“W”以大致K(=音程交换比)倍的速度向箭头方向移动。
这时,读出指针“r1”与“r2”之间,下式(9)的关系成立。
r2=r1+2048(0≤r1<2048),r2=r1-2048(2048≤r1<4096)…(9)从而,存储部1用上式(9),根据读出地址产生部4a输出的读出地址r1,求r2,由此,读出与第1实施形态相同的一对声音数据。
上述有2点引人注目。
第1点是,一对读出地址r1、r2之间具有上式(9)的关系,因而若r1、r2中有一个知道,存储部1即可读出与第1实施形态相同的一对声音数据。
第2点是,r1的小数部分与r2的小数部分相同,因而与第1实施形态不同,不必在r1与r2中各自选择滤波运算所用的滤波系数串。进而,如果调换滤波运算与交叉衰减的进行顺序,也不必对r1与r2各自进行滤波运算。
根据上述两点,在第3实施形态的音程变换装置中,省略第1实施形态的音程变换装置(参照图1)中的读出地址产生部4b、滤波运算部2b与滤波系数串选择部5b,再互换滤波运算部2a与交叉衰减部3的位置。
在环形缓冲区中,写入指针“W”,把读出指针“r1”与“r2”之间的圆弧(长2048字)内分为a1与a2。
即,a1、a2表示写入地址W与读出地址r1、r2的差,满足下式(10)。
a1+a2=2048…(10)这时,交叉衰减部3预存与自存储部1读出的一对声音数据相乘的一对交叉衰减系数V(a)、V(a2)。
图14例示与自存储部1读出的一对声音数据相乘的一对交叉衰减系数V(a1)、V(a2)。
a1与a2具有上式(10)的关系,因而a1、a2只要其中1个知道就可以。于是,如图14所示,交叉衰减部3预存a1(或a2)为0~2048时的V(a1)、V(a2)。然后,由读出地址产生部4a输出的读出地址r1与写入地址W求a1,选出与之对应的V(a1)、V(a2),与从存储部1读出的一对声音数据相乘。
对上述构成的音程变换装置,说明其动作如下。与第1实施形态的音程变换装置相同的动作省略或只作简单说明,仅详细说明不同的动作。
图20中,从CD20读出的声音数据与表示音程变换比K的音程控制信号,分别经声音数据输入端7与音程控制信号输入端9,输入至音程变换装置。
输入的声音数据由存储部1暂存。存储部1如何存储声音数据示于图22(a)。
另一方面,输入的音程控制信号,向读出地址产生部4a提供。根据提供的音程控制信号,读出地址产生部4a以周期T产生读出地址。该读出地址与第1实施形态相同。
如此产生的读出地址,向存储部1和滤波系数串选择部5a提供。
即,读出地址产生部4a产生的读出地址的整数部分位,作为有效读出地址,向存储部1提供,小数部分第1和第2位,作为滤波器选择信息,向滤波系数串选择部5a提供。
根据提供的整数部分位(有效读出地址r1),存储部1从缓冲区读出声音数据。
即,根据r1,用上式(9)计算另一地址r2,从该r1、r2地址读出一对声音数据。
图15是图12的存储部1的环形缓冲区中输入声音数据写入位置(写入地址指针“W”)与接收读出地址产生部4a输出的地址,读出一对声音数据的2个读出位置(读出地址指针“r1”、“r2”)关系(音程变高时)的示意图。
图15中,“W”、“r1”、“r1”,随时间以(a)、(b)、……(1)的方式移动。(1)与(a)状态相同,连续不断地重复(a)、(b)、……(1)的过程。
经过(a)~(1),“r1”与“r2”保持二等分环形缓冲区的位置关系。“W”以一定速度向箭头方向移动,“r1”和“r2”与“W”同方向且移动得比“W”快。a1、a2表示“W”与“r1”、“r2”之间的距离。这些情况上文已参照图13进行过说明。
(a)(或(1))表示“r2”超过“W”的瞬间。该瞬间,从“r2”位置读出的声音数据变得不连续。
(g)表示“r1”超过“W”的瞬间。该瞬间,从“r1”位置读出的声音数据变得不连续。
(d)、“j”表示a1=a2的瞬间。
在图12中,交叉衰减部3,把各交叉衰减系数与从存储部1以周期T读出的一对声音数据相乘,所得到的2个乘法结果相加。
与从环形缓冲区上的“r1”、“r2”读出的声音数据相乘的交叉衰减系数,分别是图14中的V(a1)、V(a2)。
比较图14与图15可知,从“r2”位置读出的声音数据变得不连续的瞬间(即瞬间(a)),V(a2)=0。同样,从“r1”位置读出的声音数据不连续的瞬间(即瞬间(g)),V(a1)=0。因此,在交叉衰减部3的输出信号中不出现不连续的值。
另一方面,根据提供的一对滤波器选择信息,滤波系数串选择部5a,从滤波系数串存储部6所存储的4个(一般为N个)滤波系数串中选择某一滤波系数串。读出该滤波系数串,传送至滤波运算部2a。
滤波系数串存储部6存储的4个滤波系数串,与第1实施形态相同,滤波系数串选择部5a也与第1实施形态同样,选择某一滤波系数串。
滤波运算部2a,根据存储部1输出的声音数据与滤波系数串选择部5a输出的滤波系数串,进行滤波运算,计算必要的声音数据{Y′(0),Y′(K×1),Y′(K×2),……}。
音程变换装置输出的音程变换后的声音数据{Y′(0),Y′(K×1),Y′(K×2),……},经声音数据输入端27,再次输入CD重放机。
图20中,经声音数据输入端27输入的音程变换后的声音数据,向重放部22提供。重放部22由提供的经音程变换后的声音数据重放声音信号。
这样重放的声音信号,经未图示的放大器放大后,输入扬声器,变换成声波。由音程变换后的声音数据重放的声音信号与图2(c)相同。
权利要求
1.一种用于不改变重放时间,把声音信号的音程变换成任意音程的音程变换装置,其特征在于,它包括声音数据输入端,依次输入采样所述声音信号所得的离散声音数据;音程控制信号输入端,输入表示音程变换比的音程控制信号;一对读出地址产生部,根据经所述音程控制信号输入端输入的音程控制信号,产生相互偏移一定值的读出地址;含缓冲区的存储部,经所述声音数据输入端输入的声音数据依次写入该缓冲区,同时,根据所述各读出地址产生部产生的读出地址的整数部分位,从该缓冲区读出一对声音数据串;滤波系数串存储部,以预定顺序,存储与对N倍升频采样所用的低通滤波器进行多相分解所得的N个副滤波器对应的N个滤波系数串,其中,N为2的乘幂;一对滤波系数串选择部,根据各所述读出地址产生部产生的读出地址的小数部分第1至第log2N位,选择所述滤波系数串存储部所存储的N个滤波系数串中某一滤波系数串;一对滤波运算部,接收所述存储部读出的一对声音数据串,对该声音数据串,用各所述滤波系数串选择部选择的滤波系数串进行滤波运算;交叉衰减部,接收各所述滤波运算部输出的一对声音数据,把交叉衰减系数与该对声音数据相乘然后相加。
2.如权利要求1所述的音程变换装置,其特征在于,所述读出地址产生部包含累加所述音程变换比的累加器。
3.如权利要求1所述的音程变换装置,其特征在于,所述各读出地址产生部包括累加预定值的累加器及把所述累加器输出与所述音程变换比相乘的乘法器。
4.如权利要求1所述的音程变换装置,其特征在于,还包括另一对滤波运算部,所述存储部从所述缓冲区读出一对声音数据串时,还从该缓冲区读出与该对声音数据串相同或各偏移1个地址的另一对声音数据串;所述一对滤波系数串选择部,除根据各所述读出地址产生部产生的读出地址的小数部分的第1至第(log2N)位,选择所述滤波系数存储部所存储的N个滤波系数串中的某一滤波系数串外,还选择与该滤波系数串相邻的另外滤波系数串;所述存储部接收读出的另一对声音数据串,对该另一对声音数据串,用各所述滤波系数串选择部选择的另一滤波系数串进行滤波运算;一对插补部,接收所述一对滤波运算部输出的一对声音数据和所述另一对滤波运算部输出的一对声音数据,以各所述读出地址产生部产生的读出地址的小数部分第{(log2N)+1}位以下的位作为插补系数,求线性插补值,由此,产生在互邻的2个声音数据间进行插补的一对插补数据;所述一对插补部输出的一对声音数据,向所述交叉衰减部提供。
5.如权利要求4所述的音程变换装置,其特征在于,所述各读出地址产生部包含累加所述音程变换比的累加器。
6.如权利要求4所述的音程变换装置,其特征在于,所述各读出地址产生部包含累加预定值的累加器及把所述累加器输出与所述音程变换比相乘的乘法器。
7.一种用于不改变重放时间,把声音信号的音程变换成任意音程的音程变换装置,其特征在于,它包括声音数据输入端,依次输入采样所述声音信号所得的离散声音数据;音程控制信号输入端,输入表示音程变换比的音程控制信号;一个读出地址产生部,根据经所述音程控制信号输入端输入的音程控制信号,产生读出地址;含缓冲区的存储部,经所述声音数据输入端输入的声音数据依次写入该缓冲区,同时,根据所述读出地址产生部产生的读出地址的整数部分位,从该缓冲区读出一对相互偏移一定数量地址的声音数据串;交叉衰减部,接收所述存储部读出的一对声音数据串,构成该对声音数据串的各对声音数据各乘交叉衰减系数,然后相加;滤波系数串存储部,以预定顺序,存储与对N倍升频采样所用的低通滤波器进行多相分解所得的N个副滤波器对应的N个滤波系数串,其中,N为2的乘幂;一个滤波系数串选择部,根据所述读出地址产生部产生的读出地址的小数部分第1至第(log2N)位,选择所述滤波系数串存储部所存N个滤波系数串中的某一滤波系数串;一个滤波运算部,接收所述交叉衰减部输出的声音数据串,对该声音数据串,用所述滤波系数串选择部选择的滤波系数串进行滤波运算。
8.如权利要求7所述的音程变换装置,其特征在于,所述读出地址产生部包含累加所述音程变换比的累加器。
9.如权利要求7所述的音程变换装置,其特征在于,所述各读出地址产生部包括累加预定值的累加器及把所述累加器输出与所述音程变换比相乘的乘法器。
10.如权利要求7所述的音程变换装置,其特征在于,所述缓冲区中设置表示经所述声音数据输入端输入的声音数据写入位置的写入指针及表示读出的所述一对声音数据串各首部位置的一对读出指针;所述缓冲区是环形缓冲区,其首部与末尾环形连接,具有相当于所述一对读出指针间距离2倍的容量;所述存储部把所述一对读出指针中的一个及所述写入指针间的距离通知所述交叉衰减部;所述交叉衰减部,把与所述存储部通知的距离对应的交叉衰减系数与构成所述一对声音数据串的各对声音数据相乘。
11.如权利要求10所述的音程变换装置,其特征在于,所述读出地址产生部包含累加所述音程变换比的累加器。
12.如权利要求10所述的音程变换装置,其特征在于,所述各读出地址产生部包括累加预定值的累加器及把所述累加器输出与所述音程变换比相乘的乘法器。
全文摘要
本发明提供一种可不改变重放时间而把声音信号的音程高精度变换成任意音程且可充分减小高频失真的音程变换装置。在滤波系数串存储部(6)中,存储与对4倍升频采样所用的低通滤波器进行多相分解得到的4个副滤波器对应的4个滤波系数串。滤波系数串选择部(5a、5b),根据读出地址产生部(4a,4b)产生的读出地址的小数部分第1和第2位,选择滤波系数存储部(6)存储的4个滤波系数串中某一滤波系数串。滤波运算部(2a,2b)接收一对声音数据串,用滤波系数串选择部(5a,5b)选择的滤波系数串进行滤波运算。
文档编号G11B20/02GK1302058SQ0013705
公开日2001年7月4日 申请日期2000年12月28日 优先权日1999年12月28日
发明者熊本義则, 加藤直行 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1