JP4170459B2 - 波形信号の時間軸圧縮伸長装置 - Google Patents
波形信号の時間軸圧縮伸長装置 Download PDFInfo
- Publication number
- JP4170459B2 JP4170459B2 JP24240098A JP24240098A JP4170459B2 JP 4170459 B2 JP4170459 B2 JP 4170459B2 JP 24240098 A JP24240098 A JP 24240098A JP 24240098 A JP24240098 A JP 24240098A JP 4170459 B2 JP4170459 B2 JP 4170459B2
- Authority
- JP
- Japan
- Prior art keywords
- band
- time
- waveform signal
- waveform
- frequency
- 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
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、波形信号の時間軸圧縮伸長装置に関し、さらに詳細には、位相ボコーダ方式による波形信号の時間軸圧縮伸長処理を改善した波形信号の時間軸圧縮伸長装置に関する。
【0002】
【従来の技術】
一般に、波形信号を再生する技術として、例えば、録音された波形信号の再生時間を時間軸上で圧縮伸長する時間軸圧縮伸長(以下、「タイムストレッチ」と適宜称する。)技術が音楽制作の分野でも利用されるようになってきている。
【0003】
ところで、例えば、テープレコーダにおいては、テープに録音する際のテープの回転速度とテープを再生する際のテープの回転速度とを異ならせることにより、テープに録音された音声の再生時間を時間軸上で圧縮伸長することができる。
【0004】
即ち、テープの録音時における波形信号が図1に示すものである場合に、再生時におけるテープの回転速度を録音時の回転速度より遅くすることによって再生時間を伸長すると、図1に示す波形信号は、波形が単に比例的に伸長された図2に示すような波形信号として再生されることになってしまい、再生時間が伸長されることにともにない、それと同時に周波数が変化してしまう(周波数が下がる)こととなっていた。
【0005】
このため従来のタイムストレッチ技術においては、波形信号を順次に一時的にデジタルメモリーなどに記録し、一定の区間を間引いたり、あるいは繰り返したりして再生時間を時間軸上で伸長圧縮するようになされている。
【0006】
なお、以下においては、再生時間の時間軸上での伸長圧縮を、適宜に「圧縮伸長」と簡略化して称するものとする。
【0007】
しかしながら、連続する波形信号を間引いたり、あるいは繰り返したりすると、間引きあるいは繰り返しの際における各波形信号のそれぞれの接続点が不連続になるために雑音が発生するという新たな問題が生じるものであった。
【0008】
このため、上記した各波形信号の接続点をクロスフェード(なお、「クロスフェード」とは、複数の波形を連続して再生する際に、ある波形(以下、「第1波形」と称する。)の終わり部分と当該ある波形に続くある波形(以下、「第2波形」と称する。)の始まり部分とをオーバーラップして再生するようにして、このオーバーラップして再生する際に、第1波形のオーバーラップ部分の音量を徐々に減少していくとともに、第2波形のオーバーラップ部分の音量を徐々に増大させていく手法を意味する。)することにより、雑音の発生を抑止しながら各波形の連続性を保とうとする手法が提案されているが、波形信号の揺らぎやリップルの発生を完全には防止することができず、根本的な解決策とはなっていなかった。
【0009】
然るに、現在においては、上記した各種の問題点を解決するためのタイムストレッチ技術として、位相ボコーダという方式が提案されている。この位相ボコーダ方式は、一定区間の波形信号を間引いたり、あるいは繰り返したりすることがないため、雑音や揺らぎを生じさせることなしに、例えば、図1に示す波形信号を図3に示すような、再生時間の伸長にもかかわらず周波数が変化しない波形信号に伸長することができ、かつ、滑らかに再生時間の伸長圧縮を行うことができるものである。
【0010】
図4には公知の位相ボコーダの一例のブロック構成図が示されており、また、図5には図4に示す位相ボコーダにおけるバンドk(図4に示す例においては、kは0〜99の整数である。)に関する分析部(バンドk分析部)400の詳細な構成の一例のブロック構成図が示されているが、以下においてはこれら図4ならびに図5を参照しながら位相ボコーダについて説明する。
【0011】
即ち、位相ボコーダは、波形信号を当該波形信号の概略基本周波数を帯域幅に持つ複数の周波数帯域(Band:バンド)に分割し(図4に示す位相ボコーダにおいては、図6に示すようにバンド0〜バンド99の100バンドの周波数帯域に分割している。)、分割された各周波数帯域の分析部(図4に示す位相ボコーダにおいてはバンド0分析部〜バンド99分析部であり、上記したように、バンドk分析部の詳細は図5に示されている。)において、分割された各周波数帯域の波形信号をそれぞれの周波数帯域の中心の複素周波数で乗算して振幅値と瞬間周波数に分析展開するものである。
【0012】
ここで、図5においてw(n)は分析フィルターのインパルス応答であり、バンドk分析部の作用は周知の短区間フーリエ変換と同等のものである。
【0013】
そして、分割された各周波数帯域の分析部で得られた振幅値と瞬間周波数とは、記憶部に記憶されることになる。
【0014】
また、各周波数帯域に分割された波形信号の合成は合成部において行われるものであり、分析された振幅値と瞬間周波数とで当該分析された各周波数帯域の中心周波数の正弦波を変調して当該各周波数帯域の波形信号を生成し、生成した各周波数帯域の波形信号を混合すれば元の波形信号が復元されることになる。
【0015】
ここで、波形信号の再生時間を圧縮伸長する場合には、変換部において振幅値の補間値と瞬間周波数の補間値とを求める時間周波数変換処理が行われることになる。
【0016】
図7(a)には、バンドkに関する時間周波数変換処理を実行するためのバンドk変換部のブロック構成図が示されており、この図7(a)を参照しながら波形信号の再生時間を圧縮伸長する場合の処理について説明する。
【0017】
まず、波形信号の再生時間を伸長する場合には、変換部において各サンプル点での振幅値を補間して振幅値のエンベロープを伸長率に基づいて引き伸ばし、また、瞬間周波数もサンプル点の補間値を求めるようにする(図7(b)参照)。そして、こうして補間によって得られた振幅値と瞬間周波数とから、上記したと同様に合成部において、分割された各周波数帯域の波形信号を求め混合するものである。
【0018】
一方、波形信号の再生時間を圧縮する場合には、振幅値と瞬間周波数とを補間によって間引いてエンベロープを縮めるようにする(図7(c)参照)。そして、こうして補間によって得られた振幅値と瞬間周波数とから、上記したと同様に合成部において、分割された各周波数帯域の波形信号を求め混合するものである。
【0019】
なお、波形信号のピッチを転調する場合には、分割された各周波数帯域の中心周波数と瞬間周波数との和を変化比率で乗算し、上記した補間演算を実行すればよい。
【0020】
また、以上において説明した処理は公知の手法により実行されるものであるので、フローチャートならびにその詳細な説明は省略する。
【0021】
しかしながら、上記した位相ボコーダ方式においては、波形信号を概略基本周波数の周波数帯域幅に分割し、分割した各周波数帯域の波形信号を分析して各倍音の振幅値と周波数とを求め、こうして求めた振幅値と周波数とに基づいて波形信号の合成を行うために、波形信号の処理量が膨大になって莫大な計算を行う必要があり、リアルタイムで処理することができないという問題点があった。
【0022】
ここで、波形信号を各周波数帯域に分割する際の帯域分割数を少なくするならば、波形信号の処理量を節約することは可能であるが、伸長圧縮する波形信号が声あるいはブラスなどのように周期的、パルシーブな場合や和音などの場合には、当該波形信号を大幅に伸長すると倍音関係が崩れて調和が乱れるという新たな問題点を生じさせるものであった。
【0023】
即ち、位相ボコーダ方式においては、波形信号の特定区間を直接間引いたりあるいは繰り返したりしないので、波形信号の滑らかな伸長圧縮が可能になるが、それに必要な膨大な波形信号の処理量を節約しようとして、波形信号を各周波数帯域に分割する際の帯域分割数を少なくすると、声やブラスなどの周期が長い波形信号や和音などの波形信号を扱う際に伸長圧縮率を大きくすると、倍音関係が崩れることがあるものであった。
【0024】
つまり、位相ボコーダ方式は、原理的に伸長圧縮しようとする波形信号の周期成分が分割された帯域(バンド)に一つづつあるという仮定に基づいている。従って、分割された帯域内に隣接する倍音が複数ある周期的なパルス列の場合には、元の信号の基本周期で粒を構成することになる。このため、こうした帯域の波形信号の再生時間を伸長すると、当該波形信号のミクロな周期(中心周波数)は変化しないが粒の周期、つまり基本周期が伸長してしまい、原波形信号の倍音関係が損なわれてしまうこととなっていた。
【0025】
また、上記したと同様な理由で、合奏音や非周期信号は倍音が正確に分離できないので、その波形信号を伸長圧縮すると再生音が濁るという問題が生じるものであった。
【0026】
【発明が解決しようとする課題】
本発明は、上記したような従来の技術の有する問題点に鑑みてなされたものであり、その目的とするところは、位相ボコーダ方式の採用により波形信号の特定区間を直接間引いたりあるいは繰り返したりせずに波形信号の滑らかな伸長圧縮を可能にするとともに、リアルタイムでの処理を可能にし、しかも声やブラスなどの周期が長い波形信号や和音などの波形信号を扱う際にも倍音関係が崩れることがなく、また、合奏音や非周期信号などの波形信号を伸長圧縮しても再生音が濁らないようにした波形信号の時間軸圧縮伸長装置を提供しようとするものである。
【0027】
【課題を解決するための手段】
上記目的を達成するために、本発明による波形信号の時間軸圧縮伸長装置は、位相ボコーダ方式にマルチレイトサンプリング技術を応用し、両者の長所をより一層発揮させるようにして、波形信号の特定区間を直接間引いたりあるいは繰り返したりせずに波形信号の滑らかな伸長圧縮を可能にするとともに、リアルタイムでの処理を可能にし、しかも声やブラスなどの周期が長い波形信号や和音などの波形信号を扱う際にも倍音関係が崩れることがなく、また、合奏音や非周期信号などの波形信号を伸長圧縮しても再生音が濁らないように改良したものである。
【0028】
ここで、マルチレイトサンプリング技術とは、波形信号の帯域を上から順に半分づつに分割し、サンプリングレイトもそれに応じて順に半分に落としていくサンプリング方式であり、このため下位のバンドほどサンプリングレイトが低くなるので、全体としての波形信号の処理量を軽減することができる波形信号の処理方式である。
【0029】
そして、マルチレイトサンプリング技術においては、各バンドはオクターブの周波数帯域幅を有するようになされている。
【0030】
一方、位相ボコーダ方式においては、上記したように波形信号を倍音成分に分離させるために、マルチレイトサンプリング技術によるオクターブの周波数帯域幅の各バンド(以下、「メインバンド」または「メイン周波数帯域」と称する。)を、波形信号の概略基本周波数帯域幅の複数のバンド(以下、「サブバンド」または「サブ周波数帯域」と称する。)に分割しなければならないものである。
【0031】
従って、位相ボコーダ方式にマルチレイトサンプリング技術を適用することにより、時間軸上で伸長圧縮する波形信号の最低基本周波数を150Hzとし、15kHz帯域でのサンプリングレイトが32kHzとすると、波形信号の周波数帯域を全部で100のサブバンドに分割する必要がある。即ち、再上位の32kHzのメインバンドに50のサブバンドが必要になり、16kHzのメインバンドに25のサブバンドが必要になり、8kHzのメインバンドに13のサブバンドが必要になり、4kHzのメインバンドに6のサブバンドが必要になり、2kHzのメインバンドに3のサブバンドが必要になり、1kHzのメインバンドに2のサブバンドが必要になり、0.5kHzのメインバンドに1のサブバンドが必要になる。
【0032】
また、波形信号の最低基本周波数がさらに低く、例えば、50Hzになると、必要なサブバンドの分割数は300にもなってしまうものである。
【0033】
このように、単に位相ボコーダ方式にマルチレイトサンプリング技術を適用しただけでは、総サブバンドのなかで最もサンプルレイトの高いサブバンドがその大半を占めるようになってしまうため、マルチレイトサンプリング技術の適用による波形信号処理量の低減効果は小さくなってしまうものである。
【0034】
ところで、自然の音声は、周波数が高域になるほど振幅や周期の揺らぎ大きくなるが、低域に比べてレベルは低くなる傾向がある。
【0035】
また、人の聴覚は、音量だけでなく周波数軸上においても線形よりも対数に近い尺度で反応する特性を持っている。
【0036】
本願出願人は、上記した自然の音声や人の聴覚の特性に鑑みて実験を行ったところ、ほとんどの楽音に関して、最上位のメインバンドでも50ものサブバンドに分割せずにわずか数バンドのサブバンドに分割することにより、波形信号の処理量の大幅な低減を図ってリアルタイム処理を可能にしながら、波形信号の特定区間を直接間引いたりあるいは繰り返したりせずに波形信号の滑らかな伸長圧縮を行うことができるようになり、しかも声やブラスなどの周期が長い波形信号や和音などの波形信号を扱う際にも倍音関係が崩れることがなく、また、合奏音や非周期信号などの波形信号を伸長圧縮しても再生音が濁らないことを発見した。
【0037】
また、波形信号の基本周波数が高域の場合には下位のサブバンドを省略しても影響がなく、波形信号の基本周波数が中域の場合にはサブバンドの分割数を少なくしても影響がないことがわかった。
【0038】
上記した本発明に原理に鑑みて、本発明のうち請求項1に記載の発明は、波形信号を複数のメイン周波数帯域に分割し、かつ、各メイン周波数帯域のそれぞれを複数のサブ周波数帯域に分割した当該複数のサブ周波数帯域毎の波形信号の時間経過にともなう周波数情報と振幅情報とを波形データとして記憶した記憶手段と、上記サブ周波数帯域毎に設けられ、各サブ周波数帯域毎の波形データを基に当該波形データが表わす波形の時間軸圧縮伸長を行う複数の時間軸圧縮伸長手段と、上記複数の時間軸圧縮伸長手段からの信号を合成する合成手段とを有し、上記複数のメイン周波数帯域は、周波数帯域の境界をなす一連の周波数がそれぞれ互いに2のn(nは整数)乗倍の比となるように分割された周波数帯域であり、かつ、隣り合う周波数帯域の低域側のサンプルレイトが当該隣り合う周波数帯域の高域側のサンプルレイトの2分の1となるものであり、上記複数の時間軸圧縮伸長手段はそれぞれ、波形の時間軸圧縮伸長を行うサブ周波数帯域が属するメイン周波数帯域に対応したサンプルレイトで圧縮伸長の処理を行うようにしたものである。
【0039】
また、本発明のうち請求項2に記載の発明は、本発明のうち請求項1に記載の発明において、上記波形信号の時間軸圧縮伸長装置は所定のソフトウエアを実行することで入力された波形信号に対して圧縮伸長の処理が行われるものであって、あるメイン周波数帯域における時間軸圧縮伸長処理プログラムルーチンを他のメイン周波数帯域の時間軸圧縮伸長処理プログラムルーチンと共用するようにしたものである。
【0040】
また、本発明のうち請求項3に記載の発明は、本発明のうち請求項1または2に記載の発明において、上記波形信号の時間軸圧縮伸長装置は所定のソフトウエアを実行することで入力された波形信号に対して圧縮伸長の処理が行われるものであって、同一のメイン周波数帯域に属するサブ周波数帯域の時間軸圧縮伸長手段は、同一の処理プログラムルーチンを使用するようにしたものである。
【0045】
【発明の実施の形態】
以下、添付の図面を参照しながら、本発明による波形信号の時間軸圧縮伸長装置の実施の形態の一例を詳細に説明する。
【0046】
図8には、本発明による波形信号の時間軸圧縮伸長装置(以下、単に「本発明装置」と称する。)の実施の形態の一例を実現するためのハードウエアのブロック構成図が示されている。
【0047】
即ち、本発明装置は、中央処理装置(CPU)10により全体の動作の制御が行われるものであり、このCPU10には、バスを介して、CPU10が実行するプログラムなどが格納されたリード・オンリ・メモリ(ROM)12と、CPU10がROM12に記憶されたプログラムを実行する際のワーキングエリアなどが設定されたランダム・アクセス・メモリ(RAM)14と、メインバンド数たるマルチレイト分割バンド数や各メインバンドのサブバンド数を設定するための操作子16と、外部のMIDI機器と接続するためのMIDIインターフェース(MIDI interface)18と、後述するフローチャートに示される分析処理や変換合成処理のプログラムを実行するデジタル・シグナル・プロセッサ(DSP)20とが接続されている。
【0048】
また、DSP20には、DSP20がプログラムを実行する際のワーキングエリアなどが設定されたランダム・アクセス・メモリ(RAM)22と、アナログの波形信号をデジタルの波形信号に変換してDSP20へ入力するアナログ/デジタル変換器(A/D)24と、DSPから出力されたデジタルの波形信号をアナログの波形信号に変換して出力するデジタル/アナログ変換器(D/A)26とが接続されている。
【0049】
ここで、時間軸上で伸長圧縮する波形信号の特性を予め解析して、メインバンド数やサブバンド数を設定すれば最適な変換を行うことができるのは当然のことであるが、どのような特性の波形信号にも適用できる簡単でユニバーサルな分割方式があれば簡便である。即ち、仮に各メインバンドを同じ数のサブバンドで分割すれば、各メインバンドの信号処理プログラムは同じルーチンを利用することができるし、プログラム自体の短縮化も図ることができることになる。
【0050】
ところが、このように各メインバンドを同じ数のサブバンドで分割すると、上位のメインバンドにおけるサブバンドの帯域幅が、下位のメインバンドにおけるサブバンドの帯域幅に比べて広くなってしまい、倍音関係が崩れることになってしまうが、本願出願人による実験の結果においては、ほとんどの自然楽音の高域成分は信号レベルが低い上に非周期成分が多いので、音質の劣化は非常に少ないことがわかった。
【0051】
これとは逆に、下位のメインバンドには自然楽音の主要な成分が含まれているが、帯域幅が十分に狭いために音質の劣化は起こりにくいものである。
【0052】
即ち、本願出願人の実験の結果によれば、各メインバンドにおけるサブバンド数が3以上であるならば良好な音質が得られることか判明した。このことは、例えば、各メインバンドにおけるサブバンド数を3とするならば、良好な音質を得ることができるとともに、帯域分割を周波数線形で等間隔で100バンド以上に等分割する場合に比べて、信号処理時間を大幅に短縮することができることを意味するものである。
【0053】
また、各メインバンドを同じ数のサブバンドで分割すると、上位のメインバンドほどサブバンドの帯域幅が広いので、鋭い立ち上がりの信号に対する応答がよくなるものである。
【0054】
一方、各メインバンドを同じ数のサブバンドで分割すると、下位のメインバンドのサブバンドは狭帯域となるので、合奏などの混合音や非周期信号を時間軸上で伸長圧縮しても濁りが少ないものである。
【0055】
本発明装置は、上記したように聴覚の特性を利用したマルチレイトサンプリング技術により、高速かつ音質の優れた時間軸上の伸長圧縮を可能としたものである。
【0056】
ここで、本発明装置においては、DSP20により波形信号の処理が行われるものである。
【0057】
まず、アナログ/デジタル変換器24を介してアナログ/デジタル変換されて入力された波形信号は、図9に示すように、基本の44kHzのサンプルレイトから始めて、22kHz、11kHz、5.5kHz、2.75kHz、1.38kHz、0.68kHzの6のメインバンドに分割される。そして、各サンプルレイトのメインバンドは、さらに4のサブバンドに等分割されるものである。
【0058】
なお、図9においては、説明の都合上、14.67kHzから22kHzのバンドの図示を省略した。
【0059】
また、この実施の形態においては、波形信号のピッチを1.5倍まで変化できるように、最上位のメインバンドは7.33kHzからその2倍の14.67kHzに制限している。
【0060】
図10には、DSP20による波形信号の合成処理および時間軸圧縮伸長処理を実現するための回路のブロック構成図が示されており、当該回路はマルチレイト分析部とマルチレイト合成部とより構成されている。
【0061】
ここで、マルチレイト分析部は、波形信号をメインバンドとサブバンドとに分割するマルチレイト前処理部と、各サブバンドの振幅値と瞬間周波数とを分析するサブバンド分析部と、サブバンド分析部により分析された振幅値と瞬間周波数とを記憶する記憶部とより構成されている。
【0062】
また、マルチレイト合成部は、サブバンド分析部により分析された振幅値と瞬間周波数とを記憶する記憶部(即ち、記憶部は、マルチレイト分析部とマルチレイト合成部との双方の構成要素として用いられる。)と、振幅値と瞬間周波数とから波形信号を生成するためのサブバンド変換合成部と、サンプルレイト変換部とより構成されている。
【0063】
ここで、図11には、マルチレイト前処理部の詳細なブロック構成図が示されており、このマルチレイト前処理部は、低域フィルタとサンプル間引き処理回路と減算器とより構成されている。
【0064】
また、図12には、サブバンド変換合成部の詳細なブロック構成図が示されており、このサブバンド変換合成部は、図4に示す従来の位相ボコーダのブロック構成図における変換部および合成部に相当するものであり、時間周波数変換処理回路と余弦発振器と乗算器とより構成されている。
【0065】
さらに、図13には、サンプルレイト変換部の詳細なブロック構成図が示されており、このサンプルレイト変換部は、サンプル逓倍回路と低域フィルタとより構成されている。
【0066】
以上の構成において、入力される波形信号たる入力信号x(n)は、マルチレイト分析部のマルチレイト前処理部に入力される。そして、マルチレイト前処理部においては、入力信号x(n)を低域フィルタに通過させ、低域フィルタによって入力信号x(n)のうちの下位のバンド(メインバンド)の成分を減算した後の差分が、バンド(メインバンド)0の成分とされる。そして、このバンド(メインバンド)0の成分は、バンド(メインバンド)0のサブバンド分析部に送られることになる。
【0067】
上記と同様な処理により、順に各メインバンドの成分が得られ、各メインバンドのサブバンド分析部へ送られる。
【0068】
各サブバンド分析部における処理は、図4に示す従来の位相ボコーダのブロック構成図における分析部の処理と同様であり、この実施の形態においては、4のサブバンドに分割されて振幅値と瞬間周波数とが分析される。
【0069】
なお、分析された各サブバンドのデータ(振幅値および瞬間周波数)は帯域が制限されているので、大幅に標本化周期を間引き情報量を圧縮して記憶部に記憶することができる。この実施の形態の場合には、最大16分の1まで間引くことができるが、説明を簡略化にするため、圧縮と解凍の処理は省略した。
【0070】
ここで、マルチレイト前処理部の処理を、さらに詳細に説明すると、低域フィルタを通過した波形信号は、一周期毎にサンプル間引されて下位のバンド(メインバンド)へ送られることになる。そして、バンド(メインバンド)1では、サンプルレイトはバンド(メインバンド)0の2分の1で同じ処理が実行され、4つのサブバンド分の解析データが上位バンド(メインバンド)の半分の処理時間で計算できることになる。以下、同様にして、バンド(メインバンド)4まで処理を進めていく。最下位のバンド(メインバンド)5は、図14に示すように、サブバンドの帯域幅をバンド(メインバンド)4と同じにするならば、分析されたバンド(メインバンド)の中心周波数が異なるだけで、サブバンドの処理過程はバンド(メインバンド)4の場合と全く同じで良い。また、バンド(メインバンド)4とバンド(メインバンド)5とを併せて、8のサブバンドを最下位バンド(メインバンド)の処理としてもよい。
【0071】
以上において説明したマルチレイト分析部における処理は、入力信号x(n)を刻々実時間で実行しても良いが、入力信号x(n)の一定区間または全部をデジタルメモリにロードして、バンド(メインバンド)0の分析を終了してからバンド(メインバンド)1以下の下位のバンド(メインバンド)を順次に分析していっても良い。
【0072】
なお、マルチレイト合成部における出力シフトレジスタは、サンプルレイトの異なるバンド(メインバンド)間の信号のバッファと同期化のために、一定区間のデータを保持して送出するものである。
【0073】
また、この実施の形態においては、バンド(メインバンド)の成分を当該バンド(メインバンド)のサンプルレイトで処理して、直接サブバンドの振幅値および瞬間周波数を分析したが、図15に示すように、一旦、サンプルレイトfsの4分の1のexp−j(ws/4)nを乗算して複素成分に分解してから、さらにフィルタでサブバンドに分割してから分析しても良い。このようにすると、サンプルレイトを4分の1に下げることができる。
【0074】
そして、上記したマルチレイト分析部の処理をデジタル信号処理プログラムで実行する場合には、マルチレイト前処理は各バンド(メインバンド)で共通化することができ、各バンド(メインバンド)における各サブバンドの分析処理も共通の処理ルーチンで実行することができる。
【0075】
このように、各バンド(メインバンド)におけるマルチレイト前処理のルーチンの共通化を図り、また、各サブバンドの分析処理のルーチンの共通化を図ることにより、デジタル信号処理プログラムの短縮化と高速化とを実現することができる。
【0076】
図16は、上記したマルチレイト分析部の処理をDSP20のプログラムで実行する場合のルーチンを示すフローチャートである。
【0077】
このルーチンにおいては、まず、分析区間読み込みの処理を行う(ステップS1602)。即ち、一定の区間の波形信号(入力信号)を分析のために、DSP20のメモリにロードする。
【0078】
次に、バンド(メインバンド)を示す変数Kを0に設定して、バンド0を選択する(ステップS1604)。
【0079】
次に、バンド分割ならびにサンプル逓減の処理を行う(ステップS1606)。即ち、入力された分析区間の波形信号を低域フィルタで高域と低域とに分割する。そして、低域成分はサンプリングを半分に間引いて、下位バンド(メインバンド)へ送る。
【0080】
次に、サブバンドを示す変数Nを0に設定して、サブバンド0を選択する(ステップS1608)。
【0081】
次に、サブバンドNの解析を行う(ステップS1610)。即ち、ステップS1606において分割された高域信号は、上記した従来の位相ボコーダのアルゴリズムによってサブバンドNに分離され、その波形信号の振幅値と瞬間周波数とに変換される。バンド(メインバンド)のサンプルレイトが半分になるにつれて、分割のための低域フィルタの帯域幅も半分になる。従って、低域フィルタなどの係数も、分析アルゴリズムルーチンと同様に全バンド(メインバンド)で同じものが利用できるようになる。ただし、下位バンド(メインバンド)になるほど、分析の対象になるデータサンプル数が半減する。つまりバンド変数Kによって計算サンプル数を変えるようにして、バンド(メインバンド)のサンプルレイトに対応する数のサンプルを計算する。
【0082】
次に、ステップS1610におけるバンドK、サブバンドNの分析データを所定のメモリ領域に書き込む(ステップS1612)。
【0083】
次に、サブバンドの変数Nを1だけインクリメントして、次のサブバンド処理に移る(ステップS1614)。
【0084】
次に、サブバンドの変数Nが3であるか否かを判断する(ステップS1616)。ここで、ステップS1616の判断結果がNo(否定)、即ち、サブバンドの変数Nが3でなくて全サブバンドの分析が終了していないと判断された場合には、ステップS1610へ戻って次のサブバンドの分析の処理を行う。
【0085】
一方、ステップS1616の判断結果がYes(肯定)、即ち、サブバンドの変数Nが3であり全サブバンドの分析が終了したと判断された場合には、バンド(メインバンド)の変数Kを1だけインクリメントして、次のバンドを指定する(ステップS1618)。
【0086】
次に、バンド(メインバンド)の変数Kが5であるか否かを判断する(ステップS1620)。ここで、ステップS1620の判断結果が否定、即ち、バンド(メインバンド)の変数Kが5でなくて最下位バンド(メインバンド)はないと判断された場合には、ステップS1606へ戻って次のバンド(メインバンド)の分割の処理を行う。
【0087】
一方、ステップS1620の判断結果が肯定、即ち、バンド(メインバンド)の変数Kが5であり最下位バンド(メインバンド)であると判断された場合には、バンド(メインバンド)5に特有の分析処理を行う(ステップS1622)。即ち、最下位バンド(メインバンド)はその上位のバンド(メインバンド)と帯域幅を同じにすれば、上位バンド(メインバンド)と同じルーチンを利用することもできる。ただし、サンプルレイトは同じでバンド(メインバンド)の中心(分析)周波数だけが異なる。つまり、バンド(メインバンド)4とバンド(メインバンド)5とを併せて、8のサブバンドの最下位バンド(メインバンド)処理になる。
【0088】
次に、全分析区間を完了したか否かを判断する(ステップS1624)。ここで、ステップS1624の判断結果が否定、即ち、全分析区間を完了していないと判断された場合には、ステップS1602へ戻って次の区間の処理を行う。
【0089】
一方、ステップS1624の判断結果が肯定、即ち、全分析区間を完了していると判断された場合には、このルーチンの処理を終了する。
【0090】
次に、マルチレイト合成部の処理について説明すると、各バンド(メインバンド)の記憶部から読み出された振幅値と瞬間周波数情報とは、サブバンド変換合成部で時間伸長圧縮と周波数変換された後に、加算合成と同じ原理で各バンド(メインバンド)の余弦発振器(サイン波発振器)が倍音を作ることになる。
【0091】
各バンド(メインバンド)の倍音は、サンプルレイト変換部でサンプルレイトを逓倍した後に、上位のバンド(メインバンド)に加算され、順次上位のサンプルレイトに変換合成されていく。この実施の形態においては、波形信号のデータは間引き圧縮されていないので、直接バンド(メインバンド)のサンプルレイトで復号することになる。
【0092】
一方、データが間引かれている場合には、低いサンプルレイトで時間周波数の変換処理をした後に、サンプルレイトを逓倍して倍音の合成をすることもできるものである。
【0093】
図17は、上記したマルチレイト合成部の処理をDSP20のプログラムで実行する場合のルーチンを示すフローチャートである。
【0094】
このルーチンにおいては、まず、合成のために記憶部から一定区間の分析データをDSP20のメモリにロードする(ステップS1702)。
【0095】
次に、バンド(メインバンド)を示す変数Kを0に設定して、バンド0を選択する(ステップS1704)。
【0096】
次に、サブバンドを示す変数Nを0に設定して、サブバンド0を選択する(ステップS1706)。
【0097】
次に、バンド(メインバンド)KのサブバンドNの分析データをもとに、位相ボコータアルゴリズムによって一定区間の波形信号を合成する(ステップS1708)。ここで、一定区間とは、ステップS1702で読み込まれた分析データにより合成できる区間である。バンド(メインバンド)が下位になるに従って、合成サンプル数は半減していくが、波形信号の再生時間は等しいものである。即ち、バンド(メインバンド)数が6の場合には、最上位バンド(メインバンド)は最下位バンド(メインバンド)の32倍になる。
【0098】
この実施の形態においては、最上位サンプル数の32倍を基本単位またはその整数倍を合成区間とすればよい。この場合には、基本単位は約0.7ミリ秒と十分に短い値となる。
【0099】
変換合成においても、サンプリングレイト、即ち、バンド(メインバンド)が異なっていても同じルーチンが利用できるが、上記した図16の分析マルチレイト分析部の処理において説明したように、サンプリングレイト、即ち、バンド(メインバンド)が半分になるに従って、計算するデータ量も半減する。つまりバンド(メインバンド)の変数Kによって計算サンプル数を変えるようにして、バンド(メインバンド)のサンプルレイトに対応する数のサンプルを計算する。
【0100】
次に、合成された区間の波形信号サンプルデータをバンド(メインバンド)Kの出力レジスタに加算する(ステップS1710)。出力レジスタには、先に合成したサブバンドの合成信号系列が合算されている。この出力レジスタはシフトレジスタになっていて、バンド(メインバンド)Kのサンプルレイトでデータをシフト出力していく。全サブバンドの合成信号が加算された時点で、下位バンド(メインバンド)からの合成信号と加算されてサンプルレイト変換部へ送られる。
【0101】
次に、サブバンドの変数Nを1だけインクリメントして、次のサブバンド処理に移る(ステップS1712)。
【0102】
次に、サブバンドの変数Nが3であるか否かを判断する(ステップS1714)。ここで、ステップS1714の判断結果が否定、即ち、サブバンドの変数Nが3でなくて全サブバンドの分析が終了していないと判断された場合には、ステップS1708へ戻って次のサブバンドの分析の処理を行う。
【0103】
一方、ステップS1714の判断結果が肯定、即ち、サブバンドの変数Nが3であり全サブバンドの分析が終了したと判断された場合には、バンド(メインバンド)の変数Kを1だけインクリメントして、次のバンドを指定する(ステップS1716)。
【0104】
次に、バンド(メインバンド)の変数Kが5であるか否かを判断する(ステップS1718)。ここで、ステップS1718の判断結果が否定、即ち、バンド(メインバンド)の変数Kが5でなくて最下位バンド(メインバンド)はないと判断された場合には、ステップS1706へ戻って次のバンド(メインバンド)の分割の処理を行う。
【0105】
一方、ステップS1718の判断結果が肯定、即ち、バンド(メインバンド)の変数Kが5であり最下位バンド(メインバンド)であると判断された場合には、バンド(メインバンド)5に特有の合成処理を行う(ステップS1720)。即ち、最下位バンド(メインバンド)はその上位のバンド(メインバンド)と帯域幅が同じなので、上位バンド(メインバンド)と同じルーチンを利用することもできる。ただし、サンプルレイトは同じだが、バンド(メインバンド)の中心(合成)周波数だけが異なる。
【0106】
次に、全合成区間を完了したか否かを判断する(ステップS1722)。ここで、ステップS1722の判断結果が否定、即ち、全合成区間を完了していないと判断された場合には、ステップS1702へ戻って次の区間の処理を行う。
【0107】
一方、ステップS1722の判断結果が肯定、即ち、全合成区間を完了していると判断された場合には、このルーチンの処理を終了する。
【0108】
なお、上記した実施の形態においては、本発明を時間軸上の伸長圧縮、即ち、タイムストレッチに適用した場合について説明したが、これに限られるものではないことは勿論であり、分析パラメータや分析された各バンド(メインバンド)の音声データを基に、鍵盤などの指示により音高や時間を変化して瞬時に発音する楽音発生処理に適用してもよいことは勿論である。
【0109】
【発明の効果】
本発明は、以上説明したように構成されているので、位相ボコーダ方式の採用により波形信号の特定区間を直接間引いたりあるいは繰り返したりせずに波形信号の滑らかな伸長圧縮を行うことが可能になるとともに、リアルタイムでの処理が可能になり、しかも声やブラスなどの周期が長い波形信号や和音などの波形信号を扱う際にも倍音関係が崩れることがなく、また、合奏音や非周期信号などの波形信号を伸長圧縮しても再生音が濁らないようになるという優れた効果を奏する。
【図面の簡単な説明】
【図1】テープの録音時における波形信号(伸長前の波形信号)を示す波形説明図である。
【図2】テープの回転速度を録音時より遅くした再生時における波形信号(伸長後の波形信号)を示す波形説明図である。
【図3】位相ボコーダによる伸長後の波形信号を示す波形説明図である。
【図4】公知の位相ボコーダの一例を示すブロック構成図である。
【図5】図4に示す位相ボコーダにおけるバンドkに関する分析部(バンドk分析部)の詳細な構成の一例を示すブロック構成図である。
【図6】バンド0〜バンド99の100バンドに周波数帯域を分割した状態を示す説明図である。
【図7】(a)はバンドkに関する時間周波数変換処理を実行するためのバンドk変換部の詳細な構成の一例を示すブロック構成図であり、(b)は波形信号の再生時間を伸長する場合を示す波形説明図であり、(c)は波形信号の再生時間を圧縮する場合を示す波形説明図である。
【図8】本発明による波形信号の合成装置および時間軸圧縮伸長装置の実施の形態の一例を実現するためのハードウエアのブロック構成図である。
【図9】バンド(メインバンド)とサブバンドとの関係を示す波形説明図である。
【図10】DSPによる波形信号の合成処理および時間軸圧縮伸長処理を実現するための回路のブロック構成図である。
【図11】マルチレイト前処理部の詳細なブロック構成図である。
【図12】サブバンド変換合成部の詳細なブロック構成図である。
【図13】サンプルレイト変換部の詳細なブロック構成図である。
【図14】最下位バンド(メインバンド)のサブバンドの分割処理を示す波形説明図である。
【図15】バンド信号の複素化を示す波形説明図である。
【図16】マルチレイト分析部の処理をDSPのプログラムで実行する場合のルーチンを示すフローチャートである。
【図17】マルチレイト合成部の処理をDSPのプログラムで実行する場合のルーチンを示すフローチャートである。
【符号の説明】
10 中央処理装置(CPU)
12 リード・オンリ・メモリ(ROM)
14 ランダム・アクセス・メモリ(RAM)
16 操作子
18 MIDIインターフェース(MIDI interface)
20 デジタル・シグナル・プロセッサ(DSP)
22 ランダム・アクセス・メモリ(RAM)
24 アナログ/デジタル変換器(A/D)
26 デジタル/アナログ変換器(D/A)
400 バンドk分析部
Claims (3)
- 波形信号を複数のメイン周波数帯域に分割し、かつ、各メイン周波数帯域のそれぞれを複数のサブ周波数帯域に分割した該複数のサブ周波数帯域毎の波形信号の時間経過にともなう周波数情報と振幅情報とを波形データとして記憶した記憶手段と、
前記サブ周波数帯域毎に設けられ、各サブ周波数帯域毎の波形データを基に該波形データが表わす波形の時間軸圧縮伸長を行う複数の時間軸圧縮伸長手段と、
前記複数の時間軸圧縮伸長手段からの信号を合成する合成手段と
を有し、
前記複数のメイン周波数帯域は、周波数帯域の境界をなす一連の周波数がそれぞれ互いに2のn(nは整数)乗倍の比となるように分割された周波数帯域であり、かつ、隣り合う周波数帯域の低域側のサンプルレイトが該隣り合う周波数帯域の高域側のサンプルレイトの2分の1となるものであり、
前記複数の時間軸圧縮伸長手段はそれぞれ、波形の時間軸圧縮伸長を行うサブ周波数帯域が属するメイン周波数帯域に対応したサンプルレイトで圧縮伸長の処理を行う
ことを特徴とする波形信号の時間軸圧縮伸長装置。 - 請求項1に記載の波形信号の時間軸圧縮伸長装置において、
前記波形信号の時間軸圧縮伸長装置は所定のソフトウエアを実行することで入力された波形信号に対して圧縮伸長の処理が行われるものであって、あるメイン周波数帯域における時間軸圧縮伸長処理プログラムルーチンを他のメイン周波数帯域の時間軸圧縮伸長処理プログラムルーチンと共用する
ことを特徴とする波形信号の時間軸圧縮伸長装置。 - 請求項1または2に記載の波形信号の時間軸圧縮伸長装置において、
前記波形信号の時間軸圧縮伸長装置は所定のソフトウエアを実行することで入力された波形信号に対して圧縮伸長の処理が行われるものであって、同一のメイン周波数帯域に属するサブ周波数帯域の時間軸圧縮伸長手段は、同一の処理プログラムルーチンを使用する
ことを特徴とする波形信号の時間軸圧縮伸長装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24240098A JP4170459B2 (ja) | 1998-08-28 | 1998-08-28 | 波形信号の時間軸圧縮伸長装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24240098A JP4170459B2 (ja) | 1998-08-28 | 1998-08-28 | 波形信号の時間軸圧縮伸長装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000075899A JP2000075899A (ja) | 2000-03-14 |
JP4170459B2 true JP4170459B2 (ja) | 2008-10-22 |
Family
ID=17088588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24240098A Expired - Fee Related JP4170459B2 (ja) | 1998-08-28 | 1998-08-28 | 波形信号の時間軸圧縮伸長装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4170459B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7010491B1 (en) * | 1999-12-09 | 2006-03-07 | Roland Corporation | Method and system for waveform compression and expansion with time axis |
JP5400059B2 (ja) * | 2007-12-18 | 2014-01-29 | エルジー エレクトロニクス インコーポレイティド | オーディオ信号処理方法及び装置 |
JP5763487B2 (ja) * | 2011-09-20 | 2015-08-12 | Kddi株式会社 | 音声合成装置、音声合成方法および音声合成プログラム |
-
1998
- 1998-08-28 JP JP24240098A patent/JP4170459B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000075899A (ja) | 2000-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2665298C1 (ru) | Усовершенствованное гармоническое преобразование на основе блока поддиапазонов | |
EP2237266A1 (en) | Apparatus and method for determining a plurality of local center of gravity frequencies of a spectrum of an audio signal | |
EP1422693A1 (en) | PITCH WAVEFORM SIGNAL GENERATION APPARATUS, PITCH WAVEFORM SIGNAL GENERATION METHOD, AND PROGRAM | |
CN108269579B (zh) | 语音数据处理方法、装置、电子设备及可读存储介质 | |
JP4170458B2 (ja) | 波形信号の時間軸圧縮伸長装置 | |
JP3265962B2 (ja) | 音程変換装置 | |
JP3430985B2 (ja) | 合成音生成装置 | |
JPH0754440B2 (ja) | 音声分析合成装置 | |
JP2006215204A (ja) | 音声合成装置およびプログラム | |
JP3576942B2 (ja) | 周波数補間システム、周波数補間装置、周波数補間方法及び記録媒体 | |
JP4645241B2 (ja) | 音声処理装置およびプログラム | |
JP2001356799A (ja) | タイム/ピッチ変換装置及びタイム/ピッチ変換方法 | |
US8492639B2 (en) | Audio processing apparatus and method | |
JP4170459B2 (ja) | 波形信号の時間軸圧縮伸長装置 | |
EP1840871B1 (en) | Audio waveform processing device, method, and program | |
JP4226164B2 (ja) | 波形信号の時間軸圧縮伸長装置 | |
JP3297751B2 (ja) | データ数変換方法、符号化装置及び復号化装置 | |
US7010491B1 (en) | Method and system for waveform compression and expansion with time axis | |
JP4245114B2 (ja) | 音色制御装置 | |
RU2813317C1 (ru) | Усовершенствованное гармоническое преобразование на основе блока поддиапазонов | |
JP2002049399A (ja) | ディジタル信号処理方法、学習方法及びそれらの装置並びにプログラム格納媒体 | |
RU2800676C1 (ru) | Усовершенствованное гармоническое преобразование на основе блока поддиапазонов | |
RU2789688C1 (ru) | Усовершенствованное гармоническое преобразование на основе блока поддиапазонов | |
RU2772356C2 (ru) | Усовершенствованное гармоническое преобразование на основе блока поддиапазонов | |
KR101333162B1 (ko) | Imdct 입력신호를 이용한 오디오 신호의 음정 및 속도 가변 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050808 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080318 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080516 |
|
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: 20080805 |
|
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: 20080807 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120815 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |