JP4416244B2 - 音程変換装置 - Google Patents
音程変換装置 Download PDFInfo
- Publication number
- JP4416244B2 JP4416244B2 JP37367499A JP37367499A JP4416244B2 JP 4416244 B2 JP4416244 B2 JP 4416244B2 JP 37367499 A JP37367499 A JP 37367499A JP 37367499 A JP37367499 A JP 37367499A JP 4416244 B2 JP4416244 B2 JP 4416244B2
- Authority
- JP
- Japan
- Prior art keywords
- audio data
- pair
- pitch
- filter
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H5/00—Instruments in which the tones are generated by means of electronic generators
- G10H5/02—Instruments in which the tones are generated by means of electronic generators using generation of basic tones
- G10H5/06—Instruments in which the tones are generated by means of electronic generators using generation of basic tones tones generated by frequency multiplication or division of a basic tone
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/18—Selecting circuits
- G10H1/20—Selecting circuits for transposition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/02—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
- G10H1/06—Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour
- G10H1/12—Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour by filtering complex waveforms
- G10H1/125—Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour by filtering complex waveforms using a digital filter
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/025—Envelope processing of music signals in, e.g. time domain, transform domain or cepstrum domain
- G10H2250/035—Crossfade, i.e. time domain amplitude envelope control of the transition between musical sounds or melodies, obtained for musical purposes, e.g. for ADSR tone generation, articulations, medley, remix
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/541—Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
- G10H2250/621—Waveform interpolation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/541—Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
- G10H2250/631—Waveform resampling, i.e. sample rate conversion or sample depth conversion
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S84/00—Music
- Y10S84/09—Filtering
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Signal Processing Not Specific To The Method Of Recording And Reproducing (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
- Stereophonic System (AREA)
Description
【発明の属する技術分野】
本発明は、音程変換装置に関し、より特定的には、音響信号の音程を任意の音程に変換するための音程変換装置に関する。
【0002】
【従来の技術】
音程は、2つの音の高さの関係を示す量であり、一般に、それら2つの音の周波数の比によって表現される。
音程変換装置とは、音響信号の音程を所望の音程に変換するための装置をいい、具体例としては、カラオケ用のCD(コンパクト・ディスク)再生機等に設けられるキーコントローラがよく知られている。
【0003】
図16は、音響信号の音程を所望の音程に変換する原理を説明するための図である。
図16に示すように、元の音響信号(a)を時間軸に沿って圧縮すれば、周波数が上昇して、より高い音程の音響信号(b)が得られ、伸長すれば、周波数が下降して、より低い音程の音響信号(c)が得られる。
例えば、音響信号を時間軸に沿って0.5倍に圧縮すれば、周波数が2倍となるので、その音響信号は、音程が1オクターブ上昇する。また、音響信号を時間軸に沿って2倍に伸長すれば、周波数が0.5倍となるので、その音響信号は、音程が1オクターブ下降する。
一般に、音響信号を時間軸に沿ってk-1倍(ただし0<k;以下同様)に圧縮/伸長(1<kの場合は圧縮,0<k<1の場合は伸長)すれば、周波数がk倍となるので、その音響信号は、音程が(log2 k)オクターブ変化する。
以下では、上記のk、すなわち元の音響信号の音程と、変換後の音響信号の音程との比を「音程変換比」と呼ぶ。
【0004】
このように、音響信号を時間軸に沿ってk-1倍に圧縮/伸長することによって、その音響信号の周波数を元のk倍に変換することができる。ところが、単にそのような圧縮/伸長を行うだけでは、音響信号の時間長(すなわち再生時間)が元のk-1倍に変化する。そこで、再生時間を変化させないように、いわゆる「クロスフェード」がさらに行われる。
【0005】
図17は、互いに連続しない2つの音声フレームを滑らかに接続するクロスフェード処理の原理を説明するための図である。
図17に示すように、音響信号においてフレームBを切り取り、フレームAとフレームCとを接続する場合を考える。この場合、フレームAとフレームCとをそのまま接続したのでは、両者の接点で信号値が不連続となって、信号再生時にノイズが発生することがある。
そこで、フレームAをフェードアウトし、かつフレームCをフェードインして両者を接続する。そうすれば、両者の接点で信号値が連続となるので、信号再生時にノイズが発生することはなくなる。
しかし一方、フレームAとフレームCとをクロスフェードによって接続すれば、両者をそのまま接続するのと比べて再生時間が短くなる。よって、時間軸に沿った圧縮/伸長とクロスフェードとを組み合わせて行えば、再生時間は変えずに音響信号の音程を変換することが可能となる。
【0006】
図18は、時間軸に沿った圧縮/伸長とクロスフェードとを組み合わせて行うこと(以下、クロスフェード圧縮伸長)によって、再生時間は変えずに音響信号の音程を変換する原理を説明するための図である。図18(a)には、音程を高く変換する(すなわち時間軸圧縮する)場合が、(b)には、音程を低く変換する(すなわち時間軸伸長する)場合がそれぞれ示されている。
図18(a),(b)において、最初、時間軸圧縮/伸長後のフレーム(以下、出力フレーム)の時間長、つまり出力フレーム長が決められ、次いで、音程変換率に応じた入力フレーム長が決められる。ここでは、音程をk倍に変換するものとして、出力フレーム長を2、入力フレーム長を2kと決める。
【0007】
次に、元信号から、フレーム長が2kの入力フレームが、その一部分をオーバーラップさせるようにして、順次切り取られる。オーバーラップされる部分の長さは(2k−1)である。図18(a),(b)では、A1およびB2,A2およびB3,A3およびB4がそれぞれ入力フレームである。
【0008】
次に、切り取られた各入力フレームが、フレーム先頭を基準に(フレーム最後尾や中間が基準でもよい)、時間軸に沿って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が互いにオーバーラップしている。
【0009】
次に、各出力フレームがクロスフェードによって互いに接続される。クロスフェードは、互いにオーバーラップしている領域の全体に対して行っても、その領域の一部に対して行ってもよい。
図18(a)には、互いにオーバーラップしているB2HとA2H、B3HとA3Hの全体に対してクロスフェードを行った場合と、その約25%に対してクロスフェードを行った場合とが示されている。図18(b)には、互いにオーバーラップしているB2LとA2L、B3LとA3Lの全体(すなわち100%)に対してクロスフェードを行った場合と、約25%に対してクロスフェードを行った場合とが示されている。
これにより、再生時間は変えずに、音響信号の周波数をk倍に変換することができる。
【0010】
さて、以下、離散的な音声データに対し、クロスフェード圧縮伸長によって音程変換を行う従来の音程変換装置について説明する。
図19は、従来の音程変換装置の構成の一例を示すブロック図、図20は、図19の音程変換装置が設けられる従来のCD再生機の構成の一例を示すブロック図である。
図20において、CD20には、音響信号を所定の周期(これをTとする)でサンプリングして得られた離散的な音声データ{x(0),x(1),x(2),x(3),…}が予め記録されている。CD再生機は、読み出し部21と、再生部22と、音程変換比設定部23と、音程制御信号生成部24と、音声データ出力端子25と、音程制御信号出力端子26と、音声データ入力端子27とを備えている。
【0011】
音程変換比設定部23は、予め決められた複数の音程変換比の中からいずれかを選択するためのセレクタや、任意の音程変換比を指定するための調節つまみ等を含み、ユーザによって選択あるいは任意に指定された音程変換比を設定する。音程制御信号生成部24は、音程変換比設定部23によって設定された音程変換比を示す音程制御信号を生成する。音程制御信号出力端子26からは、音程制御信号生成部24によって生成された音程制御信号が出力される。
読み出し部21は、CD20から上記の音声データを順次読み出す。音声データ出力端子25からは、読み出し部21によって読み出された音声データが、周期Tで順次出力される。
【0012】
音程変換装置は、音声データ出力端子25から順次出力される音声データ{x(0),x(1),x(2),x(3),…}と、音程制御信号出力端子26から出力される音程制御信号とを受け、音程変換後の音声データ{out(0),out(1),out(2),out(3),…}を、周期Tで順次出力する。
【0013】
音声データ入力端子27からは、音程変換装置から順次出力される、音程変換後の音声データが入力される。再生部22は、音声データ入力端子27から入力される音程変換後の音声データ{out(0),out(1),out(2),out(3),…}を受け、音響信号を再生する。なお、再生部22によって再生された音響信号は、図示しないアンプを通じて増幅された後、スピーカへと入力される。
【0014】
図19において、従来の音程変換装置は、メモリ部1と、1対の読み出しアドレス発生部4a,4bと、一対の補間部10a,10bと、クロスフェード部3と、音声データ入力端子7と、音声データ出力端子8と、音程制御信号入力端子9とを備えている。
【0015】
音声データ入力端子7へは、CD再生機の音声データ出力端子25から出力される音声データ{x(0),x(1),x(2),x(3),…}が入力され、メモリ部1は、それら音声データを一時記憶する。
音程制御信号入力端子9へは、音程制御信号出力端子26から出力される音程制御信号が入力され、読み出しアドレス発生部4a,4bは、音程制御信号に基づいて、メモリ部1が一時記憶している音声データを読み出すための読み出しアドレスを発生する。すなわち、音程制御信号の示す音程変換比をアドレス増分値として累積加算し、その累積加算結果を、読み出しアドレスとして出力する。
【0016】
図21は、図19の読み出しアドレス発生部4a,4bの構成の一例を示すブロック図である。
図21において、読み出しアドレス発生部4a,4bは、アドレス増分値(=k)を累積加算するアキュームレータ16(ALU)を含む。なお、このような構成を有するアドレス発生部は、例えば、特開平9−212193号公報に記載されている。
【0017】
従って、アドレス発生部は、音程変換比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,…}を出力する。
【0018】
ここで補足すれば、読み出しアドレス発生部4aと、読み出しアドレス発生部4bとでは、異なる初期値が設定されており、互いに一定値ずれたアドレスが発生される。
例えば、アドレス発生部の一方から{0,1,2,3,4,…}が発生されるとき、他方からは、{4,5,6,7,8,…}が発生される。すなわち、ある時刻に一対の読み出しアドレス(0,4)が発生され、その時刻から時間T経過後に(1,5)が発生され、さらに時間T経過後に(2,6)が発生され、…のように発生される。
なお、2つの読み出しアドレスのずれは、出力フレーム長や音程変換比等(図18参照)に基づいて決められる。その具体的な決め方については、本発明の趣旨と直接には関係がないので、説明を省略する。
【0019】
再び図19において、メモリ部1は、読み出しアドレス発生部4a,4bが発生する読み出しアドレスに基づいて、先に記憶した音声データの読み出しを行う。
例えば、音程変換比が2倍の場合、読み出しアドレス発生部4aからは、読み出しアドレス{0,2,4,…}が発生され、メモリ部1は、音声データ{x(0),x(2),x(4),…}を周期Tで順次読み出すので、(1/2)倍の時間軸圧縮がなされたことになる。
【0020】
すなわち、従来の音程変換装置では、メモリ部1および読み出しアドレス発生部4a,4bによって、前述のような時間軸圧縮伸長を実現している。
ただし、例えば、音程変換比が1.26倍の場合、読み出しアドレス{0,1.26×1,1.26×2,…}が発生されるが、x(1.26×1)や、x(1.26×2)のような音声データは、メモリ部1には存在しない。よって、任意の音程変換比を実現するには、メモリ部1に存在する音声データから補間値を算出する補間部10a,10bがさらに必要となる。
【0021】
補間部10aは、読み出しアドレス発生部4aが発生する読み出しアドレスと、そのアドレスに基づいてメモリ部1から読み出される音声データとに基づいて、必要な補間データを生成する。補間部10bは、読み出しアドレス発生部4bが発生する読み出しアドレスと、そのアドレスに基づいてメモリ部1から読み出される音声データとに基づいて、必要な補間データを生成する(なお、音程変換比が整数、すなわち有効な小数部を持たない場合は、補間データを生成する必要はない)。
このような補間部10a,10bがさらに加わることによって、音程変換比が小数部を持つ場合でも時間軸圧縮伸長を行える、つまり音響信号の音程を任意の音程に変換できるようになる。
【0022】
クロスフェード部3は、補間部10aから出力される補間済み音声データと、補間部10bから出力される補間済み音声データを受け、それら一対のデータに対してクロスフェードを行う。すなわち、各データにそれぞれクロスフェード係数(後述)を乗じた後、互いに加算する。
このようなクロスフェード部3がさらに加わることによって、再生時間は変えずに、音響信号の音程を任意の音程に変換できるようになる。
音声データ出力端子8からは、クロスフェード圧縮伸長が行われた音声データ、つまり音程変換後の音声データが出力される。
【0023】
以上のように構成されたCD再生機、およびそこに設けられる従来の音程変換装置の動作について、以下に説明する。
図20において、ユーザは、CD再生機に対し、最初、図示しない調節つまみ等を通じて所望の音程変換比kを指定し、次いで、図示しないPLAYボタンを押す。
応じて、CD再生機では、最初、音程変換比設定部23が音程変換比kを設定する。次に、読み出し部21は、CD20から周期Tで音声データを読み出す処理を開始し、また、音程変換比設定部23は、音程変換比kを示す音程制御信号を生成する処理を開始する。なお、上記のようにして設定した音程変換比kを、再生開始後、別の値に変更することもできる。
こうして読み出された音声データと、生成された音程制御信号とが、それぞれ音声データ入力端子7、音程制御信号入力端子9を通じて従来の音程変換装置に入力される。
【0024】
図19において、入力された音声データは、メモリ部1によって一時記憶される。
図22は、図19の音程変換装置が行う音程変換処理を視覚的に示した図である。
図22(a)は、図11のメモリ部1が音声データをどのように記憶するかを視覚的に示した図である。
図22(a)において、x(0),x(1),x(2),…が音声データである。横軸上の目盛りは、サンプリング周期(=T)を単位とする実時間(=t)であり、かつメモリ部1内バッファ上のアドレス(番地)を表している。各音声データの信号値は、横軸からの距離によって表現されている。
図22(a)に示すように、メモリ部1は、入力される音声データを順番に、すなわちx(0)を0番地に、x(1)を1番地に、x(2)を2番地に、…のように記憶していく。
【0025】
一方、入力された音程制御信号は、2分岐されて、読み出しアドレス発生部4a,4bに与えられる。読み出しアドレス発生部4a,4bは、与えられた音程制御信号に基づいて、互いに一定値ずれた読み出しアドレスを周期Tで発生する。
こうして発生された一対の読み出しアドレスは、メモリ部1および補間部10a,10bへと与えられる。メモリ部1は、与えられた一対の読み出しアドレスに基づいて、先に記憶した音声データ(図22(a)参照)の読み出しを行う。
【0026】
図23は、図19のメモリ部1のバッファ上において、入力されてくる音声データの書き込みが行われる位置と、一対の読み出しアドレス発生部4a,4bからのアドレスを受けて、先に書き込まれた音声データの読み出しが行われる2つの位置との関係(ただし、音程を高く変換する場合)を示した図である。
図23において、「w」は、音声データの書き込みが行われるバッファ上の位置を指し示す書き込みポインタである。一方、「r1」は、アドレス発生部からのアドレスと対応するメモリ上の位置、すなわち、そのアドレスを受けて音声データの読み出しが行われるバッファ上の位置を指す読み出しポインタである。また、「r2」は、アドレス発生部からのアドレスと対応するメモリ上の位置、すなわち、そのアドレスを受けて音声データの読み出しが行われるバッファ上の位置を指し示す読み出しポインタである。
ここで、メモリ部1が、入力される音声データをバッファにどのように書き込み、その後、与えられた一対の読み出しアドレスに基づいて、バッファから音声データをどのように読み出すかを、図23を用いて説明する。
【0027】
最初、図23の上段に示されるように、メモリ上において、「r1」は、「w」から所定の距離(これをdとする)だけ後方(ここでは、ポインタの進行方向を前方とする)にあり、「r2」は、「r1」から距離dだけ後方にある。書き込み/読み出し開始後、「r1」は、「w」よりも速く前進し、「r2」は、「r1」と同じ速さで前進する。そして、「r1」が「w」に追い付くと、「r1」は、「r2」から距離dだけ後方へとジャンプする。
なお、この期間における「r1」および「r2」の軌跡は、図18(a)に示された領域B2およびA2に相当する。
【0028】
「r1」のジャンプ直後、図23の中段に示されるように、「r2」は、「w」から距離dだけ後方にあり、「r1」は、「r2」から距離dだけ後方にある。引き続き、「r2」は、「w」よりも速く前進し、「r1」は、「r2」と同じ速さで前進する。そして、「r2」が「w」に追い付くと、「r2」は、「r1」から距離dだけ後方へとジャンプする。
なお、この期間における「r2」および「r1」の軌跡は、図18(a)に示された領域B3およびA3に相当する。
【0029】
「r2」のジャンプ直後、図23の下段に示されるように、「r1」は、「w」から距離dだけ後方にあり、「r2」は、「r1」から距離dだけ後方にある。以降、「w」、「r1」および「r2」は、上記と同様の移動を繰り返す。
【0030】
再び図19において、アドレス発生部によって発生された読み出しアドレスが整数でない場合には、上記のような書き込み/読み出し、すなわち時間軸圧縮伸長処理と平行して、メモリ部1および補間部10a,10bによって、次のような補間処理が実行される。
すなわち、メモリ部1は、読み出しアドレスが整数である(つまり有効な小数部を持たない)場合、その読み出しアドレスと一致する番地に格納された音声データを読み出すが、読み出しアドレスが有効な小数部を持つ場合、その読み出しアドレスに隣接する番地(すなわち、その読み出しアドレスの直前および直後の番地)に格納された2つの音声データを読み出す。
従って、例えば、読み出しアドレスが0の場合は、1つの音声データx(0)が読み出されるが、読み出しアドレスが0.5の場合は、2つの音声データx(0)およびx(1)が読み出される。同様に、読み出しアドレスが1.26の場合は、2つの音声データx(1)およびx(2)が読み出される。
【0031】
読み出しアドレス発生部4aが発生したアドレスに基づいて読み出された音声データは、補間部10aへと与えられ、読み出しアドレス発生部4bが発生したアドレスに基づいて読み出された音声データは、補間部10bへと与えられる。
補間部10a,10bは、与えられた音声データおよび読み出しアドレスに基づいて、必要な補間値を算出し、補間済み音声データを出力する。
すなわち、補間部10a,10bは、読み出しアドレスが小数部を持たない場合には、メモリ部1から与えられる1つの音声データをそのまま補間済み音声データとして出力するが、小数部を持つ場合には、その小数部の値と、メモリ部1から与えられる2つの音声データの信号値とに基づいて補間値を算出し、その補間値を補間済み音声データとして出力する。
【0032】
補間値の算出は、典型的には、いわゆる「直線補間」によって行われる。
図22(b)は、補間部10a,10bにおいて行われる直線補間(音程変換比kが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)
【0033】
同様に、読み出しアドレスが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)
【0034】
一般には、読み出しアドレスが(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)
【0035】
補間部10a,10bから周期Tで順次出力される一対の音声データは、クロスフェード部3へと与えられ、クロスフェード部3は、これらの音声データに対し、クロスフェード処理を施す。
すなわち、クロスフェード部3は、一対の音声データに乗じる一対のクロスフェード係数を予め記憶している。
【0036】
図24は、図19のクロスフェード部3が一対の音声データに乗じる一対のクロスフェード係数の一例を示している。
図24において、αは、音声データがフレーム先頭から何番目のものかを表し、V(α)は、その音声データ、すなわちフレーム先頭からα番目の音声データに乗じられるクロスフェード係数である。1フレームに含まれる音声データの個数をα0 とすると、α=0のとき、V(α)=0である。また、α=α0 /2のときV(α)=1である。
【0037】
クロスフェード部3は、入力される一対の補間済み音声データを計数することによって、それら一対の補間済み音声データがフレーム先頭から何番目のものかを検出する。例えば、n1 ,n2 番目の補間済み音声データであれば、α=n1 ,n2と対応する一対のV(α)を求めて各々の音声データに乗算し、それらの乗算結果を相互に加算する。
そして、その加算結果、すなわち音程変換後の音声データ{y’(0),y’(k×1),y’(k×2),…}が、音声データ出力端子8を通じ、周期Tで音程変換装置の外部へと出力される。
【0038】
音程変換装置から出力された音程変換後の音声データ{y’(0),y’(k×1),y’(k×2),…}は、音声データ入力端子27を通じ、再びCD再生機へと入力される。
図20において、音声データ入力端子27を通じて入力された音程変換後の音声データは、再生部22へと与えられる。再生部22は、与えられた音程変換後の音声データから音響信号を再生する。
こうして再生された音響信号は、図示しないアンプを通じて増幅された後、スピーカへと入力され、そこで音波に変換される。
【0039】
図22(c)は、音程変換後の音声データから再生される音響信号を視覚的に示した図である。
図22(c)において、{out(0),out(1),out(2),…}が、音程変換後の音声データ{y’(0),y’(k×1),y’(k×2),…}と対応する音響信号であり、横軸上の目盛りは、周期Tを単位とする実時間tを表している。
【0040】
以上のように、従来の音程変換装置では、クロスフェード圧縮伸長によって、再生時間は変えずに音響信号の音程を変換することができる。
しかし、圧縮/伸長時に直線補間を行っているので、低域ではよいが、高域において、理想値と補間値との間のずれが大きく、信号に歪みが生じる問題点を有する。
そこで、高域での信号の歪みを小さくするために、音声データのサンプリング周波数(=T-1)をより高いサンプリング周波数(=N×T-1;Nは2のべき乗)に変換するオーバーサンプリングを行うことが考えられている(このNを「オーバーサンプリング比」と呼ぶ)。
【0041】
図25は、別の従来の音程変換装置の構成を示すブロック図である。図25の音程変換装置は、図19の音程変換装置と同様、例えば図20のCD再生機に設けられる。
図25において、別の従来の音程変換装置は、メモリ部1と、1対の読み出しアドレス発生部4a,4bと、一対の補間部10a,10bと、クロスフェード部3と、音声データ入力端子7と、音声データ出力端子8と、音程制御信号入力端子9と、オーバーサンプリング部11と、ダウンサンプリング部12とを備えている。
すなわち、図25の音程変換装置は、図19の音程変換装置に、オーバーサンプリング部11およびダウンサンプリング部12を追加したものである。
【0042】
オーバーサンプリング部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)×T}でフィルタ演算を行い、音声データ{x’(0),x’(0.5),x’(1),x’(1.5),x’(2),x’(2.5),…}を算出する。
【0043】
ダウンサンプリング部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”(k×2.5),…}を算出する。次に、音声データ{y”(0),y”(k×0.5),y”(k×1),y”(k×1.5),y”(k×2),y”(k×2.5),…}から{y”(k×0.5),y”(k×1.5),y”(k×2.5),…}を間引く。
【0044】
オーバーサンプリング部11およびダウンサンプリング部12以外の各構成要素は、基本的には、図19の音程変換装置のものと同様の動作を行う。異なるのは、動作周期が半分、つまり{(1/2)×T}になる点と、メモリ部1のバッファ容量が2倍必要となる点である。一般に、オーバーサンプリング比がN倍の場合、動作周期が{N-1×T}になり、メモリ部1のバッファ容量はN倍必要となる。
【0045】
図25の音程変換装置の動作が図19の音程変換装置の動作と異なるのは、次の2つの点である。
第1は、音程変換処理に加え、オーバーサンプリングのための処理がさらに行われる点である。すなわち、音程変換前にインターポレーションおよびフィルタ演算が行われ、音程変換後にフィルタ演算およびデシメーションが行われる。
第2は、オーバーサンプリングによって音声データの個数が増えるので、音程変換処理の単位時間当たりの演算量が増加する点である。すなわち、オーバーサンプリング比がN倍の場合、補間部10a,10bやクロスフェード部3の動作周期は{N-1×T}となる。
【0046】
図25の音程変換装置から出力される音声データが図19の音程変換装置から出力される音声データと異なるのは、次の点である。
図26は、図25の音程変換装置が行う音程変換処理を視覚的に示した図である。
すなわち、図26を図22と比べればわかるように、2倍オーバーサンプリングによって音声データと次の音声データとの時間間隔が半分に狭まる(一般に、オーバーサンプリング比がN倍の場合、N-1倍に狭まる)ので、読み出しアドレスが小数部を持つときに行われる補間値算出において、その読み出しアドレスにより近接したアドレスの音声データが用いられることになり、その結果、真の値により近い補間値が得られる点である。
従って、図15の音程変換装置(の音声データ出力端子8)から出力される音声データ{y”(0),y”(k×1),y”(k×2),…}は、図19の音程変換装置(の音声データ出力端子8)から出力される音声データ{y(0),y(k×1),y(k×2),…}と比べ、高域での信号の歪みが小さくなっている。そして、オーバーサンプリング比が大きければ大きいほど、高域での信号の歪みは小さくなる。
【0047】
【発明が解決しようとする課題】
以上のように、従来の音程変換装置は、クロスフェード圧縮伸長の原理に基づいて動作し、かつ音程変換比が小数部を持つ場合には直線補間を行うので、再生時間を変えずに、音響信号の音程を任意の音程に高い精度で変換することができる。しかし、直線補間による補間値は、低域はよいが、高域において、真の値とのずれが大きい。そのため、従来の音程変換装置は、高域における音響信号の歪み(以下、「高域歪み」と呼ぶ)が大きい問題点を有していた。。
そこで、従来の音程変換装置において、さらにオーバーサンプリングを行うことが考えられた。それによって、直線補間による補間値と真の値とのずれが小さくなるので、高域歪みを低減できるからである。この高域歪み低減効果は、オーバーサンプリング比が大きいほど顕著になる。
しかしながら、そのような別の従来の程変換装置には、オーバーサンプリング部11だけでなくダウンサンプリング部12も追加されるので、装置の規模が大幅に大きくなる問題点があった。
【0048】
また、上記別の従来の程変換装置では、N倍オーバーサンプリングを行う場合、オーバーサンプリング部11およびダウンサンプリング部12において、フィルタ演算動作を周期{T×N-1}で実行しなければならない。そして、N倍オーバーサンプリングの結果、音声データの個数が(オーバーサンプリングを行わない場合の)N倍となるので、メモリ部1のバッファ容量をN倍にしなければならない上、クロスフェード部3や補間部10a,10bも周期{T×N-1}で動作する必要がある。つまり、オーバーサンプリング比が大きくなるにつれ、メモリ部1内のバッファを大容量化し、かつオーバーサンプリング部11のローパスフィルタ14aや、ダウンサンプリング部12のローパスフィルタ14b、補間部10a,10b、クロスフェード部3等を高速化しなければならないので、装置の価格が急激に高くなる問題点があった。
【0049】
それゆえに、本発明の目的は、再生時間を変えずに音響信号の音程を任意の音程に高い精度で変換することができ、しかも、大規模化も高速化も伴わずに高域歪みを十分低減できるような音程変換装置を提供することである。
【0050】
【課題を解決するための手段および発明の効果】
第1の発明は、再生時間を変えずに音響信号の音程を任意の音程に変換するための音程変換装置であって、
音響信号をサンプリングして得られた離散的な音声データが順次的に入力される音声データ入力端子、
音程変換比を示す音程制御信号が入力される音程制御信号入力端子、
音程制御信号入力端子を通じて入力される音程制御信号に基づいて、互いに一定値ずれた読み出しアドレスを発生する一対の読み出しアドレス発生部、
バッファを含み、音声データ入力端子を通じて入力される音声データを当該バッファに順番に書き込むと共に、各読み出しアドレス発生部が発生した読み出しアドレスの整数部ビットに基づいて、一対の音声データ列を当該バッファから読み出すメモリ部、
N倍オーバーサンプリング(ただし、Nは2のべき乗;以下同様)を行うためのローパスフィルタをポリフェーズ分解して得られるN個のサブフィルタと対応するN個のフィルタ係数列が予め決められた順序で格納されたフィルタ係数列格納部、
各読み出しアドレス発生部が発生した読み出しアドレスの小数部第1〜第(log2 N)ビットに基づいて、フィルタ係数列格納部に格納されているN個のフィルタ係数列のうちいずれかのフィルタ係数列を選択する一対のフィルタ係数列選択部、
メモリ部が読み出した一対の音声データ列を受け、各当該音声データ列に対して、各フィルタ係数列選択部が選択したフィルタ係数列を用いてフィルタ演算を行う一対のフィルタ演算部、
各フィルタ演算部から出力される一対の音声データを受け、それら一対の音声データにクロスフェード係数を乗じて互いに加算するクロスフェード部を備えている。
【0051】
上記第1の発明では、オーバーサンプリングを行う場合と比べ、小規模かつ安価ながら、オーバーサンプリングを行う場合と同程度、高域歪みを低減できる。
しかも、N倍オーバーサンプリングを行う場合には、バッファの容量がN倍必要で、かつフィルタ演算動作の周期はN-1倍にしなければならないが、上記第1の発明では、メモリ部に含まれるバッファの容量は、Nに関わらず一定でよく、フィルタ演算動作の周期も、Nに関わらず一定でよいので、装置の大規模化も高価格化も伴わずに、Nを十分大きくできる。よって、Nを十分大きくすることによって、直線補間を省略しても、高精度な音程変換が行える。
加えて、読み出しアドレスの小数部第1〜第(log2 N)ビットに基づいてフィルタ係数列を選択するので、容易に、かつ装置の大規模化を伴うことなく、フィルタ演算が行える。
【0052】
第2の発明は、第1の発明において、
メモリ部は、一対の音声データ列をバッファから読み出す際、当該一対の音声データ列と同じまたは各々1番地ずれた別の一対の音声データ列を当該バッファからさらに読み出し、
一対のフィルタ係数列選択部は、各読み出しアドレス発生部が発生した読み出しアドレスの小数部第1〜第(log2 N)ビットに基づいて、フィルタ係数列格納部に格納されているN個のフィルタ係数列のうちいずれかのフィルタ係数列を選択するのに加え、当該フィルタ係数列に隣接する別のフィルタ係数列をさらに選択し、
メモリ部が読み出した別の一対の音声データ列を受け、各当該別の音声データ列に対して、各フィルタ係数列選択部が選択した別のフィルタ係数列を用いてフィルタ演算を行う別の一対のフィルタ演算部、および
一対のフィルタ演算部から出力される一対の音声データと、別の一対のフィルタ演算部から出力される一対の音声データとを受け、各読み出しアドレス発生部が発生した読み出しアドレスの小数部第{(log2 N)+1}ビット以下のビットを補間係数として直線補間値を求めることによって、互いに隣接する2つの音声データの間を補間する一対の補間データを生成する一対の補間部をさらに備え、
クロスフェード部へは、一対の補間部から出力される1対の音声データが与えられることを特徴としている。
【0053】
上記第2の発明によれば、より高精度な音程変換が可能となる。
【0054】
第3の発明は、第1または第2の発明において、各読み出しアドレス発生部は、音程変換比を累積加算するアキュームレータを含んでいる。
【0055】
第4の発明は、第1または第2の発明において、
各読み出しアドレス発生部は、
一定値を累積加算するアキュームレータ、および
アキュームレータの出力と、音程変換比とを乗算する乗算器を含んでいる。
【0056】
上記第3または第4の発明によれば、バッファから音声データを読み出し、かつフィルタ係数列を選択するための読み出しアドレスが得られる。
【0057】
第5の発明は、再生時間を変えずに音響信号の音程を任意の音程に変換するための音程変換装置であって、
音響信号をサンプリングして得られた離散的な音声データが順次的に入力される音声データ入力端子、
音程変換比を示す音程制御信号が入力される音程制御信号入力端子、
音程制御信号入力端子を通じて入力される音程制御信号に基づいて、読み出しアドレスを発生する1つの読み出しアドレス発生部、
バッファを含み、音声データ入力端子を通じて入力される音声データを順番に当該バッファに書き込むと共に、読み出しアドレス発生部が発生した読み出しアドレスの整数部ビットに基づいて、互いに一定数番地ずれた一対の音声データ列を当該バッファから読み出すメモリ部、
メモリ部が読み出した一対の音声データ列を受け、当該一対の音声データ列を構成する各一対の音声データにクロスフェード係数を乗じて互いに加算するクロスフェード部、
N倍オーバーサンプリング(ただし、Nは2のべき乗;以下同様)を行うためのローパスフィルタをポリフェーズ分解して得られるN個のサブフィルタと対応するN個のフィルタ係数列が予め格納されたフィルタ係数列格納部、
読み出しアドレス発生部が発生した読み出しアドレスの小数部第1〜第(log2 N)ビットに基づいて、フィルタ係数列格納部に格納されているN個のフィルタ係数列のうちいずれかのフィルタ係数列を選択する1つのフィルタ係数列選択部、および
クロスフェード部から出力される音声データ列を受け、当該音声データ列に対して、フィルタ係数列選択部が選択したフィルタ係数列を用いてフィルタ演算を行う1つのフィルタ演算部を備えている。
【0058】
上記第5の発明では、オーバーサンプリングを行う場合と比べ、小規模かつ安価ながら、オーバーサンプリングを行う場合と同程度、高域歪みを低減できる。
しかも、N倍オーバーサンプリングを行う場合には、バッファの容量がN倍必要で、かつフィルタ演算動作の周期はN-1倍にしなければならないが、上記第5の発明では、メモリ部に含まれるバッファの容量は、Nに関わらず一定でよく、フィルタ演算動作の周期も、Nに関わらず一定でよいので、装置の大規模化も高価格化も伴わずに、Nを十分大きくできる。よって、Nを十分大きくすることによって、直線補間を省略しても、高精度な音程変換が行える。
加えて、読み出しアドレスの小数部第1〜第(log2 N)ビットに基づいてフィルタ係数列を選択するので、容易に、かつ装置の大規模化を伴うことなく、フィルタ演算が行える。
なお、上記の各効果は、第1の発明と同様であるが、第5の発明では、読み出しアドレス発生部、フィルタ係数列選択部およびフィルタ演算部が各1つで済むので、第1の発明よりもさらに、装置の規模が小さいといえる。
【0059】
第6の発明は、第5の発明において、
バッファ上には、音声データ入力端子を通じて入力される音声データが書き込まれる位置を示す書き込みポインタと、読み出される一対の音声データ列各々の先頭位置を示す一対の読み出しポインタとが設けられ、
バッファは、その先頭と末尾とが輪のように連結された、一対の読み出しポインタ間の距離の2倍に相当する容量を持つようなリングバッファであり、
メモリ部は、一対の読み出しポインタのいずれか一方と、書き込みポインタとの間の距離を、クロスフェード部に通知し、
クロスフェード部は、メモリ部から通知された距離に応じたクロスフェード係数を、一対の音声データ列を構成する各一対の音声データに乗じることを特徴としている。
【0060】
上記第6の発明では、一対の読み出しポインタのいずれか一方と、書き込みポインタとの間の距離に基づいて、一対の音声データ列に乗じるべきクロスフェード係数を求める。
【0061】
第7の発明は、第5または第6の発明において、読み出しアドレス発生部は、音程変換比を累積加算するアキュームレータを含んでいる。
【0062】
第8の発明は、第5または第6の発明において、
読み出しアドレス発生部は、
一定値を累積加算するアキュームレータ、および
アキュームレータの出力と、音程変換比とを乗算する乗算器を含んでいる。
【0063】
上記第7または第8の発明によれば、バッファから音声データを読み出し、かつフィルタ係数列を選択するための読み出しアドレスが得られる。
【0064】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、従来と共通し、かつ既に説明した技術については、詳しい説明を省略している。
以下の説明でも、”k”は音程変換比を、”T”は音声データのサンプリング周期を、”t”はTを単位とする実時間を、”N”はオーバーサンプリング比を表す(従来の技術の欄を参照)。
【0065】
(第1の実施形態)
本発明の第1の実施形態に係る音程変換装置について詳細に説明する前に、概要を説明する。
第1の実施形態に係る音程変換装置は、従来の音程変換装置と同様、時間軸圧縮伸長およびクロスフェードによって、再生時間は変えすに音響信号の音程を変換する。
また、音程変換比を累積加算し、その累積加算結果を読み出しアドレスとして用いる点も、従来の音程変換装置と同様である。
【0066】
第1の実施形態に係る音程変換装置が従来の音程変換装置と異なるのは、次の点である。
(ア)見かけ上、オーバーサンプリングは行わず、代わりに、オーバーサンプリングに用いるローパスフィルタ14a(または14b)をポリフェーズ分解して得られるサブフィルタを用いて、次のようなフィルタ演算を行う。
すなわち、別の従来の音程変換装置(図25参照)は、メモリ部1の前段に、オーバーサンプリング部11を備えている。オーバーサンプリング部11に含まれるローパスフィルタ14aは、N倍オーバーサンプリングを行う場合、周期(T×N-1)で演算動作を行い、メモリ部1には、それにより得られるサンプリング周期(T×N-1)の音声データが一時記憶される。従って、メモリ部1のバッファ容量は、オーバーサンプリングを行わない場合のN倍必要となる。
【0067】
一方、第1の実施形態に係る音程変換装置は、メモリ部1の後段に、上記オーバーサンプリング部11に含まれるローパスフィルタ14aをポリフェーズ分解して得られるN個のサブフィルタ(なお、各サブフィルタのタップ数は、ローパスフィルタ14aのタップ数のN-1倍となる)のいずれかを用いて周期Tで演算を行うようなフィルタ演算部を備えている。従って、メモリ部1のバッファ容量は、オーバーサンプリングを行わない場合と同じでよい。
【0068】
つまり、第1の実施形態に係る音程変換装置では、N倍オーバーサンプリングを行う音程変換装置と比べ、メモリ部1のバッファ容量はN-1倍、フィルタ演算動作の周期はN倍(すなわち動作速度はN-1倍)ながら、N倍オーバーサンプリングを行う場合と同等の高域歪み低減効果が得られる。
言い換えれば、メモリ部1のバッファ容量は、オーバーサンプリング比Nに関わらず一定でよく、フィルタ演算動作も、クロスフェード圧縮伸長動作と同様、オーバーサンプリング比Nに関わらず一定の周期、すなわち音声データのサンプリング周波数と等しい周期(=T)で実行すればよい。そのため、装置価格の急上昇を伴うことなく、オーバーサンプリング比Nを大きくすることができる。
【0069】
オーバーサンプリング比を十分大きくすれば、直線補間を行わなくても、高精度な音程変換が行える。よって、補間部10a,10bの分だけ、装置規模を小さくすることができる。
なお、オーバーサンプリング比が小さい場合には、直線補間を行わなければ、音程変換比が時間的に変動して、あまり高精度な音程変換を行うことができない。
【0070】
(イ)読み出しアドレスの小数部第1〜第(log2 N)ビットを用いて、N個のサブフィルタのいずれかを選択する。これによって、容易に、装置の大規模化を伴うことなく、フィルタ選択を行える。
以下、本発明の第1の実施形態に係る音程変換装置について詳細に説明する。
【0071】
図1は、本発明の第1の実施形態に係る音程変換装置の構成を示すブロック図である。
第1の実施形態に係る音程変換装置は、例えば、図12に示す従来のCD再生機に設けられる。
図1において、第1の実施形態に係る音程変換装置は、メモリ部1と、一対のフィルタ演算部2a,2bと、クロスフェード部3と、一対の読み出しアドレス発生部4a,4bと、一対のフィルタ係数列選択部5a,5bと、フィルタ係数列格納部6と、音声データ入力端子7と、音声データ出力端子8と、音程制御信号入力端子9とを備えている。
【0072】
第1の実施形態に係る音程変換装置では、メモリ部1、読み出しアドレス発生部4a,4bおよびクロスフェード部3が、音声データに対し、音程変換比に応じた時間軸圧縮伸長およびクロスフェードを行い、それによって、再生時間を変えずに音響信号の音程を変換している。この点は、従来の音程変換装置と同様である。
第1の実施形態に係る音程変換装置では、さらに、フィルタ演算部2a,2b、フィルタ係数列選択部5a,5b、およびフィルタ係数列格納部6が、必要な音声データだけをフィルタ演算によって算出している。この点が、オーバーサンプリングと補間値算出とを組み合わせて行う別の従来の音程変換装置と異なる。
【0073】
ここでは、説明を簡単にするために、オーバーサンプリング比を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によって、下式(4)をフィルタ係数とするようなフィルタ演算が周期T×4-1で行われる。
【0074】
例えば、t=4以降、オーバーサンプリング部11のローパスフィルタ14aで行われるフィルタ演算は、0との乗算を除外すれば、次のようになる。
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)
…
【0075】
こうして、オーバーサンプリング部11からは、サンプリング周期(T×4-1)の音声データ{y(0),y(0.25),y(0.5),y(0.75),y(1),y(1.25),…}が出力される。
【0076】
しかし、例えば周波数を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),…}だけを求める。
【0077】
再び図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〜第(log2 N)ビットがフィルタ選択情報としてフィルタ係数列選択部5a,5bに与えられる。
【0078】
図3は、図1の読み出しアドレス発生部4a,4bの構成の一例を示すブロック図、図4は、別の一例を示すブロック図である。
図3において、読み出しアドレス発生部4a,4bは、アドレス増分値(=k)を累積加算するアキュームレータ16(ALU)を含む。これは、図21のアドレス発生部と同様の構成である。
図4において、読み出しアドレス発生部4a,4bは、定数(例えば1)を累積加算するALUと、アドレス増分値(=k)とALUの出力とを乗算する乗算器17とを含む。これは、図21のアドレス発生部とは異なる構成であるが、同じ読み出しアドレスを発生する。
【0079】
図5は、図3,図4のALUの出力レジスタの一例(24ビットの場合)を示す模式図である。
図5の出力レジスタでは、左端から第16番目のビットと第17番目のビットとの間に小数点があり、小数点より上位にある16ビットは、読み出しアドレスの整数部を表し、下位にある8ビットは、小数部を表すとみなされる。
小数点のすぐ右隣のビットを「小数部第1ビット」、その右隣を「小数部第2ビット」、…のように呼ぶことにすると、例えばN=4の場合、小数部第1および第2ビットがフィルタ選択情報となる。
なお、読み出しアドレス発生部4aと、読み出しアドレス発生部4bとの関係は、図19の場合と同じなので、説明を省略する。
【0080】
再び図1において、メモリ部1は、読み出しアドレス発生部4a,4bが発生する読み出しアドレスの整数部(上位ビット)に基づいて、バッファから音声データ列を読み出す。
一方、フィルタ係数列格納部6には、4個(一般にはN個)のフィルタ係数列が格納されている。これらのフィルタ係数列は、図25のオーバーサンプリング部11に含まれるローパスフィルタ14aをポリフェース分解して得られる4個(一般にはN個)のサブフィルタのフィルタ係数列である。
【0081】
N=4の場合、オーバーサンプリング部11に含まれるローパスフィルタ14aは、そのタップ数を20とすれば、次式(4)で表現される。
F(z)=f(0)+f(1)z^(−1/4)+f(2)z^(−2/4)+…+f(19)z^(−19/4) …(4)
なお、上式(4)におけるz^(−n)は、遅延演算子であり、x(t)との間で次式(5)のような関係が成り立つ。
x(t)z^(−n)=x(t−n) …(5)
【0082】
上式(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) …(6−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)
【0083】
フィルタ係数列格納部6に格納されるのは、上記のようにして得られる4個(一般にはN個)のサブフィルタの係数部分である。
フィルタ係数列選択部5a,5bは、読み出しアドレス発生部4a,4bが発生する読み出しアドレスの小数部第1および第2ビットに基づいて、フィルタ係数列格納部6に格納されている4個(一般にはN個)のフィルタ係数列の中からいずれか1つのフィルタ係数列を選択する。そして、そのフィルタ係数列を読み出し、フィルタ演算部2a,2bへと転送する。
フィルタ演算部2a,2bは、メモリ部1からの音声データ列と、フィルタ係数列選択部5a,5bからのフィルタ係数列とに基づいて、フィルタ演算を行う。
【0084】
クロスフェード部3は、フィルタ演算部2aから出力される音声データと、フィルタ演算部2bから出力される音声データとを受け、それら一対のデータに対してクロスフェードを行う。すなわち、各データにそれぞれクロスフェード係数を乗じた後、互いに加算する。
なお、さらにクロスフェード部3が加わることによって、再生時間は変えずに、音響信号の音程を任意の音程に変換できるようになる点は、従来と同様である。
音声データ出力端子8からは、クロスフェード圧縮伸長が行われた音声データ、つまり音程変換後の音声データが出力される。
【0085】
以上のように構成された音程変換装置の動作について、以下に説明する。なお、CD再生機の動作は、従来の技術の項目で説明したものと同様である。
図20において、ユーザは、CD再生機に対し、最初、図示しない調節つまみ等を通じて所望の音程変換比kを指定し、次いで、図示しないPLAYボタンを押す。
応じて、CD再生機では、最初、音程変換比設定部23が音程変換比kを設定する。次に、読み出し部21は、CD20から周期Tで音声データを読み出す処理を開始し、また、音程変換比設定部23は、音程変換比kを示す音程制御信号を生成する処理を開始する。なお、上記のようにして設定した音程変換比kを、再生開始後、別の値に変更することもできる。
こうして読み出された音声データと、生成された音程制御信号とが、それぞれ音声データ入力端子7、音程制御信号入力端子9を通じて図1の音程変換装置に入力される。
【0086】
入力された音声データは、メモリ部1によって一時記憶される。メモリ部1が音声データをどのように記憶するかは、図22(a)に示されている。すなわち、メモリ部1は、入力される音声データを順番に、すなわちx(0)を0番地に、x(1)を1番地に、x(2)を2番地に、…のように記憶していく。
【0087】
一方、入力された音程制御信号は、2分岐されて、読み出しアドレス発生部4a,4bに与えられる。読み出しアドレス発生部4a,4bは、与えられた音程制御信号に基づいて、互いに一定値ずれた読み出しアドレスを周期Tで発生する。
こうして発生された一対の読み出しアドレスは、メモリ部1およびフィルタ係数列選択部5a,5bへと与えられる。
ただし、読み出しアドレス発生部4aが発生した読み出しアドレスの整数部ビットが、有効な読み出しアドレスとしてメモリ部1へと与えられ、小数部第1および第2ビットは、フィルタ選択情報としてフィルタ係数列選択部5aへと与えられる。読み出しアドレス発生部4bが発生した読み出しアドレスの整数部ビットが、有効な読み出しアドレスとしてメモリ部1へと与えられ、小数部第1および第2ビットは、フィルタ係数列選択部5bへと与えられる。
メモリ部1は、与えられた一対の整数部ビット(有効な読み出しアドレス)に基づいて、バッファから一対の音声データ列を読み出す。
【0088】
メモリ部1のバッファ上において、入力されてくる音声データの書き込みが行われる位置と、一対の読み出しアドレス発生部4a,4bからの有効な読み出しアドレスを受けて、一対の音声データ列の読み出しが行われる2つの位置との関係(ただし、音程を高く変換する場合)は、図23に示されている。ただし、この場合、読み出しポインタ「r1」,「r2」は、読み出される一対の音声データ列の先頭の位置を指し示す。
メモリ部1が、入力される音声データをバッファにどのように書き込み、与えられた一対の有効な読み出しアドレスに基づいて、バッファから一対の音声データ列をどのように読み出すかは、読み出されるのが5個の音声データからなる音声データ列(N=4の場合)である違いを除けば、従来の技術の欄で説明したものと同様である。
【0089】
一方、フィルタ係数列選択部5a,5bは、与えられた一対のフィルタ選択情報に基づいて、フィルタ係数列格納部6に格納されているN個のフィルタ係数列の中からいずれか1つのフィルタ係数列を選択する。そして、そのフィルタ係数列を読み出し、フィルタ演算部2a,2bへと転送する。
【0090】
例えば、N=4、タップ数が20の場合、フィルタ係数列格納部6には、次の4個のフィルタ係数列が順番に格納される。
{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フィルタ係数列と呼ぶことにする。
【0091】
フィルタ係数列選択部5a,5bは、与えられたフィルタ選択情報に応じて、次のようにフィルタを選択する。
フィルタ選択情報が”00”の場合、第0フィルタ係数列を選択する。
フィルタ選択情報が”01”の場合、第1フィルタ係数列を選択する。
フィルタ選択情報が”10”の場合、第2フィルタ係数列を選択する。
フィルタ選択情報が”11”の場合、第3フィルタ係数列を選択する。
【0092】
フィルタ演算部2a,2bは、メモリ部1からの音声データ列(この場合、5個の音声データで構成される)と、フィルタ係数列選択部5a,5bからのフィルタ係数列とに基づいてフィルタ演算(この場合、タップ数は5)を行い、必要な音声データ{y(0),y(k×1),y(k×2),…}を算出する。
ここで、具体例として、音程変換比が1.26の場合について、読み出しアドレス発生部4a,4b、フィルタ係数列選択部5a,5bおよびフィルタ演算部2a,2bの処理を説明する。
【0093】
読み出しアドレス発生部4a,4bからは、次のような読み出しアドレスが、周期Tで順次発生される。
t=0: 0
t=1: 1.26 = 1+1/4+0.01
t=2: 1.26×2= 2+2/4+0.02
t=3: 1.26×3= 3+3/4+0.03
t=4: 1.26×4= 5 +0.04
t=5: 1.26×5= 6+1/4+0.05
t=6: 1.26×6= 7+2/4+0.06
t=7: 1.26×7= 8+3/4+0.07
t=8: 1.26×8=10 +0.08
t=9: 1.26×9=11+1/4+0.09
…
【0094】
上記の読み出しアドレスは、図5の出力レジスタでは、それぞれ次のように表現される。
t=0: 0000000000000000.00000000
t=1: 0000000000000001.01000010
t=2: 0000000000000010.10000100
t=3: 0000000000000011.11000110
t=4: 0000000000000101.00001000
t=5: 0000000000000110.01001010
t=6: 0000000000000111.10001100
t=7: 0000000000001000.11001110
t=8: 0000000000001010.00010000
t=9: 0000000000001011.01010010
…
【0095】
メモリ部1へは、上記の読み出しアドレスの整数部第1〜第16ビットが、有効な読み出しアドレスとして与えられ、フィルタ係数列選択部5a,5bへは、上記の読み出しアドレスの小数部第1および第2ビットが、フィルタ選択情報として与えられる(図6参照)。
応じて、メモリ部1は、与えられた有効な読み出しアドレスと対応する音声データを先頭とするような互いに連続した5個一組の音声データを、周期Tで順次読み出し、フィルタ演算部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)}
…
【0096】
一方、フィルタ係数列選択部5a,5bは、時刻t=4以降、フィルタ選択情報に応じて、次のようなフィルタ係数列を選択する。
t=4: フィルタ選択情報”00”に基づいて、第0フィルタ係数列を選択t=5: フィルタ選択情報”01”に基づいて、第1フィルタ係数列を選択t=6: フィルタ選択情報”10”に基づいて、第2フィルタ係数列を選択t=7: フィルタ選択情報”11”に基づいて、第3フィルタ係数列を選択t=8: フィルタ選択情報”00”に基づいて、第0フィルタ係数列を選択t=9: フィルタ選択情報”01”に基づいて、第1フィルタ係数列を選択
…
【0097】
フィルタ演算部2a,2bは、時刻t=4以降、メモリ部1からの音声データと、フィルタ係数列選択部5a,5bからのフィルタ係数列とに基づいて、次のようなフィルタ演算を行う。
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)
…
【0098】
こうして得られる音声データ{…,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が大きければ大きいほど、理想値に近づく。
【0099】
ここで、以上説明した読み出しアドレス発生部4a,4b、フィルタ係数列選択部5a,5bおよびフィルタ演算部2a,2bの動作を簡単に整理しておく。図7は、図1の音程変換装置で行われる音程変換動作を視覚的に示した模式図である。
図7において、いま、読み出しアドレス発生部4aが、読み出しアドレス”0000000010010111.10…”を発生したとする。このとき、有効な読み出しアドレスは、その整数部”0000000010010111”すなわち”151”(10進数)であり、一方、フィルタ選択情報は、その小数部第1および第2ビット”10”(2進数)である。
この読み出しアドレスを受けると、メモリ部1は、バッファの151番地〜147番地から音声データ列(5個の音声データ)を読み出す。このフィルタ選択情報を受けると、フィルタ係数列選択部5aは、第3フィルタ係数列を選択する。
そして、読み出された音声データ列と、選択されたフィルタ係数列とが、フィルタ演算部2aに与えられ、そこでフィルタ演算が行われる。
これと同様の動作が、読み出しアドレス発生部4b、フィルタ係数列選択部5bおよびフィルタ演算部2b側でも行われる。
【0100】
再び図1において、フィルタ演算部2a,2bから周期Tで順次出力される、互いに一定時間ずれた一対の音声データは、クロスフェード部3へと与えられ、クロスフェード部3は、これら音声データに対し、クロスフェード処理を施す。このクロスフェード処理は、従来の技術の欄で説明したものと同様である。
【0101】
すなわち、クロスフェード部3は、一対の音声データに乗じる一対のクロスフェード係数、例えば図24に示されるような係数を予め記憶している。
また、クロスフェード部3は、入力される一対の音声データを計数することによって、それら一対の音声データがフレーム先頭から何番目のものかを検出する。例えば、n1 ,n2 番目の音声データであれば、α=n1 ,n2と対応する一対のV(α)を求めて各々の音声データに乗算し、それらの乗算結果を相互に加算する。
そして、その加算結果、すなわち音程変換後の音声データ{y’(0),y’(1.25×1),y’(1.25×2),…}、一般には{y’(0),y’(k’×1),y’(k’×2),…}が、音声データ出力端子8を通じ、周期Tで音程変換装置の外部へと出力される。
【0102】
音程変換装置から出力された音程変換後の音声データ{y’(0),y’(k’×1),y’(k’×2),…}は、音声データ入力端子27を通じ、再びCD再生機へと入力される。
図20において、音声データ入力端子27を通じて入力された音程変換後の音声データは、再生部22へと与えられる。再生部22は、与えられた音程変換後の音声データから音響信号を再生する。
こうして再生された音響信号は、図示しないアンプを通じて増幅された後、スピーカへと入力され、そこで音波に変換される。
【0103】
図2(c)は、音程変換後の音声データから再生される音響信号を視覚的に示した図である。
図2(c)において、{out(0),out(1),out(2),…}が、音程変換後の音声データ{y’(0),y’(k×1),y’(k×2),…}と対応する音響信号であり、横軸上の目盛りは、周期Tを単位とする実時間tを表している。
【0104】
(第2の実施形態)
第2の実施形態では、第1の実施形態において、さらに直線補間を行うようにし、オーバーサンプリング比が小さい場合にも、高精度な音程変換を行えるようにしている。なお、直線補間の原理は、従来の技術の欄で説明したものと同じである。ただし、フィルタ演算によって得られる音声データ、すなわちオーバーサンプリング後の音声データを用いて補間値を算出する点は、従来と異なる。例えば補間値y(1.26)を算出する場合、従来は音声データx(1)およびx(2)を用いたが、本実施形態では、オーバーサンプリング後の音声データy(1.25)およびy(1.5)を用いる。
また、直線補間のための補間係数には、第1の実施形態では切り捨てられていた、読み出しアドレスの小数部第{(log2 N)+1}ビット以下を用いる。これによって、容易に、装置の大規模化を伴うことなく、直線補間を行える。
【0105】
図8は、本発明の第2の実施形態に係る音程変換装置の構成を示すブロック図である。
第2の実施形態に係る音程変換装置は、例えば、図20に示す従来のCD再生機に設けられる。
図8において、第2の実施形態に係る音程変換装置は、メモリ部1と、一対のフィルタ演算部2a,2bと、別の一対のフィルタ演算部2c,2dと、一対の補間部10a,10bと、クロスフェード部3と、一対の読み出しアドレス発生部4a,4bと、一対のフィルタ係数列選択部5a,5bと、フィルタ係数列格納部6と、音声データ入力端子7と、音声データ出力端子8と、音程制御信号入力端子9とを備えている。
【0106】
すなわち、第2の実施形態に係る音程変換装置は、第1の実施形態に係る音程変換装置に、別の一対のフィルタ演算部2c,2dと、一対の補間部10a,10bとを追加したものである。そして、一対の読み出しアドレス発生部4a,4bが発生した読み出しアドレスの小数部第{(log2 N)+1}ビット以下を、補間係数として一対の補間部10a,10bへと与える。
【0107】
音声データ入力端子7へは、CD再生機の音声データ出力端子25から出力される音声データ{x(0),x(1),x(2),x(3),…}が入力され、メモリ部1は、それら音声データを一時記憶する。
音程制御信号入力端子9へは、CD再生機の音程制御信号出力端子26から出力される音程制御信号が入力され、読み出しアドレス発生部4a,4bは、音程制御信号の示す音程変換比をアドレス増分値として累積加算し、その累積加算結果を、読み出しアドレスとして出力する。
【0108】
すなわち、読み出しアドレス発生部4a,4bは、図1のものと同様の動作を行う。そして、発生された読み出しアドレスの整数部ビットが、有効な読み出しアドレスとしてメモリ部1に与えられ、小数部第1および第2ビット(N=4の場合)は、フィルタ選択情報としてフィルタ係数列選択部5a,5bに与えられる(一般には、小数部第1〜第(log2 N)ビットがフィルタ選択情報としてフィルタ係数列選択部5a,5bに与えられる)。この点も、第1の実施形態と同様である。
異なるのは、次の2つの点である。第1は、上記の整数部ビットだけでなく、上記の整数部ビットと小数部第1および第2ビットとから算出された別の整数部ビットが、さらにメモリ部1に与えられる(あるいは、上記の整数部ビットと小数部第1および第2ビットとをメモリ部1に与え、それらに基づいてメモリ部1が別の整数部ビットを算出する)点である。別の整数部ビットは、読み出しアドレス発生部4a,4bによって発生された読み出しアドレスに対して、小数部第2ビット(一般には、小数部第(log2 N)ビット)部分に”1”を加算する処理を行い、その加算結果から整数部を取り出すことにより得られる。
第2は、第1の実施形態では利用されなかった小数部第3ビット以下が、補間部10a,10bに与えられる点である。一般には、小数部第{(log2 N)+1}ビット以下が補間部10a,10bに与えられる。
【0109】
図9は、図8の読み出しアドレス発生部4a,4bの構成の一例を示すブロック図、図10は、別の一例を示すブロック図である。
図9において、読み出しアドレス発生部4a,4bは、アドレス増分値(=k)を累積加算するアキュームレータ16(ALU)を含む。これは、図3のものと同様の構成である。
図10において、読み出しアドレス発生部4a,4bは、定数(例えば1)を累積加算するALUと、アドレス増分値(=k)とALUの出力とを乗算する乗算器17とを含む。これは、図4のものと同様の構成である。
【0110】
図11は、図9,図10のALUの出力レジスタの一例(24ビットの場合)を示す模式図である。
図11の出力レジスタでは、例えばN=4の場合、小数部第3ビット以下が補間係数となる(一般には、小数部第{(log2 N)+1}ビット以下が補間係数となる)。この点以外は、図5のそれと同様である。
なお、読み出しアドレス発生部4aと、読み出しアドレス発生部4bとの関係は、第1の実施形態と同じなので、説明を省略する。
【0111】
再び図8において、メモリ部1は、読み出しアドレス発生部4a,4bが発生する読み出しアドレスの整数部ビットに基づいて、バッファから音声データ列を読み出す。
ただし、直線補間を行うために、第1の実施形態と同様の一対の音声データ列に加え、それら一対の音声データ列と同じまたは各々1番地ずれた別の一対の音声データ列も読み出される。すなわち、読み出しアドレス発生部4aからの整数部ビットに基づいて、互いに同一または1番地ずれた2つの音声データ列が読み出され、読み出しアドレス発生部4bからの整数部ビットに基づいて、互いに同一または1番地ずれた2つの音声データ列が読み出される。なお、互いに同一の2つの音声データが読み出されるのは、読み出しアドレス発生部4a,4bが発生する読み出しアドレスの小数部第1および第2ビットが”00”,”01”,”10”のいずれかの場合であり、互いに1番地ずれた2つの音声データ列が読み出されるのは”11”の場合である。一般には、小数部第1〜第(log2 N)ビットが全て”1”の場合のみ、互いに1番地ずれた2つの音声データ列が読み出され、それ以外の場合は、互いに同じ2つの音声データが読み出される。
【0112】
フィルタ係数列格納部6には、4個(一般にはN個)のフィルタ係数列が格納されている。これらのフィルタ係数列は、第1の実施形態と同じ係数列、すなわち、図25のオーバーサンプリング部11に含まれるローパスフィルタ14aをポリフェース分解して得られる4個(一般にはN個)のサブフィルタの係数部分である。
N=4の場合、ローパスフィルタ14aは、上式(4)で表現され、それをポリフェーズ分解して得られる4個のサブフィルタは、式(6−1)〜(6−4)で表現される。
【0113】
フィルタ係数列選択部5aは、読み出しアドレス発生部4aが発生する読み出しアドレスの小数部第1および第2ビット(フィルタ選択情報)に基づいて、フィルタ係数列格納部6に格納されている4個のフィルタ係数列の中から、互いに隣り合う2つのフィルタ係数列を選択する。そして、それらのフィルタ係数列を読み出し、フィルタ演算部2a,2cへと転送する。
フィルタ係数列選択部5bは、読み出しアドレス発生部4bが発生する読み出しアドレスの小数部第1および第2ビットに基づいて、フィルタ係数列格納部6に格納されている4個のフィルタ係数列の中から、互いに隣り合う2つのフィルタ係数列を選択する。そして、それらのフィルタ係数列を読み出し、フィルタ演算部2b,2dへと転送する。
フィルタ演算部2a,2cは、メモリ部1からの音声データと、フィルタ係数列選択部5aからのフィルタ係数列とに基づいて、フィルタ演算を行う。フィルタ演算部2b,2dは、メモリ部1からの音声データと、フィルタ係数列選択部5bからのフィルタ係数列とに基づいて、フィルタ演算を行う。
【0114】
補間部10aは、フィルタ演算部2a,2cからの一対の音声データと、読み出しアドレス発生部4aからの補間係数(すなわち読み出しアドレスの小数部第3〜第8ビット)とに基づいて、上式(3)を用いて補間値を算出する。補間部10bは、フィルタ演算部2b,2dからの音声データと、読み出しアドレス発生部4bからの補間係数(すなわち読み出しアドレスの小数部第3〜第8ビット)とに基づいて、上式(3)を用いて補間値を算出する。
【0115】
クロスフェード部3は、補間部10aから出力される音声データと、補間部10bから出力される音声データとを受け、それら一対のデータに対してクロスフェードを行う。すなわち、各データにそれぞれクロスフェード係数を乗じた後、互いに加算する。
音声データ出力端子8からは、クロスフェード圧縮伸長が行われた音声データ、つまり音程変換後の音声データが出力される。
【0116】
以上のように構成された音程変換装置の動作について、以下に説明する。ただし、第1の実施形態の音程変換装置と同様の動作は省略または簡単に説明し、異なる動作だけを詳細に説明する。
図20において、CD20から読み出された音声データと、音程変換比kを示す音程制御信号とが、それぞれ音声データ入力端子7、音程制御信号入力端子9を通じて音程変換装置に入力される。
【0117】
入力された音声データは、メモリ部1によって一時記憶される。メモリ部1が音声データをどのように記憶するかは、図22(a)に示されている。
一方、入力された音程制御信号は、2分岐されて、読み出しアドレス発生部4a,4bに与えられる。読み読み出しアドレス発生部4a,4bは、与えられた音程制御信号に基づいて、互いに一定値ずれた読み出しアドレスを周期Tで発生する。
こうして発生された一対の読み出しアドレスは、メモリ部1、一対のフィルタ係数列選択部5a,5b、および一対の補間部10a,10bへと与えられる。
【0118】
すなわち、読み出しアドレス発生部4aが発生した読み出しアドレスのビット列のうち整数部ビットが、有効な読み出しアドレスとしてメモリ部1へと与えられ、小数部第1および第2ビットは、フィルタ選択情報としてフィルタ係数列選択部5aへと与えられる。さらに、小数部第1および第2ビットは、メモリ部1へも与えられ、小数部小数部第3ビット〜第8ビットは、補間部10aへと与えられる。
読み出しアドレス発生部4bが発生した読み出しアドレスのビット列のうち整数部ビットが、有効な読み出しアドレスとしてメモリ部1へと与えられ、小数部第1および第2ビットは、フィルタ選択情報としてフィルタ係数列選択部5bへと与えられる。さらに、小数部第1および第2ビットは、メモリ部1へも与えられ、小数部第3ビット〜第8ビットは、補間部10bへと与えられる。
【0119】
メモリ部1は、第1の実施形態と同様にして、与えられた一対の整数部ビット(有効な読み出しアドレス)に基づいて、バッファから一対の音声データ列を読み出す。加えて、与えられた一対の整数部ビットと小数部第1および第2ビットとから別の一対の整数部ビットを算出し、それら別の一対の整数部ビットに基づいて、上記一対の音声データ列と同じまたは各々1番地ずれた別の一対の音声データ列を、バッファからさらに読み出す。
【0120】
なお、図23には、メモリ部1のバッファ上において、入力されてくる音声データの書き込みが行われる位置を示す「w」と、一対の読み出しアドレス発生部4a,4bからのアドレスを受けて、一対の音声データ列の読み出しが行われる位置を示す「r1」,「r2」との関係(ただし、音程を高く変換する場合)が示されている。図23を本実施形態に援用するには、「r1」と同じ位置に「r3」を追加し、「r2」と同じ位置に「r4」を追加すればよい。ただし、「r3」は、一時的に「r1」から1番地だけ後方(すなわち図面に向かって右側)にずれることがあり、「r4」は、一時的に「r2」から1番地だけ後方(すなわち図面に向かって右側)にずれることがある。
【0121】
一方、フィルタ係数列選択部5aは、与えられた一対のフィルタ選択情報に基づいて、フィルタ係数列格納部6に格納されている4個(一般にはN個)のフィルタ係数列の中から、互いに隣り合う2つのフィルタ係数列を選択する。そして、それらのフィルタ係数列を読み出し、フィルタ演算部2a,2cへと転送する。フィルタ係数列選択部5bは、与えられた一対のフィルタ選択情報に基づいて、フィルタ係数列格納部6に格納されている4個(一般にはN個)のフィルタ係数列の中から、互いに隣り合う2つのフィルタ係数列を選択する。そして、それらのフィルタ係数列を読み出し、フィルタ演算部2b,2dへと転送する。
【0122】
例えば、N=4の場合、フィルタ係数列格納部6に格納されるのは、第1の実施形態と同様の第0〜第3フィルタ係数列である。
この場合、フィルタ係数列選択部5aは、与えられたフィルタ選択情報に基づいて、次のようにフィルタ選択を行う。
【0123】
フィルタ選択情報が”00”の場合には、”00”および”01”と対応する第0および第1フィルタ係数列を選択して、第0フィルタ係数列をフィルタ演算部2aへ、第1フィルタ係数列をフィルタ演算部2cへと転送する。
フィルタ選択情報が”01”の場合には、”01”および”10”と対応する第1および第2フィルタ係数列を選択して、第1フィルタ係数列をフィルタ演算部2aへ、第2フィルタ係数列をフィルタ演算部2cへと転送する。
フィルタ選択情報が”10”の場合には、”10”および”11”と対応する第2および第3フィルタ係数列を選択して、第2フィルタ係数列をフィルタ演算部2aへ、第3フィルタ係数列をフィルタ演算部2cへと転送する。
フィルタ選択情報が”11”の場合には、”11”および”00”と対応する第3および第0フィルタ係数列を選択して、第3フィルタ係数列をフィルタ演算部2aへ、第0フィルタ係数列をフィルタ演算部2cへと転送する。
【0124】
一方、フィルタ係数列選択部5bは、与えられたフィルタ選択情報に基づいて、次のようにフィルタ選択を行う。
フィルタ選択情報が”00”の場合には、”00”および”01”と対応する第0および第1フィルタ係数列を選択して、第0フィルタ係数列をフィルタ演算部2bへ、第1フィルタ係数列をフィルタ演算部2dへと転送する。
フィルタ選択情報が”01”の場合には、”01”および”10”と対応する第1および第2フィルタ係数列を選択して、第1フィルタ係数列をフィルタ演算部2bへ、第2フィルタ係数列をフィルタ演算部2dへと転送する。
フィルタ選択情報が”10”の場合には、”10”および”11”と対応する第2および第3フィルタ係数列を選択して、第2フィルタ係数列をフィルタ演算部2bへ、第3フィルタ係数列をフィルタ演算部2dへと転送する。
フィルタ選択情報が”11”の場合には、”11”および”00”と対応する第3および第0フィルタ係数列を選択して、第3フィルタ係数列をフィルタ演算部2bへ、第0フィルタ係数列をフィルタ演算部2dへと転送する。
【0125】
フィルタ演算部2a,2bは、メモリ部1からの一対の音声データ列と、フィルタ係数列選択部5a,5bからの一対のフィルタ係数列とに基づいてフィルタ演算を行う。フィルタ演算部2c,2dは、メモリ部1からの別の一対の音声データ列と、フィルタ係数列選択部5a,5bからの一対のフィルタ係数列とに基づいてフィルタ演算を行う。なお、各々のフィルタ演算は、第1の実施形態と同様である。
【0126】
補間部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ビットとの間に小数点を挿入して得られる値である。
【0127】
例えば、t=3のとき、読み出しアドレスは、1.26×3、すなわち、
0000000000000011.11000110
であり(第1の実施形態を参照)、読み出しアドレス発生部4aからは、この読み出しアドレスの小数部第3〜第8ビット”000110”が、補間情報として補間部10aに与えられる。また、フィルタ演算部2a,2cからは、y(3.75),y(4.00)が補間部10aに与えられる。
応じて、補間部10aは、与えられた小数部第3〜第6ビット”000110”において、小数部第3ビットと小数部第4ビットとの間に小数点を挿入する。そして、得られた補間係数”0.00110(2進数)”と、音声データy(3.75),y(4.00)とから、上式(7)を用いて補間値q(1.26×3)を算出する。
【0128】
一般には、読み出しアドレスが(k×n)の場合、補間部10a,10bは、補間係数(k×n−m)と、音声データy(m),y(m+1/N)とから、次式(8)を用いて補間値q(k×n)を算出する。
q(k×n)=y(m)+(k×n−m)×{y(m+1/N)−y(m)}…(8)
このような直線補間をさらに行うことによって、第1の実施形態と比べ、より高精度な音程変換が可能となる。
【0129】
補間部10a,10bから周期Tで順次出力される、互いに一定時間ずれた一対の音声データは、クロスフェード部3へと与えられ、クロスフェード部3は、これら音声データに対し、クロスフェード処理を施す。このクロスフェード処理は、第1の実施形態と同様である。
すなわち、クロスフェード部3は、一対の補間済み音声データに乗じる一対のクロスフェード係数、例えば図24に示されるような係数を予め記憶している。また、クロスフェード部3は、入力される一対の補間済み音声データを計数することによって、それら一対の補間済み音声データがフレーム先頭から何番目のものかを検出する。例えば、n1 ,n2 番目の補間済み音声データであれば、α=n1 ,n2 と対応する一対のV(α)を求めて各々の音声データに乗算し、それらの乗算結果を相互に加算する。
そして、その加算結果、すなわち音程変換後の音声データ{q’(0),’q(k×1),q’(k×2),…}が、音声データ出力端子8を通じ、周期Tで音程変換装置の外部へと出力される。
【0130】
音程変換装置から出力された音程変換後の音声データ{q’(0),q’(k×1),q’(k×2),…}は、音声データ入力端子27を通じ、再びCD再生機へと入力される。
図20において、音声データ入力端子27を通じて入力された音程変換後の音声データは、再生部22へと与えられる。再生部22は、与えられた音程変換後の音声データから音響信号を再生する。
こうして再生された音響信号は、図示しないアンプを通じて増幅された後、スピーカへと入力され、そこで音波に変換される。
【0131】
(第3の実施形態)
第3の実施形態では、第1の実施形態において、読み出しアドレス発生部4b、フィルタ係数列選択部5bおよびフィルタ演算部2bを省略し、かつフィルタ演算部2aとクロスフェード部3の順序を入れ替えている。
【0132】
図12は、本発明の第3の実施形態に係る音程変換装置の構成を示すブロック図である。
第3の実施形態に係る音程変換装置は、例えば、図20に示す従来のCD再生機に設けられる。
図12において、第3の実施形態に係る音程変換装置は、メモリ部1と、フィルタ演算部2aと、クロスフェード部3と、読み出しアドレス発生部4aと、フィルタ係数列選択部5aと、フィルタ係数列格納部6と、音声データ入力端子7と、音声データ出力端子8と、音程制御信号入力端子9とを備えている。
【0133】
すなわち、第3の実施形態に係る音程変換装置は、第1の実施形態に係る音程変換装置(図1参照)において、読み出しアドレス発生部4b、フィルタ演算部2bおよびフィルタ係数列選択部5bを省略し、さらに、フィルタ演算部2aおよびクロスフェード部3の位置を互いに入れ替えたような構成を有する。
メモリ部1およびクロスフェード部3以外の構成要素は、第1の実施形態と同様の動作を行う。
【0134】
図13は、図12のメモリ部1およびクロスフェード部3の内部構成を模式的に示した図である。
図13において、メモリ部1に含まれるバッファは、その記憶領域の先頭と末尾とを輪のように連結したリングバッファであり、図23に示されている読み出しポインタ「r1」および「r2」の間の距離の2倍に相当する容量を持つ。
ここでは、メモリ部1内のリングバッファの容量を4096ワードとする。従って、メモリ部1では、リングバッファの先頭を第0番地、末尾を第4095番地とすると、第4095番地と第0番地とが連続している、つまり第4095番地の次は第0番地となる。
【0135】
リングバッファ上において、書き込みポインタ「w」は、矢印の向きに一定の速さで進行している。「w」の速さは、kに関わらず、単位時間(=サンプリング周期T)あたり1番地だけ進むような速さである。
一方、読み出しポインタ「r1」と「r2」とは、リングバッファを2等分するような位置関係を保ちつつ、「w」の概ねk(=音程変換比)倍の速さで、矢印の向きに進行している。
【0136】
この場合、読み出しポインタ「r1」および「r2」の間には、次式(9)のような関係が成り立つ。
r2=r1+2048(0≦r1<2048),r2=r1−2048(2048≦r1<4096) …(9)
従って、メモリ部1は、読み出しアドレス発生部4aからの読み出しアドレスr1に基づき、上式(9)を用いてr2を求めることによって、第1の実施形態と同じ一対の音声データを読み出す。
【0137】
以上で注目すべきは、次の2点である。
第1は、一対の読み出しアドレスr1,r2の間には、上式(9)のような関係があるので、メモリ部1は、r1,r2のどちらか一方がわかれば、第1の実施形態と同じ一対の音声データを読み出すことができる点である。
第2は、r1の小数部分と、r2の小数部分とが同一となるので、第1の実施形態とは異なり、フィルタ演算で用いるフィルタ係数列の選択を、r1とr2とで個別に実行する必要がない点である。さらに、フィルタ演算およびクロスフェードの実行順序を入れ替えれば、フィルタ演算も、r1とr2とで個別に実行する必要もなくなる。
これらの点を踏まえ、第3の実施形態に係る音程変換装置では、第1の実施形態に係る音程変換装置(図1参照)において、読み出しアドレス発生部4b、フィルタ演算部2bおよびフィルタ係数列選択部5bを省略し、さらに、フィルタ演算部2aおよびクロスフェード部3の位置を互いに入れ替えている。
【0138】
また、リングバッファ上において、書き込みポインタ「w」は、読み出しポインタ「r1」と「r2」との間の円弧(長さ2048ワード分)を、a1とa2とに内分している。
つまり、a1,a2は、書き込みアドレスwと、読み出しアドレスr1,r2との差を示しており、次式(10)を満たす。
a1+a2=2048 …(10)
【0139】
このとき、クロスフェード部3は、メモリ部1から読み出される一対の音声データに乗じる一対のクロスフェード係数V(a1),V(a2)を予め記憶している。
図14は、クロスフェード部3が、メモリ部1から読み出される一対の音声データに乗じる一対のクロスフェード係数V(a1),V(a2)の一例を示している。
a1とa2とは、上式(10)のような関係にあるので、a1,a2のいずれか一方がわかればよい。そこで、図14に示すように、クロスフェード部3は、a1(またはa2)が0〜2048のときのV(a1),V(a2)を予め記憶しておく。そして、読み出しアドレス発生部4aからの読み出しアドレスr1と、書き込みアドレスwとからa1を求め、そのa1と対応するV(a1),V(a2)を選び出して、メモリ部1から読み出される一対の音声データに乗じる。
【0140】
以上のように構成された音程変換装置について、以下にその動作を説明する。ただし、第1の実施形態の音程変換装置と同様の動作は省略または簡単に説明し、異なる動作だけを詳細に説明する。
図20において、CD20から読み出された音声データと、音程変換比kを示す音程制御信号とが、それぞれ音声データ入力端子7、音程制御信号入力端子9を通じて音程変換装置に入力される。
【0141】
入力された音声データは、メモリ部1によって一時記憶される。メモリ部1が音声データをどのように記憶するかは、図22(a)に示されている。
一方、入力された音程制御信号は、読み出しアドレス発生部4aに与えられる。読み出しアドレス発生部4aは、与えられた音程制御信号に基づいて、読み出しアドレスを周期Tで発生する。この読み出しアドレスは、第1の実施形態と同じである。
こうして発生された読み出しアドレスは、メモリ部1およびフィルタ係数列選択部5aへと与えられる。
すなわち、読み出しアドレス発生部4aが発生した読み出しアドレスの整数部ビットが、有効な読み出しアドレスとしてメモリ部1へと与えられ、小数部第1および第2ビットは、フィルタ選択情報としてフィルタ係数列選択部5aへと与えられる。
【0142】
メモリ部1は、与えられた整数部ビット(有効な読み出しアドレスr1)に基づいて、バッファから音声データを読み出す。
すなわち、r1に基づき、上式(9)を用いて、もう一つのアドレスr2を算出し、それらr1,r2に該当する番地から一対の音声データを読み出す。
【0143】
図15は、図12のメモリ部1のリングバッファ上において、入力されてくる音声データの書き込みが行われる位置(書き込みアドレスポインタ「w」)と、読み出しアドレス発生部4aからのアドレスを受けて、一対の音声データの読み出しが行われる2つの位置(読み出しアドレスポインタ「r1」,「r2」)との関係(ただし、音程を高く変換する場合)を模式的に示した図である。
図15において、「w」,「r1」,「r2」は、時間が経過するにつれ、(a),(b),…,(l)のように移動していく。(l)は、(a)と同じ状態を示しており、引き続き、(a),(b),…,(l)が繰り返される。
【0144】
(a)〜(l)を通じ、「r1」と「r2」とは、リングバッファを2等分するような位置関係に保たれる。「w」は、一定の速さで矢印の向きに移動し、「r1」および「r2」は、「w」と同じ向きに、「w」よりも速く移動する。なお、a1,a2は、「w」と「r1」,「r2」との間の距離を表す。これらの点については、先に図13を用いて説明した。
【0145】
(a)(または(l))は、「r2」が「w」を追い越す瞬間を示す。この瞬間、「r2」の位置から読み出される音声データが不連続となる。
(g)は、「r1」が「w」を追い越す瞬間を示す。この瞬間、「r1」の位置から読み出される音声データが不連続となる。
(d),(j)は、a1=a2となった瞬間を示す。
【0146】
再び図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の出力信号には、値の不連続は現れない。
【0147】
一方、フィルタ係数列選択部5aは、与えられた一対のフィルタ選択情報に基づいて、フィルタ係数列格納部6に格納されている4個(一般にはN個)のフィルタ係数列の中からいずれか1つのフィルタ係数列を選択する。そして、そのフィルタ係数列を読み出し、フィルタ演算部2aへと転送する。
なお、フィルタ係数列格納部6に格納されている4個のフィルタ係数列は、第1の実施形態と同じであり、フィルタ係数列選択部5aも、第1の実施形態と同様にして、いずれかのフィルタ係数列を選択する。
フィルタ演算部2aは、メモリ部1からの音声データと、フィルタ係数列選択部5aからのフィルタ係数列とに基づいてフィルタ演算を行い、必要な音声データ{y’(0),y’(k×1),y’(k×2),…}を算出する。
【0148】
音程変換装置から出力された音程変換後の音声データ{y’(0),y’(k×1),y’(k×2),…}は、音声データ入力端子27を通じ、再びCD再生機へと入力される。
図20において、音声データ入力端子27を通じて入力された音程変換後の音声データは、再生部22へと与えられる。再生部22は、与えられた音程変換後の音声データから音響信号を再生する。
こうして再生された音響信号は、図示しないアンプを通じて増幅された後、スピーカへと入力され、そこで音波に変換される。音程変換後の音声データから再生される音響信号は、図2(c)と同様である。
【図面の簡単な説明】
【図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】クロスフェード部3が、メモリ部1から読み出される一対の音声データに乗じる一対のクロスフェード係数V(a1),V(a2)の一例を示している。
【図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の音程変換装置が行う音程変換処理を視覚的に示した図である。
【符号の説明】
1…メモリ部
2a〜2d…フィルタ演算部
3…クロスフェード部
4a,4b…読み出しアドレス発生部
5a,5b…フィルタ係数列選択部
6…フィルタ係数列格納部
7…音声データ入力端子
8…音声データ出力端子
9…音程制御信号入力端子
10a,10b…補間部
11…オーバーサンプリング部
12…ダウンサンプリング部
13…インターポーレータ
14a,14b…ローパスフィルタ(LPF)
15…デシメータ
16…アキュームレータ
17…乗算器
Claims (8)
- 再生時間を変えずに音響信号の音程を任意の音程に変換するための音程変換装置であって、
前記音響信号をサンプリングして得られた離散的な音声データが順次的に入力される音声データ入力端子、
音程変換比を示す音程制御信号が入力される音程制御信号入力端子、
前記音程制御信号入力端子を通じて入力される音程制御信号に基づいて、互いに一定値ずれた読み出しアドレスを発生する一対の読み出しアドレス発生部、
バッファを含み、前記音声データ入力端子を通じて入力される音声データを当該バッファに順番に書き込むと共に、各前記読み出しアドレス発生部が発生した読み出しアドレスの整数部ビットに基づいて、一対の音声データ列を当該バッファから読み出すメモリ部、
N倍オーバーサンプリング(ただし、Nは2のべき乗;以下同様)を行うためのローパスフィルタをポリフェーズ分解して得られるN個のサブフィルタと対応するN個のフィルタ係数列が予め決められた順序で格納されたフィルタ係数列格納部、
前記フィルタ係数列格納部に格納されているN個のフィルタ係数列のうち前記読み出しアドレス発生部が発生した読み出しアドレスの小数部第1〜第(log 2 N)ビットに対応するフィルタ係数列を選択する一対のフィルタ係数列選択部、
前記メモリ部が読み出した一対の音声データ列を受け、各当該音声データ列に対して、各前記フィルタ係数列選択部が選択したフィルタ係数列を用いてフィルタ演算を行う一対のフィルタ演算部、
各前記フィルタ演算部から出力される一対の音声データを受け、それら一対の音声データにクロスフェード係数を乗じて互いに加算するクロスフェード部を備える、音程変換装置。 - 前記メモリ部は、一対の音声データ列を前記バッファから読み出す際、当該一対の音声データ列と同じまたは各々1番地ずれた別の一対の音声データ列を当該バッファからさらに読み出し、
前記一対のフィルタ係数列選択部は、前記フィルタ係数列格納部に格納されているN個のフィルタ係数列のうち前記読み出しアドレス発生部が発生した読み出しアドレスの小数部第1〜第(log 2 N)ビットに対応するフィルタ係数列を選択するのに加え、当該フィルタ係数列に隣接する別のフィルタ係数列をさらに選択し、
前記メモリ部が読み出した別の一対の音声データ列を受け、各当該別の音声データ列に対して、各前記フィルタ係数列選択部が選択した別のフィルタ係数列を用いてフィルタ演算を行う別の一対のフィルタ演算部、および
前記一対のフィルタ演算部から出力される一対の音声データと、前記別の一対のフィルタ演算部から出力される一対の音声データとを受け、各前記読み出しアドレス発生部が発生した読み出しアドレスの小数部第{(log2 N)+1}ビット以下のビットを補間係数として直線補間値を求めることによって、互いに隣接する2つの音声データの間を補間する一対の補間データを生成する一対の補間部をさらに備え、
前記クロスフェード部へは、前記一対の補間部から出力される1対の音声データが与えられることを特徴とする、請求項1に記載の音程変換装置。 - 各前記読み出しアドレス発生部は、前記音程変換比を累積加算するアキュームレータを含む、請求項1または2に記載の音程変換装置。
- 各前記読み出しアドレス発生部は、
一定値を累積加算するアキュームレータ、および
前記アキュームレータの出力と、前記音程変換比とを乗算する乗算器を含む、請求項1または2に記載の音程変換装置。 - 再生時間を変えずに音響信号の音程を任意の音程に変換するための音程変換装置であって、
前記音響信号をサンプリングして得られた離散的な音声データが順次的に入力される音声データ入力端子、
音程変換比を示す音程制御信号が入力される音程制御信号入力端子、
前記音程制御信号入力端子を通じて入力される音程制御信号に基づいて、読み出しアドレスを発生する1つの読み出しアドレス発生部、
バッファを含み、前記音声データ入力端子を通じて入力される音声データを順番に当該バッファに書き込むと共に、前記読み出しアドレス発生部が発生した読み出しアドレスの整数部ビットに基づいて、互いに一定数番地ずれた一対の音声データ列を当該バッファから読み出すメモリ部、
前記メモリ部が読み出した一対の音声データ列を受け、当該一対の音声データ列を構成する各一対の音声データにクロスフェード係数を乗じて互いに加算するクロスフェード部、
N倍オーバーサンプリング(ただし、Nは2のべき乗;以下同様)を行うためのローパスフィルタをポリフェーズ分解して得られるN個のサブフィルタと対応するN個のフィルタ係数列が予め格納されたフィルタ係数列格納部、
前記フィルタ係数列格納部に格納されているN個のフィルタ係数列のうち前記読み出しアドレス発生部が発生した読み出しアドレスの小数部第1〜第(log 2 N)ビットに対応するフィルタ係数列を選択する1つのフィルタ係数列選択部、および
前記クロスフェード部から出力される音声データ列を受け、当該音声データ列に対して、前記フィルタ係数列選択部が選択したフィルタ係数列を用いてフィルタ演算を行う1つのフィルタ演算部を備える、音程変換装置。 - 前記バッファ上には、前記音声データ入力端子を通じて入力される音声データが書き込まれる位置を示す書き込みポインタと、読み出される前記一対の音声データ列各々の先頭位置を示す一対の読み出しポインタとが設けられ、
前記バッファは、その先頭と末尾とが輪のように連結された、前記一対の読み出しポインタ間の距離の2倍に相当する容量を持つようなリングバッファであり、
前記メモリ部は、前記一対の読み出しポインタのいずれか一方と、前記書き込みポインタとの間の距離を、前記クロスフェード部に通知し、
前記クロスフェード部は、前記メモリ部から通知された距離に応じたクロスフェード係数を、前記一対の音声データ列を構成する各一対の音声データに乗じることを特徴とする、請求項5に記載の音程変換装置。 - 前記読み出しアドレス発生部は、前記音程変換比を累積加算するアキュームレータを含む、請求項5または6に記載の音程変換装置。
- 前記読み出しアドレス発生部は、
一定値を累積加算するアキュームレータ、および
前記アキュームレータの出力と、前記音程変換比とを乗算する乗算器を含む、請求項5または6に記載の音程変換装置。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37367499A JP4416244B2 (ja) | 1999-12-28 | 1999-12-28 | 音程変換装置 |
MYPI20006184A MY141491A (en) | 1999-12-28 | 2000-12-23 | Pitch shifter |
KR10-2000-0082709A KR100374440B1 (ko) | 1999-12-28 | 2000-12-27 | 음정변환장치 |
TW089128118A TW498304B (en) | 1999-12-28 | 2000-12-28 | Pitch shifter |
CNB001370545A CN1160704C (zh) | 1999-12-28 | 2000-12-28 | 音程变换装置 |
US09/749,827 US6300553B2 (en) | 1999-12-28 | 2000-12-28 | Pitch shifter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37367499A JP4416244B2 (ja) | 1999-12-28 | 1999-12-28 | 音程変換装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2001188600A JP2001188600A (ja) | 2001-07-10 |
JP2001188600A5 JP2001188600A5 (ja) | 2006-11-30 |
JP4416244B2 true JP4416244B2 (ja) | 2010-02-17 |
Family
ID=18502572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP37367499A Expired - Fee Related JP4416244B2 (ja) | 1999-12-28 | 1999-12-28 | 音程変換装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6300553B2 (ja) |
JP (1) | JP4416244B2 (ja) |
KR (1) | KR100374440B1 (ja) |
CN (1) | CN1160704C (ja) |
MY (1) | MY141491A (ja) |
TW (1) | TW498304B (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003019527A1 (fr) * | 2001-08-31 | 2003-03-06 | Kabushiki Kaisha Kenwood | Procede et appareil de generation d'un signal affecte d'un pas et procede et appareil de compression/decompression et de synthese d'un signal vocal l'utilisant |
EP1357537B1 (en) * | 2002-04-26 | 2008-05-14 | Yamaha Corporation | Stream data processing system and method |
KR100547445B1 (ko) * | 2003-11-11 | 2006-01-31 | 주식회사 코스모탄 | 디지털 오디오신호 및 오디오/비디오신호의 변속처리방법및 이를 이용한 디지털 방송신호의 변속재생방법 |
US7430158B1 (en) | 2004-12-13 | 2008-09-30 | Chris Tanner | Music player with adjustable pitch controller |
US7259314B2 (en) * | 2005-03-28 | 2007-08-21 | Yamaha Corporation | Waveform data processing apparatus |
JP2007087466A (ja) * | 2005-09-20 | 2007-04-05 | Fuji Xerox Co Ltd | 二次元符号化方法 |
US7866550B2 (en) * | 2007-08-23 | 2011-01-11 | Target Brands, Inc. | Transaction card with sound and transformative playback feature |
CN101399036B (zh) * | 2007-09-30 | 2013-05-29 | 三星电子株式会社 | 将语音转换为说唱音乐的设备和方法 |
WO2011048815A1 (ja) * | 2009-10-21 | 2011-04-28 | パナソニック株式会社 | オーディオ符号化装置、復号装置、方法、回路およびプログラム |
US9058797B2 (en) | 2009-12-15 | 2015-06-16 | Smule, Inc. | Continuous pitch-corrected vocal capture device cooperative with content server for backing track mix |
US8983829B2 (en) * | 2010-04-12 | 2015-03-17 | Smule, Inc. | Coordinating and mixing vocals captured from geographically distributed performers |
JP6904141B2 (ja) | 2017-07-28 | 2021-07-14 | カシオ計算機株式会社 | 楽音発生装置、方法、プログラム、及び電子楽器 |
JP6922614B2 (ja) * | 2017-09-27 | 2021-08-18 | カシオ計算機株式会社 | 電子楽器、楽音発生方法、及びプログラム |
JP7136979B2 (ja) * | 2020-08-27 | 2022-09-13 | アルゴリディム ゲー・エム・ベー・ハー | オーディオエフェクトを適用するための方法、装置、およびソフトウェア |
EP4131264A1 (en) * | 2021-08-06 | 2023-02-08 | MAAT Labs GmbH | Digital audio signal processing |
CN113903367B (zh) * | 2021-09-30 | 2023-06-16 | 湖南卡罗德钢琴有限公司 | 一种基于钢琴全智能***的采集还原方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5231671A (en) * | 1991-06-21 | 1993-07-27 | Ivl Technologies, Ltd. | Method and apparatus for generating vocal harmonies |
JPH05281991A (ja) | 1992-03-30 | 1993-10-29 | Toshiba Corp | ピッチシフト装置 |
JP3076859B2 (ja) | 1992-04-20 | 2000-08-14 | 三菱電機株式会社 | ディジタルオーディオ信号の信号処理装置 |
JPH05327409A (ja) * | 1992-05-22 | 1993-12-10 | Sony Corp | レート変換方法及びその変換回路 |
JPH0816178A (ja) * | 1994-06-27 | 1996-01-19 | Yamaha Corp | キーコントロール装置 |
JPH0816194A (ja) * | 1994-07-01 | 1996-01-19 | Nippon Steel Corp | 音声信号デコーダ |
JP3591011B2 (ja) * | 1994-11-04 | 2004-11-17 | ソニー株式会社 | ディジタル信号処理装置 |
JPH08272390A (ja) | 1995-02-01 | 1996-10-18 | Matsushita Electric Ind Co Ltd | 音程変換装置 |
JP3481005B2 (ja) | 1995-03-02 | 2003-12-22 | 三菱電機株式会社 | ディジタルオーディオ信号の音程変換器 |
US5647005A (en) * | 1995-06-23 | 1997-07-08 | Electronics Research & Service Organization | Pitch and rate modifications of audio signals utilizing differential mean absolute error |
JPH09212193A (ja) * | 1996-02-02 | 1997-08-15 | Toshiba Corp | 音程変換装置 |
JPH10187180A (ja) * | 1996-12-25 | 1998-07-14 | Casio Comput Co Ltd | 楽音発生装置 |
JP3836947B2 (ja) * | 1997-06-20 | 2006-10-25 | パイオニア株式会社 | サンプリングレート変換ユニット、サンプリングレート変換装置及びサンプリングレート変換方法 |
-
1999
- 1999-12-28 JP JP37367499A patent/JP4416244B2/ja not_active Expired - Fee Related
-
2000
- 2000-12-23 MY MYPI20006184A patent/MY141491A/en unknown
- 2000-12-27 KR KR10-2000-0082709A patent/KR100374440B1/ko not_active IP Right Cessation
- 2000-12-28 US US09/749,827 patent/US6300553B2/en not_active Expired - Lifetime
- 2000-12-28 CN CNB001370545A patent/CN1160704C/zh not_active Expired - Fee Related
- 2000-12-28 TW TW089128118A patent/TW498304B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US20010013270A1 (en) | 2001-08-16 |
CN1160704C (zh) | 2004-08-04 |
KR100374440B1 (ko) | 2003-03-04 |
US6300553B2 (en) | 2001-10-09 |
JP2001188600A (ja) | 2001-07-10 |
MY141491A (en) | 2010-04-30 |
TW498304B (en) | 2002-08-11 |
KR20010062763A (ko) | 2001-07-07 |
CN1302058A (zh) | 2001-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4416244B2 (ja) | 音程変換装置 | |
JP2000181449A (ja) | 情報処理装置および方法、並びに提供媒体 | |
EP1580747A2 (en) | Audio information processing method, audio information processing apparatus, and method of recording audio information on recording medium | |
JP2004527005A (ja) | 波形テーブル型シンセサイザにおいてエリアシングを除去するための方法 | |
JP3591011B2 (ja) | ディジタル信号処理装置 | |
JP3008922B2 (ja) | 楽音発生装置および楽音発生方法 | |
JP2001356799A (ja) | タイム/ピッチ変換装置及びタイム/ピッチ変換方法 | |
US8314321B2 (en) | Apparatus and method for transforming an input sound signal | |
JPS642960B2 (ja) | ||
JP3829134B2 (ja) | 生成装置、再生装置、生成方法、再生方法、および、プログラム | |
KR20030005307A (ko) | 보간 함수 생성 장치 및 방법, 디지털-아날로그 변환장치, 데이터 보간 장치, 프로그램 및 기록 매체 | |
JP3095018B2 (ja) | 楽音発生装置 | |
JP2001069010A (ja) | 圧縮方法及び装置、伸長方法及び装置、圧縮伸長システム、記録媒体 | |
WO2002101925A1 (fr) | Dispositif d'interpolation de donnees et procede correspondant, dispositif de generation de fonctions d'echantillonnage, programme d'interpolation de donnees, et support enregistre | |
JP2558356B2 (ja) | デジタル・アナログ変換器 | |
JP5807419B2 (ja) | 信号処理装置 | |
JP2007047307A (ja) | 効果音生成装置 | |
JP3395560B2 (ja) | 波形再生装置および波形データのクロスフェード方法 | |
JPS60176100A (ja) | 信号のピッチ変換器 | |
JP2002023750A (ja) | オーディオ波形データ再生装置、オーディオ波形データの時間軸圧縮伸長処理装置およびオーディオ波形データのピッチ変換処理装置 | |
JP3636056B2 (ja) | 波形データ処理方法 | |
JP2004294780A (ja) | 波形データ圧縮方法、楽音信号発生方法、楽音信号処理装置およびプログラム | |
JPH0850486A (ja) | サウンドデータアクセス装置、サンプリングデータ列補間装置、サンプリングデータ列アクセス装置、およびサンプリングデータ列補間方法、ならびにサウンドデータアクセス装置を用いたマルチメディア機器、および電子楽器 | |
KR20030005315A (ko) | 압축 방법 및 장치, 압축 해제 방법 및 장치, 압축/압축해제 시스템, 기록매체 | |
JPH05173583A (ja) | カラオケ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061018 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061018 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090810 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090814 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091005 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091030 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091124 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4416244 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121204 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121204 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131204 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |