JP3788096B2 - Waveform compression method and waveform generation method - Google Patents

Waveform compression method and waveform generation method Download PDF

Info

Publication number
JP3788096B2
JP3788096B2 JP08497199A JP8497199A JP3788096B2 JP 3788096 B2 JP3788096 B2 JP 3788096B2 JP 08497199 A JP08497199 A JP 08497199A JP 8497199 A JP8497199 A JP 8497199A JP 3788096 B2 JP3788096 B2 JP 3788096B2
Authority
JP
Japan
Prior art keywords
waveform
harmonic
vector
harmonic component
data
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
Application number
JP08497199A
Other languages
Japanese (ja)
Other versions
JP2000276173A (en
Inventor
秀雄 鈴木
真雄 坂間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP08497199A priority Critical patent/JP3788096B2/en
Priority to DE60026189T priority patent/DE60026189T2/en
Priority to EP00106126A priority patent/EP1039442B1/en
Priority to US09/536,007 priority patent/US6584442B1/en
Publication of JP2000276173A publication Critical patent/JP2000276173A/en
Application granted granted Critical
Publication of JP3788096B2 publication Critical patent/JP3788096B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To effectively and efficiently compress inharmonic components. SOLUTION: Waveform data to be compressed are separated by a proper method into harmonic components and inharmonic components, which are supplied separately (S10). To perform vector quantization for at least the inharmonic components, the periodicity of the harmonic components corresponding to the inharmonic components is detected and according to the detected periodicity (e.g. an integral multiple or submultiple of cycles), the inharmonic components are divided into sections (S13). Inharmonic vectors as representative vectors of the inharmonic components are selected and specified respectively by the divided sections, thereby performing the vector quantization (S16). Thus, the inharmonic component waveform itself is analyzed and an original vector quantizing process can easily be performed.

Description

【0001】
【発明の属する技術分野】
この発明は、ベクトル量子化技術を用いて楽音あるいは音声その他様々な音の波形を圧縮する波形圧縮方法に関し、また、そのような波形圧縮方法を使用して任意の波形を生成する波形生成方法に関するもので、特に、調和外成分の圧縮法を改善したものに関する。この発明は、電子楽器は勿論のこと、自動演奏装置、コンピュータ、電子ゲーム装置その他マルチメディア機器等、楽音あるいは音声若しくはその他任意の音を発生する機能を有する汎ゆる分野の機器若しくは装置または方法において広範囲に応用できるものである。なお、この明細書において、楽音波形という場合、音楽的な音の波形に限るものではなく、音声あるいはその他任意の音の波形を含んでいてもよい意味合いで用いるものとする。
【0002】
【従来技術】
最近では、電子的な楽音合成技術において、奏法の相違を考慮した高品質な楽音を如何にして合成するかということが重要な課題となってきている。すなわち、自然楽器にあっては、同じ楽器音色及び同じ音高等の楽音であっても、例えばビブラート奏法とスラー奏法のような、異なる奏法での各演奏に対して、異なった楽音特性(特に音色波形)を示す楽音が発生されることが知られている。このような自然楽器における奏法の違いを反映した高品質な楽音を、電子楽器等において電子的な楽音合成技術を用いて生成しようとする場合、各楽器音色の各音高(若しくは音域)毎に、複数の各奏法に対応して、それぞれの奏法に従う楽音特性(特に音色波形)を示す波形データをそれぞれメモリに予め記憶しておき、演奏しようとする奏法に応じた波形データをメモリから読み出すことにより、奏法に対応した特有の楽音特性(特に音色波形)を示す楽音波形を生成するようにすることが考えられる。
【0003】
このように、各楽器音色の各音高(若しくは音域)毎に、複数の各奏法に対応して異なる波形データをそれぞれ記憶するようにする場合、普通に記憶したのでは必要なメモリ記憶容量がかなり増すことになるため、如何にして有効なデータ圧縮を行い、必要なメモリ記憶容量を節約するのか、ということが重要な課題となってくる。そこで、従来の波形データ圧縮技術のうち、この発明との関連において注目すべきものを挙げて見ると、次のようなものがある。
【0004】
まず、特開昭61−104400号公報においては、入力波形をフィルタ処理によって周期成分と非周期成分に分離し、各成分を異なるデータ圧縮の符号化形式で符号化し、それぞれ波形メモリに記憶するようにした音記録方法が示されている。しかし、そこにおいては、特定の波形データを周期成分と非周期成分に分離してデータ圧縮して記憶する発想はあっても、これらをすべてベクトル量子化する発想はなかった。特に、非周期成分については、周期成分の波形に対する残差波形をそのまま時系列的に記録しておくしかないものである。
【0005】
次に、特開平5−88911号公報においては、ベクトル量子化を使用した音声符号化法が示されている。そこでは、圧縮しようとする音声波形を、まず、その波形から抽出したスペクトルの逆特性のフィルタで処理し、次に、フィルタ処理後の波形について、その波形の過去の所定周期から取出した励振ベクトルを用いて周期成分のベクトル量子化を行うとともに、雑音ベクトルで非周期成分のベクトル量子化を行うようにしている。この場合、雑音ベクトルは固定ベクトルとして用意されているものを使用するようになっており、圧縮しようとする音声波形そのものから非周期成分(雑音成分)を抽出してこれに基づき非周期成分のベクトル量子化を行うようにはなっていない。
【0006】
【発明が解決しようとする課題】
しかし、上述した前者の波形データ圧縮技術にあっては、データ圧縮率が低かったため、各楽器音色の各音高(若しくは音域)毎に複数の各奏法に対応して異なる波形データをそれぞれ記憶するような目的に適した、十分なデータ圧縮を実現することは困難であった。すなわち、前者の従来技術においては、非周期成分をベクトル量子化する発想がなかったため、非周期成分のデータ記憶は、周期成分の波形に対する残差波形をそのまま時系列的に記録しておくしかなく、十分なデータ圧縮を実現するものではなかった。
【0007】
一方、上述した後者の波形データ圧縮技術においては、雑音ベクトルは固定ベクトルとして用意されているものを使用するようになっており、圧縮しようとする音声波形そのものから非周期成分(雑音成分)を抽出してこれに基づき非周期成分のベクトル量子化を行うようにはなっていないので、雑音ベクトルのベクトル量子化精度が悪く、非周期成分の効率的な圧縮が行えず、また、非周期成分の再現精度も悪かった。更に、この波形データ圧縮技術においては、逆特性のフィルタによるフィルタ処理が必ず行われているので、この強力な逆特性フィルタ処理の介在によって、再生される波形の形状は、元の波形の形状と異なった形状になってしまい、波形再現性が悪い、という欠点があった。よって、精密な波形再現性がそれほど要求されない人音声波形の再生には使用できても、精密な波形再現性が要求される楽器音の波形再生には適していなかった。また、この波形データ圧縮技術においては、周期ベクトルと雑音ベクトルを用いた圧縮が行われているが、上記逆特性フィルタ処理の行われた1つの波形に対して、周期ベクトルと雑音ベクトルの組合せとしてのベクトル量子化を行わねばならないので、その組合せの決定方法が難しく、また、精密な圧縮ができなかった。さらに、上記周期ベクトルは、過去の波形から取り出した励振ベクトルが用いられる場合が多いので、変化に富んだ波形に対する追従性は低かった。
【0008】
この発明は上述の点に鑑みてなされたもので、データ圧縮効率に優れ、元の波形の再現性にも優れた波形圧縮方法を提供しようとするものであり、特に調和外成分(非周期的な成分)を有効にかつ効率的に圧縮することができるようにすることを考慮した波形圧縮方法を提供しようとするものである。さらには、そのような波形圧縮方法を使用して任意の波形、特に任意の調和外成分波形を生成する波形生成方法を提供しようとするものである。
【0009】
【課題を解決するための手段】
この発明に係る波形圧縮方法は、記憶された調和外成分波形データである複数の調和外ベクトルを供給する過程と、圧縮すべき波形データの調和外成分及びそれに対応する調和成分を供給する過程と、前記調和成分の周期を検出する過程と、検出された前記調和成分の周期に基づいて、前記圧縮すべき波形データの調和外成分を複数の区間に分割する過程と、前記分割された各区間毎に、調和外成分として使用できる調和外ベクトルを前記複数の調和外ベクトルの中からそれぞれ選択して該各調和外成分をベクトル量子化し、該選択された調和外ベクトルを指示する指示情報をそれぞれ含む該各調和外成分についての圧縮データを生成する過程とを具えたものである。
【0010】
データ圧縮しようとする波形データは、適宜の手法によって調和成分と調和外成分とに分離され、別々に供給される。この発明によれば、少なくとも調和外成分に対してベクトル量子化のための処理が施される。調和外成分波形をベクトル量子化するためには、その対象たる調和外成分波形を複数の区間に分割し、各区間毎に最適なベクトル量子化を行うことが望ましい。そのための区間分割の手法として、この発明においては、該調和外成分に対応する調和成分の周期を検出し、検出した周期に基づいて該調和外成分を複数の区間に分割するようにしている。すなわち、記憶された調和外成分波形データである複数の調和外ベクトルを供給し、調和成分の周期に基づいて分割された各区間毎に、調和外成分として使用できる調和外ベクトルを前記複数の調和外ベクトルの中からそれぞれ選択して該各調和外成分をベクトル量子化し、該選択された調和外ベクトルを指示する指示情報をそれぞれ含む該各調和外成分についての圧縮データを生成する。例えば、調和成分の周期の整数倍あるいは分数倍の期間で、調和外成分波形を複数の区間に分割する。勿論、分割される調和外成分波形の区間は、均等間隔である必要はなく、或る区間は調和成分の1/2周期分の長さ、別の波形区間は調和成分の8周期分の長さ、等々というように適宜異なっていてよい。
【0011】
このように、調和成分の周期に依存して調和外成分波形の区間分割を行うやり方は、人の手間を余りかけずに調和外成分波形の区間分割を自動的に行うことができるので、分析作業が楽になるという効果を奏する。また、調和外成分波形の特徴が調和成分の周期に或る程度依存しているような場合においては、適切な波形区間分割を容易に行えることになるという利点をもたらす。また、非周期性波形成分のベクトル量子化にあたっては、調和成分と共に原波形を構成する固有の調和外成分に基づきベクトル量子化処理を行うので、非周期性波形成分の再現精度が向上する。
【0012】
ちなみに、周期性成分(調和成分)波形のベクトル量子化を行う場合においては、一般に波形形状が類似している区間で代表ベクトル(代表的な波形セグメント)を選定することが行われる。そこで、非周期性成分(調和外成分)をベクトル量子化する場合においても、どの範囲で波形が似ているのかを判断して、適切な区間分割を行うことが非常に重要となってくる。しかるに、非周期性成分(調和外成分)は、それ自体がノイズ的な波形であるため、目視等によって波形類似範囲を判定することは面倒であり、また、自動化処理すること(自動的に波形類似範囲を判定して区間分割すること)も困難である。従って、従来は、非周期性成分(調和外成分)の波形それ自体を分析して、独自にベクトル量子化処理を施すということは行われていなかったのである。この点、この発明によれば、従来容易には行えなかった、調和外成分(非周期性成分)の波形それ自体を分析して、独自にベクトル量子化処理を施すことが容易に行えるようになり、また、調和成分の周期は自動的に判定し易いので、これを利用して調和外成分の区間分割処理に自動化を導入することも行い易くなる。例えば、自動的に判断された調和成分の所定周期毎に仮の分割区間を設定し、次にユーザの手動操作によって、適切な分割区間の設定・確定を行う(調和成分の周期に同期した箇所で適宜分割することを選択するのは勿論のこと、その前後で適宜分割箇所をずらす調整を行うことをも含む)とよい。
【0013】
なお、周波数分析に従って分離された非周期性成分(調和外成分)をグラフィック表示して観察してみると、該周波数分析では周期性成分として分離できないにもかかわらず、周期性成分の周期と同様の周期で非周期性成分の波形変化が出現しているように見える部分があることが判った。よって、調和成分の周期を利用して、その周期に同期する適宜の箇所を区切りとして、調和外成分波形を複数の区間に分割することは、調和外成分のベクトル量子化に際して該調和外成分を類似する範囲毎に適切に分割する処理を行うために、かなり有用である。このように、この発明は、調和外成分の圧縮処理を容易に行うことができるようにするものであり、調和外成分のベクトル量子化処理を実現するために極めて有用であり、また、これによって波形圧縮効率を高めることに寄与し、さらに、原波形の再現性、特に調和外成分の再現性に大変優れている、等々種々の優れた効果を奏する。
【0014】
調和外成分のベクトル量子化にあたっては、データ圧縮の促進と波形再現性の向上との兼ね合いを考慮して、それぞれの調和外成分の内容に見合った、最適な形態でベクトル量子化を行うことが好ましい。調和外成分は、基本的には繰り返し性を持たないランダムな雑音波形に該当するが、例えば、その内容や発音期間の中のどの位置に位置するかといった重要度の有無等を考慮して、特定の代表ベクトルをループ処理することで必要な時間長の調和外成分波形を再生するようにしてもよいし(これをループ再生という)、あるいは、必要な時間長からなる代表ベクトルをループさせずに一回だけ使用することで所要の調和外成分波形を再生するようにしてもよい(これをワンショット再生という)。あるいは、複数の代表ベクトルを所定の順番で切換えて組合わせることにより、所要の調和外成分波形を再生するようにしてもよい(これをシーケンス再生という)。あるいは、その切換え順序をランダムに設定して、調和外成分の雑音性つまりランダム性を強調するようにしてもよい(これをランダムシーケンス再生という)。このような各種の最適ベクトル量子化形態を考慮し、調和外ベクトルとして、様々な最適ベクトル量子化の形態に見合った、代表ベクトルを適宜使用することが好ましい。そこで、調和外成分のベクトル量子化にあたっては、一例として、当該調和外成分に適した調和外ベクトルつまり代表ベクトルを選定し、この調和外ベクトルつまり代表ベクトルをどのように用いるか(例えば上記ループ再生やワンショット再生等の区別やその期間やそれに付与するエンベロープの形態など)を記述する情報を付加することにより、行うことができる。
なお、調和外成分の各代表ベクトルすなわち調和外ベクトルは、様々な異なる波形間で共有することができる。つまり、圧縮しようとする2以上の異なる原波形の間で、それらの原波形の一部に適宜の共通性がある場合は、それらのベクトル量子化に際しては、同じ代表ベクトルを両波形間で適宜共用することができる。
【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】
【発明の効果】
以上の通り、この発明によれば、調和外成分のベクトル量子化処理を行うにあたって、対応する調和成分の周期性に依存して該調和外成分波形を複数区間に分割し、各区間毎にベクトル量子化を行うようにしたので、人の手間を余りかけずに調和外成分波形の区間分割を容易に行うことができるので、区間分割のための波形分析作業等が楽に行えるようになる、という優れた効果を奏する。また、非周期性波形成分のベクトル量子化にあたっては、調和成分と共に原波形を構成する固有の調和外成分に基づきベクトル量子化処理を行うので、非周期性波形成分の再現精度が向上する。このように、この発明は、調和外成分の圧縮処理を容易に行うことができるようにするものであり、調和外成分のベクトル量子化処理を実現するために極めて有用であり、また、これによって波形圧縮効率を高めることに寄与し、さらに、原波形の再現性、特に調和外成分の再現性に大変優れている、等々種々の優れた効果を奏する。
【図面の簡単な説明】
【図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バス
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a waveform compression method for compressing a waveform of a musical tone, a voice or other various sounds using a vector quantization technique, and also relates to a waveform generation method for generating an arbitrary waveform using such a waveform compression method. In particular, the present invention relates to an improved non-harmonic component compression method. The present invention is not limited to electronic musical instruments, but in general performance devices, computers, electronic game devices, other multimedia devices, etc., in a wide range of devices, devices, or methods having a function of generating musical sounds or sounds or other arbitrary sounds. It can be applied in a wide range. In this specification, the term “musical sound waveform” is not limited to a musical sound waveform, but is used in a sense that may include a sound waveform or any other sound waveform.
[0002]
[Prior art]
Recently, in electronic musical tone synthesis technology, it has become an important issue how to synthesize high-quality musical tones in consideration of differences in performance. That is, in the case of natural musical instruments, even if a musical tone has the same musical instrument tone and the same pitch, different musical tone characteristics (especially the timbre) are different for each performance with different performances, such as vibrato and slur. It is known that a musical tone indicating a waveform is generated. When trying to generate high-quality musical sounds that reflect the differences in playing styles of such natural musical instruments using electronic musical tone synthesis technology in electronic musical instruments, etc., for each pitch (or range) of each musical instrument tone Corresponding to a plurality of performance methods, waveform data indicating musical tone characteristics (especially timbre waveforms) according to each performance method are stored in advance in the memory, and waveform data corresponding to the performance method to be played is read from the memory. Thus, it is conceivable to generate a musical sound waveform that shows a specific musical sound characteristic (particularly a timbre waveform) corresponding to the playing style.
[0003]
As described above, when storing different waveform data corresponding to a plurality of performance methods for each pitch (or range) of each instrument tone color, the memory storage capacity required for normal storage is large. Since it will increase considerably, how to perform effective data compression and save necessary memory storage capacity becomes an important issue. Accordingly, among the conventional waveform data compression techniques, there are the following ones that should be noted in connection with the present invention.
[0004]
First, in Japanese Patent Application Laid-Open No. 61-104400, an input waveform is separated into a periodic component and an aperiodic component by filtering, and each component is encoded in a different data compression encoding format and stored in a waveform memory. The sound recording method is shown. However, although there is an idea that specific waveform data is separated into a periodic component and a non-periodic component and is compressed and stored, there is no idea to perform vector quantization for all of them. In particular, for non-periodic components, the residual waveform with respect to the waveform of the periodic component can only be recorded in time series.
[0005]
Japanese Patent Laid-Open No. 5-88911 discloses a speech coding method using vector quantization. In this case, the speech waveform to be compressed is first processed by a filter having an inverse characteristic of the spectrum extracted from the waveform, and then the excitation vector extracted from the past predetermined period of the waveform for the filtered waveform. Is used to perform vector quantization of the periodic component and vector quantization of the non-periodic component using the noise vector. In this case, a noise vector prepared as a fixed vector is used, and a non-periodic component (noise component) is extracted from the speech waveform itself to be compressed and based on this, a non-periodic component vector is used. It is not designed to perform quantization.
[0006]
[Problems to be solved by the invention]
However, in the former waveform data compression technique described above, since the data compression rate was low, different waveform data corresponding to a plurality of performance methods is stored for each pitch (or range) of each instrument tone color. It has been difficult to achieve sufficient data compression suitable for such purposes. That is, in the former prior art, since there was no idea of vector quantization of the aperiodic component, the data storage of the aperiodic component had to record the residual waveform with respect to the waveform of the periodic component as it was in time series. It did not realize sufficient data compression.
[0007]
On the other hand, in the latter waveform data compression technique described above, a noise vector prepared as a fixed vector is used, and an aperiodic component (noise component) is extracted from the speech waveform itself to be compressed. Based on this, the vector quantization of the aperiodic component is not performed, so the vector quantization accuracy of the noise vector is poor, and the aperiodic component cannot be efficiently compressed. The reproduction accuracy was also poor. Furthermore, in this waveform data compression technique, the filtering process using the inverse characteristic filter is always performed, so that the shape of the reproduced waveform is the same as that of the original waveform by the intervention of this powerful inverse characteristic filter process. There was a drawback that the waveform was different and the waveform reproducibility was poor. Therefore, even if it can be used for reproducing a human voice waveform that does not require a high precision of waveform reproducibility, it is not suitable for reproducing a waveform of a musical instrument sound that requires a precise waveform reproducibility. In this waveform data compression technique, compression using a periodic vector and a noise vector is performed. However, as a combination of a periodic vector and a noise vector, one waveform subjected to the inverse characteristic filtering process is used. Therefore, it is difficult to determine the combination, and precise compression cannot be performed. Furthermore, since the excitation vector extracted from the past waveform is often used as the periodic vector, the followability with respect to a waveform rich in change is low.
[0008]
The present invention has been made in view of the above points, and is intended to provide a waveform compression method that is excellent in data compression efficiency and excellent in reproducibility of an original waveform. It is an object of the present invention to provide a waveform compression method in consideration of enabling effective and efficient compression. Furthermore, the present invention intends to provide a waveform generation method for generating an arbitrary waveform, particularly an arbitrary out-of-harmonic component waveform, using such a waveform compression method.
[0009]
[Means for Solving the Problems]
The waveform compression method according to the present invention includes: The process of supplying a plurality of non-harmonic vectors as stored non-harmonic component waveform data, and compression Non-harmonic component of waveform data And corresponding harmonic components And supplying the harmony component period And detecting the harmonic component detected period Based on Of waveform data to be compressed The process of dividing out-of-harmonic components into multiple intervals When, For each divided section In addition, Non-harmonic ingredients A non-harmonic vector that can be used as a plurality of non-harmonic vectors, respectively. Vector quantization, Each including instruction information indicating the selected out-of-harmonic vector And a process of generating compressed data for out-of-harmonic components.
[0010]
Waveform data to be compressed is separated into a harmonic component and a non-harmonic component by an appropriate method and supplied separately. According to the present invention, at least an out-of-harmonic component is processed for vector quantization. In order to vector quantize the non-harmonic component waveform, it is desirable to divide the target non-harmonic component waveform into a plurality of sections and perform optimal vector quantization for each section. As a section division technique for this purpose, in the present invention, the harmonic component corresponding to the out-of-harmonic component is determined. period Detected and detected period The non-harmonic component is divided into a plurality of sections based on the above. That is, the stored non-harmonic component waveform data is supplied with a plurality of non-harmonic vectors, and the non-harmonic vectors that can be used as the non-harmonic component for each section divided based on the period of the harmonic component are the plurality of harmonics. Each out-of-harmonic component is vector-quantized by selecting from outside vectors, and compressed data is generated for each out-of-harmonic component including instruction information indicating the selected out-of-harmonic vector. For example, the non-harmonic component waveform is divided into a plurality of sections in a period that is an integral multiple or a fraction multiple of the harmonic component period. Of course, the sections of the non-harmonic component waveform to be divided do not need to be equally spaced, a certain section has a length corresponding to ½ period of the harmonic component, and another waveform section has a length corresponding to eight periods of the harmonic component. It may be different as appropriate.
[0011]
Thus, the harmonic components period The method of dividing the non-harmonic component waveform depending on the non-harmonic component waveform can automatically perform the division of the non-harmonic component waveform without much labor. . In addition, the characteristics of the non-harmonic component waveform are period In such a case, an appropriate waveform section division can be easily performed. In addition, in vector quantization of the non-periodic waveform component, the vector quantization process is performed based on the inherent non-harmonic component that forms the original waveform together with the harmonic component, so that the reproduction accuracy of the non-periodic waveform component is improved.
[0012]
Incidentally, when vector quantization of a periodic component (harmonic component) waveform is performed, a representative vector (representative waveform segment) is generally selected in a section having a similar waveform shape. Therefore, even in the case of vector quantization of non-periodic components (non-harmonic components), it is very important to determine in which range the waveforms are similar and perform appropriate section division. However, since the non-periodic component (non-harmonic component) itself is a noisy waveform, it is cumbersome to determine the waveform similarity range by visual observation or the like, and it is also automated (automatically waveform) It is also difficult to determine a similar range and divide the section. Therefore, conventionally, the waveform itself of the non-periodic component (non-harmonic component) is analyzed and the vector quantization process is not performed independently. In this regard, according to the present invention, the waveform itself of the non-harmonic component (non-periodic component), which has not been easily performed in the past, can be analyzed and the vector quantization process can be easily performed independently. Of harmonic components period Since it is easy to determine automatically, it becomes easy to introduce | transduce into the division | segmentation process of a non-harmonic component using this. For example, a temporary divided section is set for each predetermined period of the harmonic component that is automatically determined, and then an appropriate divided section is set and confirmed by the user's manual operation (location synchronized with the period of the harmonic component) In this case, it is preferable to select to divide appropriately as well as to make adjustments by appropriately shifting the divided parts before and after that.
[0013]
In addition, when a non-periodic component (non-harmonic component) separated according to frequency analysis is displayed graphically and observed, the frequency analysis cannot be separated as a periodic component, but is similar to the period of the periodic component. It was found that there was a part that appeared to appear as a waveform change of a non-periodic component in the period. Therefore, the harmonic component period Dividing an out-of-harmonic component waveform into a plurality of sections using appropriate points synchronized with the period as a delimiter is appropriate for each non-harmonic component for each similar range during vector quantization of the out-of-harmonic component. It is quite useful for performing the process of dividing into two. Thus, the present invention makes it possible to easily perform compression processing of out-of-harmonic components, and is extremely useful for realizing vector quantization processing of out-of-harmonic components. It contributes to increasing the waveform compression efficiency, and further exhibits various excellent effects such as excellent reproducibility of the original waveform, particularly excellent reproducibility of out-of-harmonic components.
[0014]
In vector quantization of out-of-harmonic components, it is possible to perform vector quantization in an optimal form that matches the content of each out-of-harmonic component, taking into account the balance between promoting data compression and improving waveform reproducibility. preferable. The out-of-harmonic component basically corresponds to a random noise waveform that does not have repeatability.For example, in consideration of the importance and presence of the content and the position in the pronunciation period, It may be possible to reproduce a non-harmonic component waveform having a required time length by looping a specific representative vector (this is called loop reproduction), or a representative vector having a required time length is not looped. The required non-harmonic component waveform may be reproduced by using it only once (this is called one-shot reproduction). Alternatively, a required non-harmonic component waveform may be reproduced by switching and combining a plurality of representative vectors in a predetermined order (this is called sequence reproduction). Alternatively, the switching order may be set at random to emphasize the noise characteristics of the out-of-harmonic component, that is, randomness (this is called random sequence reproduction). Considering these various types of optimum vector quantization forms, it is preferable to appropriately use representative vectors suitable for various optimum vector quantization forms as out-of-harmonic vectors. Therefore, in vector quantization of an out-of-harmonic component, as an example, an out-of-harmonic vector or representative vector suitable for the out-of-harmonic component is selected, and how this out-of-harmonic vector or representative vector is used (for example, the loop reproduction described above). Or information such as a one-shot reproduction or the like, a period thereof, a form of an envelope attached thereto, and the like) can be added.
Each representative vector of out-of-harmonic components, that is, an out-of-harmonic vector, can be shared between various different waveforms. In other words, when there is appropriate commonality between two or more different original waveforms to be compressed, a part of the original waveforms has an appropriate commonality, and in the vector quantization, the same representative vector is appropriately set between the two waveforms. Can be shared.
[0015]
The waveform generation method according to the present invention includes a process of receiving compressed data each including instruction information indicating an out-of-harmonic vector to be used as an out-of-harmonic component for a plurality of sections each having a specific time length. Supplying waveform data of harmonic components to be generated, supplying a plurality of non-harmonic vectors, which are stored non-harmonic component waveform data, When compressing non-harmonic components Divided in synchronization with the period of the harmonic component waveform data , The selection according to the process of selecting the non-harmonic vector indicated by the instruction information in the compressed data for each section from the plurality of non-harmonic vectors, and the period of the waveform data of the harmonic component to be generated A process for controlling the expansion / contraction of the time length of the non-harmonic vector, and a process for synthesizing the waveform data of the non-harmonic component based on the non-harmonic vector subjected to the expansion / contraction control. Thereby, the non-harmonic vector indicated by the instruction information is selected from a plurality of non-harmonic vectors based on the compressed data for each section, and the waveform of the non-harmonic component is independently reproduced based on the non-harmonic vector.・ Can be generated. At this time, the time length expansion / contraction of the selected non-harmonic vector is controlled according to the period of the waveform data of the harmonic component to be generated at the same time, and the waveform data of the non-harmonic component based on the stretch-controlled out-of-harmonic vector Is synthesized. This is advantageous when vector quantization is performed by performing section division synchronized with the period of the corresponding harmonic component as described above when compressing the non-harmonic component. In that case, since the time length of the non-harmonic vector is related to the period of the harmonic component, if the time length of the non-harmonic vector is appropriately expanded and contracted according to the period of the harmonic component to be reproduced at the same time, It becomes easy to reproduce the temporal correspondence between the harmonic component waveform and the non-harmonic component waveform in the original waveform, and the reproducibility of the non-harmonic component waveform is improved. In this way, the waveform of the non-harmonic component can be uniquely reproduced and generated from the compressed data for the non-harmonic component. The original waveform can be reproduced by mixing the reproduced non-harmonic component waveform with the harmonic component waveform.
[0016]
The present invention can be configured and implemented not only as a method invention but also as a device invention. In addition, the present invention can be implemented in the form of a computer program or in the form of a recording medium storing such a computer program. Further, the present invention can be implemented in the form of a recording medium storing waveform data having a new compressed data structure.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
First, referring to FIG. 1, an outline of a hardware configuration example used to implement a waveform compression method and a waveform generation method according to an embodiment of the present invention will be described. The hardware configuration example shown here is configured using a general-purpose computer such as a personal computer, for example, in which the waveform compression and waveform generation processing is performed by the computer using the waveform compression method and waveform generation according to the present invention. This is implemented by executing a predetermined program (software) that realizes the method. Of course, the waveform compression method and the waveform generation method are not limited to the form of computer software, but can also be implemented in the form of a microprogram processed by a DSP (digital signal processor). However, the present invention may be implemented in the form of a dedicated hardware device configured to include a discrete circuit, an integrated circuit, a large-scale integrated circuit, or the like. Further, the device configuration is not limited to a general-purpose computer such as a personal computer, and may take any product application form such as an electronic musical instrument, a karaoke device, an electronic game device, or other multimedia devices.
[0018]
In the hardware configuration example shown in FIG. 1, a CPU (central processing unit) 10 as a main control unit of a computer has a ROM (read only memory) 11, a RAM (random access memory) 12, a hard disk device 13, a removable device. A disk device (for example, a CD-ROM drive or an MO drive) 14, a display 15, an input operation device 16 such as a keyboard and a mouse, a waveform interface 17, a timer 18, an interface 19 such as a MIDI and a communication network, and the like are included in a CPU bus 20. Connected through. The waveform interface 17 samples an analog waveform signal (audio signal) input from the outside via a microphone or the like according to an instruction from the CPU 10 according to a predetermined sampling frequency and converts it into a digital signal, which is converted into a CPU bus. The digital waveform data generated based on the compressed data by the function of sending to the computer 20 and the waveform generation processing executed by this computer is received via the CPU bus 20, converted into an analog waveform signal according to a predetermined sampling frequency, and output to a speaker system or the like It has a function to do.
[0019]
The digital waveform data input via the waveform interface 17 is temporarily written in a predetermined storage area in the RAM 12 or the hard disk device 13, and the predetermined waveform compression processing according to the present invention is performed on the waveform data in accordance with instructions from the CPU. Applied. The compressed data is stored in an appropriate compressed waveform database. In this case, not only the analog waveform signal but also digital waveform data may be input via an appropriate interface 19 or the like, and the input waveform data may be subjected to required data compression. The function of the waveform database may be handled by any type of data storage device. That is, any of the RAM 12, the hard disk device 13, and the removable disk device 14 may function as a compressed waveform database. In general, an appropriate storage area in the hard disk device 13 which is a large-capacity storage device or a removable recording medium such as a CD-ROM or MO that can be attached to and detached from the removable disk device 14 functions as a compressed waveform database. Good. Alternatively, a waveform database provided in an external host or server computer is accessed via the interface 19 and a communication line, and compressed data is written therein, or compressed data necessary for reproduction is stored in the hard disk device 13. Or you may make it download to RAM12 grade | etc.,. At the time of waveform generation, predetermined waveform generation processing is performed using compressed data stored in the compressed waveform database to generate digital waveform data. The generated digital waveform data may be output as analog via the waveform interface 17 as described above, or may be transferred and output as digital data via an appropriate interface 19 or the like. In the case where an external memory such as the hard disk device 13, the removable disk device 14, or an external host or server computer is used as the compressed waveform database, an internal memory is used to enable quick access to the designated waveform data. It is preferable to transfer all or part of the compressed waveform database to the transfer buffer (configured by the RAM 12 or the like).
[0020]
The display unit 15 displays various graphic screens in response to instructions from the CPU 10 during the waveform compression process and the waveform generation process. For example, a graphic display of the shape of the recorded waveform, a graphic display of the waveform editing status during waveform compression processing, and a control screen for setting and selecting various data such as timbre settings, timbre editing, and system settings It is used in various ways such as displaying. Further, necessary control information, character information, and the like are input in the course of the waveform compression process and the waveform generation process using the alphanumeric keyboard and mouse of the input operation device 16. Also, a MIDI keyboard module, a sequencer (automatic performance device) or another computer is connected via the interface 19 to input performance instruction information for playing back musical sounds and to exchange various data.
[0021]
A software program for executing the waveform compression processing and / or waveform generation processing according to the present invention under the control of the CPU 10 may be stored in any of the ROM 11, the RAM 12, the hard disk device 13, and the like. The program may be recorded on a removable recording medium such as a CD-ROM or MO that can be attached to and detached from the removable disk device 14, or from an external host or server computer via a communication line and interface 19. The program may be received and downloaded to the hard disk device 13 or the RAM 12 or the like. In implementing the present invention, the computer system as shown in FIG. 1 does not necessarily have both functions of the waveform compression process and the waveform generation process, and only one of them can be implemented. Such a configuration may be adopted.
[0022]
Next, examples of various processes executed under the control of the CPU 10 will be described. FIG. 2 schematically shows a waveform compression processing procedure executed under the control of the CPU 10 by an equivalent block diagram.
First, in “Waveform recording with rendition” (Process P1), various natural musical instruments are played with various performances by the skilled performer, with the same pitch and intensity, and each performance sound. Are sampled via the waveform interface 17, thus recording a large number of waveform data with performance styles in a predetermined storage area in the RAM 12 or the hard disk device 13. In this case, the recorded performance sound is not limited to a single sound, but may be a series of phrases or chords, or a plurality of different performance methods in a single performance sound consisting of a single sound or a series of phrases. May be included.
[0023]
Even if the general performance method name such as “Vibrato” or “Slur” is the same, the waveform characteristics of the performance sound are different for each instrument type, and the general performance method name is the same and the instrument type is the same. Even if they are the same, the waveform characteristics of each performance sound differ depending on the degree of performance (for example, the difference in vibrato depth). Therefore, the performance sound according to various performance methods recorded in “waveform recording with performance method” (process P1) takes into account the differences in performance methods according to these various viewpoints. Therefore, the “performance sound with performance style” is mainly distinguished and described using a combination of three elements of “musical instrument name”, “performance style name”, and “parameter” indicating the level of the performance style. be able to. In that case, the “parameter” indicating the degree of performance includes a plurality of parameters.
[0024]
An example is as follows.
Example 1: In “attack” (performance style name) of “violin” (instrument name), “rising speed, strength, pitch” and the like are parameters.
Example 2: In “sla” (performance name) of “violin” (instrument name), its “slur width, slur speed, strength, pitch” and the like are parameters.
Example 3: In “vibrato” (performance name) of “violin” (instrument name), the “vibrato depth, vibrato speed, strength, pitch” and the like are parameters.
Example 4: In “picking” (performance method name) of “guitar” (instrument name), the “strength, pitch” and the like are parameters.
Example 5: In “hammering on” (performance method name) of “guitar” (instrument name), the “strength, pitch” and the like are parameters.
Example 6: In “bend” (playing style name) of “guitar” (instrument name), “bend width, bend speed, strength, pitch” and the like are parameters.
Example 7: “Operation width, operation speed, strength, pitch” and the like are parameters in “tremolo arm operation” (performance method name) of “guitar” (instrument name).
Further, the parameter may include a parameter indicating a time change mode, such as an intensity time change curve or a slur time change curve.
[0025]
Next, in the “performance method analysis” (process P2), each waveform data prepared in the process P1 of the “recording with attached performance” is analyzed, and a common performance method is used in the waveform data of one or a series of performance sounds. The range corresponding to the part (which will be referred to as a rendition style section) is extracted, and the waveform data is divided into sections for each or each of the rendition styles included in the waveform data. The position is determined, and the “performance style name” and the “parameter” for describing the performance style used in each divided section (performance style section) are determined, respectively. Performance designation data consisting of “parameter” is generated. Also, musical instrument designation data indicating the “musical instrument name” for the performance style is generated. In this way, the definition of dividing the waveform data of one or a series of performance sounds into one or more performance style sections according to one or more performance styles used therein and the type of performance style for each performance style section are described. The three elements of “instrument name”, “performance style name”, and “parameter” are defined by instrument designation data and performance style designation data. These instrument designation data and rendition style designation data are used as commentary information or index information of compressed data for the rendition style section compressed by the processes P3 to P6 for waveform data compression.
[0026]
For example, the following three methods are conceivable as analysis methods in this “playing style analysis” (process P2).
Example 1: The user listens to the sound of the waveform data to be analyzed, and displays the waveform on the display unit 15 as necessary, and determines the position of the division to be divided as a rendition section according to the user's judgment. Use to specify manually. In addition, the “performance method name” and “parameter” for each performance method section specified for division are determined by the user's judgment, and are manually specified using the input operation device 16. This corresponds to manual analysis.
Example 2: The CPU 10 executes a predetermined rendition style analysis program, analyzes changes in various musical tone characteristics such as pitch and amplitude of the waveform data to be analyzed, and determines the position of the break to be divided as a rendition style section based on the analysis result It is automatically determined, and the “performance style name” and “parameter” for each determined performance style section are automatically determined. This corresponds to a fully automatic analysis.
Example 3: A combination of the techniques of Examples 1 and 2 above. That is, rendition style analysis is performed by combining manual analysis by the user and automatic analysis by the CPU. For example, division of performance style sections and determination of “performance style names” are performed manually by the user, and “parameters” in each performance style section are determined by automatic analysis by the CPU. Alternatively, the division position of each performance style section or “performance style name” or “parameter” determined by automatic analysis by the CPU is appropriately corrected by a user's manual operation.
[0027]
Next, in “Performance section division” (process P3), the waveform data of one or a series of performance sounds prepared in the “recording with attached performance” process P1 is processed for the waveform data. A specific division process is performed in accordance with the rendition style section division position designation information determined in P2. The subsequent processes P4 to P6 are performed on the waveform data for each divided rendition style section.
[0028]
Next, in the “harmonic / non-harmonic component separation” (process P4), the waveform data of one rendition style section divided by the process P3 of the “replay style section division” is extracted from the memory such as the RAM 12, and the waveform data is harmonized. The process which isolate | separates into a component and a nonharmonic component is performed. An example of this separation process is as follows. First, waveform data to be separated is input, and frequency analysis (spectrum analysis) is performed by fast Fourier transform (FFT) to extract the fundamental pitch frequency component and the harmonic component. The harmonic component waveform is generated by performing inverse Fourier transform on this. By subtracting the harmonic component waveform generated in this way from the input waveform data to be separated, an out-of-harmonic component waveform is obtained as the residual waveform. As an example, in the above FFT processing, a window function having a length corresponding to 8 cycles of waveform data to be analyzed is used, and the waveform data is shifted while shifting the window function by a frame corresponding to 1/8 cycle. It is good to analyze the whole. When such FFT analysis is adopted, it is possible to analyze the fluctuation of the frequency of the harmonic component as a fluctuation, and extract it by including it in the harmonic component. Of course, the size of the window function and the shift amount thereof are not limited to the above example, and can be arbitrarily set, and the setting can detect the fluctuation of the frequency and level of the frequency component analyzed by the FFT processing as the fluctuation. It only has to be.
[0029]
Next, in the “harmonic component analysis” (process P5), the characteristics of the waveform data of the harmonic components separated and generated in the process P4 of the “harmonic / non-harmonic component separation” are analyzed, and the optimal vector quantum is analyzed according to the characteristics. To generate compressed data of the harmonic component waveform compressed according to vector quantization. Here, since the harmonic component can be basically regarded as a repetitive waveform, for example, using a waveform of one period or a plurality of periods as a representative vector, the representative vector is looped (or two representative vectors preceding and following are represented). The harmonic component waveform can be reproduced by performing a crossfade loop. Therefore, such a representative vector is stored in the harmonic vector storage unit M1 as a harmonic vector, and the compressed vector data stored in the harmonic vector storage unit M1 is generated as compressed data generated by the “harmonic component analysis” (process P5). Among them, vector information that specifies a harmonic vector to be used as a representative vector of the harmonic component, and how to use the specified harmonic vector, that is, a representative vector (for example, a section in which the vector is used, a period of looping, or the like) It is preferable to generate information including information describing the form of the envelope to be given). A detailed example of this “harmonic component analysis” (process P5) will be described later.
[0030]
On the other hand, in the “non-harmonic component analysis” (process P6), the characteristics of the waveform data of the non-harmonic components separated and generated in the process P4 of the “harmonic / non-harmonic component separation” are analyzed, and the optimum vector is analyzed according to this feature. Quantization processing is performed, and compressed data of the non-harmonic component waveform compressed according to vector quantization is generated. Here, the non-harmonic component is subjected to vector quantization in an optimum form suitable for the characteristics or contents of each non-harmonic component in consideration of the balance between acceleration of data compression and improvement of waveform reproducibility. ing. The out-of-harmonic component basically corresponds to a random noise waveform that does not have repeatability.For example, in consideration of the importance and presence of the content and the position in the pronunciation period, It may be possible to reproduce a non-harmonic component waveform having a required time length by looping a specific representative vector (this is called loop reproduction), or a representative vector having a required time length is not looped. The required non-harmonic component waveform may be reproduced by using it only once (this is called one-shot reproduction). Alternatively, a required non-harmonic component waveform may be reproduced by switching and combining a plurality of representative vectors in a predetermined order (this is called sequence reproduction). Alternatively, the switching order may be set at random to emphasize the noise characteristics of the out-of-harmonic component, that is, randomness (this is called random sequence reproduction). Considering these various types of optimum vector quantization forms, it is preferable to appropriately use representative vectors suitable for various optimum vector quantization forms as out-of-harmonic vectors. Therefore, such various representative vectors are stored in the non-harmonic vector storage unit M2 as non-harmonic vectors, and the non-harmonic vector storage unit M2 is used as the compressed data generated in this “non-harmonic component analysis” (process P6). Vector information specifying an out-of-harmonic vector suitable for use as a representative vector of the out-of-harmonic component, and how to use the out-of-harmonic vector, that is, the representative vector (for example, using the vector) It is preferable to generate information including information that describes a section to be played, a distinction between the above-described loop reproduction and one-shot reproduction, a period thereof, a form of an envelope attached thereto, and the like. A detailed example of this “non-harmonic component analysis” (process P6) will be further described later.
[0031]
In FIG. 2, the rendition style information storage unit M3 includes the compressed data (first compressed data) generated in the “harmonic component analysis” (process P5) and the “non-harmonic component analysis” ( The compressed data (second compressed data) generated in the process P6) is combined with the musical instrument designation data and the rendition style designation data generated in the “representative style analysis” (process P3) for the rendition style section. It is stored as information. Therefore, for waveform reproduction, the musical instrument designation data and the performance style designation data for the desired performance style are used as indexes, and the harmonic component and the out-of-harmonic component for the corresponding performance style section (that is, the first and the non-harmonic components) from the performance style information storage unit M3. The second) compressed data can be invoked. Then, in accordance with the vector information included in the called compressed data, predetermined harmonic vectors and non-harmonic vectors are read from the harmonic vector storage unit M1 and the non-harmonic vector storage unit M2, respectively, and based on these, the harmonic component waveform and By reproducing each of the non-harmonic component waveforms and adding them together, it is possible to reproduce the original waveform or generate a musical sound waveform having the characteristics of the original waveform.
[0032]
Next, a detailed example of “harmonic component analysis” (process P5) will be described with reference to FIG. Note that the processing shown in FIG. 3 does not show all of the “harmonic component analysis” (process P5), but mainly generates a new harmonic vector and stores it in the harmonic vector storage unit M1. The part related to the process of accumulating and storing is shown.
[0033]
First, in the “waveform segment division” process S1, the harmonic component waveforms for one rendition style segment separated and generated in the “harmonic / non-harmonic component separation” of the process P4 are divided into a plurality of waveform segments. As a method of dividing the waveform section, a section composed of continuous one or a plurality of period waveforms having the same or similar characteristics of the waveform shape for each period is extracted as one waveform section and divided by the section. Therefore, the size of each waveform section to be divided is generally unequal. The “waveform segment division” process S1 may be such that the user designates an appropriate division position by manual operation while observing the waveform shape displayed on the display 15, or the CPU 10 determines a predetermined waveform. The division position may be automatically determined based on executing an interval division program and automatically analyzing the frequency characteristics of the waveform for each period. Alternatively, this may be performed by combining manual operation and automatic processing. As a result of the “waveform segmentation” process S1, “section information” is generated as information describing how the input harmonic component waveform is divided into a plurality of waveform segments. In order to efficiently determine whether the characteristics of the waveform shape for each cycle are common or similar, a normalization process is performed to cut out the waveform for each cycle and share the pitch and amplitude level. It is preferable to be able to compare only the waveform shapes of one period waveform. In that case, since the subsequent vector quantization processing is performed on the waveform data in which the pitch and amplitude level are standardized, the temporal change state of the original pitch and amplitude level with respect to the standardized pitch and amplitude level It is preferable to generate a “pitch vector” and an “amplitude vector” as vectors indicating Here, it may be preferable to normalize by controlling the time axis position of the waveform data. In this case, a “time vector” is generated as a vector indicating a temporal change state of the time axis position of the waveform data.
[0034]
Next, in the “grouping” process S <b> 2, the divided waveform data of each waveform section is grouped so that sections having similar waveform shapes for one period or a plurality of periods are made into the same group. This grouping is not only performed between the waveform sections of the performance style section of its own, but rather between the waveform data of each waveform section of other performance style sections (including different musical instruments). It is what. That is, in the group waveform storage unit M4, waveform data of a large number of waveform sections for each rendition style section already grouped is stored in a grouped state. In the “grouping” process S2, with reference to the stored contents of the group waveform storage unit M4, the waveform data for each period or a plurality of periods are similar in the waveform data of each waveform section divided this time. It is checked whether or not an existing group exists in the group waveform storage unit M4. If it exists, the waveform data of the waveform section is included in the group. That is, the waveform data of the waveform section is stored in the storage area of the group in the group waveform storage unit M4, and “group information” indicating the group is generated. If there is no waveform similar to the existing group, the waveform data of the waveform section is registered as a new group. That is, the waveform data of the waveform section is stored in the storage area of the new group in the group waveform storage unit M4, and “group information” indicating the new group is generated. In this case, in order to increase data sharing efficiency, appropriate waveform normalization processing is performed so that the pitch and volume level of the original waveform are the same as described above, and grouping is performed by purely comparing only the waveform shapes. Good. Of course, regardless of the size of each waveform section, the waveform shapes of one period or a plurality of periods that characterize the waveform section are compared. Thus, even if waveform data of different musical instruments, different performances, or different pitches are used, if the waveform shape of a certain waveform section is similar, the waveform data of the similar waveform section Will be classified into a common group. This is because the harmonic vector in the harmonic vector storage unit M1 (the same applies to the non-harmonic vector in the non-harmonic vector storage unit M2) is shared among various performance style waveforms having different characteristics such as different instrument sounds or different performance styles or different pitches. This means that it is useful for reducing the storage scale of the harmonic vector storage unit M1 (or the non-harmonic vector storage unit M2). The “grouping” process S2 may also be performed by a user's manual operation as described above, or may be performed by an automatic process by the CPU 10, or a combination of manual operation and automatic process. You may go.
[0035]
Next, in the “representative vector generation of each group” process S3, the stored contents of the group waveform storage unit M4 are referred to, and the representative vectors of those waveform data are generated in consideration of the characteristics of each waveform data in the same group. To do. For example, if one waveform or a plurality of periodic waveforms similar in one waveform section are repeated, for the time being, it is selected as a temporary representative vector, and the average of the temporary representative vectors of the respective waveform data within the same group or The intermediate or most characteristic vector is determined as the representative vector of the group and is generated. The generated representative vector (specifically, waveform data including one or a plurality of cycles) is stored in the harmonic vector storage unit M1 and registered as a harmonic vector. In addition, “vector information” for the harmonic component that indicates which harmonic vector stored in the harmonic vector storage unit M1 corresponds to the representative vector of the group is generated. Since this “vector information” is index data that indicates which harmonic vector (specifically, waveform data consisting of one or a plurality of cycles) stored in the harmonic vector storage unit M1 is used as a representative vector. It is a small amount of data consisting of a plurality of bits.
[0036]
This “vector information” is stored in the rendition style information storage unit M3 as compressed data of harmonic components in the waveform section in combination with the “section information” generated from the “waveform section division” process S1. Accordingly, the compressed data of the harmonic component related to one rendition style section (first compressed data) is a combination of “vector information” and “section information” for each of a plurality of waveform sections obtained by dividing the rendition style section. Is included. In this case, when the vector quantization processing is performed on the waveform data in which the pitch and the amplitude level are normalized as described above, the “waveform segment division” processing S1 is performed on the “vector information” and the “section information”. The generated “pitch vector” and “amplitude vector” are further combined and stored in the rendition style information storage unit M3. Further, when the vector quantization processing is performed on the waveform data in which the time axis position of the waveform data is also normalized, the “time vector” generated from the “waveform segmentation” processing S1 is further combined to store the rendition style information. Store in part M3.
[0037]
Next, a processing example of “harmonic component analysis” (process P5) in a state where a relatively large number of harmonic vectors are accumulated in the harmonic vector storage unit M1 will be described. In this case, mainly, a harmonic vector that can be used as a representative vector of the harmonic component waveform is searched from many harmonic vectors already stored in the harmonic vector storage unit M1, and the searched harmonic vector is searched for the harmonic component. It consists of selecting as a representative vector.
[0038]
For example, first, a waveform is cut out for each period from the harmonic component waveform for one rendition style section separated and generated by the “harmonic / non-harmonic component separation” of the process P4, and the pitch and the amplitude level are made common. The normalization process is performed, and further, the time axis position of the waveform data is controlled and standardized as necessary. In this way, the normalized waveform data is compared with many harmonic vectors already stored in the harmonic vector storage unit M1 for each cycle or for each plurality of cycles, and similar harmonic vectors are searched. The search in this case also includes not only harmonic vectors corresponding to the same natural instrument and / or the same rendition style as the harmonic component waveform to be analyzed but also harmonic vectors corresponding to different natural instruments and / or different rendition styles. Do. When a similar harmonic vector is found in this way, a section consisting of continuous one or a plurality of periodic waveforms similar to the harmonic vector is extracted as one waveform section to generate “section information” and the searched harmonic vector Is generated as a representative vector of the “waveform section” and stored as a set in the rendition style information storage unit M3. In this case, as described above, when the vector quantization processing is performed on the waveform data in which the pitch and the amplitude level are normalized, the temporal change state of the original pitch and amplitude level with respect to the normalized pitch and amplitude level is shown. The “pitch vector” and the “amplitude vector” are further combined with the “vector information” and the “section information” and stored in the rendition style information storage unit M3. In addition, when vector quantization processing is performed on waveform data that also standardizes the time axis position of the waveform data, a “time vector” that indicates a temporal change state of the time axis position of the waveform data is further combined to perform the performance method. It memorize | stores in the information storage part M3.
[0039]
Here, as a result of the search, if similar harmonic vectors do not exist in the harmonic vector storage unit M1, the same processing as the processing S1, S2, and S3 in FIG. Grouping is performed, a new representative vector is generated, and this is registered in the harmonic vector storage unit M1 as a new harmonic vector. Then, “vector information” indicating this new harmonic vector is generated and stored in the rendition style information storage unit M3 together with “section information” and the like.
[0040]
FIG. 4 is a graph showing an example of how the harmonic component waveform is vector quantized. (A) schematically shows an example of an original waveform by an amplitude envelope. (B) shows an example in which the harmonic component waveform separated from the original waveform is divided into a plurality of “waveform sections” by a diagram showing the division of each waveform section. (C) shows a state in which appropriate harmonic vectors W0, W1, W2,... W7 made up of waveform data of one or a plurality of periods are selected as representative vectors in each “waveform section”, and at the time of waveform reproduction. An example of loop playback is shown. For example, for the waveform section from time t0 to t1, the harmonic vector W0 is used as a representative vector, and during reproduction, this is loop-reproduced between time t0 and t1. As loop reproduction, an example is shown in which crossfade loop reproduction is performed with the representative vector of the next section (in this case, the waveform at the head of the harmonic vector W1). For the waveform section from the time point t1 to the time point t2, the harmonic vector W1 having a relatively large size (consisting of a multi-period waveform) is used as a representative vector, and at the time of reproduction, this is a predetermined period starting from the time point t1 to the time point t2. Is reproduced once and loop reproduction is appropriately performed in the remaining period (for example, crossfade loop reproduction is performed between the waveform at the end of the harmonic vector W1 and the harmonic vector W2 in the next section). In addition, for the waveform section from time t2 to t3, the harmonic vector W2 is used as a representative vector, and during reproduction, this is loop-reproduced between the time t2 and t3 (the harmonic vector W2 and the harmonic vector W3 Crossfade loop playback between). Hereinafter, the same applies, and in the waveform section after the last time t7, the harmonic vector W8 is used as a representative vector, and during reproduction, this is reproduced in a simple loop. (D), (e), and (f) of FIG. 4 show examples of “time vector”, “amplitude vector”, and “pitch vector” extracted from the harmonic component waveform of (a), respectively.
[0041]
Next, a detailed example of “non-harmonic component analysis” (process P6) will be described. The processing procedure of the “non-harmonic component analysis” (process P6) may be basically the same as the procedure of the “harmonic component analysis” (process P5) shown in FIG. However, since the object of analysis is the non-harmonic component waveform for one rendition style section separated and generated by the “harmony / non-harmonic component separation” of the process P4, the “waveform segment division” process (S1) In addition, in the “grouping” process (S2) and the “representative vector generation for each group” process (S3), a concept such as one period or a plurality of periods of the non-harmonic component waveform itself to be analyzed is not applied. Of course. In addition, when the non-harmonic vector storage unit M2 is used instead of the harmonic vector storage unit M1 and the representative vector of the non-harmonic component waveform is newly generated in the “representative vector generation of each group” process (S3), this is new. It goes without saying that the non-harmonic vector is stored and registered in the non-harmonic vector storage unit M2.
[0042]
Also in the “non-harmonic component analysis”, the “waveform segment division” process similar to the “waveform segment division” process S1 of FIG. 3 is performed, and the vector quantization process is performed on each divided waveform segment. In that case, the method of dividing the non-harmonic component waveform into a plurality of waveform sections is generally divided into a plurality of waveform sections for each part whose characteristics are common or similar or inferred as such. However, in this embodiment, it is proposed that one or both of the following two methods be performed in combination.
[0043]
The first technique uses the periodicity of the harmonic component for the same rendition style section, and divides the non-harmonic component waveform into a plurality of waveform sections in a period that is an integral multiple or a fraction multiple of the harmonic component period. Is. Of course, also in this case, the divided waveform sections do not have to be equally spaced, one waveform section has a length corresponding to two cycles of the harmonic component, and another waveform section has a length corresponding to 10 cycles of the harmonic component. It may be different as appropriate. As described above, the method of performing the segmentation of the non-harmonic component waveform depending on the periodicity of the harmonic component can perform the segmentation of the non-harmonic component waveform without much labor, so that the analysis work can be performed. There is an advantage that it is easy. In addition, when the characteristics of the out-of-harmonic component waveform depend to some extent on the periodicity of the harmonic component, appropriate waveform section division can be easily performed. Although the section division of the non-harmonic component waveform is performed depending on the periodicity of the harmonic component, the waveform section division form of the non-harmonic component is naturally different from the waveform section division form of the corresponding harmonic component. It goes without saying that the harmonic component and the non-harmonic component are each divided into sections independently.
[0044]
The second method is to specifically search each part where the characteristics of the non-harmonic component waveform are common or similar, and to divide the part into a plurality of waveform sections. This method is suitable for a case where a relatively important part in the out-of-harmonic component waveform is extracted and a representative vector corresponding to the extracted portion, that is, an out-of-harmonic vector is selected and generated. Conversely, when extracting less important parts of out-of-harmonic component waveforms and omitting those less important parts as appropriate to select and generate representative vectors, that is, out-of-harmonic vectors, to increase data compression efficiency Also suitable for. In addition, as will be described later, even when data compression is promoted by performing loop reproduction processing of non-harmonic vectors, it is suitable because a section suitable for the loop can be appropriately selected. In both cases of the first method and the second method, it may be performed by a user's manual operation, may be performed by automatic processing by the CPU 10, or a combination of manual operation and automatic processing. You may go.
[0045]
In this embodiment, depending on whether the waveform section division of the non-harmonic component waveform is performed according to the first method or the second method, the contents of the selection and generation processing of the representative vector for the waveform section thereafter are somewhat. It has become different. This point will be described in more detail with reference to a flowchart.
FIG. 5 shows the “out-of-harmonic component analysis” (process P6) in the case where the waveform section division of the out-of-harmonic component waveform is performed according to the first method and the data compression (vector quantization) processing of the out-of-harmonic component is performed. A detailed example is shown. FIG. 6 shows “out-of-harmonic component analysis” (process P6) in the case of performing waveform segmentation of the out-of-harmonic component waveform according to the second method and then performing data compression (vector quantization) processing of the out-of-harmonic component. ) Shows a detailed example.
[0046]
First, the embodiment of FIG. 5 will be described.
In the flow shown in FIG. 5A, first, an out-of-harmonic component waveform to be compressed is prepared (step S10).
Next, according to the period length of the harmonic component corresponding to the non-harmonic component waveform, that is, in synchronization with the periodicity of the harmonic component waveform, the non-harmonic component waveform is divided into a plurality of waveform sections (step S11). . Here, as described above, the non-harmonic component waveform is divided into a plurality of waveform sections in a period that is an integral multiple or a fraction multiple of the period of the harmonic component, that is, in synchronization with the periodicity of the waveform of the harmonic component. . Each divided waveform section does not need to be equally spaced, one waveform section has a length corresponding to ½ period of the harmonic component, another waveform section has a length corresponding to eight periods of the harmonic component, and so on. As appropriate.
[0047]
Next, the position of each waveform section divided in the previous step is adjusted as appropriate (step S12). For example, in the previous step S11, the harmonic components are divided by a uniform reference such as every period, and in this step S12, the user confirms the division result in the previous step S11 with the display unit 15. On the other hand, the length of a certain waveform section is adjusted to increase or decrease by the number of cycles of the harmonic component, or the division position is slightly changed so that the phase of the non-harmonic waveform at the part to be divided becomes a well-separated phase (for example, zero cross phase). The correction which shifts is done. The adjustment or correction processing in this step is not limited to manual operation by the user, but may be performed by automatic processing according to a predetermined correction program, or may be performed by a combination of manual operation and automatic processing. .
[0048]
Next, the characteristics of the non-harmonic waveform in each divided waveform section are analyzed, and grouping is performed (step S13). Similar to the “grouping” process S2 of FIG. 3, this grouping is also performed between the waveform data of each waveform section of the non-harmonic waveform for other performance style sections (including different musical instruments), and the representative vector, that is, the harmonic The sharing of outside vectors shall be promoted. FIG. 5B shows a more detailed flowchart example of the non-harmonic waveform characteristic analysis and grouping processing executed in step S13.
[0049]
5B, in the “peak value analysis” (step S30), it is analyzed where the peak level of the non-harmonic waveform (that is, the noise waveform) is in the divided waveform section. Next, in the “presence location analysis” (step S31), the location where the peak level of the non-harmonic waveform exists in the divided waveform section is the period of the harmonic component corresponding to the waveform section or a predetermined multiple period section. Which part (for example, the first half part, the middle part, or the second half part) corresponds to the analysis. In the next “zero cross frequency analysis” (step S32), the number of times that the amplitude of the non-harmonic waveform is zero crossed in the divided waveform section is analyzed. The intensity of noise-like change can be analyzed by the number of zero crossings. In the next step S33, the waveform section of the non-harmonic waveform is classified into a required group based on the results analyzed in steps S30 to S32. Since the waveform to be grouped is a non-harmonic waveform having no periodicity by itself, a special analysis such as steps S30 to S32 is performed, and the analysis result is used as a condition or reference for grouping. It is devised so that a quantitative evaluation for grouping can be performed. Conditions or evaluation criteria for grouping this type of non-harmonic waveform are not limited to those shown in steps S30 to S32. For example, the level of the DC offset level in the waveform section, the waveform in the waveform section, and the like. Other appropriate conditions or evaluation criteria such as the number of sign inversions of the differential value (which also serves as an index indicating the intensity of noise-like change) may be used, and these conditions or evaluation criteria and the above-described steps S30 to S32 are used. Any number of conditions or evaluation criteria may be used in combination among the three conditions or evaluation criteria. The processing of each step in FIG. 6 may be performed in an interactive manner in accordance with a user's manual operation. Of course, it may be fully automatic processing according to a predetermined program, or may be performed by a combination of manual operation and automatic processing.
[0050]
Returning to FIG. 5 (a), in step S14, whether the processing in steps S11 to S13, that is, the waveform segmentation and its grouping processing, have been completed for all non-harmonic component waveforms to be subjected to data compression processing in the current processing routine. Check. If not completed yet, the process returns to step S11, and the processes of S11 to S13 are performed for the next non-harmonic component waveform. Thus, when the waveform section division and the grouping process are completed for all the non-harmonic component waveforms, the process goes to step S15 to analyze the waveform characteristics of each group. For example, the amplitude envelope characteristic of each waveform in the group is analyzed. In the next step S16, the representative vector of the group is determined using the analysis result in the previous step S15. For example, the waveform having the average amplitude envelope characteristic of the amplitude envelope characteristic of each waveform in the group may be determined as the representative vector. Alternatively, the average frequency characteristic of each waveform in the group, the number of zero crossings, the level distribution, or the like may be determined as a representative vector. Alternatively, a representative vector is selected or determined on the condition that it is average or suitable for being representative of any one or more of amplitude envelope characteristics, frequency characteristics, number of zero crossings, level distribution, and other appropriate characteristics. You may make it do. Then, the determined representative vector of the group is stored as a non-harmonic vector in the non-harmonic vector storage unit M2. Thus, the representative vectors of each group are stored and registered in the non-harmonic vector storage unit M2 as non-harmonic vectors. The out-of-harmonic vector stored in the out-of-harmonic vector storage unit M2 uses a standardized amplitude level, and extracts the amplitude envelope of the out-of-harmonic component waveform of each waveform section as an “amplitude vector”. And Alternatively, the out-of-harmonic vector stored in the out-of-harmonic vector storage unit M2 does not have to normalize the amplitude level. In this case, the low level data is stored at the low level, but in the low level part, the memory storage location can be efficiently utilized by performing limited storage bit allocation. When the amplitude level of the non-harmonic vector stored in the non-harmonic vector storage unit M2 is not normalized, the difference between the amplitude envelope of the non-harmonic component waveform and the amplitude envelope of the non-harmonic vector in each waveform section is defined as an “amplitude vector”. It is good to extract.
[0051]
In the next step S17, rendition style information of each non-harmonic component (including "section information" of each waveform section, "vector information" designating a non-harmonic vector as a representative vector, "amplitude vector", etc.) It memorize | stores in the information storage part M3. In this case, information such as the number of periods of harmonic components corresponding to the non-harmonic vector, that is, the representative vector, is also stored as “section information”. In this case, a common non-harmonic vector can be used for harmonic components having different pitches if the waveform shape itself of the non-harmonic component has similarity or commonality. Of course, the out-of-harmonic vector stored in the out-of-harmonic vector storage unit M2 can be shared in various cases in the same manner as or more than the case of the harmonic vector. For example, a common non-harmonic vector can be used in different waveform sections in the same rendition section (the same non-harmonic waveform with different time axis positions), and different instrument sounds or different rendition section sections can be used. A common non-harmonic vector can also be used in the non-harmonic waveform.
[0052]
Next, the embodiment of FIG. 6 will be described.
First, an out-of-harmonic component waveform to be compressed is prepared (step S20).
Next, in step S21, the characteristics of each part of the non-harmonic component waveform to be processed are observed and analyzed, and divided at locations that match the partial characteristics, and the non-harmonic component waveform is divided into a plurality of waveform sections. To divide. In this case, as a partial feature of the non-harmonic component waveform, analysis is performed in consideration of the position of the waveform, rendition style, characteristics of the waveform shape, etc., and the waveform section to be divided is determined. For example, “attack” (rising part), “body” (steady part of sound), “joint” (part connected to other sounds), “release” (sound attenuation part), etc. are considered as positions. Is done. In terms of relevance to each position, for example, “attack” in “attack”, “with noise” performance, etc. are considered, and “body” in “vibrato” performance, “tremolo” In the “joint”, the “slur” playing method, the “grisand” playing method, the “bend” playing method, etc. are considered, and in the “release”, the “mute” playing method, the “sustain” playing method, etc. are considered. The waveform shape characteristics include amplitude envelope shape (its effective value and peak value, etc.), the number of zero crossings or the period between zero crossings, the number of peaks or the period between peaks, the location of the peak value, and multiple peaks. Various factors such as level distribution may be considered as appropriate.
[0053]
Next, in step S22, waveforms having similar characteristics are grouped based on the characteristics of the non-harmonic waveform in each divided waveform section. The similarity of the characteristics of the out-of-harmonic waveform may be performed on an appropriate basis, such as visual observation of the waveform displayed on the display, or determining the similarity based on audibility by generating a non-harmonic waveform for the waveform section. Similar to the above, this grouping is also performed between the waveform data of each waveform section of the non-harmonic waveform for other performance style sections (including different musical instruments), and the common use of the representative vector, that is, the non-harmonic vector is promoted. Shall.
[0054]
Next, in step S23, it is checked whether or not the processing in steps S21 to S22, that is, the waveform segmentation and its grouping processing, have been completed for all non-harmonic component waveforms to be subjected to data compression processing in the current processing routine. If not completed yet, the process returns to step S21, and the processes of S21 to S22 are performed on the next non-harmonic component waveform. Thus, when the waveform section division and the grouping process are completed for all the non-harmonic component waveforms, the process goes to step S24 to analyze the waveform characteristics of each group. For example, the amplitude envelope characteristic of each waveform in the group is analyzed, and other various characteristics are considered.
[0055]
In the next step S25, the representative vector of the group is determined using the analysis result in the previous step S24. The determined representative vector of the group is stored as a non-harmonic vector in the non-harmonic vector storage unit M2. Thus, the representative vectors of each group are stored and registered in the non-harmonic vector storage unit M2 as non-harmonic vectors. As described above, the out-of-harmonic vector stored in the out-of-harmonic vector storage unit M2 may be a normalized amplitude level or may not be normalized. Here, in this embodiment, it is considered that various different methods as described below are appropriately adopted as a method for compressing the non-harmonic component waveform, and the representative vector considers which compression method is used. It shall be decided according to the standard according to it.
[0056]
Compression example 1: A representative vector having a length of a predetermined period is reproduced once so as to cover the waveform section. This is a compression format corresponding to the “one-shot playback”. For example, a representative vector for a waveform section of a part where the waveform shape of an out-of-harmonic component such as an attack part or a joint part also changes abruptly may be determined so as to meet the compression example 1.
Compression example 2: Compression is performed so as to cover the waveform section by repeatedly reproducing (loop reproduction) a representative vector having a relatively short period length. This is a compression format corresponding to the “loop reproduction”. Note that a plurality of loop representative vectors can be used in the “sequence playback” by combining a plurality of representative vectors in a predetermined order. Further, by setting this sequential combination at random, it can be used for the “random sequence reproduction”. For example, the representative vector for the waveform section of the monotonously decreasing portion or the continuous waveform portion of the same state may be determined so as to meet this compression example 2.
Compression example 3: A part of the non-harmonic component waveform of a less important part may be omitted. For such omitted waveform sections, there is no need to select a representative vector.
[0057]
Next, in step S26, for each waveform section of each non-harmonic component waveform, at the time of reproduction, which non-harmonic vector is used as each representative vector and how the non-harmonic vector should be pasted is determined. To do. This is also related to which type of compression example is used. The pasting method is described as non-harmonic component reproduction mode information (or “pasting information”) indicating which of the following various reproduction modes should be adopted.
[0058]
One-shot reproduction: As described above, one representative vector according to the compression example 1 is used, and this representative vector is pasted (reproduced) to reproduce the non-harmonic component waveform in the waveform section.
Sequence playback: As described above, a plurality of representative vectors according to the compression example 2 are used, and these representative vectors are sequentially pasted (reproduced) in a predetermined order to reproduce an out-of-harmonic component waveform in the waveform section.
Random sequence reproduction: As described above, a plurality of representative vectors according to the compression example 2 are used, and these representative vectors are sequentially pasted (reproduced) in a random order to reproduce the non-harmonic component waveform in the waveform section.
Loop reproduction: As described above, one representative vector according to the compression example 2 is used, and this is repeatedly pasted (reproduced) to reproduce the non-harmonic component waveform of the waveform section. This may be combined with the above sequence playback or random sequence playback.
Alternative loop reproduction: One representative vector according to the compression example 2 is used, and this is repeatedly pasted (reproduced) while changing the forward / reverse direction alternately to reproduce the non-harmonic component waveform of the waveform section. This may be combined with the above sequence playback or random sequence playback.
Delete playback: According to the compression example 3 as described above, the representative vector is not used and the non-harmonic component waveform in the waveform section is deleted. Therefore, only the harmonic component waveform is present in that portion. Note that not all of one waveform section may be in the delete playback mode, but only a part thereof may be in the delete playback mode. In that case, representative vectors are appropriately determined for the remaining portions.
[0059]
In the next step S27, rendition style information of each non-harmonic component ("section information" of each waveform section, "vector information" designating a non-harmonic vector as a representative vector, the above-mentioned "pasting information", and "amplitude vector" Are stored in the rendition style information storage unit M3.
The various out-of-harmonic component regeneration modes described above are not applied only when the “out-of-harmonic component analysis” process according to the second method is performed, but the “out-of-harmonic component analysis” according to the first method. This is also applied as appropriate when the process is performed.
[0060]
FIG. 7 is a graph showing an example of a state in which the non-harmonic component waveform is vector quantized. FIG. 4A schematically shows an example of the original waveform with an amplitude envelope as in FIG. (B) shows an example of an out-of-harmonic component waveform separated from the original waveform. (C) shows an example in which the non-harmonic component waveform of (b) is divided into a plurality of “waveform sections” A1, B1, C1, D1, C2, A2, and C3 by a diagram showing the division of each waveform section. ing. Here, the waveform sections A1 and A2 are sections in which the one-shot reproduction is applied by setting the waveform section according to the second method. The waveform section B1 is a section in which the representative vector is determined in synchronization with the period of the harmonic component according to the first method. In this section, one-shot playback may be employed, or loop playback may be employed. Waveform sections C1, C2, and C3 are sections corresponding to the loop reproduction. The waveform section D1 is a section corresponding to the delete reproduction.
[0061]
Further, specific examples of vector quantization of the non-harmonic component waveform are shown in FIGS.
8 to 10 and 13, (a) in the upper stage shows an example of the original waveform of the non-harmonic component waveform, and (b) in the lower stage is obtained by performing vector quantization according to the above-described various methods and reproducing it. The example of the waveform obtained is shown.
First, FIG. 8 shows that the original waveform is divided into “attack”, “body”, and “release” sections, and the “attack” section and the “release” section are representative of the sections corresponding to the one-shot playback. A vector is determined, and the “body” section shows a compression example in which the non-harmonic component waveform is cut as a section corresponding to the delete reproduction. When actually listening to the playback sound based on this, if the non-harmonic component waveform has an “attack” section and a “release” section, even if the steady timbre stable part (“body” section) is omitted, it is very uncomfortable. I can understand that there is no.
[0062]
FIG. 9 shows a compression example in which the non-harmonic component waveform is divided into four sections F1 to F4, a representative vector having a predetermined size is determined in each section, and these are loop reproduced. Even if it is an out-of-harmonic component, the periodicity appears somewhat by looping the representative vector. However, since the level is low, mixing with the reproduced waveform of the harmonic component makes it uncomfortable.
In FIG. 10, the non-harmonic component waveform is divided into three sections F1, F2, and F3, the original waveform is used as a representative vector as it is in the first section F1 rich in change, and a predetermined size is used in the next sections F2 and F3. An example of compression in which representative vectors are determined, these are reproduced in a loop, and the amplitude envelope is changed is shown. By adding an appropriate amplitude envelope to the loop reproduction waveform in this way, a feeling similar to the original waveform can be obtained.
[0063]
FIG. 11 shows an example of level control in loop reproduction. (A) shows a simple loop reproduction example, and level control is not performed. (B) shows an example in which the peak level of the representative vector to be looped is attenuated to weaken the periodicity (loop correction example with peak correction). (C) shows an example in which a change in amplitude envelope is further added to the reproduction example of (b) to further weaken the periodicity. Thus, it is effective to combine level control with loop reproduction.
FIG. 12A shows an example of normal loop reproduction, and FIG. 12B shows an example of alternative loop reproduction. As can be understood from the figure, the periodicity of the alternative loop reproduction is longer than the periodicity of the normal loop reproduction, so that the size of the representative vector may be further reduced. Therefore, it contributes to further data compression.
[0064]
13 divides the non-harmonic component waveform into eight sections F1 to F8. The attack section F1, the sections F3, F5 and F7 including vibrato, and the release section F8 are representative vectors (non-harmonic vectors) extracted from the original waveform. ) Waveform reproduction is performed using f1, f3, f5, f7, and f8. For the other sections F2, F4, and F6, the non-harmonic vectors f2 ′, f4 ′, and f6 ′ extracted from the other original waveforms are The compression example which performs waveform reproduction | regeneration using it as a representative vector is shown. In each section, an appropriate playback mode such as one-shot playback or loop playback is adopted. For example, with respect to the body section F2, the non-harmonic vector f2 ′ extracted from another original waveform is loop-reproduced as a representative vector, and an amplitude envelope is appropriately added to thereby obtain the original waveform (see FIG. 13A). ). For the other sections F4 and F6, the amplitude waveform is appropriately given to the non-harmonic vectors f4 ′ and f6 ′ extracted from the other original waveforms, and a loop or the like is performed as necessary, so that the original waveforms (FIG. )) Is reproduced and generated. Thus, a common non-harmonic vector can be used for a plurality of different original waveforms. In that case, by controlling various processing methods during playback (including data describing the appropriate playback method such as amplitude vector and pasting information in the compressed data, etc.), it is optimal for each original waveform It is possible to reproduce and generate a non-harmonic component waveform.
[0065]
Next, a description will be given of an embodiment in which musical tone generation processing is performed using compressed data of harmonic components and non-harmonic components created as described above.
FIG. 14 shows a musical score with renditions in order to make full use of the compressed data of the harmonic and non-harmonic components of a large number of rendition style waveforms created as described above when playing an arbitrary musical piece. This schematically shows an example of a processing process. First, musical score information (for example, performance data comprising a MIDI form) is prepared for a desired musical piece for which a musical score with performance style is to be created (step S40). Next, for each performance part of the prepared musical score information, it is analyzed what kind of performance method should be used in the course of each song (step S41). This rendition style analysis may be performed by a person reading a score and making a judgment based on the musical knowledge. Of course, the rendition style analysis may be executed by the CPU 10 according to a predetermined score analysis program, or may be performed by a combination of manual operation and automatic processing.
[0066]
Next, for each performance data of the prepared musical score information, for each performance data, it corresponds to a necessary performance point corresponding to each analyzed performance method in the time-series flow of the performance data. At the place to be played, performance style data indicating each performance style analyzed in step S41 is added (step S42). For example, performance data instructing a required vibrato performance method is added to a location corresponding to the performance point of a note or phrase to which vibrato is applied. Alternatively, rendition style data that indicates a required slur performance style is added to a point corresponding to the time point of performance of a note or phrase to be played with a slur. The location where the required performance data is added is a location corresponding to one note (for example, the same location as a note-on event), or a location corresponding to the middle of one note (for example, a predetermined time after the note-on event of the note). , A rendition event is inserted at a position corresponding to an appropriate point in time before the note-off event of the sound, or a position corresponding to one phrase consisting of a plurality of notes (for example, an on event of a predetermined rendition at the beginning of the phrase) , And an off event of the rendition style is inserted at the end of the phrase). In addition, the content of performance style data to be added includes “performance style name” data indicating the name of various performance styles such as vibrato, slur, staccato, glide, pitch bend, etc., and “parameter” data indicating the level of the performance style. In addition, “range” data indicating a period or range in which the performance style is given is included. The “range” data is data that specifically indicates the rendition style assignment range, such as giving the rendition style to only the corresponding one sound, giving the rendition style to the two preceding and following sounds. When a rendition style is given over a long range, the range may be specified by a rendition style on event and an off event as described above. As described above, the performance data to which performance style data is added is stored in a suitable memory as musical score information with performance style (step S43).
[0067]
FIG. 15 is a functional block diagram schematically showing an example of a process for performing musical tone reproduction, that is, waveform generation, based on musical score information with performance style prepared as described above. This musical tone reproduction, that is, waveform generation processing, is performed by executing a predetermined software program by the CPU 10 using the hardware device of FIG. In the “reproduction control” process S50, as is known in normal automatic performance sequence control, performance data is sequentially read in accordance with a predetermined tempo clock, and a musical sound waveform having a pitch and a tone color indicated by the performance data is generated. . Here, what is different from normal automatic performance sequence control is that the performance data to be played is composed of “musical score information with performance style” created as described above, and is included therein. A characteristic rendition style waveform reproduction / generation process according to rendition style data is performed.
[0068]
The “reproduction control” process S50 will be further described. First, performance data (for example, MIDI data) of each performance part and performance data added thereto are stored in accordance with the performance timing from the “music score information with performance method” storage unit M5. Sequentially read and read. When performance data is read for a certain performance part of the “music score with performance”, a process of generating a performance waveform corresponding to the performance data is performed. First, according to the “musical instrument name” (timbre) specified for the performance part and the “performance method name” and “parameter” data included in the performance data, the performance information storage unit M3 uses these pieces of information. “Performance information” for a specified rendition style waveform, that is, compressed data (first and second compressed data) for the harmonic component and the non-harmonic component is read. As described above, the compressed data (first compressed data) on the harmonic component includes “vector information” indicating a harmonic vector, “section information”, “pitch vector”, “amplitude vector”, and “time vector”. , “Information for controlling the cross-fade loop reproduction mode” and the like. The compressed data (second compressed data) for the non-harmonic component includes “vector information” indicating the non-harmonic vector, “section information”, “pasting information” indicating the reproduction mode, and “amplitude vector”. ”,“ Time vector ”and the like.
[0069]
In the “harmonic read” process S51, the harmonic vector is read from the harmonic vector storage unit M1 based on the “vector information” in the compressed data (first compressed data) regarding the harmonic component.
In the “harmonic processing” process S52, the harmonic vector read from the harmonic vector storage unit M1 and other information of the compressed data (section information, pitch vector, amplitude vector, time vector, information for controlling the crossfade loop reproduction mode, etc.) Based on the above, the required harmonic component waveform is reproduced and generated. That is, the harmonic vector waveform is appropriately looped (repeated) according to the section information, and the pitch is temporally controlled according to the pitch vector (of course, the basic pitch is set and controlled according to the note data included in the MIDI performance data) The amplitude envelope is set and controlled according to the amplitude vector, and the time axis position of the waveform data is expanded or compressed according to the time vector, and the crossfade loop reproduction mode is controlled Amplitude envelope control for crossfade is performed with a fade-in or fade-out characteristic.
[0070]
In the “out-of-harmonic reading” process S53, out-of-harmonic vectors are read out from the out-of-harmonic vector storage unit M2 based on “vector information” in the compressed data (second compressed data) for the out-of-harmonic component.
In the “out-of-harmonic processing” process S54, the required harmonization is based on the out-of-harmonic vector read from the out-of-harmonic vector storage unit M2 and other information (section information, pasting information, amplitude vector, time vector, etc.) of the compressed data. Play and generate external component waveforms. That is, according to the instructions of the pasting information and section information, according to the predetermined non-harmonic component reproduction mode such as the one-shot reproduction, loop reproduction, sequence reproduction, etc., the waveform of the non-harmonic vector is appropriately looped or only once. Paste to the required section. The amplitude envelope is set and controlled according to the amplitude vector, and the time axis position of the non-harmonic component waveform data is expanded or compressed according to the time vector.
[0071]
In addition, when the compressed data of the non-harmonic component to be reproduced is in accordance with the first method (the vector quantization is performed by performing segment division synchronized with the periodicity of the corresponding harmonic component), “vector information” The time length of the non-harmonic vector is appropriately expanded or contracted according to the period of the harmonic component to be reproduced at the same time this time or after reading the non-harmonic vector from the non-harmonic vector storage unit M2 And In consideration of the compression method of the compressed data (the first method), it is more effective that the time length of the non-harmonic vector is expanded and contracted in synchronization with the expansion and contraction of the period of the harmonic component to be reproduced. This is because the reproducibility of the waveform is improved. The non-harmonic vector time length expansion / contraction control may be as simple as changing the readout rate of the non-harmonic vector storage unit M2 in conjunction with the change in the readout cycle (reading rate) of the corresponding harmonic vector. The time axis expansion / contraction control may be employed. Of course, if the compressed data of the out-of-harmonic component to be reproduced is one according to the second method (one obtained by performing segmentation regardless of the periodicity of the harmonic component and vector quantization), basically this is the case. No special consideration is required, but it may be done. In addition, the various playback modes such as “One-shot playback”, “Loop playback”, “Alternative loop playback”, “Sequence playback”, “Random sequence playback”, and “Delete playback” described above are not compatible. It goes without saying that the present invention can also be applied to the case where the compressed data of the component is the one according to the first method (the vector divided by performing the interval division synchronized with the periodicity of the corresponding harmonic component). It is.
[0072]
In the “mixing” process S55, the harmonic waveform and the non-harmonic component waveform reproduced and generated as described above are mixed, and musical tone waveform data obtained by mixing both components is generated. In this way, the musical sound waveform data is reproduced and provided (step S56). The reproduced musical sound waveform data may be supplied to other utilization devices as digital data, or may be converted to analog and spatially sounded through an appropriate sound system. Note that the harmonic component waveform signal and the non-harmonic component waveform signal may be generated separately and mixed in space.
As described above, it is possible to reproduce and generate a musical sound waveform having characteristics that are fairly faithful to the original waveform while adopting a compressed data structure. In addition, by variably controlling the waveform processing in each of the processing steps S52 and S54, a highly useful waveform generation process that is highly controllable while being a high-quality waveform faithful to the original waveform is performed. can do.
[0073]
【The invention's effect】
As described above, according to the present invention, when performing vector quantization processing of an out-of-harmonic component, the out-of-harmonic component waveform is divided into a plurality of sections depending on the periodicity of the corresponding harmonic component, and a vector is generated for each section. Since quantization is performed, it is possible to easily perform segment division of non-harmonic component waveforms without much human effort, so that waveform analysis work for segment division can be performed easily. Excellent effect. In addition, in vector quantization of the non-periodic waveform component, the vector quantization process is performed based on the inherent non-harmonic component that forms the original waveform together with the harmonic component, so that the reproduction accuracy of the non-periodic waveform component is improved. Thus, the present invention makes it possible to easily perform compression processing of out-of-harmonic components, and is extremely useful for realizing vector quantization processing of out-of-harmonic components. It contributes to increasing the waveform compression efficiency, and further exhibits various excellent effects such as excellent reproducibility of the original waveform, particularly excellent reproducibility of out-of-harmonic components.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an outline of a hardware configuration example used to implement a waveform compression method and a waveform generation method according to an embodiment of the present invention.
FIG. 2 is an equivalent block diagram schematically showing a procedure of waveform compression processing executed under the control of a CPU in FIG.
3 is an equivalent block diagram showing a detailed example of “harmonic component analysis” processing in FIG. 2; FIG.
FIG. 4 is a graph showing an example of how a harmonic component waveform is vector quantized.
FIG. 5 is a flowchart showing an example of the “non-harmonic component analysis” process in FIG. 2, wherein the non-harmonic component waveform is divided into a plurality of waveform sections using the periodicity of the harmonic component for analysis. The example which made was shown.
6 is a flowchart showing another example of the “non-harmonic component analysis” process in FIG. 2, and divides the non-harmonic component waveform into a plurality of waveform sections based on the characteristics of the non-harmonic component waveform and performs analysis. The example which made it do.
FIG. 7 is a graph showing an example of a state where vector quantization of an out-of-harmonic component waveform is performed.
FIG. 8 is a graph showing a specific example of vector quantization of an out-of-harmonic component waveform.
FIG. 9 is a graph showing another specific example of vector quantization of an out-of-harmonic component waveform.
FIG. 10 is a graph showing still another specific example of vector quantization of an out-of-harmonic component waveform.
FIG. 11 is a graph showing another specific example of vector quantization of an out-of-harmonic component waveform.
FIG. 12 is a graph showing still another specific example of vector quantization of an out-of-harmonic component waveform.
FIG. 13 is a graph showing another specific example of vector quantization of an out-of-harmonic component waveform.
FIG. 14 is an equivalent block diagram schematically showing an example of a process for preparing a musical score with performance style.
FIG. 15 is an equivalent block diagram schematically showing the procedure of musical tone reproduction, that is, waveform generation processing executed under the control of the CPU in FIG. 1;
[Explanation of symbols]
10 CPU (Central Processing Unit)
11 ROM (Read Only Memory)
12 RAM (Random Access Memory)
13 Hard disk devices
14. Removable disk device (eg CD-ROM drive or MO drive)
15 Display
16 Input operation devices such as keyboard and mouse
17 Waveform interface
18 Timer
19 Interfaces such as MIDI and communication networks
20 CPU bus

Claims (2)

記憶された調和外成分波形データである複数の調和外ベクトルを供給する過程と、
圧縮すべき波形データの調和外成分及びそれに対応する調和成分を供給する過程と、
前記調和成分の周期を検出する過程と、
検出された前記調和成分の周期に基づいて、前記圧縮すべき波形データの調和外成分を複数の区間に分割する過程と、
前記分割された各区間毎に、調和外成分として使用できる調和外ベクトルを前記複数の調和外ベクトルの中からそれぞれ選択して該各調和外成分をベクトル量子化し、該選択された調和外ベクトルを指示する指示情報をそれぞれ含む該各調和外成分についての圧縮データを生成する過程と
を具えた波形圧縮方法。
Supplying a plurality of non-harmonic vectors that are stored non-harmonic component waveform data;
Supplying a non-harmonic component of waveform data to be compressed and a corresponding harmonic component ;
Detecting the period of the harmonic component;
Dividing the non-harmonic component of the waveform data to be compressed into a plurality of sections based on the detected period of the harmonic component ;
For each of the divided sections , an out-of- harmonic vector that can be used as an out- of- harmonic component is selected from the plurality of out-of-harmonic vectors, each of the out-of-harmonic components is vector quantized, and the selected out-of-harmonic vector is A waveform compression method comprising: generating compressed data for each non-harmonic component including instruction information to be indicated .
各区間がそれぞれ特定の時間長を持つ複数の区間について、調和外成分として使用すべき調和外ベクトルを指示する指示情報をそれぞれ含む圧縮データを受け取る過程と、
同時に発生すべき調和成分の波形データを供給する過程と、
記憶された調和外成分波形データである複数の調和外ベクトルを供給する過程と、
調和外成分の圧縮時に調和成分の波形データの周期に同期して分割された前記各区間毎の前記圧縮データにおける前記指示情報が指示する調和外ベクトルを前記複数の調和外ベクトルの中からそれぞれ選択する過程と、
前記発生すべき調和成分の波形データの周期に応じて前記選択された調和外ベクトルの時間長の伸縮を制御する過程と、
前記伸縮制御された調和外ベクトルに基づいて調和外成分の波形データを合成する過程と
を具えた波形生成方法。
A process of receiving compressed data each including instruction information indicating an out-of-harmonic vector to be used as an out-of-harmonic component for a plurality of sections each having a specific time length;
Supplying waveform data of harmonic components to be generated simultaneously;
Supplying a plurality of non-harmonic vectors that are stored non-harmonic component waveform data;
The non- harmonic vectors indicated by the instruction information in the compressed data for each section , divided in synchronization with the period of the waveform data of the harmonic components during compression of the non- harmonic components, are respectively selected from the plurality of non-harmonic vectors. The process of choosing,
Controlling the expansion and contraction of the time length of the selected non-harmonic vector according to the period of the waveform data of the harmonic component to be generated;
A waveform generating method comprising: synthesizing waveform data of out-of-harmonic components based on the out-of-harmonic vector subjected to expansion and contraction control.
JP08497199A 1999-03-25 1999-03-26 Waveform compression method and waveform generation method Expired - Fee Related JP3788096B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP08497199A JP3788096B2 (en) 1999-03-26 1999-03-26 Waveform compression method and waveform generation method
DE60026189T DE60026189T2 (en) 1999-03-25 2000-03-21 Method and apparatus for waveform compression and generation
EP00106126A EP1039442B1 (en) 1999-03-25 2000-03-21 Method and apparatus for compressing and generating waveform
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
JP08497199A JP3788096B2 (en) 1999-03-26 1999-03-26 Waveform compression method and waveform generation method

Publications (2)

Publication Number Publication Date
JP2000276173A JP2000276173A (en) 2000-10-06
JP3788096B2 true JP3788096B2 (en) 2006-06-21

Family

ID=13845524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08497199A Expired - Fee Related JP3788096B2 (en) 1999-03-25 1999-03-26 Waveform compression method and waveform generation method

Country Status (1)

Country Link
JP (1) JP3788096B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1343143B1 (en) 2000-12-14 2011-10-05 Sony Corporation Analysis-synthesis of audio signal

Also Published As

Publication number Publication date
JP2000276173A (en) 2000-10-06

Similar Documents

Publication Publication Date Title
JP4207902B2 (en) Speech synthesis apparatus and program
US6255576B1 (en) Device and method for forming waveform based on a combination of unit waveforms including loop waveform segments
US6687674B2 (en) Waveform forming device and method
EP1039442B1 (en) Method and apparatus for compressing and generating waveform
US6362409B1 (en) Customizable software-based digital wavetable synthesizer
JP2001100760A (en) Method and device for waveform generation
JP3601371B2 (en) Waveform generation method and apparatus
JP3654079B2 (en) Waveform generation method and apparatus
JP3654083B2 (en) Waveform generation method and apparatus
US7427709B2 (en) Apparatus and method for processing MIDI
JP3915807B2 (en) Automatic performance determination device and program
JP3654080B2 (en) Waveform generation method and apparatus
JP3654082B2 (en) Waveform generation method and apparatus
JP3654084B2 (en) Waveform generation method and apparatus
JP3750533B2 (en) Waveform data recording device and recorded waveform data reproducing device
JP3744247B2 (en) Waveform compression method and waveform generation method
JP3788096B2 (en) Waveform compression method and waveform generation method
JP2000276194A (en) Waveform compressing method and waveform generating method
KR100655548B1 (en) Midi synthesis method
JP3904012B2 (en) Waveform generating apparatus and method
JP4152502B2 (en) Sound signal encoding device and code data editing device
JP3804522B2 (en) Waveform compression method and waveform generation method
JP3613191B2 (en) Waveform generation method and apparatus
JP3095018B2 (en) Music generator
JP3933162B2 (en) Waveform generation method and apparatus

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051206

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: 20060307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060320

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: 20090407

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100407

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110407

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120407

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130407

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140407

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees