JP3744247B2 - 波形圧縮方法及び波形生成方法 - Google Patents
波形圧縮方法及び波形生成方法 Download PDFInfo
- Publication number
- JP3744247B2 JP3744247B2 JP08497299A JP8497299A JP3744247B2 JP 3744247 B2 JP3744247 B2 JP 3744247B2 JP 08497299 A JP08497299 A JP 08497299A JP 8497299 A JP8497299 A JP 8497299A JP 3744247 B2 JP3744247 B2 JP 3744247B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform
- harmonic
- vector
- data
- harmonic component
- 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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
この発明は、ベクトル量子化技術を用いて楽音あるいは音声その他様々な音の波形を圧縮する波形圧縮方法に関し、また、そのような波形圧縮方法を使用して任意の波形を生成する波形生成方法に関するもので、特に、調和外成分の圧縮法とその波形生成方法を改善したものに関する。この発明は、電子楽器は勿論のこと、自動演奏装置、コンピュータ、電子ゲーム装置その他マルチメディア機器等、楽音あるいは音声若しくはその他任意の音を発生する機能を有する汎ゆる分野の機器若しくは装置または方法において広範囲に応用できるものである。なお、この明細書において、楽音波形という場合、音楽的な音の波形に限るものではなく、音声あるいはその他任意の音の波形を含んでいてもよい意味合いで用いるものとする。
【0002】
【従来技術】
最近では、電子的な楽音合成技術において、奏法の相違を考慮した高品質な楽音を如何にして合成するかということが重要な課題となってきている。すなわち、自然楽器にあっては、同じ楽器音色及び同じ音高等の楽音であっても、例えばビブラート奏法とスラー奏法のような、異なる奏法での各演奏に対して、異なった楽音特性(特に音色波形)を示す楽音が発生されることが知られている。このような自然楽器における奏法の違いを反映した高品質な楽音を、電子楽器等において電子的な楽音合成技術を用いて生成しようとする場合、各楽器音色の各音高(若しくは音域)毎に、複数の各奏法に対応して、それぞれの奏法に従う楽音特性(特に音色波形)を示す波形データをそれぞれメモリに予め記憶しておき、演奏しようとする奏法に応じた波形データをメモリから読み出すことにより、奏法に対応した特有の楽音特性(特に音色波形)を示す楽音波形を生成するようにすることが考えられる。
【0003】
このように、各楽器音色の各音高(若しくは音域)毎に、複数の各奏法に対応して異なる波形データをそれぞれ記憶するようにする場合、普通に記憶したのでは必要なメモリ記憶容量がかなり増すことになるため、如何にして有効なデータ圧縮を行い、必要なメモリ記憶容量を節約するのか、ということが重要な課題となってくる。そこで、従来の波形データ圧縮技術のうち、この発明との関連において注目すべきものを挙げて見ると、次のようなものがある。
【0004】
まず、特開昭61−104400号公報においては、入力波形をフィルタ処理によって周期成分と非周期成分に分離し、各成分を異なるデータ圧縮の符号化形式で符号化し、それぞれ波形メモリに記憶するようにした音記録方法が示されている。しかし、そこにおいては、特定の波形データを周期成分と非周期成分に分離してデータ圧縮して記憶する発想はあっても、これらをすべてベクトル量子化する発想はなかった。特に、非周期成分については、周期成分の波形に対する残差波形をそのまま時系列的に記録しておくしかないものである。
【0005】
次に、特開平5−88911号公報においては、ベクトル量子化を使用した音声符号化法が示されている。そこでは、圧縮しようとする音声波形を、まず、その波形から抽出したスペクトルの逆特性のフィルタで処理し、次に、フィルタ処理後の波形について、その波形の過去の所定周期から取出した励振ベクトルを用いて周期成分のベクトル量子化を行うとともに、雑音ベクトルで非周期成分のベクトル量子化を行うようにしている。この場合、雑音ベクトルは固定ベクトルとして用意されているものを使用するようになっており、圧縮しようとする音声波形そのものから非周期成分(雑音成分)を抽出してこれに基づき非周期成分のベクトル量子化を行うようにはなっていない。
【0006】
【発明が解決しようとする課題】
しかし、上述した前者の波形データ圧縮技術にあっては、データ圧縮率が低かったため、各楽器音色の各音高(若しくは音域)毎に複数の各奏法に対応して異なる波形データをそれぞれ記憶するような目的に適した、十分なデータ圧縮を実現することは困難であった。すなわち、前者の従来技術においては、非周期成分をベクトル量子化する発想がなかったため、非周期成分のデータ記憶は、周期成分の波形に対する残差波形をそのまま時系列的に記録しておくしかなく、十分なデータ圧縮を実現するものではなかった。
【0007】
一方、上述した後者の波形データ圧縮技術においては、雑音ベクトルは固定ベクトルとして用意されているものを使用するようになっており、圧縮しようとする音声波形そのものから非周期成分(雑音成分)を抽出してこれに基づき非周期成分のベクトル量子化を行うようにはなっていないので、雑音ベクトルのベクトル量子化精度が悪く、非周期成分の効率的な圧縮が行えず、また、非周期成分の再現精度も悪かった。更に、この波形データ圧縮技術においては、逆特性のフィルタによるフィルタ処理が必ず行われているので、この強力な逆特性フィルタ処理の介在によって、再生される波形の形状は、元の波形の形状と異なった形状になってしまい、波形再現性が悪い、という欠点があった。よって、精密な波形再現性がそれほど要求されない人音声波形の再生には使用できても、精密な波形再現性が要求される楽器音の波形再生には適していなかった。また、この波形データ圧縮技術においては、周期ベクトルと雑音ベクトルを用いた圧縮が行われているが、上記逆特性フィルタ処理の行われた1つの波形に対して、周期ベクトルと雑音ベクトルの組合せとしてのベクトル量子化を行わねばならないので、その組合せの決定方法が難しく、また、精密な圧縮ができなかった。さらに、上記周期ベクトルは、過去の波形から取り出した励振ベクトルが用いられる場合が多いので、変化に富んだ波形に対する追従性は低かった。
【0008】
この発明は上述の点に鑑みてなされたもので、データ圧縮効率に優れ、元の波形の再現性にも優れた波形圧縮方法を提供しようとするものであり、特に調和外成分(非周期的な成分)を有効にかつ効率的に圧縮することができるようにすることを考慮した波形圧縮方法を提供しようとするものである。さらには、そのような波形圧縮方法を使用して任意の波形、特に任意の調和外成分波形を生成する波形生成方法を提供しようとするものである。
【0009】
【課題を解決するための手段】
この発明に係る波形圧縮方法は、それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを供給する過程と、圧縮すべき波形データの調和外成分を供給する過程と、前記圧縮すべき波形データの調和外成分の波形形状に基づいて、該調和外成分を複数の区間に分割する過程と、前記分割された各区間毎の調和外成分として使用できる調和外ベクトルを前記登録されている調和外ベクトルの中からそれぞれ選択して該各調和外成分をベクトル量子化し、該選択された調和外ベクトルを指示する指示情報をそれぞれ含む該各調和外成分についての圧縮データを生成する過程とを具えたものである。
【0010】
データ圧縮しようとする波形データは、適宜の手法によって調和成分と調和外成分とに分離され、別々に供給される。この発明によれば、少なくとも調和外成分に対してベクトル量子化のための処理が施される。調和外成分波形をベクトル量子化するためには、その対象たる調和外成分波形を複数の区間に分割し、各区間毎に最適なベクトル量子化を行うことが望ましい。そのための区間分割の手法として、この発明においては、該調和外成分の波形形状に基づいて、該調和外成分を複数の区間に分割するようにしている。これによって、当該調和外成分の波形形状から判断して、データ圧縮効率がよく、また、波形再現性もさして損なわれないと思われる適切な個所で、調和外成分の波形を複数区間に分割することができる。すなわち、それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを供給し、前記分割された各区間毎の調和外成分として使用できる調和外ベクトルを前記登録されている調和外ベクトルの中からそれぞれ選択して該各調和外成分をベクトル量子化し、該選択された調和外ベクトルを指示する指示情報をそれぞれ含む該各調和外成分についての圧縮データを生成する。
【0011】
調和外成分のベクトル量子化にあたっては、データ圧縮の促進と波形再現性の向上との兼ね合いを考慮して、それぞれの調和外成分の内容に見合った、最適な形態でベクトル量子化を行うことが好ましい。調和外成分は、基本的には繰り返し性を持たないランダムな雑音波形に該当するが、その波形形状に基づき最適と思われる区間分割を採用してベクトル量子化することで、効率的なデータ圧縮を行うことができると共にその後の波形生成処理を有利に行うことができる。例えば、その波形形状や発音期間の中のどの位置に位置するかといった重要度の有無等を考慮して、特定の代表ベクトルをループ処理するようにベクトル量子化を行い、再生時にループ再生処理を行うことで必要な時間長の調和外成分波形を再生するようにしてもよいし(これをループ再生という)、あるいは、必要な時間長からなる代表ベクトルをループさせずに一回だけ使用するようにベクトル量子化を行い、再生時にそのように再生処理を行うことで所要の調和外成分波形を再生するようにしてもよい(これをワンショット再生という)。あるいは、複数の代表ベクトルを所定の順番で切換えて組合わせることにより、所要の調和外成分波形を再生するようにしてもよい(これをシーケンス再生という)。あるいは、その切換え順序をランダムに設定して、調和外成分の雑音性つまりランダム性を強調するようにしてもよい(これをランダムシーケンス再生という)。このような各種の最適ベクトル量子化形態を考慮し、調和外ベクトルとして、様々な最適ベクトル量子化の形態に見合った、代表ベクトルを適宜使用することが好ましい。そこで、調和外成分のベクトル量子化にあたっては、一例として、当該調和外成分に適した調和外ベクトルつまり代表ベクトルを選定し、この調和外ベクトルつまり代表ベクトルをどのように用いるか(例えば上記ループ再生やワンショット再生等の区別やその期間やそれに付与するエンベロープの形態など)を記述する情報を付加することにより、行うことができる。
なお、調和外成分の各代表ベクトルすなわち調和外ベクトルは、様々な異なる波形間で共有することができる。つまり、圧縮しようとする2以上の異なる原波形の間で、それらの原波形の一部に適宜の共通性がある場合は、それらのベクトル量子化に際しては、同じ代表ベクトルを両波形間で適宜共用することができる。
【0012】
このように、この発明によれば、従来容易には行えなかった、調和外成分(非周期性成分)の波形それ自体を分析して、独自にベクトル量子化処理を施すことが容易に行えるようになる。また、非周期性波形成分のベクトル量子化にあたっては、調和成分と共に原波形を構成する固有の調和外成分に基づきベクトル量子化処理を行うので、非周期性波形成分の再現精度が向上する。このように、この発明は、調和外成分の圧縮処理を容易に行うことができるようにするものであり、調和外成分のベクトル量子化処理を実現するために極めて有用であり、また、これによって波形圧縮効率を高めることに寄与し、さらに、原波形の再現性、特に調和外成分の再現性に大変優れている、等々種々の優れた効果を奏する。
【0013】
この発明に係る波形生成方法は、生成すべき波形の調和成分の波形データを供給する過程と、それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを供給する過程と、生成すべき波形の複数の区間について、調和外成分として使用すべき調和外ベクトルを指示する指示情報をそれぞれ含む圧縮データをそれぞれ供給する過程と、各区間毎の前記圧縮データに基づいて前記指示情報が指示する調和外ベクトルを前記登録されている調和外ベクトルの中から選択し、選択された調和外ベクトルに対応する前記調和外成分の波形データに基づき各区間毎の調和外成分の波形データを生成する過程とを具え、前記調和成分の波形データと前記生成された調和外成分の波形データとを組み合わせて波形を生成する方法であって、或る区間の前記圧縮データには調和外ベクトルを使用しないことを指示するものが含まれており、その区間では調和外成分なしに調和成分の波形データで波形を生成することを特徴とするものである。これにより、音を特徴づける上で、重要度の低い区間に存在している調和外成分を無視し、その区間の調和外成分は無音として調和成分のみで再生波形を構成するようにすることができ、その分、調和外成分のデータ圧縮効率を高めることができる。
【0014】
また、この発明に係る波形生成方法は、生成すべき波形の調和成分の波形データを供給する過程と、それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを供給する過程と、生成すべき波形の複数の区間について、調和外成分として使用すべき調和外ベクトルを指示する指示情報をそれぞれ含む圧縮データをそれぞれ供給する過程と、各区間毎の前記圧縮データに基づいて前記指示情報が指示する調和外ベクトルを前記登録されている調和外ベクトルの中から選択し、選択された調和外ベクトルに対応する前記調和外成分の波形データに基づき各区間毎の調和外成分の波形データを生成する過程とを具え、前記調和成分の波形データと前記生成された調和外成分の波形データとを組み合わせて波形を生成する方法であって、或る区間の前記圧縮データには調和外ベクトルを繰り返し使用することを指示するものが含まれており、その区間では該調和外ベクトルを繰り返して調和外成分の波形データを生成することを特徴とするものである。これにより、音を特徴づける上で、重要度の低い区間に存在している調和外成分をループ再生するようにすることで、その分、調和外成分のデータ圧縮効率を高めることができる。例えば、原波形において相対的に音量が大きい区間は調和成分波形の影響力が大で或るため、調和外成分にそれほど巧妙な再現性は要求されないため、限られたデータサイズの調和外ベクトルをループさせることで調和外成分波形の再生・生成を問題なく行うことができる。そのような場合にこれは有利である。
【0015】
また、この発明に係る波形生成方法は、複数の異なる奏法のうち、生成すべき波形のために指定された奏法に対応して、調和成分の波形データを供給する過程と、それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを記憶したメモリを用いて該調和外ベクトルに対応する調和外成分の波形データを供給する過程と、前記生成すべき波形のために指定された奏法に対応して、調和外成分として使用すべき調和外ベクトルを指示する指示情報を含む圧縮データを供給する過程と、前記圧縮データに基づいて前記指示情報が指示する調和外ベクトルを前記メモリにおける前記登録されている調和外ベクトルの中から選択し、選択された調和外ベクトルに対応する前記調和外成分の波形データに基づき前記指定された奏法に対応する調和外成分の波形データを生成する過程とを具え、前記調和成分の波形データと前記生成された調和外成分の波形データとを組み合わせて前記指定された奏法に対応する波形を生成することを特徴とするものである。これにより、複数の異なる奏法のうち指定された奏法に対応して、調和外成分用の圧縮データから、調和外成分の波形を独自に再生・生成することができる。再生された調和外成分波形を調和成分波形と混合することで、指定された奏法に対応する特有の原波形を再現することができる。
【0016】
この発明は、方法発明として構成し、実施することができるのみならず、装置発明として構成し、実施することもできる。また、この発明は、コンピュータプログラムの形態で実施することができるし、そのようなコンピュータプログラムを記憶した記録媒体の形態で実施することもできる。更に、この発明は、新規な圧縮されたデータ構造からなる波形データを記憶した記録媒体の形態で実施することもできる。
【0017】
【発明の実施の形態】
以下、添付図面を参照してこの発明の実施の形態を詳細に説明しよう。
まず、図1を参照して、この発明の一実施例に係る波形圧縮方法及び波形生成方法を実施するために使用されるハードウェア構成例について概略を説明する。ここに示されたハードウェア構成例は、例えばパーソナルコンピュータのような汎用コンピュータを用いて構成されており、そこにおいて、波形圧縮及び波形生成処理は、コンピュータがこの発明に係る波形圧縮方法及び波形生成方法を実現する所定のプログラム(ソフトウェア)を実行することにより実施される。勿論、この波形圧縮方法及び波形生成方法は、コンピュータソフトウェアの形態に限らず、DSP(ディジタル・シグナル・プロセッサ)によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウェア装置の形態で実施してもよい。また、装置構成は、パーソナルコンピュータのような汎用コンピュータに限らず、電子楽器あるいはカラオケ装置又は電子ゲーム装置又はその他のマルチメディア機器等、任意の製品応用形態をとっていてもよい。
【0018】
図1に示されたハードウェア構成例においては、コンピュータのメイン制御部としてのCPU(中央処理部)10に、ROM(リードオンリーメモリ)11、RAM(ランダムアクセスメモリ)12、ハードディスク装置13、リムーバブルディスク装置(例えばCD−ROMドライブ若しくはMOドライブなど)14,表示器15,キーボード及びマウス等の入力操作装置16,波形インタフェース17,タイマ18、MIDI及び通信ネットワーク等のインタフェース19等が、CPUバス20を介して接続されている。波形インタフェース17は、外部からマイクロフォン等を介して入力されるアナログ波形信号(オーディオ信号)を、CPU10からの指示に応じて、所定のサンプリング周波数に従ってサンプリングしてディジタル信号に変換し、これをCPUバス20に送り出す機能と、このコンピュータにより実行した波形生成処理によって圧縮データに基づき生成したディジタル波形データをCPUバス20を介して受け取り、所定のサンプリング周波数に従ってアナログ波形信号に変換してスピーカシステム等に出力する機能等を有する。
【0019】
波形インタフェース17を介して入力されたディジタル波形データは、RAM12あるいはハードディスク装置13等における所定の記憶領域に一旦書き込まれ、この波形データに対して、CPUの指示に従ってこの発明に従う所定の波形圧縮処理が施される。圧縮されたデータは、適宜の圧縮波形データベースに記憶される。この場合、アナログ波形信号に限らずディジタル波形データを適宜のインタフェース19等を介して入力し、この入力波形データに対して所要のデータ圧縮を施すようにしてもよい。波形データベースの機能は、どのタイプのデータ記憶装置が受け持ってもよい。すなわち、RAM12、ハードディスク装置13、リムーバブルディスク装置14のいずれを圧縮波形データベースとして機能させてもよい。一般的には、大容量の記憶装置であるハードディスク装置13における適宜の記憶領域あるいはリムーバブルディスク装置14に着脱可能なCD−ROMやMO等のリムーバブルな記録媒体を、圧縮波形データベースとして機能させればよい。あるいは、外部のホスト又はサーバコンピュータに具備されている波形データベースに対して、インタフェース19及び通信回線を介してアクセスして、圧縮したデータをそこに書き込んだり、再生時に必要な圧縮データをハードディスク装置13あるいはRAM12等にダウンロードするようにしてもよい。波形生成時には、圧縮波形データベースに記憶されている圧縮データを使用して所定の波形生成処理を行い、ディジタル波形データを生成する。生成したディジタル波形データは、上記のように波形インタフェース17を介してアナログ出力してもよいし、あるいは、適宜のインタフェース19等を介してディジタルデータのまま外部に転送出力することも可能である。なお、圧縮波形データベースとして、ハードディスク装置13、リムーバブルディスク装置14、あるいは外部のホスト又はサーバコンピュータ等、外部メモリを使用した場合は、指定された波形データに迅速にアクセスできるようにするために、内部の転送バッファ(RAM12等で構成する)に圧縮波形データベースの全部あるいは一部を転送しておくようにするとよい。
【0020】
表示器15においては、波形圧縮処理及び波形生成処理の過程において、CPU10からの指示に応じて、様々なグラフィック画面を表示する。例えば、録音した波形の形状をグラフィック表示したり、波形圧縮処理の際の波形エディット状態をグラフィック表示したり、音色設定、音色編集、システム設定等の各種データ設定・選択等のための制御画面を表示したり、というように多様に使用される。また、入力操作装置16のアルファニューメリックキーボード及びマウス等を用いて、波形圧縮処理及び波形生成処理の過程において、必要な制御情報や文字情報等が入力される。また、インタフェース19を介して、MIDI鍵盤モジュールやシーケンサ(自動演奏装置)あるいは他のコンピュータが接続され、楽音再生のための演奏指示情報等を入力したり、各種データの授受を行う。
【0021】
CPU10の制御の下で、この発明に係る波形圧縮処理及び/又は波形生成処理を実行するソフトウェアプログラムは、ROM11又はRAM12あるいはハードディスク装置13等のいずれに記憶しておくようにしてもよい。また、このプログラムは、リムーバブルディスク装置14に着脱可能なCD−ROMやMO等のリムーバブルな記録媒体に記録されていてもよく、また、外部のホスト又はサーバコンピュータから通信回線及びインタフェース19を介して該プログラムを受信し、ハードディスク装置13あるいはRAM12等にダウンロードするようにしてもよい。また、この発明の実施にあたっては、図1に示されたようなコンピュータシステムが、波形圧縮処理と波形生成処理の両方の機能を必ずしも兼備している必要はなく、どちらか一方のみを実施し得るような構成であってもよい。
【0022】
次に、CPU10の制御の下で実行される各種処理の実施例について説明する。図2は、CPU10の制御の下で実行される波形圧縮処理の手順を等価的ブロック図によって略示するものである。
まず、「奏法付き波形録音」(プロセスP1)では、各種の自然楽器において、熟練した演奏家逹によって、同じピッチ、同じ強度の楽音を様々な奏法で実際に演奏してもらい、それぞれの演奏音を波形インタフェース17を介してサンプリングし、こうして、多数の奏法付き波形データをRAM12あるいはハードディスク装置13等における所定の記憶領域に記録する。この場合、記録される演奏音は、単音とは限らず、一連のフレーズ、あるいは和音等であってもよく、また、単音若しくは一連のフレーズ等からなる1つの演奏音の中に複数の異なる奏法が含まれていてもよい。
【0023】
なお、「ビブラート」や「スラー」等一般的な奏法名が同じであっても各楽器種類毎にその演奏音の波形特徴が異なるし、また、一般的な奏法名が同じでかつ楽器種類が同じであってもその奏法の程度の違い(例えばビブラート深さの違い等)によってそれぞれの演奏音の波形特徴が異なる。従って、「奏法付き波形録音」(プロセスP1)で録音する様々な奏法に従う演奏音とは、これらの各種観点に従う奏法の違いを考慮したものである。よって、「奏法付き演奏音」は、主に、「楽器名」と、「奏法名」と、その奏法の程度を示す「パラメータ」、の3つの要素の組合わせを用いて区別され、記述することができる。その場合、奏法の程度を示す「パラメータ」には複数のパラメータが含まれる。
【0024】
一例を示すと、次のようである。
例1:「バイオリン」(楽器名)の「アタック」(奏法名)においては、その「立ち上がり速度、強度、ピッチ」等がパラメータとなる。
例2:「バイオリン」(楽器名)の「スラー」(奏法名)においては、その「スラー幅、スラー速度、強度、ピッチ」等がパラメータとなる。
例3:「バイオリン」(楽器名)の「ビブラート」(奏法名)においては、その「ビブラート深さ、ビブラート速度、強度、ピッチ」等がパラメータとなる。
例4:「ギター」(楽器名)の「ピッキング」(奏法名)においては、その「強度、ピッチ」等がパラメータとなる。
例5:「ギター」(楽器名)の「ハンマリング・オン」(奏法名)においては、その「強度、ピッチ」等がパラメータとなる。
例6:「ギター」(楽器名)の「ベンド」(奏法名)においては、その「ベンド幅、ベンド速度、強度、ピッチ」等がパラメータとなる。
例7:「ギター」(楽器名)の「トレモロアーム操作」(奏法名)においては、その「操作幅、操作速度、強度、ピッチ」等がパラメータとなる。
また、パラメータには、強度時間変化カーブやスラー時間変化カーブのように、時間変化態様を示すものが含まれていてもよい。
【0025】
次に、「奏法分析」(プロセスP2)では、前記「奏法付き波形録音」のプロセスP1で準備した各波形データを分析して、一つ又は一連の演奏音の波形データの中で共通の奏法に対応している部分がどの範囲(これを奏法区間ということにする)であるかを抽出し、該波形データの中に含まれる一又は複数の各奏法毎に、該波形データを区間分けする位置を決定し、分けられた各区間(奏法区間)で用いられている奏法を記述するための前記「奏法名」と前記「パラメータ」とをそれぞれ決定し、該「奏法名」のデータと「パラメータ」とからなる奏法指定データを生成する。また、該奏法についての「楽器名」を示す楽器指定データも生成する。こうして、一つ又は一連の演奏音の波形データを、そこで用いられている一又は複数の奏法に応じて一又は複数の奏法区間に分ける定義付けと、各奏法区間について当該奏法の種類を記述するための「楽器名」と「奏法名」と「パラメータ」の3つの要素が、楽器指定データと奏法指定データとによって定義される。これらの楽器指定データと奏法指定データは、波形データ圧縮のためのプロセスP3〜P6の処理によって圧縮された当該奏法区間についての圧縮データの解説情報若しくはインデックス情報として使用される。
【0026】
この「奏法分析」(プロセスP2)における分析の手法としては、例えば次の3通りの手法が考えられる。
例1:分析すべき波形データの音をユーザが耳で聴き、かつ必要に応じてその波形を表示器15で表示し、奏法区間として分割する区切りの位置をユーザの判断によって入力操作装置16を用いて手動指定する。また、分割指定した各奏法区間についての「奏法名」と「パラメータ」とをユーザの判断によって決定し、入力操作装置16を用いて手動指定する。これは手動分析に相当する。
例2:CPU10が所定の奏法分析プログラムを実行して、分析対象の波形データのピッチ、振幅等の各種楽音特性の変化を分析し、この分析結果に基づいて奏法区間として分割する区切りの位置を自動的に決定し、かつ、決定した各奏法区間についての「奏法名」と「パラメータ」とを自動的に決定する。これは全自動分析に相当する。
例3:上記例1と例2の手法を複合したもの。すなわち、ユーザによる手動分析とCPUによる自動分析とを組合わせて奏法分析を行う。例えば、奏法区間の分割と「奏法名」の決定は、ユーザが手動で行い、各奏法区間における「パラメータ」はCPUによる自動分析によって決定する。あるいは、CPUによる自動分析によって決定された各奏法区間の分割位置あるいは「奏法名」あるいは「パラメータ」を、ユーザの手動操作によって適宜修正する。
【0027】
次に、「奏法区間分割」(プロセスP3)では、前記「奏法付き波形録音」のプロセスP1で準備した一つ又は一連の演奏音の波形データを、当該波形データについて前記「奏法分析」のプロセスP2で決定した奏法区間分割位置指定情報に従って具体的に分割する処理を行う。以後の各プロセスP4〜P6の処理は、分割された個々の奏法区間毎の波形データに対して行われる。
【0028】
次に、「調和/調和外成分分離」(プロセスP4)では、前記「奏法区間分割」のプロセスP3で分割された1つの奏法区間の波形データをRAM12等のメモリから取り出し、この波形データを調和成分と調和外成分とに分離する処理を行う。この分離処理の一例を示すと、まず、分離対象たる波形データを入力し、これを高速フーリエ変換(FFT)によって周波数分析(スペクトル分析)してその基本ピッチ周波数成分と高調波成分とを抽出し、これを逆フーリエ変換することにより、調和成分の波形を生成する。このように生成した調和成分波形を分離対象たる入力波形データから引くことにより、その残差波形として調和外成分の波形を得る。一例として、上記FFT処理においては、分析しようとする波形データの8周期分に相当する長さの窓関数を使用し、その窓関数を1/8周期分に相当するフレーム分だけずらしながら波形データ全体を分析するとよい。このようなFFT分析を採用すると、高調波成分の周波数のゆらぎをゆらぎとして分析することができ、これを調和成分に含めて抽出することができる。勿論、窓関数のサイズやそのずらし量は、上記例に限らず、任意に設定可能であり、FFT処理で分析される周波数成分の周波数やレベルのゆらぎをゆらぎとして検出することができるような設定となっていればよい。
【0029】
次に、「調和成分分析」(プロセスP5)では、前記「調和/調和外成分分離」のプロセスP4で分離・生成された調和成分の波形データの特徴を分析し、この特徴に従って最適なベクトル量子化処理を行い、ベクトル量子化に従って圧縮された当該調和成分波形の圧縮データを生成する。ここで、調和成分は基本的に繰り返し波形とみなすことができるので、例えば、1周期ないし複数周期の波形を代表ベクトルとして用いて、該代表ベクトルをループする(または相前後する2つの代表ベクトルをクロスフェードループする)ことで、調和成分波形の再生を行うことができる。そこで、そのような代表ベクトルを調和ベクトルとして調和ベクトル記憶部M1に記憶しておき、この「調和成分分析」(プロセスP5)で生成する圧縮データとして、調和ベクトル記憶部M1に記憶した調和ベクトルのうち当該調和成分の代表ベクトルとして使用すべき調和ベクトルを指定するベクトル情報と、この指定された調和ベクトルつまり代表ベクトルをどのように用いるか(例えばそのベクトルを使用する区間やループする期間、あるいはそれに付与するエンベロープの形態など)を記述する情報等を含むものを生成するようにするとよい。この「調和成分分析」(プロセスP5)の詳細例については更に追って説明する。
【0030】
一方、「調和外成分分析」(プロセスP6)では、前記「調和/調和外成分分離」のプロセスP4で分離・生成された調和外成分の波形データの特徴を分析し、この特徴に従って最適なベクトル量子化処理を行い、ベクトル量子化に従って圧縮された当該調和外成分波形の圧縮データを生成する。ここで、調和外成分は、データ圧縮の促進と波形再現性の向上との兼ね合いを考慮して、それぞれの調和外成分の特徴又は内容に見合った、最適な形態でベクトル量子化を行うようにしている。調和外成分は、基本的には繰り返し性を持たないランダムな雑音波形に該当するが、例えば、その内容や発音期間の中のどの位置に位置するかといった重要度の有無等を考慮して、特定の代表ベクトルをループ処理することで必要な時間長の調和外成分波形を再生するようにしてもよいし(これをループ再生という)、あるいは、必要な時間長からなる代表ベクトルをループさせずに一回だけ使用することで所要の調和外成分波形を再生するようにしてもよい(これをワンショット再生という)。あるいは、複数の代表ベクトルを所定の順番で切換えて組合わせることにより、所要の調和外成分波形を再生するようにしてもよい(これをシーケンス再生という)。あるいは、その切換え順序をランダムに設定して、調和外成分の雑音性つまりランダム性を強調するようにしてもよい(これをランダムシーケンス再生という)。このような各種の最適ベクトル量子化形態を考慮し、調和外ベクトルとして、様々な最適ベクトル量子化の形態に見合った、代表ベクトルを適宜使用することが好ましい。そこで、そのような各種の代表ベクトルを調和外ベクトルとして調和外ベクトル記憶部M2に記憶しておき、この「調和外成分分析」(プロセスP6)で生成する圧縮データとして、調和外ベクトル記憶部M2に記憶した調和外ベクトルのうち当該調和外成分の代表ベクトルとして使用するのにふさわしい調和外ベクトルを指定するベクトル情報と、この調和外ベクトルつまり代表ベクトルをどのように用いるか(例えばそのベクトルを使用する区間や上記ループ再生やワンショット再生等の区別やその期間やそれに付与するエンベロープの形態など)を記述する情報等を含むものを生成するようにするとよい。この「調和外成分分析」(プロセスP6)の詳細例についても更に追って説明する。
【0031】
図2において、奏法情報記憶部M3は、個々の奏法区間についての、前記「調和成分分析」(プロセスP5)で生成された圧縮データ(第1の圧縮データ)と前記「調和外成分分析」(プロセスP6)で生成された圧縮データ(第2の圧縮データ)とを、当該奏法区間について前記「奏法分析」(プロセスP3)で生成された楽器指定データ及び奏法指定データとの組にして、奏法情報として記憶するものである。従って、波形再生のために、所望の奏法についての楽器指定データ及び奏法指定データとをインデックスにして、奏法情報記憶部M3から該当する奏法区間についての調和成分及び調和外成分の(つまり第1及び第2の)圧縮データを呼び出すことができる。そして、この呼び出された圧縮データに含まれるベクトル情報に応じて、調和ベクトル記憶部M1及び調和外ベクトル記憶部M2からそれぞれ所定の調和ベクトルと調和外ベクトルとを読み出し、これらに基づき調和成分波形と調和外成分波形とをそれぞれ再生し、両者を加算的に合成することで原波形の再現若しくは原波形の特徴を持つ楽音波形の生成を行うことができる。
【0032】
次に、図3により、「調和成分分析」(プロセスP5)の詳細例について説明する。なお、図3に示された処理は、「調和成分分析」(プロセスP5)のすべてを示しているわけではなく、主に、新規に調和ベクトルを生成して、これを調和ベクトル記憶部M1に蓄積記憶する処理に関連する部分を示している。
【0033】
まず、「波形区間分割」処理S1では、前記プロセスP4の「調和/調和外成分分離」で分離・生成された1奏法区間分の調和成分波形を、複数の波形区間に分割する。この波形区間の分割の仕方としては、1周期毎の波形形状の特徴が共通又は類似している連続的な1又は複数周期波形からなる区間を1波形区間として抽出し、その区切りで分割する。従って分割される各波形区間のサイズは概して不等間隔である。また、この「波形区間分割」処理S1は、表示器15に表示された波形形状を目視しながらユーザが手動操作によって適宜の分割位置を指示するようにしてもよいし、あるいはCPU10が所定の波形区間分割プログラムを実行して、各周期ごとの波形の周波数特性を自動的に分析することに基づき自動的に分割位置を決定するようにしてもよい。あるいは、手動操作と自動処理とを組合わせてこれを行ってもよい。なお、この「波形区間分割」処理S1の結果、入力された調和成分波形がどのような形態で複数の波形区間に分割されたのかを記述する情報として、「区間情報」が生成される。なお、1周期毎の波形形状の特徴が共通又は類似しているかの判定を効率的に行うために、1周期毎に波形を切り出して、そのピッチと振幅レベルを共通にする規格化処理を行い、純粋に1周期波形の波形形状のみの比較が行えるようにするとよい。その場合、以後のベクトル量子化処理は、ピッチと振幅レベルが規格化された波形データに関して行われることになるので、この規格化したピッチと振幅レベルに対する元のピッチと振幅レベルの時間的変化状態を示すベクトルとして、「ピッチベクトル」と、「振幅ベクトル」を生成するとよい。ここで、波形データの時間軸位置を制御して規格化することが好ましい場合もあり、その場合は、波形データの時間軸位置の時間的変化状態を示すベクトルとして「タイムベクトル」を生成する。
【0034】
次に、「グループ分け」処理S2では、分割された各波形区間の波形データについて、その1周期分又は複数周期分の波形形状が類似している区間同士を同一グループとするグループ分けを行う。このグループ分けは、自己の奏法区間についての波形区間同士で行うのは勿論のこと、むしろ、他の奏法区間(異なる楽器を含む)についての各波形区間の波形データとの間で行うことを主旨とするものである。すなわち、グループ波形記憶部M4において、既にグループ分けされた各奏法区間についての多数の波形区間の波形データがグループ分けされた状態で記憶される。「グループ分け」処理S2では、このグループ波形記憶部M4の記憶内容を参照して、今回分割された各波形区間の波形データについて、その1周期分又は複数周期分の波形形状が類似しているものが、グループ波形記憶部M4内の既存のグループに存在しているかどうかを調べる。存在していれば、当該波形区間の波形データを当該グループに含める。すなわち、当該波形区間の波形データをグループ波形記憶部M4の当該グループの記憶領域に記憶させると共に、当該グループを示す「グループ情報」を生成する。既存のグループに類似する波形がなければ、当該波形区間の波形データを新グループとして登録する。すなわち、当該波形区間の波形データをグループ波形記憶部M4の当該新グループの記憶領域に記憶させると共に、当該新グループを示す「グループ情報」を生成する。この場合、データ共用効率を上げるために、上述のように原波形のピッチや音量レベルが共通になるように適宜の波形規格化処理を施し、純粋に波形形状のみの比較によってグループ分けを行うとよい。勿論、各波形区間のサイズとは無関係に、当該波形区間を特徴づけている1周期又は複数周期の波形形状同士を比較する。かくして、異なる楽器の、あるいは異なる奏法の、あるいは異なるピッチ等の波形データ同士であっても、そのうちの或る波形区間の波形形状が類似していれば、当該類似している波形区間の波形データについては共通のグループに分類されることになる。これは、調和ベクトル記憶部M1における調和ベクトル(調和外ベクトル記憶部M2における調和外ベクトルについても同様)が、異なる楽器音あるいは異なる奏法あるいは異なるピッチ等、異なる特性の種々の奏法波形間において共用され得ることを意味しており、調和ベクトル記憶部M1(あるいは調和外ベクトル記憶部M2も同様)の記憶規模の縮小に役立つことを意味する。なお、この「グループ分け」処理S2も、上記のように、ユーザの手動操作によって行ってもよいし、CPU10による自動処理によって行ってもよいし、また、手動操作と自動処理とを組合わせて行ってもよい。
【0035】
次に、「各グループの代表ベクトル生成」処理S3では、グループ波形記憶部M4の記憶内容を参照し、同一グループ内の各波形データの特徴を考慮して、それらの波形データの代表ベクトルを生成する。例えば、1つの波形区間において同じ様な1周期又は複数周期波形が繰り返している場合、とりあえず、それを仮の代表ベクトルとして選定し、同一グループ内の各波形データの仮の代表ベクトルの平均的又は中間的または最も特徴的なベクトルを、当該グループの代表ベクトルとして決定し、これを生成する。生成した代表ベクトル(具体的には1又は複数周期からなる波形データである)は、調和ベクトル記憶部M1に記憶され、調和ベクトルとして登録される。また、当該グループの代表ベクトルが、調和ベクトル記憶部M1に記憶されているどの調和ベクトルに該当するかを指示する、調和成分用の「ベクトル情報」が生成される。この「ベクトル情報」は、調和ベクトル記憶部M1に記憶されているどの調和ベクトル(具体的には1又は複数周期からなる波形データ)を代表ベクトルとして使用するかを指示するインデックスデータであるから、複数ビットからなる僅かなデータである。
【0036】
この「ベクトル情報」は、「波形区間分割」処理S1から生成された「区間情報」との組合わせで、当該波形区間における調和成分の圧縮データとして、奏法情報記憶部M3に記憶される。従って、1つの奏法区間に関する調和成分の圧縮データ(第1の圧縮データ)は、その奏法区間を分割してなる複数の波形区間の各々についての「ベクトル情報」と「区間情報」との組合わせを含んでいる。この場合、前述のようにピッチと振幅レベルを規格化した波形データに関してベクトル量子化処理を施した場合は、上記「ベクトル情報」と「区間情報」に対して、「波形区間分割」処理S1から生成された「ピッチベクトル」と「振幅ベクトル」を更に組合わせて、奏法情報記憶部M3に記憶する。また、波形データの時間軸位置をも規格化した波形データに関してベクトル量子化処理を施した場合は、「波形区間分割」処理S1から生成された「タイムベクトル」を更に組合わせて、奏法情報記憶部M3に記憶する。
【0037】
次に、調和ベクトル記憶部M1内に比較的多くの調和ベクトルが蓄積された状態における「調和成分分析」(プロセスP5)の処理例について説明する。この場合は、主に、調和ベクトル記憶部M1に既に蓄えられている多くの調和ベクトルの中から、調和成分波形の代表ベクトルとして使用できる調和ベクトルを検索し、検索した調和ベクトルを当該調和成分の代表ベクトルとして選定することからなる。
【0038】
例えば、まず、前記プロセスP4の「調和/調和外成分分離」で分離・生成された1奏法区間分の調和成分波形から1周期毎に波形を切り出して、そのピッチと振幅レベルを共通にする規格化処理を行い、更には必要に応じて波形データの時間軸位置を制御して規格化する処理を行う。こうして、規格化された波形データを1周期毎に又は複数周期毎に、調和ベクトル記憶部M1に既に蓄えられている多くの調和ベクトルと比較し、類似する調和ベクトルを検索する。この場合の検索も、分析対象たる調和成分波形と同一自然楽器及び/又は同一奏法に該当する調和ベクトルだけでなく、異なる自然楽器及び/又は異なる奏法に該当する調和ベクトルをも検索対象に含めて行う。こうして、類似する調和ベクトルが見つかったら、該調和ベクトルに類似する連続的な1又は複数周期波形からなる区間を1波形区間として抽出し、「区間情報」を生成すると共に、該検索された調和ベクトルを該「波形区間」の代表ベクトルとして指示する「ベクトル情報」を生成し、それらを組にして奏法情報記憶部M3に記憶する。この場合、前述と同様に、ピッチと振幅レベルを規格化した波形データに関してベクトル量子化処理を施した場合は、規格化したピッチと振幅レベルに対する元のピッチと振幅レベルの時間的変化状態を示す「ピッチベクトル」と「振幅ベクトル」を、上記「ベクトル情報」と「区間情報」に対して更に組合わせて、奏法情報記憶部M3に記憶する。また、波形データの時間軸位置をも規格化した波形データに関してベクトル量子化処理を施した場合は、波形データの時間軸位置の時間的変化状態を示す「タイムベクトル」を更に組合わせて、奏法情報記憶部M3に記憶する。
【0039】
ここで、上記検索の結果、類似する調和ベクトルが調和ベクトル記憶部M1に存在していなかった場合は、図3の処理S1、S2、S3と同様の処理を行うことで、波形区間の分割とグループ化を行い、新規に代表ベクトルを生成し、これを新規の調和ベクトルとして調和ベクトル記憶部M1に登録する。そして、この新規の調和ベクトルを指示する「ベクトル情報」を生成し、「区間情報」等と共に奏法情報記憶部M3に記憶する。
【0040】
図4は、調和成分波形をベクトル量子化する様子の一例を示すグラフである。(a)は、原波形の一例を振幅エンベロープによって概略的に示している。(b)は、この原波形から分離した調和成分波形を複数の「波形区間」に分割する一例を、各波形区間の区切りを示す線図によって示している。(c)は、各「波形区間」における代表ベクトルとして、1又は複数周期の波形データからなる適切な調和ベクトルW0,W1,W2,……W7が選定された状態を示すとともに、波形再生時のループ再生例を示している。例えば、時点t0からt1までの波形区間については、調和ベクトルW0が代表ベクトルとして使用され、再生時には、これが、時点t0からt1までの間でループ再生される。なお、ループ再生としては、次の区間の代表ベクトル(この場合は調和ベクトルW1の先頭部の波形)との間でクロスフェードループ再生する例を示している。時点t1からt2までの波形区間については、比較的サイズの大きな(多数周期波形からなる)調和ベクトルW1が代表ベクトルとして使用され、再生時には、これが、時点t1からt2までの間の始まりの所定期間で1回再生され、残りの期間で適宜ループ再生される(例えば調和ベクトルW1の末尾の波形と次の区間の調和ベクトルW2との間でクロスフェードループ再生される)。また、時点t2からt3までの波形区間については、調和ベクトルW2が代表ベクトルとして使用され、再生時には、これが、時点t2からt3までの間でループ再生される(調和ベクトルW2と調和ベクトルW3との間でクロスフェードループ再生される)。以下、同様であり、最後の時点t7以降の波形区間においては、調和ベクトルW8がが代表ベクトルとして使用され、再生時には、これが単純ループ再生される。図4の(d)、(e)、(f)は、それぞれ(a)の調和成分波形からと抽出された「タイムベクトル」、「振幅ベクトル」、「ピッチベクトル」の一例を示す。
【0041】
次に、「調和外成分分析」(プロセスP6)の詳細例について説明する。この「調和外成分分析」(プロセスP6)の処理手順は、基本的には、図3に示された「調和成分分析」(プロセスP5)の処理手順と略同様の手順を用いてよい。ただし、分析の対象となるのは、前記プロセスP4の「調和/調和外成分分離」で分離・生成された1奏法区間分の調和外成分波形であるから、「波形区間分割」処理(S1)や、「グループ分け」処理(S2)、「各グループの代表ベクトル生成」処理(S3)においては、分析対象たる調和外成分波形それ自体の1周期とか複数周期とかいった概念が適用されないのは勿論である。また、調和ベクトル記憶部M1ではなく、調和外ベクトル記憶部M2を使用し、「各グループの代表ベクトル生成」処理(S3)で調和外成分波形の代表ベクトルを新規に生成した場合は、これが新規の調和外ベクトルとして調和外ベクトル記憶部M2に記憶され、登録されるのは言うまでもない。
【0042】
「調和外成分分析」においても、図3の「波形区間分割」処理S1と同様な「波形区間分割」処理を行い、分割された各波形区間を対象にしてベクトル量子化処理を施す。その場合、調和外成分波形を複数の波形区間に分割するやり方は、一般的に言って、その特徴が共通又は類似している若しくはそのように推測される部分毎に複数の波形区間に分割することを基本的手法としてよいが、この実施例では、次の2通りの手法のいずれか一方又は両方を組合わせて行うことを提案する。
【0043】
その第1の手法は、同じ奏法区間についての調和成分の周期性を利用して、該調和成分の周期の整数倍あるいは分数倍の期間で、調和外成分波形を複数の波形区間に分割するものである。勿論、この場合も、分割される各波形区間は、均等間隔である必要はなく、或る波形区間は調和成分の2周期分の長さ、別の波形区間は調和成分の10周期分の長さ、等々というように適宜異なっていてよい。このように、調和成分の周期性に依存して調和外成分波形の区間分割を行うやり方は、人の手間を余りかけずに調和外成分波形の区間分割を行うことができるので、分析作業が楽であるという利点がある。また、調和外成分波形の特徴が調和成分の周期性に或る程度依存しているような場合においては、適切な波形区間分割を容易に行えることになる。なお、調和成分の周期性に依存して調和外成分波形の区間分割を行うと言えども、調和外成分の波形区間分割形態は、それに対応する調和成分の波形区間分割形態とは当然異なるものであり、調和成分及び調和外成分がそれぞれ独自に区間分割されることは言うまでもない。
【0044】
その第2の手法は、調和外成分波形の特徴が共通又は類似している部分を具体的に個々に検索し、その部分で複数の波形区間に分割することである。このやり方は、調和外成分波形における比較的重要な部分を抽出して、それに対応する代表ベクトルすなわち調和外ベクトルを選定・生成するような場合に適している。逆に、調和外成分波形におけるあまり重要でない部分を抽出して、それらのあまり重要でない部分を適宜省略することで、代表ベクトルすなわち調和外ベクトルを選定・生成し、データ圧縮効率を上げるような場合にも適している。また、後述するように、調和外ベクトルをループ再生処理することで、データ圧縮を促進するような場合にも、ループに適した区間を適宜選べるので適している。上記第1の手法と第2の手法のどちらの場合も、ユーザの手動操作によって行ってもよいし、CPU10による自動処理によって行ってもよいし、また、手動操作と自動処理とを組合わせて行ってもよい。
【0045】
この実施例においては、上記第1の手法と第2の手法のどちらに従って調和外成分波形の波形区間分割を行うかによって、その後の当該波形区間についての代表ベクトルの選定・生成処理の内容がいくぶん異なるようになっている。この点を、フローチャートを参照して更に詳しく説明する。
図5は、上記第1の手法に従って調和外成分波形の波形区間分割を行い、それから調和外成分のデータ圧縮(ベクトル量子化)処理を行う場合の、「調和外成分分析」(プロセスP6)の詳細例を示す。また、図6は、上記第2の手法に従って調和外成分波形の波形区間分割を行い、それから調和外成分のデータ圧縮(ベクトル量子化)処理を行う場合の、「調和外成分分析」(プロセスP6)の詳細例を示す。
【0046】
まず、図5の実施例について説明する。
図5の(a)に示すフローにおいて、まず、圧縮すべき調和外成分波形を準備する(ステップS10)。
次に、当該調和外成分波形に対応する調和成分の周期長に応じて、すなわち調和成分の波形の周期性に同期して、当該調和外成分波形を複数の波形区間に分割する(ステップS11)。ここでは、前述のように、調和成分の周期の整数倍あるいは分数倍の期間で、つまり、調和成分の波形の周期性に適宜同期して、調和外成分波形を複数の波形区間に分割する。分割される各波形区間は、均等間隔である必要はなく、或る波形区間は調和成分の1/2周期分の長さ、別の波形区間は調和成分の8周期分の長さ、等々というように適宜異なっていてよい。
【0047】
次に、前ステップで分割された各波形区間の位置を適宜調整する(ステップS12)。例えば、前ステップS11では、調和成分の何周期毎に分割する、というように一律の基準で分割しておき、このステップS12で、ユーザが前ステップS11での分割結果を表示器15で確認しながら、或る波形区間の長さを調和成分の何周期分かに増減修正したり、分割される箇所の調和外波形の位相が区切りのよい位相(例えばゼロクロス位相)となるように少し分割位置をずらしたりする修正を行う。このステップでの調整若しくは修正処理は、ユーザによる手動操作に限らず、所定の修正プログラムに従う自動処理で行うようにしてもよいし、手動操作と自動処理との組合わせで行うようにしてもよい。
【0048】
次に、分割された各波形区間における調和外波形の特性を分析し、グループ分けを行う(ステップS13)。このグループ分けは、図3の「グループ分け」処理S2と同様に、他の奏法区間(異なる楽器を含む)についての調和外波形の各波形区間の波形データとの間でも行い、代表ベクトルすなわち調和外ベクトルの共用化を促進するものとする。ステップS13で実行する調和外波形の特性分析とグループ分けの処理の更に詳しいフローチャート例が図5(b)に示されている。
【0049】
図5(b)において、「ピーク値分析」(ステップS30)では、当該分割された波形区間において、調和外波形(つまりノイズ的波形)のピークレベルがどこにあるかを分析する。次に、「存在場所分析」(ステップS31)では、当該分割された波形区間における調和外波形のピークレベルが存在する場所は、該波形区間に対応する調和成分の1周期又は所定複数周期区間のうちどの部分(例えば前半部分とか、中間部分とか、後半部分とか)に対応しているか、といったようなことを分析する。次の「ゼロクロス回数分析」(ステップS32)では、当該分割された波形区間において調和外波形の振幅がゼロクロスする回数を分析する。このゼロクロス回数によりノイズ的変化の激しさを分析することができる。次のステップS33では、前記ステップS30〜S32で分析した各結果に基づいて、当該調和外波形の当該波形区間を所要のグループに分類する。グループ化の対象波形が、それ自体では周期性のない調和外波形であるため、前記ステップS30〜S32のような特殊な分析を行うことで、その分析結果をグループ化するための条件若しくは基準とし、グループ化のための計量的評価を行うことができるように工夫している。この種の調和外波形をグループ化するための条件若しくは評価基準としては、前記ステップS30〜S32に示したものに限らず、例えば、当該波形区間における直流オフセットレベルの程度や、当該波形区間の波形微分値の符号反転回数(これもノイズ的変化の激しさを示す指標となる)など、その他適宜の条件若しくは評価基準を用いてよいし、これらの条件若しくは評価基準と前記ステップS30〜S32で示された3つの条件若しくは評価基準の中から、任意の数の条件若しくは評価基準を組み合わせて用いてもよい。この図6の各ステップの処理は、ユーザの手動操作に応じて対話形式で遂行するようにするとよい。勿論、所定のプログラムに従う全自動処理であってもよいし、手動操作と自動処理の組合わせで行われてもよい。
【0050】
図5(a)に戻り、ステップS14では、今回の処理ルーチンでデータ圧縮処理を行うべき全ての調和外成分波形について、ステップS11〜S13の処理つまり波形区間分割とそのグループ分け処理を終了したかをチェックする。まだ、終了していなければ、ステップS11に戻り、次の調和外成分波形について上記S11〜S13の処理を行う。こうして、全ての調和外成分波形について波形区間分割とそのグループ分け処理が終了すると、ステップS15に行き、各グループの波形の特性分析を行う。例えば、グループ内の各波形の振幅エンベロープ特性等を分析する。次のステップS16では、前ステップS15での分析結果を利用して、当該グループの代表ベクトルを決定する。例えば、当該グループの内の各波形の振幅エンベロープ特性の平均的振幅エンベロープ特性を有する波形を代表ベクトルとして決定するようにしてよい。あるいは、当該グループの内の各波形の周波数特性あるいはゼロクロス回数あるいはレベル分布等が平均的なものを代表ベクトルとして決定するようにしてもよい。若しくは、振幅エンベロープ特性、周波数特性、ゼロクロス回数、レベル分布、その他適宜の特性のうちいずれか1又は複数に関して、平均的であること若しくは代表とするに相応しいことを条件として、代表ベクトルを選定又は決定するようにしてもよい。そして、決定された当該グループの代表ベクトルを調和外ベクトルとして、調和外ベクトル記憶部M2に記憶する。こうして、各グループの代表ベクトルが調和外ベクトルとして調和外ベクトル記憶部M2に記憶・登録される。なお、調和外ベクトル記憶部M2に記憶する調和外ベクトルは、振幅レベルを規格化したものを用いるものとし、これに対する各波形区間の調和外成分波形の振幅エンベロープを「振幅ベクトル」として抽出するものとする。あるいは、調和外ベクトル記憶部M2に記憶する調和外ベクトルは、振幅レベルを規格化しなくてもよい。その場合は、低いレベルのデータは低いレベルのまま記憶することになるが、低いレベルの部分では、限られた記憶ビット割当てを行うことでメモリ記憶場所を効率的に利用させることができる。調和外ベクトル記憶部M2に記憶する調和外ベクトルの振幅レベルを規格化しなかった場合は、各波形区間の調和外成分波形の振幅エンベロープと調和外ベクトルの振幅エンベロープとの差を「振幅ベクトル」として抽出するとよい。
【0051】
次のステップS17では、各調和外成分の奏法情報(各波形区間の「区間情報」と、代表ベクトルである調和外ベクトルを指定する「ベクトル情報」、及び「振幅ベクトル」等を含む)を奏法情報記憶部M3に記憶する。なお、この場合、「区間情報」として、当該調和外ベクトルつまり代表ベクトルに対応する調和成分の周期数等の情報を併せて記憶しておくものとする。そうすれば、ピッチの異なる調和成分に対しても、調和外成分の波形形状そのものに類似性若しくは共通性があれば、共通の調和外ベクトルを使用することができる。勿論、調和外ベクトル記憶部M2に記憶した調和外ベクトルは、調和ベクトルの場合と同様に、若しくはそれ以上に、様々なケースで共用することができる。例えば、同じ奏法区間における異なる波形区間(同じ調和外波形のうちで時間軸位置が異なっているもの)において、共通の調和外ベクトルを使用することができるし、異なる楽器音あるいは異なる奏法区間についての調和外波形において、共通の調和外ベクトルを使用することもできる。
【0052】
次に、図6の実施例について説明する。
まず、圧縮すべき調和外成分波形を準備する(ステップS20)。
次に、ステップS21では、処理対象の調和外成分波形の各部分ごとの特徴を観察、分析し、それぞれの部分的特徴に合った箇所で区切って、当該調和外成分波形を複数の波形区間に分割する。その場合、調和外成分波形の部分的特徴としては、波形の位置や奏法、あるいは波形形状の特性等を考慮して分析を行い、分割すべき波形区間を決定する。例えば、位置としては、「アタック」(音の立ち上がり部分)、「ボディ」(音の定常部)、「ジョイント」(他の音とつながる部分)、「リリース」(音の減衰部分)などが考慮される。また、奏法としては、各位置との関連性において、例えば、「アタック」では、「揺らぎ付き」奏法、「ノイズ付き」奏法などが考慮され、「ボディ」では、「ビブラート」奏法、「トレモロ」奏法などが考慮され、「ジョイント」では、「スラー」奏法、「グリサンド」奏法、「ベンド」奏法などが考慮され、「リリース」では、「ミュート」奏法、「サステイン」奏法などが考慮される。また、波形形状の特性等としては、振幅エンベロープ形状(その実効値やピーク値など)、前記ゼロクロス回数あるいはゼロクロス間の周期、ピーク回数あるいはピーク間の周期、前記ピーク値の存在場所や、複数ピークレベルの分布など、種々の要素を適宜考慮するとよい。
【0053】
次に、ステップS22では、分割された各波形区間における調和外波形の特徴に基づき、類似の特徴を持つ波形同士をグループ分けする。調和外波形の特徴の類似性は、表示器で表示した波形の目視観察や、当該波形区間についての調和外波形を発音して聴感によって類似性を判定する等、適宜の基準で行ってよい。このグループ分けは、前述と同様に、他の奏法区間(異なる楽器を含む)についての調和外波形の各波形区間の波形データとの間でも行い、代表ベクトルすなわち調和外ベクトルの共用化を促進するものとする。
【0054】
次に、ステップS23では、今回の処理ルーチンでデータ圧縮処理を行うべき全ての調和外成分波形について、ステップS21〜S22の処理つまり波形区間分割とそのグループ分け処理を終了したかをチェックする。まだ、終了していなければ、ステップS21に戻り、次の調和外成分波形について上記S21〜S22の処理を行う。こうして、全ての調和外成分波形について波形区間分割とそのグループ分け処理が終了すると、ステップS24に行き、各グループの波形の特性分析を行う。例えば、グループ内の各波形の振幅エンベロープ特性等を分析したり、その他種々の特性を考慮する。
【0055】
次のステップS25では、前ステップS24での分析結果を利用して、当該グループの代表ベクトルを決定する。決定された当該グループの代表ベクトルは調和外ベクトルとして、調和外ベクトル記憶部M2に記憶する。こうして、各グループの代表ベクトルが調和外ベクトルとして調和外ベクトル記憶部M2に記憶・登録される。なお、前述と同様に、調和外ベクトル記憶部M2に記憶する調和外ベクトルは、振幅レベルを規格化したものを用いてもよいし、規格化しなくてもよい。ここで、この実施例では、調和外成分波形を圧縮する手法として、下記のような種々の異なる手法を適宜採用することが考慮されており、代表ベクトルは、どの圧縮手法を用いるのかを考慮して、それに応じた基準に従って決定するものとする。
【0056】
圧縮例1:所定期間の長さを持つ代表ベクトルを一回再生することで当該波形区間をカバーするように圧縮を行う。これは、前記「ワンショット再生」に対応する圧縮形態である。例えば、アタック部やジョイント部など、調和外成分の波形形状も急激に変化するような部位の波形区間についての代表ベクトルを、この圧縮例1に見合うように決定するとよい。
圧縮例2:比較的短い期間長の代表ベクトルを繰り返し再生(ループ再生)することで当該波形区間をカバーするように圧縮を行う。これは、前記「ループ再生」に対応する圧縮形態である。なお、ループ用の代表ベクトルを、所定の順番で複数組合わせることにより、前記「シーケンス再生」に利用することができる。また、この順次組合わせをランダムに設定することにより、前記「ランダムシーケンス再生」に利用することができる。例えば、単調な減少をしている部分や、同じ状態の継続する部分の波形区間についての代表ベクトルを、この圧縮例2に見合うように決定するとよい。
圧縮例3:あまり重要でない部分の調和外成分波形は一部省略してもよい。そのような省略する波形区間については、代表ベクトルを選定する必要がない。
【0057】
次に、ステップS26では、各調和外成分波形の各波形区間毎に、再生時において、それぞれの代表ベクトルとしてどの調和外ベクトルを使用し、その調和外ベクトルをどのように貼り付けるべきかを決定する。このことは、上述の圧縮例のうちどのタイプを使用するのかということとも関係してくる。貼付け方は、下記の各種再生モードのいずれを採用すべきか、という調和外成分再生モード情報(若しくは「貼り付け情報」)として記述される。
【0058】
ワンショット再生:上述の通り、圧縮例1に従う代表ベクトルを1つ使用し、この代表ベクトルを一回貼り付ける(再生する)ことで当該波形区間の調和外成分波形を再生する。
シーケンス再生:上述の通り、圧縮例2に従う代表ベクトルを複数使用し、これらの代表ベクトルを所定の順番で順次貼り付ける(再生する)ことで当該波形区間の調和外成分波形を再生する。
ランダムシーケンス再生:上述の通り、圧縮例2に従う代表ベクトルを複数使用し、これらの代表ベクトルをランダムな順番で順次貼り付ける(再生する)ことで当該波形区間の調和外成分波形を再生する。
ループ再生:上述の通り、圧縮例2に従う代表ベクトルを一つ使用し、これを繰り返し貼り付ける(再生する)ことで当該波形区間の調和外成分波形を再生する。これを上記シーケンス再生又はランダムシーケンス再生に組合わせてもよい。オルタネーティブループ再生:圧縮例2に従う代表ベクトルを一つ使用し、これを交互に正逆向きを変えながら繰り返し貼り付ける(再生する)ことで当該波形区間の調和外成分波形を再生する。これを上記シーケンス再生又はランダムシーケンス再生に組合わせてもよい。
デリート再生:上述の通り、圧縮例3に従うもので、代表ベクトルを使用せず、当該波形区間における調和外成分波形を削除する。従って、その部分では、調和成分波形のみとなる。なお、1つの波形区間の全部をデリート再生モードとせずに、その一部のみをデリート再生モードとしてもよい。その場合、残りの部分について適宜代表ベクトルを定める。
【0059】
次のステップS27では、各調和外成分の奏法情報(各波形区間の「区間情報」と、代表ベクトルである調和外ベクトルを指定する「ベクトル情報」、上記「貼り付け情報」及び「振幅ベクトル」等を含む)を奏法情報記憶部M3に記憶する。
なお、上記した各種の調和外成分再生モードは、前記第2の手法に従う「調和外成分分析」処理を行ったときのみに適用されるものではなく、前記第1の手法に従う「調和外成分分析」処理を行ったときにも適宜適用されるものである。
【0060】
図7は、調和外成分波形をベクトル量子化する様子の一例を示すグラフである。(a)は、図4(a)と同様に原波形の一例を振幅エンベロープによって概略的に示している。(b)は、この原波形から分離された調和外成分波形の一例を示している。(c)は、(b)の調和外成分波形を複数の「波形区間」A1,B1,C1,D1,C2,A2,C3に分割した一例を、各波形区間の区切りを示す線図によって示している。ここで、波形区間A1及びA2は、前記第2の手法に従って波形区間設定を行って前記ワンショット再生を適用するようにした区間である。波形区間B1は、前記第1の手法に従って調和成分の周期に同期して代表ベクトルを決定した区間である。この区間ではワンショット再生を採用してもよいし、ループ再生を採用してもよい。波形区間C1,C2,C3は、前記ループ再生に対応する区間である。波形区間D1は、前記デリート再生に対応する区間である。
【0061】
更に、調和外成分波形のベクトル量子化の具体例を図8〜図13により示す。
図8〜図10、図13において、上段の(a)は調和外成分波形の原波形例を示し、下段の(b)はこれを上記の種々の手法に従ってベクトル量子化して、再生することによって得られる波形例を示している。
まず、図8は、原波形を「アタック」、「ボディ」、「リリース」の3区間に分割し、「アタック」区間と「リリース」区間は、前記ワンショット再生に対応する区間として相応の代表ベクトルを決定し、「ボディ」区間は、前記デリート再生に対応する区間として調和外成分波形をカットした圧縮例を示している。これに基づく再生音を実際に聴くと、調和外成分波形は「アタック」区間と「リリース」区間があれば、定常的な音色安定部分(「ボディ」区間)が省略されていても、あまり違和感がないことが理解できる。
【0062】
図9は、調和外成分波形を4つの区間F1〜F4に分割し、それぞれの区間で所定サイズの代表ベクトルを決定し、これらをそれぞれループ再生するようにした圧縮例を示す。調和外成分といえども、その代表ベクトルをループさせることにより周期性が多少なりとも出てしまうが、レベルが低いために、調和成分の再生波形と混合すると、違和感のないものとなる。
図10は、調和外成分波形を3つの区間F1,F2,F3に分割し、変化に富んだ最初の区間F1では原波形をそのまま代表ベクトルとして使用し、次の各区間F2,F3では所定サイズの代表ベクトルをそれぞれ決定して、これらをそれぞれループ再生すると共に振幅エンベロープに変化をつけた圧縮例を示す。このようにループ再生波形に対して適切な振幅エンベロープを付加することにより、原波形に似た感じを出すことができる。
【0063】
図11は、ループ再生におけるレベル制御例を示す。(a)は、単純ループ再生例を示し、レベル制御は行っていない。(b)は、ループさせる代表ベクトルのピークレベルを減衰させて、周期性を弱めた例(ピーク補正したループ再生例)を示す。(c)は、(b)の再生例に対して更に振幅エンベロープの変化を付加し、より一層周期性を弱めた例を示す。このように、ループ再生にレベル制御を組合わせることは有効である。
図12(a)は通常のループ再生例を示し、(b)はオルタネーティブループ再生例を示す。図から理解できるように、オルタネーティブループ再生の周期性は、通常のループ再生の周期性よりも長いものとなるので、代表ベクトルのサイズをより一層小さくしてもよいことになる。従って、一層のデータ圧縮に寄与する。
【0064】
図13は、調和外成分波形を8つの区間F1〜F8に分割し、アタック区間F1、ビブラートを含む区間F3、F5及びF7と、リリース区間F8は、原波形から取り出した代表ベクトル(調和外ベクトル)f1,f3,f5,f7,f8を使用して波形再生を行い、他の区間F2,F4,F6については、他の原波形から取り出した調和外ベクトルf2’,f4’,f6’をその代表ベクトルとして使用して波形再生を行う圧縮例を示している。各区間においては、ワンショット再生あるいはループ再生等、それぞれに適切な再生モードが採用される。例えば、ボディ区間F2については、他の原波形から取り出した調和外ベクトルf2’を代表ベクトルとしてこれをループ再生し、かつ振幅エンベロープを適切に付与することにより、原波形(図13(a)参照)に近似させるようにしている。他の区間F4,F6についても他の原波形から取り出した調和外ベクトルf4’,f6’に振幅エンベロープを適切に付与し、かつ必要に応じてループ等することにより、原波形(図13(a))に近似する調和外成分波形を再生・生成するようにしている。このように、異なる複数の原波形に関して、共通の調和外ベクトルを使用することができる。その場合、再生時において様々な加工の仕方を制御することにより(振幅ベクトルや貼り付け情報等適切な再生の仕方を記述するデータを圧縮データの中に含ませる等)、それぞれの原波形に最適な調和外成分波形の再生・生成を行うことができる。
【0065】
次に、上記のようにして作成された調和成分及び調和外成分の圧縮データを使用して、楽音生成処理を行う場合の実施例について説明する。
図14は、上記のようにして作成された多数の奏法波形についての調和成分及び調和外成分の圧縮データを、任意の楽曲演奏にあたって十分に活用しうるようにするために、奏法付き楽譜を準備する処理過程の一例を略示するものである。まず、奏法付き楽譜を作成しようとする所望の楽曲についての楽譜情報(例えばMIDIフォームからなる演奏データ)を用意する(ステップS40)。次に、上記用意された楽譜情報の各演奏パート毎に、それぞれの曲の流れの過程でどのような奏法を使用したらよいのかということを分析する(ステップS41)。この奏法分析は、人間が楽譜を読み、その音楽的知識に基づいて判断することで行うようにしてよい。勿論、所定の楽譜解析プログラムによってCPU10によって奏法分析を実行させるようにしてもよいし、あるいは手動操作と自動処理の組み合わせによって行うようにしてもよい。
【0066】
次に、上記用意された楽譜情報の各演奏パート毎に、それぞれの各演奏データに対して、該演奏データの時系列的流れのうち、分析された各奏法に対応する必要な演奏時点に対応する箇所で、上記ステップS41で分析された各奏法を指示する奏法データを付加する(ステップS42)。例えば、ビブラートを付与する音符またはフレーズの演奏時点に対応する箇所に、所要のビブラート奏法を指示する奏法データを付加する。あるいは、スラーで演奏すべき音符またはフレーズの演奏時点に対応する箇所に、所要のスラー奏法を指示する奏法データを付加する。所要の奏法データを付加する箇所は、1音に対応する箇所(例えばノートオンイベントと同じ箇所)、あるいは1音の途中に対応する箇所(例えば当該音のノートオンイベントから所定時間後であって、当該音のノートオフイベントが出る前の適宜の時点に対応する箇所に奏法イベントを挿入する)、あるいは複数音符からなる1フレーズに対応する箇所(例えば該フレーズの始まりで所定の奏法のオンイベントを挿入し、該フレーズの終わりで該奏法のオフイベントを挿入する)等、適宜の箇所であってよい。また、付加する奏法データの内容は、ビブラート、スラー、スタッカート、グライド、ピッチベンド等、その他種々の奏法についてその名称を指示する「奏法名」データと、該奏法の程度を指示する「パラメータ」データとを含んでおり、更に、その奏法を付与する期間若しくは範囲を示す「範囲」データを含んでいる。「範囲」データとは、対応する1音のみに当該奏法を付与するとか、その前後の2音に対して当該奏法を付与するとか、その奏法付与範囲を具体的にを指示するデータである。長い範囲で奏法付与する場合は、上記のように、奏法オンイベントとオフイベントによって範囲指定を行うようにしてもよい。以上のようにして、奏法データが付加された演奏データを奏法付き楽譜情報として適宜のメモリに記憶する(ステップS43)。
【0067】
図15は、上記のようにして準備された奏法付き楽譜情報に基づき、楽音再生すなわち波形生成を行う処理過程の一例を機能的ブロック図によって略示するものである。この楽音再生すなわち波形生成処理は、図1のハードウェア装置を用いて、CPU10による所定のソフトウェアプログラムの実行によって行われる。「再生制御」処理S50では、通常の自動演奏シーケンス制御で知られるように、所定のテンポクロックに従って、演奏データを順次読み出し、該演奏データによって指示されるピッチと音色等を持つ楽音波形を生成する。ここで、通常の自動演奏シーケンス制御と異なる点は、再生演奏の対象となる演奏データが、上記のようにして作成された「奏法付き楽譜情報」からなっている点であり、そこに含まれる奏法データに応じた特有の奏法波形再生・生成処理が行われる点である。
【0068】
「再生制御」処理S50について更に説明すると、まず、「奏法付き楽譜情報」の記憶部M5から、各演奏パートの演奏データ(例えばMIDIデータ)及びそこに付加された奏法データをその演奏タイミングに応じて順次再生読み出しする。「奏法付き楽譜」の或る演奏パートについて奏法データが読み出されたとき、該奏法データに対応する奏法波形を生成する処理を行う。まず、該演奏パートについて指定されている「楽器名」(音色)と、該奏法データに含まれる「奏法名」及び「パラメータ」のデータに応じて、奏法情報記憶部M3から、これらの情報によって指定される所定の奏法波形についての「奏法情報」、すなわち調和成分及び調和外成分についての圧縮データ(第1及び第2の圧縮データ)、を読み出す。前述のように、調和成分についての圧縮データ(第1の圧縮データ)は、調和ベクトルを指示する「ベクトル情報」と、「区間情報」、「ピッチベクトル」、「振幅ベクトル」、「タイムベクトル」、「クロスフェードループ再生形態を制御する情報」等を含んでいる。また、調和外成分についての圧縮データ(第2の圧縮データ)は、調和外ベクトルを指示する「ベクトル情報」と、「区間情報」、その再生モードを指示する「貼り付け情報」、「振幅ベクトル」、「タイムベクトル」等を含んでいる。
【0069】
「調和読出」処理S51では、調和成分についての圧縮データ(第1の圧縮データ)のうち「ベクトル情報」に基づき調和ベクトル記憶部M1から調和ベクトルを読み出す。
「調和加工」処理S52では、調和ベクトル記憶部M1から読み出した調和ベクトルと圧縮データの他の情報(区間情報、ピッチベクトル、振幅ベクトル、タイムベクトル、クロスフェードループ再生形態を制御する情報等)とに基づき、所要の調和成分波形を再生・生成する。すなわち、調和ベクトルの波形を区間情報に従って適宜ループし(繰り返し)、かつピッチベクトルに従ってそのピッチを時間的に制御し(勿論、その基本ピッチはMIDI演奏データに含まれるノートデータに応じて設定・制御することができる)、かつ振幅ベクトルに従ってその振幅エンベロープを設定・制御し、更にタイムベクトルに従って波形データの時間軸位置を伸張又は圧縮制御し、また、クロスフェードループ再生形態を制御する情報に応じて、フェードイン若しくはフェードアウト特性で、クロスフェード用の振幅エンベロープ制御を行う。
【0070】
また、「調和外読出」処理S53では、調和外成分についての圧縮データ(第2の圧縮データ)のうち「ベクトル情報」に基づき調和外ベクトル記憶部M2から調和外ベクトルを読み出す。
「調和外加工」処理S54では、調和外ベクトル記憶部M2から読み出した調和外ベクトルと圧縮データの他の情報(区間情報、貼り付け情報、振幅ベクトル、タイムベクトル等)とに基づき、所要の調和外成分波形を再生・生成する。すなわち、貼り付け情報及び区間情報の指示に応じて、前記ワンショット再生あるいはループ再生、シーケンス再生等、所定の前記調和外成分再生モードに従い、調和外ベクトルの波形を適宜ループして又は1回だけ所要区間に貼り付ける。また、振幅ベクトルに従ってその振幅エンベロープを設定・制御し、更にタイムベクトルに従って調和外成分波形データの時間軸位置を伸張又は圧縮制御する。
【0071】
なお、再生しようとする調和外成分の圧縮データが前記第1の手法に従うもの(対応する調和成分の周期性に同期させた区間分割を行ってベクトル量子化したもの)である場合、「ベクトル情報」に基づき調和外ベクトル記憶部M2から調和外ベクトルを読み出す際に若しくは読み出した後に、該調和外ベクトルの時間長を、今回同時に再生しようとする調和成分の周期に応じて、適宜伸縮制御するものとする。これは、該圧縮データの圧縮方法(前記第1の手法)を考慮すると、再生しようとする調和成分の周期の伸縮に同期させて調和外ベクトルの時間長も伸縮させた方が、調和外成分波形の再現性がよくなるからである。調和外ベクトルの時間長伸縮制御は、対応する調和ベクトルの読出周期(読出レート)の変化に連動させて調和外ベクトル記憶部M2の読出レートを変化させる、といった単純なやりかたであってもよいし、時間軸伸縮制御を採用して行ってもよい。勿論、再生しようとする調和外成分の圧縮データが前記第2の手法に従うもの(調和成分の周期性に無関係に区間分割を行ってベクトル量子化したもの)である場合は、基本的にこのような配慮は不要であるが、行ってもよい。また、上述した「ワンショット再生」、「ループ再生」、「オルタネーティブループ再生」、「シーケンス再生」、「ランダムシーケンス再生」、「デリート再生」等の各種再生モードは、再生しようとする調和外成分の圧縮データが前記第1の手法に従うもの(対応する調和成分の周期性に同期させた区間分割を行ってベクトル量子化したもの)である場合においても、適用され得るものであることは勿論である。
【0072】
「混合」処理S55では、上記のようにして再生・生成された調和成分波形と調和外成分波形とを混合し、両方の成分を混合してなる楽音波形データを生成する。こうして楽音波形データが再生・提供される(ステップS56)。再生された楽音波形データは、ディジタルデータのまま他の利用装置に供給するようにしてもよいし、あるいはアナログ変換し、適宜のサウンドシステムを介して空間的に発音させるようにしてもよい。なお、調和成分波形の信号と調和外成分波形の信号とを別々に発音して、両者を空間で混合するようにしてもよい。
以上により、圧縮したデータ構成を採用しながら、原波形にかなり忠実な特徴を持つ楽音波形を、再生・生成することができる。また、各加工処理S52,S54での波形加工を可変制御することにより、原波形に忠実な高品質な波形でありながら、制御性にも非常に富んだ、極めて有用な、波形生成処理を遂行することができる。
【0073】
【発明の効果】
以上の通り、この発明によれば、調和外成分の波形形状に基づいて、該調和外成分を複数の区間に分割し、分割した各区間毎にベクトル量子化を行うようにしたので、当該調和外成分の波形形状から判断して適切な箇所で調和外成分の波形を複数区間に分割することができ、調和外成分(非周期性成分)の波形それ自体を分析して、独自にベクトル量子化処理を施すことが容易に行えるようになる。また、非周期性波形成分のベクトル量子化にあたっては、調和成分と共に原波形を構成する固有の調和外成分に基づきベクトル量子化処理を行うので、非周期性波形成分の再現精度が向上する。このように、この発明は、調和外成分の圧縮処理を容易に行うことができるようにするものであり、調和外成分のベクトル量子化処理を実現するために極めて有用であり、また、これによって波形圧縮効率を高めることに寄与し、さらに、原波形の再現性、特に調和外成分の再現性に大変優れている、等々種々の優れた効果を奏する。
【0074】
また、或る区間についての調和外成分波形の圧縮にあたっては調和外ベクトルを指定しないようにすることにより、その区間では調和外成分なしに調和成分の波形データで波形を生成するようにすることにより、音を特徴づける上で、重要度の低い区間に存在している調和外成分を無視し、その区間の調和外成分は無音として調和成分のみで再生波形を構成するようにすることができ、その分、調和外成分のデータ圧縮効率を高めることができる、という優れた効果を奏する。
また、或る区間についての調和外成分波形の圧縮にあたっては所定の調和外ベクトルを繰り返し使用するようにすることにより、音を特徴づける上での重要度を各区間毎に考慮して調和外成分をループ再生するようにすることで、その分、調和外成分のデータ圧縮効率を高めることができる、という優れた効果を奏する。
また、複数の異なる奏法のうち指定された奏法に対応して、調和成分の波形データを供給すると共に調和外成分用の圧縮データを供給し、複数の調和外ベクトルを記憶したメモリから調和外成分用の圧縮データに基づいて調和外ベクトルを選択し、選択された調和外ベクトルに基づき調和外成分の波形データを生成するようにしたので、複数の異なる奏法のうち指定された奏法に対応して、調和外成分用の圧縮データから、調和外成分の波形を独自に再生・生成することができると共に、再生された調和外成分波形を調和成分波形と混合することで、指定された奏法に対応する特有の原波形を再現することができる、という優れた効果を奏する。
【図面の簡単な説明】
【図1】 この発明の一実施例に係る波形圧縮方法及び波形生成方法を実施するために使用されるハードウェア構成例の概略を示すブロック図。
【図2】 図1においてCPUの制御の下で実行される波形圧縮処理の手順を略示する等価的ブロック図。
【図3】 図2における「調和成分分析」処理の詳細例を示す等価的ブロック図。
【図4】 調和成分波形をベクトル量子化する様子の一例を示すグラフ。
【図5】 図2における「調和外成分分析」処理の一例を示すフローチャートであって、調和成分の周期性を利用して調和外成分波形を複数の波形区間に分割し、分析を行うようにした実施例を示すもの。
【図6】 図2における「調和外成分分析」処理の別の例を示すフローチャートであって、調和外成分波形の特徴に基づき該調和外成分波形を複数の波形区間に分割し、分析を行うようにした実施例を示すもの。
【図7】 調和外成分波形をベクトル量子化する様子の一例を示すグラフ。
【図8】 調和外成分波形のベクトル量子化の一具体例を示すグラフ。
【図9】 調和外成分波形のベクトル量子化の別の具体例を示すグラフ。
【図10】 調和外成分波形のベクトル量子化の更に別の具体例を示すグラフ。
【図11】 調和外成分波形のベクトル量子化の別の具体例を示すグラフ。
【図12】 調和外成分波形のベクトル量子化の更に別の具体例を示すグラフ。
【図13】 調和外成分波形のベクトル量子化の別の具体例を示すグラフ。
【図14】 奏法付き楽譜を準備する処理過程の一例を略示する等価的ブロック図。
【図15】 図1においてCPUの制御の下で実行される楽音再生すなわち波形生成処理の手順を略示する等価的ブロック図。
【符号の説明】
10 CPU(中央処理部)
11 ROM(リードオンリーメモリ)
12 RAM(ランダムアクセスメモリ)
13 ハードディスク装置
14 、リムーバブルディスク装置(例えばCD−ROMドライブ若しくはMOドライブなど)
15 表示器
16 キーボード及びマウス等の入力操作装置
17 波形インタフェース
18 タイマ
19 MIDI及び通信ネットワーク等のインタフェース
20 CPUバス
Claims (8)
- それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを供給する過程と、
圧縮すべき波形データの調和外成分を供給する過程と、
前記圧縮すべき波形データの調和外成分の波形形状に基づいて、該調和外成分を複数の区間に分割する過程と、
前記分割された各区間毎の調和外成分として使用できる調和外ベクトルを前記登録されている調和外ベクトルの中からそれぞれ選択して該各調和外成分をベクトル量子化し、該選択された調和外ベクトルを指示する指示情報をそれぞれ含む該各調和外成分についての圧縮データを生成する過程と
を具えた波形圧縮方法。 - 前記圧縮データを生成する過程は、前記分割された各区間毎の調和外成分についての代表ベクトルにそれぞれ相当する調和外ベクトルを該各区間毎にそれぞれ選択し、該選択した調和外ベクトルを指示する指示情報を含む前記圧縮データを生成するようにしたことを特徴とする請求項1に記載の波形圧縮方法。
- 前記調和外ベクトルを供給する過程は、複数の調和外ベクトルを記憶したメモリにより該調和外ベクトルを供給するものであり、前記圧縮データを生成する過程は、或る区間についての代表ベクトルとして使用し得る調和外ベクトルが前記メモリ内に存在していれば該調和外ベクトルを選択し、存在していなければ該代表ベクトルを前記メモリに調和外ベクトルとして登録するようにしたことを特徴とする請求項2に記載の波形圧縮方法。
- 前記圧縮データを生成する過程では、所要の区間について調和外成分を使用しないことを指示する情報を含む圧縮データを生成することを特徴とする請求項1に記載の波形圧縮方法。
- 前記調和外ベクトルを供給する過程は、複数の異なる原波形から用意された複数の調和外ベクトルを供給することからなり、前記圧縮データを生成する過程は、或る調和外成分を分割した複数の各区間についての代表ベクトルとして使用する各調和外ベクトルとして、異なる原波形から用意された前記調和外ベクトルを指定し得ることを特徴とする請求項1に記載の波形圧縮方法。
- 生成すべき波形の調和成分の波形データを供給する過程と、
それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを供給する過程と、
生成すべき波形の複数の区間について、調和外成分として使用すべき調和外ベクトルを指示する指示情報をそれぞれ含む圧縮データをそれぞれ供給する過程と、
各区間毎の前記圧縮データに基づいて前記指示情報が指示する調和外ベクトルを前記登録されている調和外ベクトルの中から選択し、選択された調和外ベクトルに対応する前記調和外成分の波形データに基づき各区間毎の調和外成分の波形データを生成する過程と
を具え、前記調和成分の波形データと前記生成された調和外成分の波形データとを組み合わせて波形を生成する方法であって、或る区間の前記圧縮データには調和外ベクトルを使用しないことを指示するものが含まれており、その区間では調和外成分なしに調和成分の波形データで波形を生成することを特徴とする波形生成方法。 - 生成すべき波形の調和成分の波形データを供給する過程と、
それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを供給する過程と、
生成すべき波形の複数の区間について、調和外成分として使用すべき調和外ベクトルを指示する指示情報をそれぞれ含む圧縮データをそれぞれ供給する過程と、
各区間毎の前記圧縮データに基づいて前記指示情報が指示する調和外ベクトルを前記登録されている調和外ベクトルの中から選択し、選択された調和外ベクトルに対応する前記調和外成分の波形データに基づき各区間毎の調和外成分の波形データを生成する過程と
を具え、前記調和成分の波形データと前記生成された調和外成分の波形データとを組み合わせて波形を生成する方法であって、或る区間の前記圧縮データには調和外ベクトルを繰り返し使用することを指示するものが含まれており、その区間では該調和外ベクトルを繰り返して調和外成分の波形データを生成することを特徴とする波形生成方法。 - 複数の異なる奏法のうち、生成すべき波形のために指定された奏法に対応して、調和成分の波形データを供給する過程と、
それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを記憶したメモリを用いて該調和外ベクトルに対応する調和外成分の波形データを供給する過程と、
前記生成すべき波形のために指定された奏法に対応して、調和外成分として使用すべき調和外ベクトルを指示する指示情報を含む圧縮データを供給する過程と、
前記圧縮データに基づいて前記指示情報が指示する調和外ベクトルを前記メモリにおける前記登録されている調和外ベクトルの中から選択し、選択された調和外ベクトルに対応する前記調和外成分の波形データに基づき前記指定された奏法に対応する調和外成分の波形データを生成する過程と
を具え、前記調和成分の波形データと前記生成された調和外成分の波形データとを組み合わせて前記指定された奏法に対応する波形を生成することを特徴とする波形生成方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08497299A JP3744247B2 (ja) | 1999-03-26 | 1999-03-26 | 波形圧縮方法及び波形生成方法 |
EP00106126A EP1039442B1 (en) | 1999-03-25 | 2000-03-21 | Method and apparatus for compressing and generating waveform |
DE60026189T DE60026189T2 (de) | 1999-03-25 | 2000-03-21 | Verfahren und Vorrichtung zur Wellenformkomprimierung und Erzeugung |
US09/536,007 US6584442B1 (en) | 1999-03-25 | 2000-03-23 | Method and apparatus for compressing and generating waveform |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08497299A JP3744247B2 (ja) | 1999-03-26 | 1999-03-26 | 波形圧縮方法及び波形生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000276174A JP2000276174A (ja) | 2000-10-06 |
JP3744247B2 true JP3744247B2 (ja) | 2006-02-08 |
Family
ID=13845553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08497299A Expired - Fee Related JP3744247B2 (ja) | 1999-03-25 | 1999-03-26 | 波形圧縮方法及び波形生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3744247B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1258864A3 (en) | 2001-03-27 | 2006-04-12 | Yamaha Corporation | Waveform production method and apparatus |
EP1304680A3 (en) | 2001-09-13 | 2004-03-03 | Yamaha Corporation | Apparatus and method for synthesizing a plurality of waveforms in synchronized manner |
-
1999
- 1999-03-26 JP JP08497299A patent/JP3744247B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000276174A (ja) | 2000-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3744216B2 (ja) | 波形形成装置及び方法 | |
JP4207902B2 (ja) | 音声合成装置およびプログラム | |
US6687674B2 (en) | Waveform forming device and method | |
JPH11502632A (ja) | 音響信号の音色および/またはピッチを変える方法および装置 | |
US6584442B1 (en) | Method and apparatus for compressing and generating waveform | |
JP2001100760A (ja) | 波形生成方法及び装置 | |
JP3601371B2 (ja) | 波形生成方法及び装置 | |
US7427709B2 (en) | Apparatus and method for processing MIDI | |
JP3654083B2 (ja) | 波形生成方法及び装置 | |
JP3654079B2 (ja) | 波形生成方法及び装置 | |
JP3915807B2 (ja) | 奏法自動判定装置及びプログラム | |
JP3654080B2 (ja) | 波形生成方法及び装置 | |
JP3654082B2 (ja) | 波形生成方法及び装置 | |
JP3654084B2 (ja) | 波形生成方法及び装置 | |
JP3750533B2 (ja) | 波形データ録音装置および録音波形データ再生装置 | |
JP3744247B2 (ja) | 波形圧縮方法及び波形生成方法 | |
JP3788096B2 (ja) | 波形圧縮方法及び波形生成方法 | |
JP2000276194A (ja) | 波形圧縮方法及び波形生成方法 | |
KR100655548B1 (ko) | 미디 합성 방법 | |
JP3904012B2 (ja) | 波形生成装置及び方法 | |
JP4152502B2 (ja) | 音響信号の符号化装置および符号データの編集装置 | |
JP2004070154A (ja) | 演奏データ処理方法および楽音信号合成方法 | |
JP3804522B2 (ja) | 波形圧縮方法及び波形生成方法 | |
JP4007374B2 (ja) | 波形生成方法及び装置 | |
JP3933162B2 (ja) | 波形生成方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050322 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050531 |
|
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: 20051101 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051114 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081202 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091202 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101202 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101202 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111202 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111202 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121202 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131202 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |