(57)【特許請求の範囲】
【請求項１】
それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを供給する過程と、
圧縮すべき波形データの調和外成分を供給する過程と、
前記圧縮すべき波形データの調和外成分の波形形状に基づいて、該調和外成分を複数の区間に分割する過程と、
前記分割された各区間毎の調和外成分として使用できる調和外ベクトルを前記登録されている調和外ベクトルの中からそれぞれ選択して該各調和外成分をベクトル量子化し、該選択された調和外ベクトルを指示する指示情報をそれぞれ含む該各調和外成分についての圧縮データを生成する過程と
を具えた波形圧縮方法。
【請求項２】
前記圧縮データを生成する過程は、前記分割された各区間毎の調和外成分についての代表ベクトルにそれぞれ相当する調和外ベクトルを該各区間毎にそれぞれ選択し、該選択した調和外ベクトルを指示する指示情報を含む前記圧縮データを生成するようにしたことを特徴とする請求項１に記載の波形圧縮方法。
【請求項３】
前記調和外ベクトルを供給する過程は、複数の調和外ベクトルを記憶したメモリにより該調和外ベクトルを供給するものであり、前記圧縮データを生成する過程は、或る区間についての代表ベクトルとして使用し得る調和外ベクトルが前記メモリ内に存在していれば該調和外ベクトルを選択し、存在していなければ該代表ベクトルを前記メモリに調和外ベクトルとして登録するようにしたことを特徴とする請求項２に記載の波形圧縮方法。
【請求項４】
前記圧縮データを生成する過程では、所要の区間について調和外成分を使用しないことを指示する情報を含む圧縮データを生成することを特徴とする請求項１に記載の波形圧縮方法。
【請求項５】
前記調和外ベクトルを供給する過程は、複数の異なる原波形から用意された複数の調和外ベクトルを供給することからなり、前記圧縮データを生成する過程は、或る調和外成分を分割した複数の各区間についての代表ベクトルとして使用する各調和外ベクトルとして、異なる原波形から用意された前記調和外ベクトルを指定し得ることを特徴とする請求項１に記載の波形圧縮方法。
【請求項６】
生成すべき波形の調和成分の波形データを供給する過程と、
それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを供給する過程と、
生成すべき波形の複数の区間について、調和外成分として使用すべき調和外ベクトルを指示する指示情報をそれぞれ含む圧縮データをそれぞれ供給する過程と、
各区間毎の前記圧縮データに基づいて前記指示情報が指示する調和外ベクトルを前記登録されている調和外ベクトルの中から選択し、選択された調和外ベクトルに対応する前記調和外成分の波形データに基づき各区間毎の調和外成分の波形データを生成する過程と
を具え、前記調和成分の波形データと前記生成された調和外成分の波形データとを組み合わせて波形を生成する方法であって、或る区間の前記圧縮データには調和外ベクトルを使用しないことを指示するものが含まれており、その区間では調和外成分なしに調和成分の波形データで波形を生成することを特徴とする波形生成方法。
【請求項７】
生成すべき波形の調和成分の波形データを供給する過程と、
それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを供給する過程と、
生成すべき波形の複数の区間について、調和外成分として使用すべき調和外ベクトルを指示する指示情報をそれぞれ含む圧縮データをそれぞれ供給する過程と、
各区間毎の前記圧縮データに基づいて前記指示情報が指示する調和外ベクトルを前記登録されている調和外ベクトルの中から選択し、選択された調和外ベクトルに対応する前記調和外成分の波形データに基づき各区間毎の調和外成分の波形データを生成する過程と
を具え、前記調和成分の波形データと前記生成された調和外成分の波形データとを組み合わせて波形を生成する方法であって、或る区間の前記圧縮データには調和外ベクトルを繰り返し使用することを指示するものが含まれており、その区間では該調和外ベクトルを繰り返して調和外成分の波形データを生成することを特徴とする波形生成方法。
【請求項８】
複数の異なる奏法のうち、生成すべき波形のために指定された奏法に対応して、調和成分の波形データを供給する過程と、
それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを記憶したメモリを用いて該調和外ベクトルに対応する調和外成分の波形データを供給する過程と、
前記生成すべき波形のために指定された奏法に対応して、調和外成分として使用すべき調和外ベクトルを指示する指示情報を含む圧縮データを供給する過程と、
前記圧縮データに基づいて前記指示情報が指示する調和外ベクトルを前記メモリにおける前記登録されている調和外ベクトルの中から選択し、選択された調和外ベクトルに対応する前記調和外成分の波形データに基づき前記指定された奏法に対応する調和外成分の波形データを生成する過程と
を具え、前記調和成分の波形データと前記生成された調和外成分の波形データとを組み合わせて前記指定された奏法に対応する波形を生成することを特徴とする波形生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ベクトル量子化技術を用いて楽音あるいは音声その他様々な音の波形を圧縮する波形圧縮方法に関し、また、そのような波形圧縮方法を使用して任意の波形を生成する波形生成方法に関するもので、特に、調和外成分の圧縮法とその波形生成方法を改善したものに関する。この発明は、電子楽器は勿論のこと、自動演奏装置、コンピュータ、電子ゲーム装置その他マルチメディア機器等、楽音あるいは音声若しくはその他任意の音を発生する機能を有する汎ゆる分野の機器若しくは装置または方法において広範囲に応用できるものである。なお、この明細書において、楽音波形という場合、音楽的な音の波形に限るものではなく、音声あるいはその他任意の音の波形を含んでいてもよい意味合いで用いるものとする。
【０００２】
【従来技術】
最近では、電子的な楽音合成技術において、奏法の相違を考慮した高品質な楽音を如何にして合成するかということが重要な課題となってきている。すなわち、自然楽器にあっては、同じ楽器音色及び同じ音高等の楽音であっても、例えばビブラート奏法とスラー奏法のような、異なる奏法での各演奏に対して、異なった楽音特性（特に音色波形）を示す楽音が発生されることが知られている。このような自然楽器における奏法の違いを反映した高品質な楽音を、電子楽器等において電子的な楽音合成技術を用いて生成しようとする場合、各楽器音色の各音高（若しくは音域）毎に、複数の各奏法に対応して、それぞれの奏法に従う楽音特性（特に音色波形）を示す波形データをそれぞれメモリに予め記憶しておき、演奏しようとする奏法に応じた波形データをメモリから読み出すことにより、奏法に対応した特有の楽音特性（特に音色波形）を示す楽音波形を生成するようにすることが考えられる。
【０００３】
このように、各楽器音色の各音高（若しくは音域）毎に、複数の各奏法に対応して異なる波形データをそれぞれ記憶するようにする場合、普通に記憶したのでは必要なメモリ記憶容量がかなり増すことになるため、如何にして有効なデータ圧縮を行い、必要なメモリ記憶容量を節約するのか、ということが重要な課題となってくる。そこで、従来の波形データ圧縮技術のうち、この発明との関連において注目すべきものを挙げて見ると、次のようなものがある。
【０００４】
まず、特開昭６１−１０４４００号公報においては、入力波形をフィルタ処理によって周期成分と非周期成分に分離し、各成分を異なるデータ圧縮の符号化形式で符号化し、それぞれ波形メモリに記憶するようにした音記録方法が示されている。しかし、そこにおいては、特定の波形データを周期成分と非周期成分に分離してデータ圧縮して記憶する発想はあっても、これらをすべてベクトル量子化する発想はなかった。特に、非周期成分については、周期成分の波形に対する残差波形をそのまま時系列的に記録しておくしかないものである。
【０００５】
次に、特開平５−８８９１１号公報においては、ベクトル量子化を使用した音声符号化法が示されている。そこでは、圧縮しようとする音声波形を、まず、その波形から抽出したスペクトルの逆特性のフィルタで処理し、次に、フィルタ処理後の波形について、その波形の過去の所定周期から取出した励振ベクトルを用いて周期成分のベクトル量子化を行うとともに、雑音ベクトルで非周期成分のベクトル量子化を行うようにしている。この場合、雑音ベクトルは固定ベクトルとして用意されているものを使用するようになっており、圧縮しようとする音声波形そのものから非周期成分（雑音成分）を抽出してこれに基づき非周期成分のベクトル量子化を行うようにはなっていない。
【０００６】
【発明が解決しようとする課題】
しかし、上述した前者の波形データ圧縮技術にあっては、データ圧縮率が低かったため、各楽器音色の各音高（若しくは音域）毎に複数の各奏法に対応して異なる波形データをそれぞれ記憶するような目的に適した、十分なデータ圧縮を実現することは困難であった。すなわち、前者の従来技術においては、非周期成分をベクトル量子化する発想がなかったため、非周期成分のデータ記憶は、周期成分の波形に対する残差波形をそのまま時系列的に記録しておくしかなく、十分なデータ圧縮を実現するものではなかった。
【０００７】
一方、上述した後者の波形データ圧縮技術においては、雑音ベクトルは固定ベクトルとして用意されているものを使用するようになっており、圧縮しようとする音声波形そのものから非周期成分（雑音成分）を抽出してこれに基づき非周期成分のベクトル量子化を行うようにはなっていないので、雑音ベクトルのベクトル量子化精度が悪く、非周期成分の効率的な圧縮が行えず、また、非周期成分の再現精度も悪かった。更に、この波形データ圧縮技術においては、逆特性のフィルタによるフィルタ処理が必ず行われているので、この強力な逆特性フィルタ処理の介在によって、再生される波形の形状は、元の波形の形状と異なった形状になってしまい、波形再現性が悪い、という欠点があった。よって、精密な波形再現性がそれほど要求されない人音声波形の再生には使用できても、精密な波形再現性が要求される楽器音の波形再生には適していなかった。また、この波形データ圧縮技術においては、周期ベクトルと雑音ベクトルを用いた圧縮が行われているが、上記逆特性フィルタ処理の行われた１つの波形に対して、周期ベクトルと雑音ベクトルの組合せとしてのベクトル量子化を行わねばならないので、その組合せの決定方法が難しく、また、精密な圧縮ができなかった。さらに、上記周期ベクトルは、過去の波形から取り出した励振ベクトルが用いられる場合が多いので、変化に富んだ波形に対する追従性は低かった。
【０００８】
この発明は上述の点に鑑みてなされたもので、データ圧縮効率に優れ、元の波形の再現性にも優れた波形圧縮方法を提供しようとするものであり、特に調和外成分（非周期的な成分）を有効にかつ効率的に圧縮することができるようにすることを考慮した波形圧縮方法を提供しようとするものである。さらには、そのような波形圧縮方法を使用して任意の波形、特に任意の調和外成分波形を生成する波形生成方法を提供しようとするものである。
【０００９】
【課題を解決するための手段】
この発明に係る波形圧縮方法は、それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを供給する過程と、圧縮すべき波形データの調和外成分を供給する過程と、前記圧縮すべき波形データの調和外成分の波形形状に基づいて、該調和外成分を複数の区間に分割する過程と、前記分割された各区間毎の調和外成分として使用できる調和外ベクトルを前記登録されている調和外ベクトルの中からそれぞれ選択して該各調和外成分をベクトル量子化し、該選択された調和外ベクトルを指示する指示情報をそれぞれ含む該各調和外成分についての圧縮データを生成する過程とを具えたものである。
【００１０】
データ圧縮しようとする波形データは、適宜の手法によって調和成分と調和外成分とに分離され、別々に供給される。この発明によれば、少なくとも調和外成分に対してベクトル量子化のための処理が施される。調和外成分波形をベクトル量子化するためには、その対象たる調和外成分波形を複数の区間に分割し、各区間毎に最適なベクトル量子化を行うことが望ましい。そのための区間分割の手法として、この発明においては、該調和外成分の波形形状に基づいて、該調和外成分を複数の区間に分割するようにしている。これによって、当該調和外成分の波形形状から判断して、データ圧縮効率がよく、また、波形再現性もさして損なわれないと思われる適切な個所で、調和外成分の波形を複数区間に分割することができる。すなわち、それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを供給し、前記分割された各区間毎の調和外成分として使用できる調和外ベクトルを前記登録されている調和外ベクトルの中からそれぞれ選択して該各調和外成分をベクトル量子化し、該選択された調和外ベクトルを指示する指示情報をそれぞれ含む該各調和外成分についての圧縮データを生成する。
【００１１】
調和外成分のベクトル量子化にあたっては、データ圧縮の促進と波形再現性の向上との兼ね合いを考慮して、それぞれの調和外成分の内容に見合った、最適な形態でベクトル量子化を行うことが好ましい。調和外成分は、基本的には繰り返し性を持たないランダムな雑音波形に該当するが、その波形形状に基づき最適と思われる区間分割を採用してベクトル量子化することで、効率的なデータ圧縮を行うことができると共にその後の波形生成処理を有利に行うことができる。例えば、その波形形状や発音期間の中のどの位置に位置するかといった重要度の有無等を考慮して、特定の代表ベクトルをループ処理するようにベクトル量子化を行い、再生時にループ再生処理を行うことで必要な時間長の調和外成分波形を再生するようにしてもよいし（これをループ再生という）、あるいは、必要な時間長からなる代表ベクトルをループさせずに一回だけ使用するようにベクトル量子化を行い、再生時にそのように再生処理を行うことで所要の調和外成分波形を再生するようにしてもよい（これをワンショット再生という）。あるいは、複数の代表ベクトルを所定の順番で切換えて組合わせることにより、所要の調和外成分波形を再生するようにしてもよい（これをシーケンス再生という）。あるいは、その切換え順序をランダムに設定して、調和外成分の雑音性つまりランダム性を強調するようにしてもよい（これをランダムシーケンス再生という）。このような各種の最適ベクトル量子化形態を考慮し、調和外ベクトルとして、様々な最適ベクトル量子化の形態に見合った、代表ベクトルを適宜使用することが好ましい。そこで、調和外成分のベクトル量子化にあたっては、一例として、当該調和外成分に適した調和外ベクトルつまり代表ベクトルを選定し、この調和外ベクトルつまり代表ベクトルをどのように用いるか（例えば上記ループ再生やワンショット再生等の区別やその期間やそれに付与するエンベロープの形態など）を記述する情報を付加することにより、行うことができる。
なお、調和外成分の各代表ベクトルすなわち調和外ベクトルは、様々な異なる波形間で共有することができる。つまり、圧縮しようとする２以上の異なる原波形の間で、それらの原波形の一部に適宜の共通性がある場合は、それらのベクトル量子化に際しては、同じ代表ベクトルを両波形間で適宜共用することができる。
【００１２】
このように、この発明によれば、従来容易には行えなかった、調和外成分（非周期性成分）の波形それ自体を分析して、独自にベクトル量子化処理を施すことが容易に行えるようになる。また、非周期性波形成分のベクトル量子化にあたっては、調和成分と共に原波形を構成する固有の調和外成分に基づきベクトル量子化処理を行うので、非周期性波形成分の再現精度が向上する。このように、この発明は、調和外成分の圧縮処理を容易に行うことができるようにするものであり、調和外成分のベクトル量子化処理を実現するために極めて有用であり、また、これによって波形圧縮効率を高めることに寄与し、さらに、原波形の再現性、特に調和外成分の再現性に大変優れている、等々種々の優れた効果を奏する。
【００１３】
この発明に係る波形生成方法は、生成すべき波形の調和成分の波形データを供給する過程と、それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを供給する過程と、生成すべき波形の複数の区間について、調和外成分として使用すべき調和外ベクトルを指示する指示情報をそれぞれ含む圧縮データをそれぞれ供給する過程と、各区間毎の前記圧縮データに基づいて前記指示情報が指示する調和外ベクトルを前記登録されている調和外ベクトルの中から選択し、選択された調和外ベクトルに対応する前記調和外成分の波形データに基づき各区間毎の調和外成分の波形データを生成する過程とを具え、前記調和成分の波形データと前記生成された調和外成分の波形データとを組み合わせて波形を生成する方法であって、或る区間の前記圧縮データには調和外ベクトルを使用しないことを指示するものが含まれており、その区間では調和外成分なしに調和成分の波形データで波形を生成することを特徴とするものである。これにより、音を特徴づける上で、重要度の低い区間に存在している調和外成分を無視し、その区間の調和外成分は無音として調和成分のみで再生波形を構成するようにすることができ、その分、調和外成分のデータ圧縮効率を高めることができる。
【００１４】
また、この発明に係る波形生成方法は、生成すべき波形の調和成分の波形データを供給する過程と、それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを供給する過程と、生成すべき波形の複数の区間について、調和外成分として使用すべき調和外ベクトルを指示する指示情報をそれぞれ含む圧縮データをそれぞれ供給する過程と、各区間毎の前記圧縮データに基づいて前記指示情報が指示する調和外ベクトルを前記登録されている調和外ベクトルの中から選択し、選択された調和外ベクトルに対応する前記調和外成分の波形データに基づき各区間毎の調和外成分の波形データを生成する過程とを具え、前記調和成分の波形データと前記生成された調和外成分の波形データとを組み合わせて波形を生成する方法であって、或る区間の前記圧縮データには調和外ベクトルを繰り返し使用することを指示するものが含まれており、その区間では該調和外ベクトルを繰り返して調和外成分の波形データを生成することを特徴とするものである。これにより、音を特徴づける上で、重要度の低い区間に存在している調和外成分をループ再生するようにすることで、その分、調和外成分のデータ圧縮効率を高めることができる。例えば、原波形において相対的に音量が大きい区間は調和成分波形の影響力が大で或るため、調和外成分にそれほど巧妙な再現性は要求されないため、限られたデータサイズの調和外ベクトルをループさせることで調和外成分波形の再生・生成を問題なく行うことができる。そのような場合にこれは有利である。
【００１５】
また、この発明に係る波形生成方法は、複数の異なる奏法のうち、生成すべき波形のために指定された奏法に対応して、調和成分の波形データを供給する過程と、それぞれ調和外ベクトルとして登録されている複数の調和外成分の波形データを記憶したメモリを用いて該調和外ベクトルに対応する調和外成分の波形データを供給する過程と、前記生成すべき波形のために指定された奏法に対応して、調和外成分として使用すべき調和外ベクトルを指示する指示情報を含む圧縮データを供給する過程と、前記圧縮データに基づいて前記指示情報が指示する調和外ベクトルを前記メモリにおける前記登録されている調和外ベクトルの中から選択し、選択された調和外ベクトルに対応する前記調和外成分の波形データに基づき前記指定された奏法に対応する調和外成分の波形データを生成する過程とを具え、前記調和成分の波形データと前記生成された調和外成分の波形データとを組み合わせて前記指定された奏法に対応する波形を生成することを特徴とするものである。これにより、複数の異なる奏法のうち指定された奏法に対応して、調和外成分用の圧縮データから、調和外成分の波形を独自に再生・生成することができる。再生された調和外成分波形を調和成分波形と混合することで、指定された奏法に対応する特有の原波形を再現することができる。
【００１６】
この発明は、方法発明として構成し、実施することができるのみならず、装置発明として構成し、実施することもできる。また、この発明は、コンピュータプログラムの形態で実施することができるし、そのようなコンピュータプログラムを記憶した記録媒体の形態で実施することもできる。更に、この発明は、新規な圧縮されたデータ構造からなる波形データを記憶した記録媒体の形態で実施することもできる。
【００１７】
【発明の実施の形態】
以下、添付図面を参照してこの発明の実施の形態を詳細に説明しよう。
まず、図１を参照して、この発明の一実施例に係る波形圧縮方法及び波形生成方法を実施するために使用されるハードウェア構成例について概略を説明する。ここに示されたハードウェア構成例は、例えばパーソナルコンピュータのような汎用コンピュータを用いて構成されており、そこにおいて、波形圧縮及び波形生成処理は、コンピュータがこの発明に係る波形圧縮方法及び波形生成方法を実現する所定のプログラム（ソフトウェア）を実行することにより実施される。勿論、この波形圧縮方法及び波形生成方法は、コンピュータソフトウェアの形態に限らず、ＤＳＰ（ディジタル・シグナル・プロセッサ）によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウェア装置の形態で実施してもよい。また、装置構成は、パーソナルコンピュータのような汎用コンピュータに限らず、電子楽器あるいはカラオケ装置又は電子ゲーム装置又はその他のマルチメディア機器等、任意の製品応用形態をとっていてもよい。
【００１８】
図１に示されたハードウェア構成例においては、コンピュータのメイン制御部としてのＣＰＵ（中央処理部）１０に、ＲＯＭ（リードオンリーメモリ）１１、ＲＡＭ（ランダムアクセスメモリ）１２、ハードディスク装置１３、リムーバブルディスク装置（例えばＣＤ−ＲＯＭドライブ若しくはＭＯドライブなど）１４，表示器１５，キーボード及びマウス等の入力操作装置１６，波形インタフェース１７，タイマ１８、ＭＩＤＩ及び通信ネットワーク等のインタフェース１９等が、ＣＰＵバス２０を介して接続されている。波形インタフェース１７は、外部からマイクロフォン等を介して入力されるアナログ波形信号（オーディオ信号）を、ＣＰＵ１０からの指示に応じて、所定のサンプリング周波数に従ってサンプリングしてディジタル信号に変換し、これをＣＰＵバス２０に送り出す機能と、このコンピュータにより実行した波形生成処理によって圧縮データに基づき生成したディジタル波形データをＣＰＵバス２０を介して受け取り、所定のサンプリング周波数に従ってアナログ波形信号に変換してスピーカシステム等に出力する機能等を有する。
【００１９】
波形インタフェース１７を介して入力されたディジタル波形データは、ＲＡＭ１２あるいはハードディスク装置１３等における所定の記憶領域に一旦書き込まれ、この波形データに対して、ＣＰＵの指示に従ってこの発明に従う所定の波形圧縮処理が施される。圧縮されたデータは、適宜の圧縮波形データベースに記憶される。この場合、アナログ波形信号に限らずディジタル波形データを適宜のインタフェース１９等を介して入力し、この入力波形データに対して所要のデータ圧縮を施すようにしてもよい。波形データベースの機能は、どのタイプのデータ記憶装置が受け持ってもよい。すなわち、ＲＡＭ１２、ハードディスク装置１３、リムーバブルディスク装置１４のいずれを圧縮波形データベースとして機能させてもよい。一般的には、大容量の記憶装置であるハードディスク装置１３における適宜の記憶領域あるいはリムーバブルディスク装置１４に着脱可能なＣＤ−ＲＯＭやＭＯ等のリムーバブルな記録媒体を、圧縮波形データベースとして機能させればよい。あるいは、外部のホスト又はサーバコンピュータに具備されている波形データベースに対して、インタフェース１９及び通信回線を介してアクセスして、圧縮したデータをそこに書き込んだり、再生時に必要な圧縮データをハードディスク装置１３あるいはＲＡＭ１２等にダウンロードするようにしてもよい。波形生成時には、圧縮波形データベースに記憶されている圧縮データを使用して所定の波形生成処理を行い、ディジタル波形データを生成する。生成したディジタル波形データは、上記のように波形インタフェース１７を介してアナログ出力してもよいし、あるいは、適宜のインタフェース１９等を介してディジタルデータのまま外部に転送出力することも可能である。なお、圧縮波形データベースとして、ハードディスク装置１３、リムーバブルディスク装置１４、あるいは外部のホスト又はサーバコンピュータ等、外部メモリを使用した場合は、指定された波形データに迅速にアクセスできるようにするために、内部の転送バッファ（ＲＡＭ１２等で構成する）に圧縮波形データベースの全部あるいは一部を転送しておくようにするとよい。
【００２０】
表示器１５においては、波形圧縮処理及び波形生成処理の過程において、ＣＰＵ１０からの指示に応じて、様々なグラフィック画面を表示する。例えば、録音した波形の形状をグラフィック表示したり、波形圧縮処理の際の波形エディット状態をグラフィック表示したり、音色設定、音色編集、システム設定等の各種データ設定・選択等のための制御画面を表示したり、というように多様に使用される。また、入力操作装置１６のアルファニューメリックキーボード及びマウス等を用いて、波形圧縮処理及び波形生成処理の過程において、必要な制御情報や文字情報等が入力される。また、インタフェース１９を介して、ＭＩＤＩ鍵盤モジュールやシーケンサ（自動演奏装置）あるいは他のコンピュータが接続され、楽音再生のための演奏指示情報等を入力したり、各種データの授受を行う。
【００２１】
ＣＰＵ１０の制御の下で、この発明に係る波形圧縮処理及び／又は波形生成処理を実行するソフトウェアプログラムは、ＲＯＭ１１又はＲＡＭ１２あるいはハードディスク装置１３等のいずれに記憶しておくようにしてもよい。また、このプログラムは、リムーバブルディスク装置１４に着脱可能なＣＤ−ＲＯＭやＭＯ等のリムーバブルな記録媒体に記録されていてもよく、また、外部のホスト又はサーバコンピュータから通信回線及びインタフェース１９を介して該プログラムを受信し、ハードディスク装置１３あるいはＲＡＭ１２等にダウンロードするようにしてもよい。また、この発明の実施にあたっては、図１に示されたようなコンピュータシステムが、波形圧縮処理と波形生成処理の両方の機能を必ずしも兼備している必要はなく、どちらか一方のみを実施し得るような構成であってもよい。
【００２２】
次に、ＣＰＵ１０の制御の下で実行される各種処理の実施例について説明する。図２は、ＣＰＵ１０の制御の下で実行される波形圧縮処理の手順を等価的ブロック図によって略示するものである。
まず、「奏法付き波形録音」（プロセスＰ１）では、各種の自然楽器において、熟練した演奏家逹によって、同じピッチ、同じ強度の楽音を様々な奏法で実際に演奏してもらい、それぞれの演奏音を波形インタフェース１７を介してサンプリングし、こうして、多数の奏法付き波形データをＲＡＭ１２あるいはハードディスク装置１３等における所定の記憶領域に記録する。この場合、記録される演奏音は、単音とは限らず、一連のフレーズ、あるいは和音等であってもよく、また、単音若しくは一連のフレーズ等からなる１つの演奏音の中に複数の異なる奏法が含まれていてもよい。
【００２３】
なお、「ビブラート」や「スラー」等一般的な奏法名が同じであっても各楽器種類毎にその演奏音の波形特徴が異なるし、また、一般的な奏法名が同じでかつ楽器種類が同じであってもその奏法の程度の違い（例えばビブラート深さの違い等）によってそれぞれの演奏音の波形特徴が異なる。従って、「奏法付き波形録音」（プロセスＰ１）で録音する様々な奏法に従う演奏音とは、これらの各種観点に従う奏法の違いを考慮したものである。よって、「奏法付き演奏音」は、主に、「楽器名」と、「奏法名」と、その奏法の程度を示す「パラメータ」、の３つの要素の組合わせを用いて区別され、記述することができる。その場合、奏法の程度を示す「パラメータ」には複数のパラメータが含まれる。
【００２４】
一例を示すと、次のようである。
例１：「バイオリン」（楽器名）の「アタック」（奏法名）においては、その「立ち上がり速度、強度、ピッチ」等がパラメータとなる。
例２：「バイオリン」（楽器名）の「スラー」（奏法名）においては、その「スラー幅、スラー速度、強度、ピッチ」等がパラメータとなる。
例３：「バイオリン」（楽器名）の「ビブラート」（奏法名）においては、その「ビブラート深さ、ビブラート速度、強度、ピッチ」等がパラメータとなる。
例４：「ギター」（楽器名）の「ピッキング」（奏法名）においては、その「強度、ピッチ」等がパラメータとなる。
例５：「ギター」（楽器名）の「ハンマリング・オン」（奏法名）においては、その「強度、ピッチ」等がパラメータとなる。
例６：「ギター」（楽器名）の「ベンド」（奏法名）においては、その「ベンド幅、ベンド速度、強度、ピッチ」等がパラメータとなる。
例７：「ギター」（楽器名）の「トレモロアーム操作」（奏法名）においては、その「操作幅、操作速度、強度、ピッチ」等がパラメータとなる。
また、パラメータには、強度時間変化カーブやスラー時間変化カーブのように、時間変化態様を示すものが含まれていてもよい。
【００２５】
次に、「奏法分析」（プロセスＰ２）では、前記「奏法付き波形録音」のプロセスＰ１で準備した各波形データを分析して、一つ又は一連の演奏音の波形データの中で共通の奏法に対応している部分がどの範囲（これを奏法区間ということにする）であるかを抽出し、該波形データの中に含まれる一又は複数の各奏法毎に、該波形データを区間分けする位置を決定し、分けられた各区間（奏法区間）で用いられている奏法を記述するための前記「奏法名」と前記「パラメータ」とをそれぞれ決定し、該「奏法名」のデータと「パラメータ」とからなる奏法指定データを生成する。また、該奏法についての「楽器名」を示す楽器指定データも生成する。こうして、一つ又は一連の演奏音の波形データを、そこで用いられている一又は複数の奏法に応じて一又は複数の奏法区間に分ける定義付けと、各奏法区間について当該奏法の種類を記述するための「楽器名」と「奏法名」と「パラメータ」の３つの要素が、楽器指定データと奏法指定データとによって定義される。これらの楽器指定データと奏法指定データは、波形データ圧縮のためのプロセスＰ３〜Ｐ６の処理によって圧縮された当該奏法区間についての圧縮データの解説情報若しくはインデックス情報として使用される。
【００２６】
この「奏法分析」（プロセスＰ２）における分析の手法としては、例えば次の３通りの手法が考えられる。
例１：分析すべき波形データの音をユーザが耳で聴き、かつ必要に応じてその波形を表示器１５で表示し、奏法区間として分割する区切りの位置をユーザの判断によって入力操作装置１６を用いて手動指定する。また、分割指定した各奏法区間についての「奏法名」と「パラメータ」とをユーザの判断によって決定し、入力操作装置１６を用いて手動指定する。これは手動分析に相当する。
例２：ＣＰＵ１０が所定の奏法分析プログラムを実行して、分析対象の波形データのピッチ、振幅等の各種楽音特性の変化を分析し、この分析結果に基づいて奏法区間として分割する区切りの位置を自動的に決定し、かつ、決定した各奏法区間についての「奏法名」と「パラメータ」とを自動的に決定する。これは全自動分析に相当する。
例３：上記例１と例２の手法を複合したもの。すなわち、ユーザによる手動分析とＣＰＵによる自動分析とを組合わせて奏法分析を行う。例えば、奏法区間の分割と「奏法名」の決定は、ユーザが手動で行い、各奏法区間における「パラメータ」はＣＰＵによる自動分析によって決定する。あるいは、ＣＰＵによる自動分析によって決定された各奏法区間の分割位置あるいは「奏法名」あるいは「パラメータ」を、ユーザの手動操作によって適宜修正する。
【００２７】
次に、「奏法区間分割」（プロセスＰ３）では、前記「奏法付き波形録音」のプロセスＰ１で準備した一つ又は一連の演奏音の波形データを、当該波形データについて前記「奏法分析」のプロセスＰ２で決定した奏法区間分割位置指定情報に従って具体的に分割する処理を行う。以後の各プロセスＰ４〜Ｐ６の処理は、分割された個々の奏法区間毎の波形データに対して行われる。
【００２８】
次に、「調和／調和外成分分離」（プロセスＰ４）では、前記「奏法区間分割」のプロセスＰ３で分割された１つの奏法区間の波形データをＲＡＭ１２等のメモリから取り出し、この波形データを調和成分と調和外成分とに分離する処理を行う。この分離処理の一例を示すと、まず、分離対象たる波形データを入力し、これを高速フーリエ変換（ＦＦＴ）によって周波数分析（スペクトル分析）してその基本ピッチ周波数成分と高調波成分とを抽出し、これを逆フーリエ変換することにより、調和成分の波形を生成する。このように生成した調和成分波形を分離対象たる入力波形データから引くことにより、その残差波形として調和外成分の波形を得る。一例として、上記ＦＦＴ処理においては、分析しようとする波形データの８周期分に相当する長さの窓関数を使用し、その窓関数を１／８周期分に相当するフレーム分だけずらしながら波形データ全体を分析するとよい。このようなＦＦＴ分析を採用すると、高調波成分の周波数のゆらぎをゆらぎとして分析することができ、これを調和成分に含めて抽出することができる。勿論、窓関数のサイズやそのずらし量は、上記例に限らず、任意に設定可能であり、ＦＦＴ処理で分析される周波数成分の周波数やレベルのゆらぎをゆらぎとして検出することができるような設定となっていればよい。
【００２９】
次に、「調和成分分析」（プロセスＰ５）では、前記「調和／調和外成分分離」のプロセスＰ４で分離・生成された調和成分の波形データの特徴を分析し、この特徴に従って最適なベクトル量子化処理を行い、ベクトル量子化に従って圧縮された当該調和成分波形の圧縮データを生成する。ここで、調和成分は基本的に繰り返し波形とみなすことができるので、例えば、１周期ないし複数周期の波形を代表ベクトルとして用いて、該代表ベクトルをループする（または相前後する２つの代表ベクトルをクロスフェードループする）ことで、調和成分波形の再生を行うことができる。そこで、そのような代表ベクトルを調和ベクトルとして調和ベクトル記憶部Ｍ１に記憶しておき、この「調和成分分析」（プロセスＰ５）で生成する圧縮データとして、調和ベクトル記憶部Ｍ１に記憶した調和ベクトルのうち当該調和成分の代表ベクトルとして使用すべき調和ベクトルを指定するベクトル情報と、この指定された調和ベクトルつまり代表ベクトルをどのように用いるか（例えばそのベクトルを使用する区間やループする期間、あるいはそれに付与するエンベロープの形態など）を記述する情報等を含むものを生成するようにするとよい。この「調和成分分析」（プロセスＰ５）の詳細例については更に追って説明する。
【００３０】
一方、「調和外成分分析」（プロセスＰ６）では、前記「調和／調和外成分分離」のプロセスＰ４で分離・生成された調和外成分の波形データの特徴を分析し、この特徴に従って最適なベクトル量子化処理を行い、ベクトル量子化に従って圧縮された当該調和外成分波形の圧縮データを生成する。ここで、調和外成分は、データ圧縮の促進と波形再現性の向上との兼ね合いを考慮して、それぞれの調和外成分の特徴又は内容に見合った、最適な形態でベクトル量子化を行うようにしている。調和外成分は、基本的には繰り返し性を持たないランダムな雑音波形に該当するが、例えば、その内容や発音期間の中のどの位置に位置するかといった重要度の有無等を考慮して、特定の代表ベクトルをループ処理することで必要な時間長の調和外成分波形を再生するようにしてもよいし（これをループ再生という）、あるいは、必要な時間長からなる代表ベクトルをループさせずに一回だけ使用することで所要の調和外成分波形を再生するようにしてもよい（これをワンショット再生という）。あるいは、複数の代表ベクトルを所定の順番で切換えて組合わせることにより、所要の調和外成分波形を再生するようにしてもよい（これをシーケンス再生という）。あるいは、その切換え順序をランダムに設定して、調和外成分の雑音性つまりランダム性を強調するようにしてもよい（これをランダムシーケンス再生という）。このような各種の最適ベクトル量子化形態を考慮し、調和外ベクトルとして、様々な最適ベクトル量子化の形態に見合った、代表ベクトルを適宜使用することが好ましい。そこで、そのような各種の代表ベクトルを調和外ベクトルとして調和外ベクトル記憶部Ｍ２に記憶しておき、この「調和外成分分析」（プロセスＰ６）で生成する圧縮データとして、調和外ベクトル記憶部Ｍ２に記憶した調和外ベクトルのうち当該調和外成分の代表ベクトルとして使用するのにふさわしい調和外ベクトルを指定するベクトル情報と、この調和外ベクトルつまり代表ベクトルをどのように用いるか（例えばそのベクトルを使用する区間や上記ループ再生やワンショット再生等の区別やその期間やそれに付与するエンベロープの形態など）を記述する情報等を含むものを生成するようにするとよい。この「調和外成分分析」（プロセスＰ６）の詳細例についても更に追って説明する。
【００３１】
図２において、奏法情報記憶部Ｍ３は、個々の奏法区間についての、前記「調和成分分析」（プロセスＰ５）で生成された圧縮データ（第１の圧縮データ）と前記「調和外成分分析」（プロセスＰ６）で生成された圧縮データ（第２の圧縮データ）とを、当該奏法区間について前記「奏法分析」（プロセスＰ３）で生成された楽器指定データ及び奏法指定データとの組にして、奏法情報として記憶するものである。従って、波形再生のために、所望の奏法についての楽器指定データ及び奏法指定データとをインデックスにして、奏法情報記憶部Ｍ３から該当する奏法区間についての調和成分及び調和外成分の（つまり第１及び第２の）圧縮データを呼び出すことができる。そして、この呼び出された圧縮データに含まれるベクトル情報に応じて、調和ベクトル記憶部Ｍ１及び調和外ベクトル記憶部Ｍ２からそれぞれ所定の調和ベクトルと調和外ベクトルとを読み出し、これらに基づき調和成分波形と調和外成分波形とをそれぞれ再生し、両者を加算的に合成することで原波形の再現若しくは原波形の特徴を持つ楽音波形の生成を行うことができる。
【００３２】
次に、図３により、「調和成分分析」（プロセスＰ５）の詳細例について説明する。なお、図３に示された処理は、「調和成分分析」（プロセスＰ５）のすべてを示しているわけではなく、主に、新規に調和ベクトルを生成して、これを調和ベクトル記憶部Ｍ１に蓄積記憶する処理に関連する部分を示している。
【００３３】
まず、「波形区間分割」処理Ｓ１では、前記プロセスＰ４の「調和／調和外成分分離」で分離・生成された１奏法区間分の調和成分波形を、複数の波形区間に分割する。この波形区間の分割の仕方としては、１周期毎の波形形状の特徴が共通又は類似している連続的な１又は複数周期波形からなる区間を１波形区間として抽出し、その区切りで分割する。従って分割される各波形区間のサイズは概して不等間隔である。また、この「波形区間分割」処理Ｓ１は、表示器１５に表示された波形形状を目視しながらユーザが手動操作によって適宜の分割位置を指示するようにしてもよいし、あるいはＣＰＵ１０が所定の波形区間分割プログラムを実行して、各周期ごとの波形の周波数特性を自動的に分析することに基づき自動的に分割位置を決定するようにしてもよい。あるいは、手動操作と自動処理とを組合わせてこれを行ってもよい。なお、この「波形区間分割」処理Ｓ１の結果、入力された調和成分波形がどのような形態で複数の波形区間に分割されたのかを記述する情報として、「区間情報」が生成される。なお、１周期毎の波形形状の特徴が共通又は類似しているかの判定を効率的に行うために、１周期毎に波形を切り出して、そのピッチと振幅レベルを共通にする規格化処理を行い、純粋に１周期波形の波形形状のみの比較が行えるようにするとよい。その場合、以後のベクトル量子化処理は、ピッチと振幅レベルが規格化された波形データに関して行われることになるので、この規格化したピッチと振幅レベルに対する元のピッチと振幅レベルの時間的変化状態を示すベクトルとして、「ピッチベクトル」と、「振幅ベクトル」を生成するとよい。ここで、波形データの時間軸位置を制御して規格化することが好ましい場合もあり、その場合は、波形データの時間軸位置の時間的変化状態を示すベクトルとして「タイムベクトル」を生成する。
【００３４】
次に、「グループ分け」処理Ｓ２では、分割された各波形区間の波形データについて、その１周期分又は複数周期分の波形形状が類似している区間同士を同一グループとするグループ分けを行う。このグループ分けは、自己の奏法区間についての波形区間同士で行うのは勿論のこと、むしろ、他の奏法区間（異なる楽器を含む）についての各波形区間の波形データとの間で行うことを主旨とするものである。すなわち、グループ波形記憶部Ｍ４において、既にグループ分けされた各奏法区間についての多数の波形区間の波形データがグループ分けされた状態で記憶される。「グループ分け」処理Ｓ２では、このグループ波形記憶部Ｍ４の記憶内容を参照して、今回分割された各波形区間の波形データについて、その１周期分又は複数周期分の波形形状が類似しているものが、グループ波形記憶部Ｍ４内の既存のグループに存在しているかどうかを調べる。存在していれば、当該波形区間の波形データを当該グループに含める。すなわち、当該波形区間の波形データをグループ波形記憶部Ｍ４の当該グループの記憶領域に記憶させると共に、当該グループを示す「グループ情報」を生成する。既存のグループに類似する波形がなければ、当該波形区間の波形データを新グループとして登録する。すなわち、当該波形区間の波形データをグループ波形記憶部Ｍ４の当該新グループの記憶領域に記憶させると共に、当該新グループを示す「グループ情報」を生成する。この場合、データ共用効率を上げるために、上述のように原波形のピッチや音量レベルが共通になるように適宜の波形規格化処理を施し、純粋に波形形状のみの比較によってグループ分けを行うとよい。勿論、各波形区間のサイズとは無関係に、当該波形区間を特徴づけている１周期又は複数周期の波形形状同士を比較する。かくして、異なる楽器の、あるいは異なる奏法の、あるいは異なるピッチ等の波形データ同士であっても、そのうちの或る波形区間の波形形状が類似していれば、当該類似している波形区間の波形データについては共通のグループに分類されることになる。これは、調和ベクトル記憶部Ｍ１における調和ベクトル（調和外ベクトル記憶部Ｍ２における調和外ベクトルについても同様）が、異なる楽器音あるいは異なる奏法あるいは異なるピッチ等、異なる特性の種々の奏法波形間において共用され得ることを意味しており、調和ベクトル記憶部Ｍ１（あるいは調和外ベクトル記憶部Ｍ２も同様）の記憶規模の縮小に役立つことを意味する。なお、この「グループ分け」処理Ｓ２も、上記のように、ユーザの手動操作によって行ってもよいし、ＣＰＵ１０による自動処理によって行ってもよいし、また、手動操作と自動処理とを組合わせて行ってもよい。
【００３５】
次に、「各グループの代表ベクトル生成」処理Ｓ３では、グループ波形記憶部Ｍ４の記憶内容を参照し、同一グループ内の各波形データの特徴を考慮して、それらの波形データの代表ベクトルを生成する。例えば、１つの波形区間において同じ様な１周期又は複数周期波形が繰り返している場合、とりあえず、それを仮の代表ベクトルとして選定し、同一グループ内の各波形データの仮の代表ベクトルの平均的又は中間的または最も特徴的なベクトルを、当該グループの代表ベクトルとして決定し、これを生成する。生成した代表ベクトル（具体的には１又は複数周期からなる波形データである）は、調和ベクトル記憶部Ｍ１に記憶され、調和ベクトルとして登録される。また、当該グループの代表ベクトルが、調和ベクトル記憶部Ｍ１に記憶されているどの調和ベクトルに該当するかを指示する、調和成分用の「ベクトル情報」が生成される。この「ベクトル情報」は、調和ベクトル記憶部Ｍ１に記憶されているどの調和ベクトル（具体的には１又は複数周期からなる波形データ）を代表ベクトルとして使用するかを指示するインデックスデータであるから、複数ビットからなる僅かなデータである。
【００３６】
この「ベクトル情報」は、「波形区間分割」処理Ｓ１から生成された「区間情報」との組合わせで、当該波形区間における調和成分の圧縮データとして、奏法情報記憶部Ｍ３に記憶される。従って、１つの奏法区間に関する調和成分の圧縮データ（第１の圧縮データ）は、その奏法区間を分割してなる複数の波形区間の各々についての「ベクトル情報」と「区間情報」との組合わせを含んでいる。この場合、前述のようにピッチと振幅レベルを規格化した波形データに関してベクトル量子化処理を施した場合は、上記「ベクトル情報」と「区間情報」に対して、「波形区間分割」処理Ｓ１から生成された「ピッチベクトル」と「振幅ベクトル」を更に組合わせて、奏法情報記憶部Ｍ３に記憶する。また、波形データの時間軸位置をも規格化した波形データに関してベクトル量子化処理を施した場合は、「波形区間分割」処理Ｓ１から生成された「タイムベクトル」を更に組合わせて、奏法情報記憶部Ｍ３に記憶する。
【００３７】
次に、調和ベクトル記憶部Ｍ１内に比較的多くの調和ベクトルが蓄積された状態における「調和成分分析」（プロセスＰ５）の処理例について説明する。この場合は、主に、調和ベクトル記憶部Ｍ１に既に蓄えられている多くの調和ベクトルの中から、調和成分波形の代表ベクトルとして使用できる調和ベクトルを検索し、検索した調和ベクトルを当該調和成分の代表ベクトルとして選定することからなる。
【００３８】
例えば、まず、前記プロセスＰ４の「調和／調和外成分分離」で分離・生成された１奏法区間分の調和成分波形から１周期毎に波形を切り出して、そのピッチと振幅レベルを共通にする規格化処理を行い、更には必要に応じて波形データの時間軸位置を制御して規格化する処理を行う。こうして、規格化された波形データを１周期毎に又は複数周期毎に、調和ベクトル記憶部Ｍ１に既に蓄えられている多くの調和ベクトルと比較し、類似する調和ベクトルを検索する。この場合の検索も、分析対象たる調和成分波形と同一自然楽器及び／又は同一奏法に該当する調和ベクトルだけでなく、異なる自然楽器及び／又は異なる奏法に該当する調和ベクトルをも検索対象に含めて行う。こうして、類似する調和ベクトルが見つかったら、該調和ベクトルに類似する連続的な１又は複数周期波形からなる区間を１波形区間として抽出し、「区間情報」を生成すると共に、該検索された調和ベクトルを該「波形区間」の代表ベクトルとして指示する「ベクトル情報」を生成し、それらを組にして奏法情報記憶部Ｍ３に記憶する。この場合、前述と同様に、ピッチと振幅レベルを規格化した波形データに関してベクトル量子化処理を施した場合は、規格化したピッチと振幅レベルに対する元のピッチと振幅レベルの時間的変化状態を示す「ピッチベクトル」と「振幅ベクトル」を、上記「ベクトル情報」と「区間情報」に対して更に組合わせて、奏法情報記憶部Ｍ３に記憶する。また、波形データの時間軸位置をも規格化した波形データに関してベクトル量子化処理を施した場合は、波形データの時間軸位置の時間的変化状態を示す「タイムベクトル」を更に組合わせて、奏法情報記憶部Ｍ３に記憶する。
【００３９】
ここで、上記検索の結果、類似する調和ベクトルが調和ベクトル記憶部Ｍ１に存在していなかった場合は、図３の処理Ｓ１、Ｓ２、Ｓ３と同様の処理を行うことで、波形区間の分割とグループ化を行い、新規に代表ベクトルを生成し、これを新規の調和ベクトルとして調和ベクトル記憶部Ｍ１に登録する。そして、この新規の調和ベクトルを指示する「ベクトル情報」を生成し、「区間情報」等と共に奏法情報記憶部Ｍ３に記憶する。
【００４０】
図４は、調和成分波形をベクトル量子化する様子の一例を示すグラフである。（ａ）は、原波形の一例を振幅エンベロープによって概略的に示している。（ｂ）は、この原波形から分離した調和成分波形を複数の「波形区間」に分割する一例を、各波形区間の区切りを示す線図によって示している。（ｃ）は、各「波形区間」における代表ベクトルとして、１又は複数周期の波形データからなる適切な調和ベクトルＷ０，Ｗ１，Ｗ２，……Ｗ７が選定された状態を示すとともに、波形再生時のループ再生例を示している。例えば、時点ｔ０からｔ１までの波形区間については、調和ベクトルＷ０が代表ベクトルとして使用され、再生時には、これが、時点ｔ０からｔ１までの間でループ再生される。なお、ループ再生としては、次の区間の代表ベクトル（この場合は調和ベクトルＷ１の先頭部の波形）との間でクロスフェードループ再生する例を示している。時点ｔ１からｔ２までの波形区間については、比較的サイズの大きな（多数周期波形からなる）調和ベクトルＷ１が代表ベクトルとして使用され、再生時には、これが、時点ｔ１からｔ２までの間の始まりの所定期間で１回再生され、残りの期間で適宜ループ再生される（例えば調和ベクトルＷ１の末尾の波形と次の区間の調和ベクトルＷ２との間でクロスフェードループ再生される）。また、時点ｔ２からｔ３までの波形区間については、調和ベクトルＷ２が代表ベクトルとして使用され、再生時には、これが、時点ｔ２からｔ３までの間でループ再生される（調和ベクトルＷ２と調和ベクトルＷ３との間でクロスフェードループ再生される）。以下、同様であり、最後の時点ｔ７以降の波形区間においては、調和ベクトルＷ８がが代表ベクトルとして使用され、再生時には、これが単純ループ再生される。図４の（ｄ）、（ｅ）、（ｆ）は、それぞれ（ａ）の調和成分波形からと抽出された「タイムベクトル」、「振幅ベクトル」、「ピッチベクトル」の一例を示す。
【００４１】
次に、「調和外成分分析」（プロセスＰ６）の詳細例について説明する。この「調和外成分分析」（プロセスＰ６）の処理手順は、基本的には、図３に示された「調和成分分析」（プロセスＰ５）の処理手順と略同様の手順を用いてよい。ただし、分析の対象となるのは、前記プロセスＰ４の「調和／調和外成分分離」で分離・生成された１奏法区間分の調和外成分波形であるから、「波形区間分割」処理（Ｓ１）や、「グループ分け」処理（Ｓ２）、「各グループの代表ベクトル生成」処理（Ｓ３）においては、分析対象たる調和外成分波形それ自体の１周期とか複数周期とかいった概念が適用されないのは勿論である。また、調和ベクトル記憶部Ｍ１ではなく、調和外ベクトル記憶部Ｍ２を使用し、「各グループの代表ベクトル生成」処理（Ｓ３）で調和外成分波形の代表ベクトルを新規に生成した場合は、これが新規の調和外ベクトルとして調和外ベクトル記憶部Ｍ２に記憶され、登録されるのは言うまでもない。
【００４２】
「調和外成分分析」においても、図３の「波形区間分割」処理Ｓ１と同様な「波形区間分割」処理を行い、分割された各波形区間を対象にしてベクトル量子化処理を施す。その場合、調和外成分波形を複数の波形区間に分割するやり方は、一般的に言って、その特徴が共通又は類似している若しくはそのように推測される部分毎に複数の波形区間に分割することを基本的手法としてよいが、この実施例では、次の２通りの手法のいずれか一方又は両方を組合わせて行うことを提案する。
【００４３】
その第１の手法は、同じ奏法区間についての調和成分の周期性を利用して、該調和成分の周期の整数倍あるいは分数倍の期間で、調和外成分波形を複数の波形区間に分割するものである。勿論、この場合も、分割される各波形区間は、均等間隔である必要はなく、或る波形区間は調和成分の２周期分の長さ、別の波形区間は調和成分の１０周期分の長さ、等々というように適宜異なっていてよい。このように、調和成分の周期性に依存して調和外成分波形の区間分割を行うやり方は、人の手間を余りかけずに調和外成分波形の区間分割を行うことができるので、分析作業が楽であるという利点がある。また、調和外成分波形の特徴が調和成分の周期性に或る程度依存しているような場合においては、適切な波形区間分割を容易に行えることになる。なお、調和成分の周期性に依存して調和外成分波形の区間分割を行うと言えども、調和外成分の波形区間分割形態は、それに対応する調和成分の波形区間分割形態とは当然異なるものであり、調和成分及び調和外成分がそれぞれ独自に区間分割されることは言うまでもない。
【００４４】
その第２の手法は、調和外成分波形の特徴が共通又は類似している部分を具体的に個々に検索し、その部分で複数の波形区間に分割することである。このやり方は、調和外成分波形における比較的重要な部分を抽出して、それに対応する代表ベクトルすなわち調和外ベクトルを選定・生成するような場合に適している。逆に、調和外成分波形におけるあまり重要でない部分を抽出して、それらのあまり重要でない部分を適宜省略することで、代表ベクトルすなわち調和外ベクトルを選定・生成し、データ圧縮効率を上げるような場合にも適している。また、後述するように、調和外ベクトルをループ再生処理することで、データ圧縮を促進するような場合にも、ループに適した区間を適宜選べるので適している。上記第１の手法と第２の手法のどちらの場合も、ユーザの手動操作によって行ってもよいし、ＣＰＵ１０による自動処理によって行ってもよいし、また、手動操作と自動処理とを組合わせて行ってもよい。
【００４５】
この実施例においては、上記第１の手法と第２の手法のどちらに従って調和外成分波形の波形区間分割を行うかによって、その後の当該波形区間についての代表ベクトルの選定・生成処理の内容がいくぶん異なるようになっている。この点を、フローチャートを参照して更に詳しく説明する。
図５は、上記第１の手法に従って調和外成分波形の波形区間分割を行い、それから調和外成分のデータ圧縮（ベクトル量子化）処理を行う場合の、「調和外成分分析」（プロセスＰ６）の詳細例を示す。また、図６は、上記第２の手法に従って調和外成分波形の波形区間分割を行い、それから調和外成分のデータ圧縮（ベクトル量子化）処理を行う場合の、「調和外成分分析」（プロセスＰ６）の詳細例を示す。
【００４６】
まず、図５の実施例について説明する。
図５の（ａ）に示すフローにおいて、まず、圧縮すべき調和外成分波形を準備する（ステップＳ１０）。
次に、当該調和外成分波形に対応する調和成分の周期長に応じて、すなわち調和成分の波形の周期性に同期して、当該調和外成分波形を複数の波形区間に分割する（ステップＳ１１）。ここでは、前述のように、調和成分の周期の整数倍あるいは分数倍の期間で、つまり、調和成分の波形の周期性に適宜同期して、調和外成分波形を複数の波形区間に分割する。分割される各波形区間は、均等間隔である必要はなく、或る波形区間は調和成分の１／２周期分の長さ、別の波形区間は調和成分の８周期分の長さ、等々というように適宜異なっていてよい。
【００４７】
次に、前ステップで分割された各波形区間の位置を適宜調整する（ステップＳ１２）。例えば、前ステップＳ１１では、調和成分の何周期毎に分割する、というように一律の基準で分割しておき、このステップＳ１２で、ユーザが前ステップＳ１１での分割結果を表示器１５で確認しながら、或る波形区間の長さを調和成分の何周期分かに増減修正したり、分割される箇所の調和外波形の位相が区切りのよい位相（例えばゼロクロス位相）となるように少し分割位置をずらしたりする修正を行う。このステップでの調整若しくは修正処理は、ユーザによる手動操作に限らず、所定の修正プログラムに従う自動処理で行うようにしてもよいし、手動操作と自動処理との組合わせで行うようにしてもよい。
【００４８】
次に、分割された各波形区間における調和外波形の特性を分析し、グループ分けを行う（ステップＳ１３）。このグループ分けは、図３の「グループ分け」処理Ｓ２と同様に、他の奏法区間（異なる楽器を含む）についての調和外波形の各波形区間の波形データとの間でも行い、代表ベクトルすなわち調和外ベクトルの共用化を促進するものとする。ステップＳ１３で実行する調和外波形の特性分析とグループ分けの処理の更に詳しいフローチャート例が図５（ｂ）に示されている。
【００４９】
図５（ｂ）において、「ピーク値分析」（ステップＳ３０）では、当該分割された波形区間において、調和外波形（つまりノイズ的波形）のピークレベルがどこにあるかを分析する。次に、「存在場所分析」（ステップＳ３１）では、当該分割された波形区間における調和外波形のピークレベルが存在する場所は、該波形区間に対応する調和成分の１周期又は所定複数周期区間のうちどの部分（例えば前半部分とか、中間部分とか、後半部分とか）に対応しているか、といったようなことを分析する。次の「ゼロクロス回数分析」（ステップＳ３２）では、当該分割された波形区間において調和外波形の振幅がゼロクロスする回数を分析する。このゼロクロス回数によりノイズ的変化の激しさを分析することができる。次のステップＳ３３では、前記ステップＳ３０〜Ｓ３２で分析した各結果に基づいて、当該調和外波形の当該波形区間を所要のグループに分類する。グループ化の対象波形が、それ自体では周期性のない調和外波形であるため、前記ステップＳ３０〜Ｓ３２のような特殊な分析を行うことで、その分析結果をグループ化するための条件若しくは基準とし、グループ化のための計量的評価を行うことができるように工夫している。この種の調和外波形をグループ化するための条件若しくは評価基準としては、前記ステップＳ３０〜Ｓ３２に示したものに限らず、例えば、当該波形区間における直流オフセットレベルの程度や、当該波形区間の波形微分値の符号反転回数（これもノイズ的変化の激しさを示す指標となる）など、その他適宜の条件若しくは評価基準を用いてよいし、これらの条件若しくは評価基準と前記ステップＳ３０〜Ｓ３２で示された３つの条件若しくは評価基準の中から、任意の数の条件若しくは評価基準を組み合わせて用いてもよい。この図６の各ステップの処理は、ユーザの手動操作に応じて対話形式で遂行するようにするとよい。勿論、所定のプログラムに従う全自動処理であってもよいし、手動操作と自動処理の組合わせで行われてもよい。
【００５０】
図５（ａ）に戻り、ステップＳ１４では、今回の処理ルーチンでデータ圧縮処理を行うべき全ての調和外成分波形について、ステップＳ１１〜Ｓ１３の処理つまり波形区間分割とそのグループ分け処理を終了したかをチェックする。まだ、終了していなければ、ステップＳ１１に戻り、次の調和外成分波形について上記Ｓ１１〜Ｓ１３の処理を行う。こうして、全ての調和外成分波形について波形区間分割とそのグループ分け処理が終了すると、ステップＳ１５に行き、各グループの波形の特性分析を行う。例えば、グループ内の各波形の振幅エンベロープ特性等を分析する。次のステップＳ１６では、前ステップＳ１５での分析結果を利用して、当該グループの代表ベクトルを決定する。例えば、当該グループの内の各波形の振幅エンベロープ特性の平均的振幅エンベロープ特性を有する波形を代表ベクトルとして決定するようにしてよい。あるいは、当該グループの内の各波形の周波数特性あるいはゼロクロス回数あるいはレベル分布等が平均的なものを代表ベクトルとして決定するようにしてもよい。若しくは、振幅エンベロープ特性、周波数特性、ゼロクロス回数、レベル分布、その他適宜の特性のうちいずれか１又は複数に関して、平均的であること若しくは代表とするに相応しいことを条件として、代表ベクトルを選定又は決定するようにしてもよい。そして、決定された当該グループの代表ベクトルを調和外ベクトルとして、調和外ベクトル記憶部Ｍ２に記憶する。こうして、各グループの代表ベクトルが調和外ベクトルとして調和外ベクトル記憶部Ｍ２に記憶・登録される。なお、調和外ベクトル記憶部Ｍ２に記憶する調和外ベクトルは、振幅レベルを規格化したものを用いるものとし、これに対する各波形区間の調和外成分波形の振幅エンベロープを「振幅ベクトル」として抽出するものとする。あるいは、調和外ベクトル記憶部Ｍ２に記憶する調和外ベクトルは、振幅レベルを規格化しなくてもよい。その場合は、低いレベルのデータは低いレベルのまま記憶することになるが、低いレベルの部分では、限られた記憶ビット割当てを行うことでメモリ記憶場所を効率的に利用させることができる。調和外ベクトル記憶部Ｍ２に記憶する調和外ベクトルの振幅レベルを規格化しなかった場合は、各波形区間の調和外成分波形の振幅エンベロープと調和外ベクトルの振幅エンベロープとの差を「振幅ベクトル」として抽出するとよい。
【００５１】
次のステップＳ１７では、各調和外成分の奏法情報（各波形区間の「区間情報」と、代表ベクトルである調和外ベクトルを指定する「ベクトル情報」、及び「振幅ベクトル」等を含む）を奏法情報記憶部Ｍ３に記憶する。なお、この場合、「区間情報」として、当該調和外ベクトルつまり代表ベクトルに対応する調和成分の周期数等の情報を併せて記憶しておくものとする。そうすれば、ピッチの異なる調和成分に対しても、調和外成分の波形形状そのものに類似性若しくは共通性があれば、共通の調和外ベクトルを使用することができる。勿論、調和外ベクトル記憶部Ｍ２に記憶した調和外ベクトルは、調和ベクトルの場合と同様に、若しくはそれ以上に、様々なケースで共用することができる。例えば、同じ奏法区間における異なる波形区間（同じ調和外波形のうちで時間軸位置が異なっているもの）において、共通の調和外ベクトルを使用することができるし、異なる楽器音あるいは異なる奏法区間についての調和外波形において、共通の調和外ベクトルを使用することもできる。
【００５２】
次に、図６の実施例について説明する。
まず、圧縮すべき調和外成分波形を準備する（ステップＳ２０）。
次に、ステップＳ２１では、処理対象の調和外成分波形の各部分ごとの特徴を観察、分析し、それぞれの部分的特徴に合った箇所で区切って、当該調和外成分波形を複数の波形区間に分割する。その場合、調和外成分波形の部分的特徴としては、波形の位置や奏法、あるいは波形形状の特性等を考慮して分析を行い、分割すべき波形区間を決定する。例えば、位置としては、「アタック」（音の立ち上がり部分）、「ボディ」（音の定常部）、「ジョイント」（他の音とつながる部分）、「リリース」（音の減衰部分）などが考慮される。また、奏法としては、各位置との関連性において、例えば、「アタック」では、「揺らぎ付き」奏法、「ノイズ付き」奏法などが考慮され、「ボディ」では、「ビブラート」奏法、「トレモロ」奏法などが考慮され、「ジョイント」では、「スラー」奏法、「グリサンド」奏法、「ベンド」奏法などが考慮され、「リリース」では、「ミュート」奏法、「サステイン」奏法などが考慮される。また、波形形状の特性等としては、振幅エンベロープ形状（その実効値やピーク値など）、前記ゼロクロス回数あるいはゼロクロス間の周期、ピーク回数あるいはピーク間の周期、前記ピーク値の存在場所や、複数ピークレベルの分布など、種々の要素を適宜考慮するとよい。
【００５３】
次に、ステップＳ２２では、分割された各波形区間における調和外波形の特徴に基づき、類似の特徴を持つ波形同士をグループ分けする。調和外波形の特徴の類似性は、表示器で表示した波形の目視観察や、当該波形区間についての調和外波形を発音して聴感によって類似性を判定する等、適宜の基準で行ってよい。このグループ分けは、前述と同様に、他の奏法区間（異なる楽器を含む）についての調和外波形の各波形区間の波形データとの間でも行い、代表ベクトルすなわち調和外ベクトルの共用化を促進するものとする。
【００５４】
次に、ステップＳ２３では、今回の処理ルーチンでデータ圧縮処理を行うべき全ての調和外成分波形について、ステップＳ２１〜Ｓ２２の処理つまり波形区間分割とそのグループ分け処理を終了したかをチェックする。まだ、終了していなければ、ステップＳ２１に戻り、次の調和外成分波形について上記Ｓ２１〜Ｓ２２の処理を行う。こうして、全ての調和外成分波形について波形区間分割とそのグループ分け処理が終了すると、ステップＳ２４に行き、各グループの波形の特性分析を行う。例えば、グループ内の各波形の振幅エンベロープ特性等を分析したり、その他種々の特性を考慮する。
【００５５】
次のステップＳ２５では、前ステップＳ２４での分析結果を利用して、当該グループの代表ベクトルを決定する。決定された当該グループの代表ベクトルは調和外ベクトルとして、調和外ベクトル記憶部Ｍ２に記憶する。こうして、各グループの代表ベクトルが調和外ベクトルとして調和外ベクトル記憶部Ｍ２に記憶・登録される。なお、前述と同様に、調和外ベクトル記憶部Ｍ２に記憶する調和外ベクトルは、振幅レベルを規格化したものを用いてもよいし、規格化しなくてもよい。ここで、この実施例では、調和外成分波形を圧縮する手法として、下記のような種々の異なる手法を適宜採用することが考慮されており、代表ベクトルは、どの圧縮手法を用いるのかを考慮して、それに応じた基準に従って決定するものとする。
【００５６】
圧縮例１：所定期間の長さを持つ代表ベクトルを一回再生することで当該波形区間をカバーするように圧縮を行う。これは、前記「ワンショット再生」に対応する圧縮形態である。例えば、アタック部やジョイント部など、調和外成分の波形形状も急激に変化するような部位の波形区間についての代表ベクトルを、この圧縮例１に見合うように決定するとよい。
圧縮例２：比較的短い期間長の代表ベクトルを繰り返し再生（ループ再生）することで当該波形区間をカバーするように圧縮を行う。これは、前記「ループ再生」に対応する圧縮形態である。なお、ループ用の代表ベクトルを、所定の順番で複数組合わせることにより、前記「シーケンス再生」に利用することができる。また、この順次組合わせをランダムに設定することにより、前記「ランダムシーケンス再生」に利用することができる。例えば、単調な減少をしている部分や、同じ状態の継続する部分の波形区間についての代表ベクトルを、この圧縮例２に見合うように決定するとよい。
圧縮例３：あまり重要でない部分の調和外成分波形は一部省略してもよい。そのような省略する波形区間については、代表ベクトルを選定する必要がない。
【００５７】
次に、ステップＳ２６では、各調和外成分波形の各波形区間毎に、再生時において、それぞれの代表ベクトルとしてどの調和外ベクトルを使用し、その調和外ベクトルをどのように貼り付けるべきかを決定する。このことは、上述の圧縮例のうちどのタイプを使用するのかということとも関係してくる。貼付け方は、下記の各種再生モードのいずれを採用すべきか、という調和外成分再生モード情報（若しくは「貼り付け情報」）として記述される。
【００５８】
ワンショット再生：上述の通り、圧縮例１に従う代表ベクトルを１つ使用し、この代表ベクトルを一回貼り付ける（再生する）ことで当該波形区間の調和外成分波形を再生する。
シーケンス再生：上述の通り、圧縮例２に従う代表ベクトルを複数使用し、これらの代表ベクトルを所定の順番で順次貼り付ける（再生する）ことで当該波形区間の調和外成分波形を再生する。
ランダムシーケンス再生：上述の通り、圧縮例２に従う代表ベクトルを複数使用し、これらの代表ベクトルをランダムな順番で順次貼り付ける（再生する）ことで当該波形区間の調和外成分波形を再生する。
ループ再生：上述の通り、圧縮例２に従う代表ベクトルを一つ使用し、これを繰り返し貼り付ける（再生する）ことで当該波形区間の調和外成分波形を再生する。これを上記シーケンス再生又はランダムシーケンス再生に組合わせてもよい。オルタネーティブループ再生：圧縮例２に従う代表ベクトルを一つ使用し、これを交互に正逆向きを変えながら繰り返し貼り付ける（再生する）ことで当該波形区間の調和外成分波形を再生する。これを上記シーケンス再生又はランダムシーケンス再生に組合わせてもよい。
デリート再生：上述の通り、圧縮例３に従うもので、代表ベクトルを使用せず、当該波形区間における調和外成分波形を削除する。従って、その部分では、調和成分波形のみとなる。なお、１つの波形区間の全部をデリート再生モードとせずに、その一部のみをデリート再生モードとしてもよい。その場合、残りの部分について適宜代表ベクトルを定める。
【００５９】
次のステップＳ２７では、各調和外成分の奏法情報（各波形区間の「区間情報」と、代表ベクトルである調和外ベクトルを指定する「ベクトル情報」、上記「貼り付け情報」及び「振幅ベクトル」等を含む）を奏法情報記憶部Ｍ３に記憶する。
なお、上記した各種の調和外成分再生モードは、前記第２の手法に従う「調和外成分分析」処理を行ったときのみに適用されるものではなく、前記第１の手法に従う「調和外成分分析」処理を行ったときにも適宜適用されるものである。
【００６０】
図７は、調和外成分波形をベクトル量子化する様子の一例を示すグラフである。（ａ）は、図４（ａ）と同様に原波形の一例を振幅エンベロープによって概略的に示している。（ｂ）は、この原波形から分離された調和外成分波形の一例を示している。（ｃ）は、（ｂ）の調和外成分波形を複数の「波形区間」Ａ１，Ｂ１，Ｃ１，Ｄ１，Ｃ２，Ａ２，Ｃ３に分割した一例を、各波形区間の区切りを示す線図によって示している。ここで、波形区間Ａ１及びＡ２は、前記第２の手法に従って波形区間設定を行って前記ワンショット再生を適用するようにした区間である。波形区間Ｂ１は、前記第１の手法に従って調和成分の周期に同期して代表ベクトルを決定した区間である。この区間ではワンショット再生を採用してもよいし、ループ再生を採用してもよい。波形区間Ｃ１，Ｃ２，Ｃ３は、前記ループ再生に対応する区間である。波形区間Ｄ１は、前記デリート再生に対応する区間である。
【００６１】
更に、調和外成分波形のベクトル量子化の具体例を図８〜図１３により示す。
図８〜図１０、図１３において、上段の（ａ）は調和外成分波形の原波形例を示し、下段の（ｂ）はこれを上記の種々の手法に従ってベクトル量子化して、再生することによって得られる波形例を示している。
まず、図８は、原波形を「アタック」、「ボディ」、「リリース」の３区間に分割し、「アタック」区間と「リリース」区間は、前記ワンショット再生に対応する区間として相応の代表ベクトルを決定し、「ボディ」区間は、前記デリート再生に対応する区間として調和外成分波形をカットした圧縮例を示している。これに基づく再生音を実際に聴くと、調和外成分波形は「アタック」区間と「リリース」区間があれば、定常的な音色安定部分（「ボディ」区間）が省略されていても、あまり違和感がないことが理解できる。
【００６２】
図９は、調和外成分波形を４つの区間Ｆ１〜Ｆ４に分割し、それぞれの区間で所定サイズの代表ベクトルを決定し、これらをそれぞれループ再生するようにした圧縮例を示す。調和外成分といえども、その代表ベクトルをループさせることにより周期性が多少なりとも出てしまうが、レベルが低いために、調和成分の再生波形と混合すると、違和感のないものとなる。
図１０は、調和外成分波形を３つの区間Ｆ１，Ｆ２，Ｆ３に分割し、変化に富んだ最初の区間Ｆ１では原波形をそのまま代表ベクトルとして使用し、次の各区間Ｆ２，Ｆ３では所定サイズの代表ベクトルをそれぞれ決定して、これらをそれぞれループ再生すると共に振幅エンベロープに変化をつけた圧縮例を示す。このようにループ再生波形に対して適切な振幅エンベロープを付加することにより、原波形に似た感じを出すことができる。
【００６３】
図１１は、ループ再生におけるレベル制御例を示す。（ａ）は、単純ループ再生例を示し、レベル制御は行っていない。（ｂ）は、ループさせる代表ベクトルのピークレベルを減衰させて、周期性を弱めた例（ピーク補正したループ再生例）を示す。（ｃ）は、（ｂ）の再生例に対して更に振幅エンベロープの変化を付加し、より一層周期性を弱めた例を示す。このように、ループ再生にレベル制御を組合わせることは有効である。
図１２（ａ）は通常のループ再生例を示し、（ｂ）はオルタネーティブループ再生例を示す。図から理解できるように、オルタネーティブループ再生の周期性は、通常のループ再生の周期性よりも長いものとなるので、代表ベクトルのサイズをより一層小さくしてもよいことになる。従って、一層のデータ圧縮に寄与する。
【００６４】
図１３は、調和外成分波形を８つの区間Ｆ１〜Ｆ８に分割し、アタック区間Ｆ１、ビブラートを含む区間Ｆ３、Ｆ５及びＦ７と、リリース区間Ｆ８は、原波形から取り出した代表ベクトル（調和外ベクトル）ｆ１，ｆ３，ｆ５，ｆ７，ｆ８を使用して波形再生を行い、他の区間Ｆ２，Ｆ４，Ｆ６については、他の原波形から取り出した調和外ベクトルｆ２’，ｆ４’，ｆ６’をその代表ベクトルとして使用して波形再生を行う圧縮例を示している。各区間においては、ワンショット再生あるいはループ再生等、それぞれに適切な再生モードが採用される。例えば、ボディ区間Ｆ２については、他の原波形から取り出した調和外ベクトルｆ２’を代表ベクトルとしてこれをループ再生し、かつ振幅エンベロープを適切に付与することにより、原波形（図１３（ａ）参照）に近似させるようにしている。他の区間Ｆ４，Ｆ６についても他の原波形から取り出した調和外ベクトルｆ４’，ｆ６’に振幅エンベロープを適切に付与し、かつ必要に応じてループ等することにより、原波形（図１３（ａ））に近似する調和外成分波形を再生・生成するようにしている。このように、異なる複数の原波形に関して、共通の調和外ベクトルを使用することができる。その場合、再生時において様々な加工の仕方を制御することにより（振幅ベクトルや貼り付け情報等適切な再生の仕方を記述するデータを圧縮データの中に含ませる等）、それぞれの原波形に最適な調和外成分波形の再生・生成を行うことができる。
【００６５】
次に、上記のようにして作成された調和成分及び調和外成分の圧縮データを使用して、楽音生成処理を行う場合の実施例について説明する。
図１４は、上記のようにして作成された多数の奏法波形についての調和成分及び調和外成分の圧縮データを、任意の楽曲演奏にあたって十分に活用しうるようにするために、奏法付き楽譜を準備する処理過程の一例を略示するものである。まず、奏法付き楽譜を作成しようとする所望の楽曲についての楽譜情報（例えばＭＩＤＩフォームからなる演奏データ）を用意する（ステップＳ４０）。次に、上記用意された楽譜情報の各演奏パート毎に、それぞれの曲の流れの過程でどのような奏法を使用したらよいのかということを分析する（ステップＳ４１）。この奏法分析は、人間が楽譜を読み、その音楽的知識に基づいて判断することで行うようにしてよい。勿論、所定の楽譜解析プログラムによってＣＰＵ１０によって奏法分析を実行させるようにしてもよいし、あるいは手動操作と自動処理の組み合わせによって行うようにしてもよい。
【００６６】
次に、上記用意された楽譜情報の各演奏パート毎に、それぞれの各演奏データに対して、該演奏データの時系列的流れのうち、分析された各奏法に対応する必要な演奏時点に対応する箇所で、上記ステップＳ４１で分析された各奏法を指示する奏法データを付加する（ステップＳ４２）。例えば、ビブラートを付与する音符またはフレーズの演奏時点に対応する箇所に、所要のビブラート奏法を指示する奏法データを付加する。あるいは、スラーで演奏すべき音符またはフレーズの演奏時点に対応する箇所に、所要のスラー奏法を指示する奏法データを付加する。所要の奏法データを付加する箇所は、１音に対応する箇所（例えばノートオンイベントと同じ箇所）、あるいは１音の途中に対応する箇所（例えば当該音のノートオンイベントから所定時間後であって、当該音のノートオフイベントが出る前の適宜の時点に対応する箇所に奏法イベントを挿入する）、あるいは複数音符からなる１フレーズに対応する箇所（例えば該フレーズの始まりで所定の奏法のオンイベントを挿入し、該フレーズの終わりで該奏法のオフイベントを挿入する）等、適宜の箇所であってよい。また、付加する奏法データの内容は、ビブラート、スラー、スタッカート、グライド、ピッチベンド等、その他種々の奏法についてその名称を指示する「奏法名」データと、該奏法の程度を指示する「パラメータ」データとを含んでおり、更に、その奏法を付与する期間若しくは範囲を示す「範囲」データを含んでいる。「範囲」データとは、対応する１音のみに当該奏法を付与するとか、その前後の２音に対して当該奏法を付与するとか、その奏法付与範囲を具体的にを指示するデータである。長い範囲で奏法付与する場合は、上記のように、奏法オンイベントとオフイベントによって範囲指定を行うようにしてもよい。以上のようにして、奏法データが付加された演奏データを奏法付き楽譜情報として適宜のメモリに記憶する（ステップＳ４３）。
【００６７】
図１５は、上記のようにして準備された奏法付き楽譜情報に基づき、楽音再生すなわち波形生成を行う処理過程の一例を機能的ブロック図によって略示するものである。この楽音再生すなわち波形生成処理は、図１のハードウェア装置を用いて、ＣＰＵ１０による所定のソフトウェアプログラムの実行によって行われる。「再生制御」処理Ｓ５０では、通常の自動演奏シーケンス制御で知られるように、所定のテンポクロックに従って、演奏データを順次読み出し、該演奏データによって指示されるピッチと音色等を持つ楽音波形を生成する。ここで、通常の自動演奏シーケンス制御と異なる点は、再生演奏の対象となる演奏データが、上記のようにして作成された「奏法付き楽譜情報」からなっている点であり、そこに含まれる奏法データに応じた特有の奏法波形再生・生成処理が行われる点である。
【００６８】
「再生制御」処理Ｓ５０について更に説明すると、まず、「奏法付き楽譜情報」の記憶部Ｍ５から、各演奏パートの演奏データ（例えばＭＩＤＩデータ）及びそこに付加された奏法データをその演奏タイミングに応じて順次再生読み出しする。「奏法付き楽譜」の或る演奏パートについて奏法データが読み出されたとき、該奏法データに対応する奏法波形を生成する処理を行う。まず、該演奏パートについて指定されている「楽器名」（音色）と、該奏法データに含まれる「奏法名」及び「パラメータ」のデータに応じて、奏法情報記憶部Ｍ３から、これらの情報によって指定される所定の奏法波形についての「奏法情報」、すなわち調和成分及び調和外成分についての圧縮データ（第１及び第２の圧縮データ）、を読み出す。前述のように、調和成分についての圧縮データ（第１の圧縮データ）は、調和ベクトルを指示する「ベクトル情報」と、「区間情報」、「ピッチベクトル」、「振幅ベクトル」、「タイムベクトル」、「クロスフェードループ再生形態を制御する情報」等を含んでいる。また、調和外成分についての圧縮データ（第２の圧縮データ）は、調和外ベクトルを指示する「ベクトル情報」と、「区間情報」、その再生モードを指示する「貼り付け情報」、「振幅ベクトル」、「タイムベクトル」等を含んでいる。
【００６９】
「調和読出」処理Ｓ５１では、調和成分についての圧縮データ（第１の圧縮データ）のうち「ベクトル情報」に基づき調和ベクトル記憶部Ｍ１から調和ベクトルを読み出す。
「調和加工」処理Ｓ５２では、調和ベクトル記憶部Ｍ１から読み出した調和ベクトルと圧縮データの他の情報（区間情報、ピッチベクトル、振幅ベクトル、タイムベクトル、クロスフェードループ再生形態を制御する情報等）とに基づき、所要の調和成分波形を再生・生成する。すなわち、調和ベクトルの波形を区間情報に従って適宜ループし（繰り返し）、かつピッチベクトルに従ってそのピッチを時間的に制御し（勿論、その基本ピッチはＭＩＤＩ演奏データに含まれるノートデータに応じて設定・制御することができる）、かつ振幅ベクトルに従ってその振幅エンベロープを設定・制御し、更にタイムベクトルに従って波形データの時間軸位置を伸張又は圧縮制御し、また、クロスフェードループ再生形態を制御する情報に応じて、フェードイン若しくはフェードアウト特性で、クロスフェード用の振幅エンベロープ制御を行う。
【００７０】
また、「調和外読出」処理Ｓ５３では、調和外成分についての圧縮データ（第２の圧縮データ）のうち「ベクトル情報」に基づき調和外ベクトル記憶部Ｍ２から調和外ベクトルを読み出す。
「調和外加工」処理Ｓ５４では、調和外ベクトル記憶部Ｍ２から読み出した調和外ベクトルと圧縮データの他の情報（区間情報、貼り付け情報、振幅ベクトル、タイムベクトル等）とに基づき、所要の調和外成分波形を再生・生成する。すなわち、貼り付け情報及び区間情報の指示に応じて、前記ワンショット再生あるいはループ再生、シーケンス再生等、所定の前記調和外成分再生モードに従い、調和外ベクトルの波形を適宜ループして又は１回だけ所要区間に貼り付ける。また、振幅ベクトルに従ってその振幅エンベロープを設定・制御し、更にタイムベクトルに従って調和外成分波形データの時間軸位置を伸張又は圧縮制御する。
【００７１】
なお、再生しようとする調和外成分の圧縮データが前記第１の手法に従うもの（対応する調和成分の周期性に同期させた区間分割を行ってベクトル量子化したもの）である場合、「ベクトル情報」に基づき調和外ベクトル記憶部Ｍ２から調和外ベクトルを読み出す際に若しくは読み出した後に、該調和外ベクトルの時間長を、今回同時に再生しようとする調和成分の周期に応じて、適宜伸縮制御するものとする。これは、該圧縮データの圧縮方法（前記第１の手法）を考慮すると、再生しようとする調和成分の周期の伸縮に同期させて調和外ベクトルの時間長も伸縮させた方が、調和外成分波形の再現性がよくなるからである。調和外ベクトルの時間長伸縮制御は、対応する調和ベクトルの読出周期（読出レート）の変化に連動させて調和外ベクトル記憶部Ｍ２の読出レートを変化させる、といった単純なやりかたであってもよいし、時間軸伸縮制御を採用して行ってもよい。勿論、再生しようとする調和外成分の圧縮データが前記第２の手法に従うもの（調和成分の周期性に無関係に区間分割を行ってベクトル量子化したもの）である場合は、基本的にこのような配慮は不要であるが、行ってもよい。また、上述した「ワンショット再生」、「ループ再生」、「オルタネーティブループ再生」、「シーケンス再生」、「ランダムシーケンス再生」、「デリート再生」等の各種再生モードは、再生しようとする調和外成分の圧縮データが前記第１の手法に従うもの（対応する調和成分の周期性に同期させた区間分割を行ってベクトル量子化したもの）である場合においても、適用され得るものであることは勿論である。
【００７２】
「混合」処理Ｓ５５では、上記のようにして再生・生成された調和成分波形と調和外成分波形とを混合し、両方の成分を混合してなる楽音波形データを生成する。こうして楽音波形データが再生・提供される（ステップＳ５６）。再生された楽音波形データは、ディジタルデータのまま他の利用装置に供給するようにしてもよいし、あるいはアナログ変換し、適宜のサウンドシステムを介して空間的に発音させるようにしてもよい。なお、調和成分波形の信号と調和外成分波形の信号とを別々に発音して、両者を空間で混合するようにしてもよい。
以上により、圧縮したデータ構成を採用しながら、原波形にかなり忠実な特徴を持つ楽音波形を、再生・生成することができる。また、各加工処理Ｓ５２，Ｓ５４での波形加工を可変制御することにより、原波形に忠実な高品質な波形でありながら、制御性にも非常に富んだ、極めて有用な、波形生成処理を遂行することができる。
【００７３】
【発明の効果】
以上の通り、この発明によれば、調和外成分の波形形状に基づいて、該調和外成分を複数の区間に分割し、分割した各区間毎にベクトル量子化を行うようにしたので、当該調和外成分の波形形状から判断して適切な箇所で調和外成分の波形を複数区間に分割することができ、調和外成分（非周期性成分）の波形それ自体を分析して、独自にベクトル量子化処理を施すことが容易に行えるようになる。また、非周期性波形成分のベクトル量子化にあたっては、調和成分と共に原波形を構成する固有の調和外成分に基づきベクトル量子化処理を行うので、非周期性波形成分の再現精度が向上する。このように、この発明は、調和外成分の圧縮処理を容易に行うことができるようにするものであり、調和外成分のベクトル量子化処理を実現するために極めて有用であり、また、これによって波形圧縮効率を高めることに寄与し、さらに、原波形の再現性、特に調和外成分の再現性に大変優れている、等々種々の優れた効果を奏する。
【００７４】
また、或る区間についての調和外成分波形の圧縮にあたっては調和外ベクトルを指定しないようにすることにより、その区間では調和外成分なしに調和成分の波形データで波形を生成するようにすることにより、音を特徴づける上で、重要度の低い区間に存在している調和外成分を無視し、その区間の調和外成分は無音として調和成分のみで再生波形を構成するようにすることができ、その分、調和外成分のデータ圧縮効率を高めることができる、という優れた効果を奏する。
また、或る区間についての調和外成分波形の圧縮にあたっては所定の調和外ベクトルを繰り返し使用するようにすることにより、音を特徴づける上での重要度を各区間毎に考慮して調和外成分をループ再生するようにすることで、その分、調和外成分のデータ圧縮効率を高めることができる、という優れた効果を奏する。
また、複数の異なる奏法のうち指定された奏法に対応して、調和成分の波形データを供給すると共に調和外成分用の圧縮データを供給し、複数の調和外ベクトルを記憶したメモリから調和外成分用の圧縮データに基づいて調和外ベクトルを選択し、選択された調和外ベクトルに基づき調和外成分の波形データを生成するようにしたので、複数の異なる奏法のうち指定された奏法に対応して、調和外成分用の圧縮データから、調和外成分の波形を独自に再生・生成することができると共に、再生された調和外成分波形を調和成分波形と混合することで、指定された奏法に対応する特有の原波形を再現することができる、という優れた効果を奏する。
【図面の簡単な説明】
【図１】  この発明の一実施例に係る波形圧縮方法及び波形生成方法を実施するために使用されるハードウェア構成例の概略を示すブロック図。
【図２】  図１においてＣＰＵの制御の下で実行される波形圧縮処理の手順を略示する等価的ブロック図。
【図３】  図２における「調和成分分析」処理の詳細例を示す等価的ブロック図。
【図４】  調和成分波形をベクトル量子化する様子の一例を示すグラフ。
【図５】  図２における「調和外成分分析」処理の一例を示すフローチャートであって、調和成分の周期性を利用して調和外成分波形を複数の波形区間に分割し、分析を行うようにした実施例を示すもの。
【図６】  図２における「調和外成分分析」処理の別の例を示すフローチャートであって、調和外成分波形の特徴に基づき該調和外成分波形を複数の波形区間に分割し、分析を行うようにした実施例を示すもの。
【図７】  調和外成分波形をベクトル量子化する様子の一例を示すグラフ。
【図８】  調和外成分波形のベクトル量子化の一具体例を示すグラフ。
【図９】  調和外成分波形のベクトル量子化の別の具体例を示すグラフ。
【図１０】  調和外成分波形のベクトル量子化の更に別の具体例を示すグラフ。
【図１１】  調和外成分波形のベクトル量子化の別の具体例を示すグラフ。
【図１２】  調和外成分波形のベクトル量子化の更に別の具体例を示すグラフ。
【図１３】  調和外成分波形のベクトル量子化の別の具体例を示すグラフ。
【図１４】  奏法付き楽譜を準備する処理過程の一例を略示する等価的ブロック図。
【図１５】  図１においてＣＰＵの制御の下で実行される楽音再生すなわち波形生成処理の手順を略示する等価的ブロック図。
【符号の説明】
１０  ＣＰＵ（中央処理部）
１１  ＲＯＭ（リードオンリーメモリ）
１２  ＲＡＭ（ランダムアクセスメモリ）
１３  ハードディスク装置
１４  、リムーバブルディスク装置（例えばＣＤ−ＲＯＭドライブ若しくはＭＯドライブなど）
１５  表示器
１６  キーボード及びマウス等の入力操作装置
１７  波形インタフェース
１８  タイマ
１９  ＭＩＤＩ及び通信ネットワーク等のインタフェース
２０  ＣＰＵバス
【図１】
0003744247.tif 000002
【図２】
0003744247.tif 000003
【図３】
0003744247.tif 000004
【図４】
0003744247.tif 000005
【図５】
0003744247.tif 000006
【図６】
0003744247.tif 000007
【図７】
0003744247.tif 000008
【図８】
0003744247.tif 000009
【図９】
0003744247.tif 000010
【図１０】
0003744247.tif 000011
【図１１】
0003744247.tif 000012
【図１２】
0003744247.tif 000013
【図１３】
0003744247.tif 000014
【図１４】
0003744247.tif 000015
【図１５】
0003744247.tif 000016