(57)【要約】 【課題】  演奏フレーズに対応する楽音波形を高品質に生成し得るようにし、また、制御性に富み、また、編集性にも富んだ波形生成を行う。【解決手段】  アーティキュレーション（奏法）等の特徴を有する高品質なノンループ波形とその前後の少なくとも一方につながるループ波形とからなる単位波形データが記憶手段に複数記憶される。生成すべき演奏フレーズのために使用する複数の単位波形データを波形シーケンスによって特定し、該波形シーケンスに従い記憶手段から単位波形データを順次読み出すことで、これら単位波形データに基づく波形の組み合わせからなる該演奏フレーズの楽音波形を生成する。複数の音符からなる任意の演奏フレーズの楽音波形を、それに対応する波形シーケンスを特定することで、容易に生成することができ、しかも、高品質な演奏フレーズ楽音波形を生成することができる。【選択図】  図７
2005037964.tif 000002
【特許請求の範囲】
【請求項１】
繰返し読み出されないノンループ波形とその前後の少なくとも一方につながる繰返し読み出しされる少なくとも１つのループ波形とからなる単位波形データを複数記憶してなる記憶手段と、
複数の任意の前記単位波形データを順次読み出す順序を規定する波形シーケンスに従い、前記記憶手段から前記単位波形データを読み出し、前記複数の任意の単位波形データに基づく波形の組み合わせからなる演奏フレーズの楽音波形を生成する波形形成手段と
を具備する波形生成装置。
【請求項２】
前記波形シーケンスを編集する手段を更に具備することを特徴とする請求項１に記載の波形生成装置。
【請求項３】
複数の波形シーケンスを記憶する手段と、記憶された波形シーケンスの中から、生成すべき演奏フレーズに対応する波形シーケンスを選択する手段とを更に具え、前記波形形成手段では、該選択された波形シーケンスに従い前記記憶手段から前記単位波形データを読み出すことを特徴とする請求項１又は２に記載の波形生成装置。
【請求項４】
前記波形シーケンスを選択する手段は、複数の音符の演奏順序を定義する演奏データに基づき前記波形シーケンスを選択することを特徴とする請求項３に記載の波形生成装置。
【請求項５】
複数の音符の演奏順序を定義する演奏データに基づき、適宜の演奏範囲に対応する波形シーケンスを作成する手段を更に具え、前記波形形成手段では、該作成された波形シーケンスに従い前記記憶手段から前記単位波形データを読み出すことを特徴とする請求項１又は２に記載の波形生成装置。
【請求項６】
繰返し読み出されないノンループ波形とその前後の少なくとも一方につながる繰返し読み出しされる少なくとも１つのループ波形とからなる単位波形データを複数記憶してなる記憶手段を使用して波形を生成する方法であって、
生成すべき演奏フレーズに応じて、複数の任意の前記単位波形データを順次読み出す順序を規定する波形シーケンスを特定するステップと、
前記特定された波形シーケンスに従い、前記記憶手段から前記単位波形データを読み出し、前記複数の任意の単位波形データに基づく波形の組み合わせからなる前記演奏フレーズの楽音波形を生成するステップと
を具備する波形生成方法。
【請求項７】
繰返し読み出されないノンループ波形とその前後の少なくとも一方につながる繰返し読み出しされる少なくとも１つのループ波形とからなる単位波形データを複数記憶してなる記憶手段を使用して波形を生成する手順をコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、前記手順は、
生成すべき演奏フレーズに応じて、複数の任意の前記単位波形データを順次読み出す順序を規定する波形シーケンスを特定するステップと、
前記特定された波形シーケンスに従い、前記記憶手段から前記単位波形データを読み出し、前記複数の任意の単位波形データに基づく波形の組み合わせからなる前記演奏フレーズの楽音波形を生成するステップと
を具備する。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、メモリに記憶した波形データを読み出すことに基づき、楽音あるいは音声若しくはその他任意の音の波形を形成する装置及び方法に関し、特に、繰り返し読み出しされるループ波形を使用するものに関する。この発明は、電子楽器は勿論のこと、自動演奏装置、コンピュータ、電子ゲーム装置その他マルチメディア機器等、楽音あるいは音声若しくはその他任意の音を発生する機能を有する汎ゆる分野の機器若しくは装置または方法において広範囲に応用できるものである。なお、この明細書において、楽音波形という場合、音楽的な音の波形に限るものではなく、音声あるいはその他任意の音の波形を含んでいてもよい意味合いで用いるものとする。
【背景技術】
【０００２】
波形メモリにおいて、ＰＣＭ（パルス符号変調）あるいはＤＰＣＭ（差分ＰＣＭ）又はＡＤＰＣＭ（適応差分ＰＣＭ）等の任意の符号化方式で符号化した波形データ（つまり波形サンプルデータ）を記憶しておき、これを所望の楽音ピッチに対応して読み出すことにより、楽音波形を形成するようにした、いわゆる「波形メモリ読み出し」技術は、既に公知であり、また、様々なタイプの「波形メモリ読み出し」技術が知られている。従来知られた「波形メモリ読み出し」技術のほとんどは、発音開始から終了までの１つの音の波形を発生するためのものである。一例として、発音開始から終了までの１音の全波形の波形データを記憶する方式がある。また、別の例として、変化の複雑なアタック部についてはその全波形の波形データを記憶し、変化のあまりないサステイン部については所定のループ波形を記憶する方式がある（例えば特許文献１）。後者の方式では、ループ波形を記憶する構成であることにより波形データ記憶量を簡素化することができると共に、ループ波形を繰り返し読み出すことにより、音の持続時間を任意に調節することができる。なお、本明細書において、「ループ波形」とは、繰り返し読み出し（ループ読み出し）される波形という意味で用いるものとし、「ループ再生波形」とは、「ループ波形」を繰り返し読み出し（ループ読み出し）することで得られた（再生された）波形という意味で用いるものとする。
【特許文献１】特開昭５９−１８８６９７号公報
【０００３】
また、１つの音の発生のために、複数のループ波形を使用し、各ループ波形を特定のシーケンスに従って順次切り替えて読み出し、相前後するループ波形のループ読出出力データ（つまり「ループ再生波形」）をクロスフェード合成することで、各ループ再生波形が滑らかに接続されるようにした技術も知られている（例えば特許文献２）。この場合、クロスフェード合成は、所定のクロスフェード区間において行なわれるようになっており、上述した単純な１つのループ波形の繰り返し読み出し技術とは異なり、個々のクロスフェード区間の時間長を任意に可変調節することについては示されていない。また、この種のループ波形は、１つの音に対応する上記特定のシーケンスでのみ用いられるものである。
【特許文献２】特開昭６２−１４６９６号公報
【０００４】
一方、音声信号の時間軸圧縮技術としては、例えば特許文献３に示されたものがある。そこでは、音声波形を母音区間と子音区間とに分け、子音区間の時間軸圧縮比率を相対的に小さくし、母音区間の時間軸圧縮比率を相対的に大きくすることが示されている。また、特許文献４においては、子音区間では時間軸圧縮制御を行なわず、母音区間でのみ時間軸圧縮制御を行なうことが示されている。しかし、これらの技術は、音声信号のデータ圧縮のためのものであり、音のアーティキュレーション（奏法）を考慮したり、そのコントロールを可能にすることとは全く無関係である。
【特許文献３】特開平１−９３７９５号公報
【特許文献４】特開平５−２７４５９９号公報
【０００５】
従来のループ波形を用いた楽音波形形成技術においては、記憶する波形データ量を簡素化することに関しては適していたが、それと引き替えに、表現力のある楽音波形の形成には適さないものであり、また、音のアーティキュレーション（奏法）を考慮した楽音波形の形成とは無関係であった。一方、繰り返し読み出しをしない波形（これをノンループ波形ということにする）を複数周期にわたって記憶しておき、これを読み出すことにより楽音波形を形成する方式においては、記憶した複数周期波形それ自体は、品質のよい、音のアーティキュレーション（奏法）を考慮した楽音波形であるということができるが、記憶した波形データの通りにしか再生することができないので、制御性に乏しく、また、編集性にも乏しかった。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
この発明は上述の点に鑑みてなされたもので、ループ波形を使用して、楽音波形を形成する場合において、音のアーティキュレーション（奏法）を考慮した品質のよい波形形成を行なうことができる波形生成装置及び方法を提供しようとするものであり、特に、演奏フレーズに対応する楽音波形を高品質に生成し得るようにした波形生成装置及び方法を提供しようとするものである。更には、制御性に富み、また、編集性にも富んだ波形生成装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る波形生成装置は、繰返し読み出されないノンループ波形とその前後の少なくとも一方につながる繰返し読み出しされる少なくとも１つのループ波形とからなる単位波形データを複数記憶してなる記憶手段と、複数の任意の前記単位波形データを順次読み出す順序を規定する波形シーケンスに従い、前記記憶手段から前記単位波形データを読み出し、前記複数の任意の単位波形データに基づく波形の組み合わせからなる演奏フレーズの楽音波形を生成する波形形成手段とを具備する。
【０００８】
この発明によれば、繰返し読み出されないノンループ波形とその前後の少なくとも一方につながる繰返し読み出しされる少なくとも１つのループ波形とからなる単位波形データが記憶手段に複数記憶されており、生成すべき演奏フレーズを実現するのに使用する複数の単位波形データを波形シーケンスによって特定し、この波形シーケンスに従って該記憶手段から単位波形データを順次読み出すことで、これらの単位波形データに基づく波形の組み合わせからなる当該演奏フレーズの楽音波形を生成する。これによって、複数の音符からなる任意の演奏フレーズの楽音波形を、それに対応する波形シーケンスを特定することで、容易に生成することができる。しかも、各単位波形データに含まれるノンループ波形は、アーティキュレーション（奏法）等の特徴を有する高品質な波形であるので、高品質な演奏フレーズ楽音波形を生成することができる。
【０００９】
また、ノンループ波形は、アーティキュレーション（奏法）等の特徴を有する高品質な波形であるが、複雑な特徴を持つが故に、それ自体では他の任意の波形と滑らかに接続するのに適していないが、この発明によれば、ノンループ波形の前後の少なくとも一方にループ波形を具備してなる単位波形データを用いるので、単位波形データ同士の接続を容易にかつ滑らかに行うことができる。したがって、この発明によれば、アーティキュレーション（奏法）等の特徴を有する高品質な波形であるノンループ波形同士を簡便に組み合わせて自由な演奏フレーズの楽音波形形成を行うことができるようになり、制御性に富み、また、編集性にも富んだ形態で、音のアーティキュレーション（奏法）を考慮した品質のよい波形形成を行なうことができるようになる、という優れた効果を奏する。
【００１０】
また、ノンループ波形は、一般に、再生時間長が固定されるので、その再生時間長を可変するには、再生ピッチを変えるしかない。従って、再生ピッチに影響を与えることなく、ノンループ波形の再生時間長を可変制御するのには困難が伴う。これに対して、ループ波形は、ループ回数を可変制御することにより、再生ピッチに影響を与えることなく、その再生時間長を伸縮可変制御することができるので、波形データの時間軸伸縮制御が容易である。したがって、この発明によば、ループ波形の時間軸伸縮制御が容易である点に着目して、ループ波形の部分で時間軸伸縮制御を行うことにより、高品質のノンループ波形とループ波形とを含む楽音波形全体の再生時間長を伸縮可変制御することができる、という優れた特徴を有するものである。
【００１１】
これによって、例えば、複数の音符に対応するフレーズ演奏の波形を時間軸伸縮制御することで種々の特殊な制御を実現することができるようになる。例えば、第１，第２，第３の各音符の主要部はそれぞれノンループ波形で構成し、各音符をスラー等の特殊な奏法でつなぐ部分もノンループ波形で構成し、各ノンループ波形をつなぐ部分をそれぞれループ波形で構成する。その場合、各ノンループ波形のループ再生区間を適宜の時間軸伸縮比でそれぞれ制御すれば、各音符の長さを所定の比率で均一に伸縮することができる（例えば８分音符を４分音符に変える等）。若しくは、それによって、見かけ上の演奏テンポを可変することができる。あるいは、特定の音符についてのループ波形を他とは異なる時間軸伸縮比で制御することにより、該特定の音符だけその音符長を変化させることができる。例えば、８分音符の３連符からなるフレーズを、８分音符１個と１６分音符２個からなるフレーズに変更する、といった制御が可能となる。
【００１２】
本発明は、装置発明として構成し、実施することができるのみならず、方法発明として構成し、実施することもできる。また、本発明は、コンピュータプログラムの形態で実施することができるし、そのようなコンピュータプログラムを記憶した記録媒体の形態で実施することもできる。更に、本発明は、新規な波形データ構造からなる波形データを記憶した記録媒体の形態で実施することもできる。
【発明を実施するための最良の形態】
【００１３】
以下、添付図面を参照してこの発明の実施の形態を詳細に説明しよう。
図１は、この発明の一実施例に係る波形生成装置のハードウェア構成例を示すブロック図である。ここに示されたハードウェア構成例はコンピュータを用いて構成されており、そこにおいて、波形形成処理は、コンピュータがこの発明に係る波形形成処理を実現する所定のプログラム（ソフトウェア）を実行することにより実施される。勿論、この波形形成処理は、コンピュータソフトウェアの形態に限らず、ＤＳＰ（ディジタル・シグナル・プロセッサ）によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウェア装置の形態で実施してもよい。また、この波形生成装置は、電子楽器あるいはカラオケ装置又は電子ゲーム装置又はその他のマルチメディア機器又はパーソナルコンピュータ等、任意の製品応用形態をとっていてよい。
【００１４】
図１に示されたハードウェア構成例においては、コンピュータのメイン制御部としてのＣＰＵ（中央処理部）１００に、ＲＯＭ（リードオンリーメモリ）１０１、ＲＡＭ（ランダムアクセスメモリ）１０２、ハードディスク装置１０３、リムーバブルディスク装置（例えばＣＤ−ＲＯＭドライブ若しくはＭＯドライブなど）１０４，表示器１０５，キーボード及びマウス等の入力操作装置１０６，波形インタフェース１０７，タイマ１０８、通信インタフェース１０９，ＭＩＤＩインタフェース１１０等が、バス１１１を介して接続されている。波形インタフェース１０７は、外部からアナログ波形信号（オーディオ信号）を入力してディジタル信号に変換してバス１１１に送り出す機能と、このコンピュータにより実行した波形形成処理によって形成されたディジタル波形データをバス１１１を介して受け取り、アナログ変換してスピーカシステム等に出力する機能等を有するものである。もちろん、形成されたディジタル波形データをディジタルデータのまま外部に転送出力することも可能である。
【００１５】
この波形生成装置が楽器の製品応用形態をとっている場合は、入力操作装置１０６におけるキーボードとして、所望の楽音ピッチを選択・指定するための演奏キーボードを含んでいる。一方、この波形形成装置が楽器以外の製品応用形態をとっている場合は、ＭＩＤＩインタフェース１１０にＭＩＤＩキーボードモジュールを接続し、これにより所望の楽音ピッチを選択・指定することができる。また、所望の楽音ピッチを選択・指定は、自動演奏データの形態で与えるようにしてもよい。自動演奏データは、ＲＯＭ１０１、ＲＡＭ１０２、ハードディスク装置１０３、リムーバブルディスク装置１０４等のいずれかの記憶装置に記憶されているものを読み出すことにより与えられるようになっていてもよいし、ＭＩＤＩインタフェース１１０を介して外部から与えられるようにしてもよい。特に詳しく説明しないが、電子楽器の分野では通常知られているように、入力操作装置１０６においては、各種音色や楽音効果、音量等、各種楽音要素の選択・設定等を行うためのスイッチや操作子類が適宜設けられている。また、これらの各種楽音要素の選択・設定は、上記と同様に自動演奏データの形態で与える要になっていてもよい。
【００１６】
波形データを記憶する波形メモリＷＭの機能は、どのタイプのデータ記憶装置が受け持ってもよい。すなわち、ＲＯＭ１０１、ＲＡＭ１０２、ハードディスク装置１０３、リムーバブルディスク装置１０４のいずれを波形メモリＷＭとして機能させてもよい。一般的には、大容量の記憶装置であるハードディスク装置１０３における適宜の記憶領域あるいはリムーバブルディスク装置１０４に着脱可能なＣＤ−ＲＯＭやＭＯ等のリムーバブルな記録媒体を、波形データベースとしてつまり波形メモリＷＭとして、機能させればよい。あるいは、外部のホスト又はサーバコンピュータに具備されている波形データベースに対して、通信インタフェース１０９及び通信回線を介してアクセスし、必要な波形データをハードディスク装置１０３あるいはＲＡＭ１０２等にダウンロードするようにしてもよい。
【００１７】
ＣＰＵ１００の制御の下で、この発明に係る波形形成処理を実行するソフトウェアプログラムは、ＲＯＭ１０１又はＲＡＭ１０２あるいはハードディスク装置１０３のいずれに記憶しておくようにしてもよい。また、このプログラムは、リムーバブルディスク装置１０４に着脱可能なＣＤ−ＲＯＭやＭＯ等のリムーバブルな記録媒体に記録されていてもよく、また、外部のホスト又はサーバコンピュータから通信回線及び通信インタフェース１０９を介して該プログラムを受信し、ハードディスク装置１０３あるいはＲＡＭ１０２等にダウンロードするようにしてもよい。
【００１８】
波形メモリＷＭにおいては、多数の単位波形の波形データが記憶されている。単位波形とは、それを一つの単位として選択することが可能な波形の一単位を指す。単位波形には、複数のタイプがあり、そのタイプは、音楽的若しくは感性的な意味と、データ読み出しの仕方に基づく技術的意味の、両面から分類するようにしてよい。技術的意味に基づく分類は、その波形データを繰り返し読み出しするか否かによる分類であり、便宜上、波形データが繰り返し読み出しされるものを「ループ波形」といい、波形データが繰り返し読み出しされないものを「ノンループ波形」という。一方、音楽的若しくは感性的な意味に基づく分類は、その波形が、音のどのような部分若しくは区間で使用されるのに相応しいか、ということに基づく分類である。例えば、音の立ち上がり部分（アタック部）で使用されるのに相応しい単位波形を「アタック部波形」、音の立ち下げ部分（リリース部）で使用されるのに相応しい単位波形を「リリース部波形」、音の持続部分（サステイン部）で使用されるのに相応しい単位波形を「サステイン部波形」、スラー等の特定の奏法に従う音と音のつながり部分で使用されるのに相応しい単位波形を「つなぎ奏法波形」、あるいは、ビブラートやトレモロ等の特定の奏法に従って音の持続部で使用されるのに相応しい単位波形を「中間奏法波形」、等のように、適宜に分類し、適切に名付けることができる。
【００１９】
通常の演奏では、定常的でない波形が連続することはまれであり、「ノンループ波形」が必要な部分でもその前後は定常的な波形となる。従って、奏法を色濃く表現する波形であっても、ほとんどの場合「ノンループ波形」の両端に「ループ波形」を含むような単位波形で表現できる。概して、微妙なアーティキュレーション（奏法）が要求される部分で使用されるのに相応しい単位波形としては、そのアーティキュレーション（奏法）の特徴を色濃く表現することができる「ノンループ波形」を含んで使用するのがよい。「ノンループ波形」は、通常、そのアーティキュレーション（奏法）の特徴を表現するのに必要十分な複数周期分の波形からなる。一方、比較的単調な音の部分では、「ループ波形」を使用するのが、波形データ記憶容量の節約の点で都合がよい。「ループ波形」は、通常、１周期または適当な複数周期分の波形からなる。「ループ波形」は、それ単独で、比較的単調な音部分の単位波形として、例えば「サステイン部波形」の単位波形として、使用することができる。その場合に、複数の「ループ波形」を適宜順次組み合わせることにより、つまり、複数の単位波形を順次組み合わせることにより、一連の音の持続部分の波形を形成するようにしてもよく、それは音の品質を上げることができる点で有利である。また、単位波形同士の接続をクロスフェード合成によって滑らかに行うために、その接続箇所部分で、「ループ波形」を使用するのも有利である。しかして、「ノンループ波形」を含む単位波形にあっても、他の単位波形との接続箇所となる始端又は終端において予め「ループ波形」を含むことが、好ましい一実施の形態として考えられる。よって、「ノンループ波形」の両端に「ループ波形」を含むような単位波形であれば、前後の「ループ波形」で他の単位波形と接続ができるので、例えば、「つなぎ奏法波形」または「中間奏法波形」の単位波形として、使用することができる。一方、「ノンループ波形」のみで構成される単位波形があってもよい。ただし、そのような単位波形の場合、接続点において適切な位相合わせ処理等を行ったとしても、他の単位波形と滑らかに接続することは困難である。
なお、以下では「サステイン部波形」、「つなぎ奏法波形」、「中間奏法波形」等をすべてまとめて「中間波形」と呼ぶことにする。
【００２０】
図２は、波形メモリＷＭに記憶されるいくつかの単位波形の典型例を示す概略図である。図示の簡略化のために、実際の波形図形は略示にて示し、波形の所在の概要を四角枠で囲って図示している。なお、この図示例では、記憶する波形データの振幅ピークレベルを規格化せずに、任意の振幅エンベロープが付与された状態のまま記憶しておくようにしている。勿論、これに限らず、波形データの振幅ピークレベルを一定値に規格化して記憶しておき、読出・再生時に、所要の振幅エンベロープを付与するようにしてもよい。図で横軸はメモリのアドレスである。なお、波形メモリＷＭに記憶する各単位波形の波形データは、典型的には、ＰＣＭ化された波形サンプルデータであるものとする。しかし、波形データのコード化フォームは、ＰＣＭに限らず、ＤＰＣＭあるいはＡＤＰＣＭ等であってもよい。
【００２１】
図２（ａ）はアタック部波形の一例であり、このアタック部波形ＡＵＷは先行するノンループ波形ＮＬＷと後続するループ波形ＬＷとからなっている。波形メモリＷＭにおけるこのアタック部波形ＡＵＷのノンループ波形の開始点は特定のスタートアドレスＮＬＳによって、終了点は特定のエンドアドレスＮＬＥによって特定される。また、ループ波形ＬＷの開始点は特定のループスタートアドレスＬ２Ｓ（＝ＮＬＥ）によって、終了点は特定のループエンドアドレスＬ２Ｅによって特定される。
【００２２】
図２（ｂ）はサステイン部波形を含む中間波形ＩＵＷに該当する単位波形の一例であり、この中間波形ＩＵＷは、所定のノンループ波形ＮＬＷの前後にループ波形ＬＷをそれぞれ配置して１つの単位波形を構成している。波形メモリＷＭにおけるこの中間波形ＩＵＷのループ波形ＬＷの開始点は特定のループスタートアドレスＬ１Ｓによって、終了点は特定のループエンドアドレスＬ１Ｅによって特定される。また、ノンループ波形ＮＬＷの開始点は特定のスタートアドレスＮＬＳ（＝Ｌ１Ｅ）によって、終了点は特定のエンドアドレスＮＬＥによって特定される。また、ノンループ波形ＮＬＷに後続するループ波形ＬＷの開始点は特定のループスタートアドレスＬ２Ｓ（＝ＮＬＥ）によって、終了点は特定のループエンドアドレスＬ２Ｅによって特定される。なお、中間波形ＩＵＷに該当する単位波形の形態は、これに限らず、図２（ｄ）に示すように１つのループ波形ＬＷのみからなっていてもよい。この場合におけるループ波形ＬＷの開始点は特定のループスタートアドレスＬ１Ｓによって、終了点は特定のループエンドアドレスＬ１Ｅによって特定される。
【００２３】
図２（ｃ）はリリース部波形ＲＵＷの一例であり、このリリース部波形ＲＵＷは先行するループ波形ＬＷと後続するノンループ波形ＮＬＷとからなっている。波形メモリＷＭにおけるこのリリース部波形ＲＵＷのループ波形ＬＷの開始点は特定のループスタートアドレスＬ１Ｓによって、終了点は特定のループエンドアドレスＬ１Ｅによって特定される。また、ノンループ波形ＮＬＷの開始点は特定のスタートアドレスＮＬＳ（＝Ｌ１Ｅ）によって、終了点は特定のエンドアドレスＮＬＥによって特定される。なお、前述のとおり、アタック部波形ＡＵＷ又はリリース部波形ＲＵＷは、ループ波形ＬＷを含まずに、ノンループ波形ＮＬＷのみからなっていてもよい。
【００２４】
ループスタートアドレスＬ１Ｓ（またはＬ２Ｓ）は前述の通りループ波形ＬＷの開始点のアドレスであり、繰り返し読み出しつまりループ読み出しの開始アドレスを示す。ループエンドアドレスＬ１Ｅ（またはＬ２Ｅ）はループ読み出しのおわりのアドレスである。ただし、ループエンドアドレスの特定については、直接ループエンドアドレスを特定することなく、例えば、該ループ波形ＬＷの長さをアドレス数によって示すデータ（すなわち、ループ長ＬＬ）を備え、「ＬＳ＋ＬＬ」によってループエンドアドレスを特定することによってもよい。この場合には、当該ループ波形ＬＷの繰り返し読み出しつまりループ読み出しは、ループスタートアドレスＬ１Ｓ（またはＬ２Ｓ）からループエンドアドレス「Ｌ１Ｓ（またはＬ２Ｓ）＋ＬＬ」までの波形データを繰り返し読み出すことにより行われる。
【００２５】
以下の説明では、便宜上、ループ波形ＬＷとノンループ波形部ＮＬＷとを適宜組み合わせた構造である単位波形をまとめて「ユニット波形」と呼び、ループ波形ＬＷのみで構成される単位波形を単に「ループ波形」と呼ぶことにする。
【００２６】
図３は、ユニット波形（すなわち、アタック部波形ＡＵＷ、中間波形ＩＵＷ、リリース部波形ＲＵＷ）の具体的な記憶例のいくつかを示したものである。図３の左側から順にアタック部波形ＡＵＷ、中間波形ＩＵＷ、リリース部波形ＲＵＷを表すユニット波形の一実施例を示した。ただし、波形そのものではなくエンベロープによって波形の所在の概要を四角枠内に示した。
【００２７】
図３から理解できるように、波形メモリＷＭにおいては様々な音についての、アタック部波形ＡＵＷ、リリース部波形ＲＵＷ、およびつなぎ奏法波形等を含む中間波形ＩＵＷ毎に波形データを多数記憶するようにしている。この場合、複数の音色及び楽音特性（音高又は音域に応じた特性や、ビブラート、スラー等の変調特性）に対応した波形データをそれぞれ記憶することができる。すなわち、複数周期波形からなる単位波形を、各音色に対応して単に１種類だけ記憶するのではなく、各音色毎に、音高または音域に対応して、あるいはタッチ（ベロシティ）の強さに対応して、あるいは様々な奏法（ビブラート、トレモロ、ピッチベンド、スラー等）または奏法態様（速いスラー、ゆっくりしたスラー等）に対応して、複数種類記憶する。例えば、アタック部波形ＡＵＷには「鋭い立ち上がり」や「グライドを伴ったゆっくりした立ち上がり」の波形等、リリース部波形ＲＵＷには「ビブラート付きの急速な立ち下がり」の波形等、中間波形ＩＵＷには「次音のアタックの小さなテヌート」の波形等を各々記憶する。また、必ずしも各音色毎に異なる記憶波形データを使用しなければならないわけでなく、異なる音色間で共通の波形データを使用するようにすることもできる。さらに、記憶する複数周期波形は、オリジナル波形の音量エンベロープをそのまま具備しているものであってもよいし、あるいは、音量エンベロープを一定レベルに規格化したものであってもよい。また、記憶する複数周期波形は、外部からサンプリングした波形そのものに限らず、適宜の波形加工処理（クロスフェード合成やフィルタ処理等）を施したものであってもよい。
【００２８】
図４（ａ）は、波形メモリＷＭにおける記憶フォーマットを略示する図であり、波形メモリＷＭは管理データ領域と波形データ領域とからなる。波形データ領域は、上述したような様々なタイプの単位波形の波形データ（具体的な波形サンプルデータ）をそれぞれ個別に記憶する領域である。管理データ領域は、波形データ領域に記憶している個々の波形データについて必要な各種の管理情報を記憶している領域である。
図４（ｂ）〜（ｅ）は、管理データ領域に記憶される各波形データ毎の管理データの具体的なフォーマットを、いくつかのタイプの単位波形について例示するものである。（ｂ）はループ波形ＬＷのみからなる中間波形ＩＵＷ（すなわち、「サステイン部波形」）についての管理データの一例、（ｃ）はノンループ波形ＮＬＷと第２のループ波形とからなるアタック部波形ＡＵＷについての管理データの一例、（ｄ）は第１のループ波形ＬＷとノンループ波形ＮＬＷと第２のループ波形とからなる中間波形ＩＵＷ（すなわち、「つなぎ奏法波形」または「中間奏法波形」）についての管理データの一例、（ｅ）は第１のループ波形ＬＷとノンループ波形ＮＬＷとからなるリリース部波形ＲＵＷの管理データの一例を示す。  なお、図４においてはアタック部波形ＡＵＷ、中間波形ＩＵＷ、リリース部波形ＲＵＷの各々で異なるフォーマットを用いているが、これら全ての波形のフォーマットを図４（ｄ）のようなフォーマットにしてもよい。ただし、この場合には、各波形の区別を後述の識別データＩＤによって行うようにする。
【００２９】
図示した管理データフォーマットにおいて、タイプデータＴＹＰＥは、その単位波形がいかなるタイプのものであるかを示すデータである。例えば、（ｂ）の場合は「ループ波形ＬＷのみからなる中間波形ＩＵＷ」ということがタイプデータＴＹＰＥによって示され、（ｃ）の場合は「ノンループ波形ＮＬＷと第２のループ波形ＬＷからなるアタック部波形ＡＵＷ」ということがタイプデータＴＹＰＥによって示され、（ｄ）の場合は「第１のループ波形ＬＷとノンループ波形ＮＬＷと第２のループ波形ＬＷからなる中間波形ＩＵＷ」ということがタイプデータＴＹＰＥによって示され、（ｅ）の場合は「第１のループ波形ＬＷとノンループ波形ＮＬＷとからなるリリース部波形ＲＵＷ」ということがタイプデータＴＹＰＥによって示される。その他、タイプデータＴＹＰＥは、上述した各種のタイプに応じて、当該タイプを示すことができるような情報からなる。識別データＩＤは、個々の波形データを識別するデータ（例えば個別波形データのファイル名）である。
【００３０】
上述したように、単位波形はアタック部波形ＡＵＷ、中間波形ＩＵＷ、リリース部波形ＲＵＷ、ループ波形ＬＷ毎に各々複数種類記憶される。そこで、識別データＩＤを付加することで、各々の波形の種類内において単位波形の区別を行うことができるようになる。スタートアドレス（Ｌ１Ｓ、ＮＬＳ、Ｌ２Ｓ等）およびエンドアドレス（Ｌ１Ｅ、ＮＬＥ、Ｌ２Ｅ等）は、ループ波形ＬＷまたはノンループ波形ＮＬＷの各々のスタートアドレスおよびエンドアドレスを示す（図２参照）。位相情報（Ｌ１Ｐ、Ｌ２Ｐ等）は、ループ波形ＬＷの波形開始時における初期位相データである。また、その他の情報には、ピッチや音量や振幅といったデータが含まれる。なお、データフォーマットは上述のものだけに限られるものではなく、例えば、位相情報等を備えていないものであってもよい。
ここで説明した各種の単位波形は、データベースによって管理されている。ユーザは該データベースを、属性、奏法およびその態様、音高、タッチ、音量等の１乃至複数をキーとして参照することにより、所望の単位波形を見つけることができる。
【００３１】
図１に示すような波形形成装置において、波形の形成は、コンピュータがこの発明に係る波形形成処理を実現する所定のプログラム（ソフトウェア）を実行することにより実施される。この際に、波形メモリＷＭから複数の単位波形を所定のシーケンスで選択的に順次読み出して、これら各単位波形の読み出し出力波形データを組み合わせることによって、一連の音（１または複数の音若しくは音の一部分等）の波形形成が行われる（以下、このシーケンスを波形シーケンスＷＳと呼ぶ）。図５は、１つの波形シーケンスＷＳにおけるその一部のシーケンスデータの一例を示し、ＲＡＭ１０またはハードディスク装置１０３等の適宜のデータ記憶装置内に設定された波形シーケンスメモリ部に記憶されるものである。図６は、前記波形形成処理を実現する所定のプログラム（ソフトウェア）のフローチャートの一実施例を示したものである。
【００３２】
図５の波形シーケンスＷＳは、後述の図８（ａ）に示した波形を再生することのできる波形シーケンスＷＳを一例として示したものである。
波形シーケンスＷＳは、単位波形を選択するデータ（ＡＵＷ（５），ＬＷ（１２），・・・）と当該単位波形の再生を開始する時間（つまり、当該単位波形で示される音の発音開始時間）を示すタイミングデータ（Ｄｔ０，Ｄｔ２，・・・）とを含む「波形イベント」により構成される。前記波形選択データは、図４に示した管理データ領域における識別データＩＤに対応するものであり、また、前記タイミングデータは、図８（ａ）に示した再生波形図における各単位波形の再生開始時間に対応するものである（すなわち、Ｄｔ０に対してｔ０、Ｄｔ２に対してｔ２、・・・）。
各波形イベントに対応するタイミングで対応する単位波形の再生読み出しが開始され、波形形成が行われる。図５の例では、最初の波形イベントに対応してタイミングデータＤｔ０と波形選択データＡＵＷ（５）（アタック部波形ＡＵＷの属性を持つ）が記憶され、次の波形イベントに対応してタイミングデータＤｔ２と波形選択データＬＷ（１２）（ループ波形ＬＷの属性を持つ）が記憶され、さらに次の波形イベントに対応して タイミングデータＤｔ３と波形選択データＩＵＷ（８）（中間波形ＩＵＷの属性を持つ）が記憶される、といったように波形シーケンスＷＳが構成されている。
なお、タイミングデータは上述の説明では絶対時間を示すものとしたがこれに限られるものではなく、例えば、相対時間、あるいはイベント間の差分時間を示すものであってもよい。ただし、ループ再生波形をクロスフェード合成する場合はクロスフェード時間つまりクロスフェード合成区間長を示すものとする。
【００３３】
図６に示した波形再生処理のフローチャートは、例えばＭＩＤＩフォーマット等からなる自動演奏シーケンスデータに基づき、波形再生開始指示（例えば、曲選択）を受信したような場合に開始される。
最初のステップＳ１において、再生を行う曲データおよびその曲データの中の再生範囲の指定命令を受信する。ステップＳ２では、指定された再生範囲の再生のために必要な波形シーケンスＷＳが予め波形シーケンスメモリ部に記憶されているかを判定し、記憶されていた場合（ＹＥＳ）には、ステップＳ４に行き、指定範囲の波形シーケンスＷＳに基づき波形を形成して再生する処理（波形形成処理）を行う。波形シーケンスメモリ部に該当する波形シーケンスＷＳが存在しない場合（ステップＳ２のＮＯ）には、必要な波形シーケンスＷＳを作成した後に（ステップＳ３）、作成した波形シーケンスＷＳに応じて波形を形成して再生する（ステップＳ４）。
【００３４】
このように、例えばＭＩＤＩフォーマットからなる曲データに基づき必要な波形シーケンスＷＳを特定し、これに基づき波形を形成する。そして、この際に曲データの再生範囲に応じた波形シーケンスＷＳが予め存在しない場合には、ステップＳ３において、曲データの特徴に応じて波形シーケンスＷＳを自動作成する。例えば、音符データに重なりがあるならば（すなわち、スラーを検出した場合）単位波形としてスラー奏法波形を選択し、または音量データが徐々に増加または減少していたならばクレッシェンド奏法波形またはデクレッシェンド奏法波形を選択し、またはピッチベンドが時間的に変化していたならば当該ピッチベンドの時間変化カーブに応じたピッチベンド奏法波形を選択する、等と必要な単位波形を選択的に組み合わせて新規の波形シーケンスＷＳを作成する。つまり、ステップＳ３は、ＭＩＤＩフォーマット等で表現された曲データを波形シーケンスＷＳに変換する変換ステップであるといえる。
なお、本実施例においては波形シーケンスＷＳに応じた波形形成と形成された波形データに基づく再生発音を一連の処理で行っているが、波形シーケンスＷＳに基づき形成した波形データをバッファメモリに記憶しておき、その後の再生発音指示に従ってバッファメモリから波形データを読み出して再生発音するようにしてもよい。
【００３５】
図７は、上述のステップＳ４で実行する波形形成処理のフローチャートの一実施例を詳細に示したものである。
最初のステップＳ１０において、波形シーケンスＷＳの最初の波形イベントをセットする（読み出す）。図５の例では、例えばタイミングデータＤｔ０のイベントが最初の波形イベントであったとすると、該タイミングデータＤｔ０と波形選択データＡＵＷ（５）が読み出され、レジスタにセットされる。次のステップＳ１１では、ストップ命令ＳＴＯＰを受け付ける。ＮＯであれば、ステップＳ１２に行き、セットされたイベントのタイミングつまり発音開始タイミングが到来したかを判定する。処理は、ステップＳ１１とステップＳ１２によるループで、ストップ命令ＳＴＯＰの発生、ないし、発音開始タイミングの到来まで待機する。発音開始タイミングが到来したら、ステップＳ１４で、当該波形イベントにおける波形選択データがユニット波形であるか、それともループ波形であるかの判断を行う（ステップＳ１４）。
【００３６】
波形選択データがユニット波形であった場合（通常は、最初はアタック部波形ＡＵＷであり、先頭がノンループ波形ＮＬＷからなるが、これに限らない）、ステップＳ１５に行き、当該ユニット波形の前記管理データに基づいてノンループ波形ＮＬＷの波形データを順次読み出す。このノンループ波形ＮＬＷの波形データの読み出しを終了したら、ステップＳ１６に進み、このユニット波形において上記ノンループ波形ＮＬＷの後に続いているループ波形ＬＷの読み出しを行う。すなわち、該ループ波形に関する各種の前記管理データを波形メモリＷＭの管理データ領域から読み出し、これに基づき波形データ領域から該ループ波形の波形データのループ読み出しを開始する。そして、波形シーケンスメモリ部から次の波形イベントの読み出しを行う（ステップＳ１７）。
一方、ステップＳ１４において、単独のループ波形ＬＷであると判定された場合には、該ループ波形ＬＷの読み出しを行って（ステップＳ１９）、ステップＳ１７に行き、次の波形イベントの読み出しを行う。
【００３７】
例えば、上述の波形形成処理において波形シーケンスＷＳが図５に示したようなものである場合、最初の波形イベントの波形選択データはアタック部波形ＡＵＷ（５）である。従って、ステップＳ１５により当該アタック部波形ＡＵＷ（５）のノンループ波形ＮＬＷの読み出しが行われる（後述の図８（ａ）において時点ｔ０から始まる波形）。このノンループ波形ＮＬＷの波形データの読み出しを終了したら（図８（ａ）における時点ｔ１）、このノンループ波形ＮＬＷに続くループ波形ＬＷの読み出しが行われる（ステップＳ１６）。
ステップＳ１８では、上述のステップＳ１７で読み出した波形イベントにおける波形選択データがユニット波形であるか、単独のループ波形ＬＷであるか（すなわち、ユニット波形の先頭のループ波形ＬＷを含まず）、それともそもそも波形イベントが存在しないのかの判断を行う。図５の例では、２番目の波形イベントの波形選択データは単独のループ波形ＬＷ（１２）であるので、ステップＳ２３に行き、当該ループ波形ＬＷ（１２）の読み出しを行う。次のステップＳ２４（ループ読出及びクロスフェード合成処理）では、既に読み出しされた２つのループ波形（ステップＳ１６で読み出ししたアタック部波形ＡＵＷ（５）の後端部のループ波形つまり先行するループ波形と、ステップＳ２３で読み出ししたループ波形つまり後続するループ波形）をそれぞれループ波形読み出しを継続しながらクロスフェード合成する。このクロスフェード合成は、ステップＳ１７で読み出したイベントデータに含まれるタイミングデータ（２番目の波形イベントの場合はＤｔ２）で指定される時間だけ行われる。クロスフェード時間が経過すると、先行するループ波形の波形再生読出が停止される（ステップＳ２５）。そして、ステップＳ１７に戻って、次の波形イベントの読み出しを行う。
【００３８】
図５の例では、３番目の波形イベントの単位波形選択データは中間波形ＩＵＷ（８）であり、ステップＳ１８では「ユニット波形」と判定されて、ステップＳ２０に行く。ステップＳ２０では、ステップＳ２３と同様に、当該ユニット波形おける先頭のループ波形の読み出しを行う。次のステップＳ２１では、ステップ２４と同様に、ループ読出及びクロスフェード合成処理を行う。今の例では、前回のクロスフェード合成における後続ループ波形であったループ波形ＬＷ（１２）が先行ループ波形に切り替わり、ステップＳ２０で新たに読み出しされたユニット波形（中間波形ＩＵＷ（８）の先頭のループ波形）が後続ループ波形となり、両ループ波形をループ読み出ししつつクロスフェード合成する。このクロスフェード合成も、ステップＳ１７で読み出したイベントデータに含まれるタイミングデータ（３番目の波形イベントの場合はＤｔ３）で指定される時間だけ行われる。クロスフェード時間が経過すると、両方のループ波形の波形再生読み出しを停止し（ステップＳ２２）、ステップＳ１５に戻り、当該ユニット波形（今の例では中間波形ＩＵＷ（８））におけるノンループ波形ＮＬＷの読み出しを行う。このノンループ波形ＮＬＷの波形データの読み出しを終了したら、前述のように、ステップＳ１６に進み、このユニット波形において上記ノンループ波形ＮＬＷの後に続いているループ波形ＬＷの読み出しを行う。その後、ステップＳ１７に行き、以後、同様にしてループ波形ＬＷ（３）、中間波形ＩＵＷ（７）、リリース部波形ＲＵＷ（１）が順次読み出され、クロスフェードにより接続される。
【００３９】
最後の波形イベントに対応して、リリース部波形ＲＵＷ（１）のノンループ波形がステップＳ１５で読み出された後は、それに続くループ波形がないためステップＳ１６を通り越してステップＳ１７に行く。この場合、新たな波形イベントが当該波形シーケンスＷＳに存在していないので、ステップＳ２６に行き、現在再生中の波形に対してフェードアウト処理を実行しながら、ステップＳ２７で波形の再生読出を停止させ、発音を終了する。その後、ステップＳ１１に戻り、ステップＳ１１とステップＳ１２によるループで、ストップ命令ＳＴＯＰの発生、ないし、次の発音開始タイミングの到来まで待機する。波形シーケンスＷＳの次の発音開始タイミングが到来した場合には、ステップＳ１２で「ＹＥＳ」に分岐し、上述したのと同様の処理により対応する波形の再生処理を行う。このようにして波形シーケンスＷＳが順次再生され、ステップＳ１で指定された再生範囲の再生が終了した場合、ないし、ユーザにより入力操作装置１でストップ操作が行われた場合には、ステップＳ１１で「ＹＥＳ」と判断され、波形形成処理を終了する（ステップＳ１３）。
【００４０】
ここで、先行するループ波形と後続するループ波形をループ再生（繰り返し読み出し）しつつクロスフェード合成する例につき、図８（ａ）に示したループ波形Ａ，Ｂ，Ｃを参照して説明する。図８（ａ）は、図５の波形シーケンスＷＳに示される６つの波形イベントにより生成される楽音波形の例である。
この場合は、時点ｔ１からｔ２までのクロスフェード区間において、先行するループ波形Ａ（すなわち、波形シーケンスＷＳのアタック部波形ＡＵＷ（５）におけるループ波形）をループ読み出しすると同時に、後続するループ波形Ｂ（すなわち、ループ波形ＬＷ（１２））もループ読み出しし、先行するループ波形Ａのループ再生波形をフェードアウト（立ち下がり）特性のエンベロープで振幅制御し、後続するループ波形Ｂのループ再生波形をフェードイン（立ち上がり）特性のエンベロープで振幅制御し、両者を加算合成して、１つのループ再生波形を合成する。クロスフェード合成されたループ再生波形は、ループ波形Ａからループ波形Ｂへと滑らかに変化することになる。この処理は図７のステップＳ２４で行なわれる。この場合のクロスフェード時間つまりクロスフェード区間長は、前述の通り、後続するループ波形Ｂについてのイベントデータに含まれるタイミングデータＤｔ２によって特定される。つまり、タイミングデータＤｔ２によって特定される開始時点ｔ１から終了時点ｔ２までのクロスフェード区間の間で、先行するループ波形Ａ用のフェードアウト（立ち下がり）特性のクロスフェード係数が最大値「１」から最小値「０」まで直線的に立ち下がるようにし、後続するループ波形Ｂ用のフェードイン（立ち上がり）特性のクロスフェード係数が最小値「０」から最大値「１」まで直線的に立ち上がるようにする。このタイミングデータＤｔ２を時間軸伸縮制御情報に応じて可変制御することにより、クロスフェード終了時点ｔ２を、図８（ｂ）に例示するように、ｔ２'に伸張（又は圧縮）することができ、ループ波形によるクロスフェード区間長を自由に時間軸制御することができる。なお、クロスフェード区間長を指定するタイミングデータは、クロスフェードカーブの傾きを示す係数データとして表現するようにしてよい。
すなわち、上述した図７のステップＳ１６およびＳ１９で行われるループ読み出しにおいては、ループ波形（すなわち、先行するループ波形）を前述のクロスフェード係数を最大値「１」として読み出し開始する。また、図７のステップＳ２０およびＳ２３で行われるループ読み出しでは、ループ波形（すなわち、後続のループ波形）をクロスフェード係数を最小値「０」として読み出し開始する。そして、ステップＳ２１およびＳ２４では、上述したように先行するループ波形と後続のループ波形の両方のループ読み出しを継続しながらクロスフェード合成を行うようにしている。
【００４１】
図８（ａ）において、その次の時点ｔ２からｔ３までのクロスフェード区間においては、それまで後続ループ波形であったループ波形Ｂを先行ループ波形に切り替えてそのループ読出しを続けると共にフェードアウト（立ち下がり）特性のエンベロープで振幅制御し、同時に、後続ループ波形をループ波形Ｃ（すなわち、中間波形ＩＵＷ（８）のループ波形）に切り替えてそのループ読出しを開始すると共に、フェードイン（立ち上がり）特性のエンベロープで振幅制御し、両者を加算合成して、１つのループ再生波形を合成する。この処理は図７のステップＳ２１で行なわれる。この場合のクロスフェード時間つまりクロスフェード区間長は、前述の通り、後続するループ波形Ｃについてのイベントデータに含まれるタイミングデータＤｔ３によって特定される。この場合も、タイミングデータＤｔ３を時間軸伸縮制御情報に応じて可変制御することにより、クロスフェード終了時点ｔ３を、図８（ｂ）に例示するように、ｔ３'に伸張（又は圧縮）することができる。
【００４２】
この発明においては、再生する楽音のピッチ制御とは独立に、波形データの時間軸上の長さを、任意の範囲で伸張又は圧縮した状態で読み出す制御（これをTime Stretch & Compress 制御と称し、"ＴＳＣ制御"と略称する）を行い、これによって発生する楽音の特徴を自由かつ多様に制御するようにしている。ＴＳＣ制御を用いた各種奏法若しくは楽音効果等の制御のいくつかの具体例を例示すると次のようなものがある。
（１）ビブラートやトレモロのような周期的変調効果の周期を制御する。
（２）ピッチベンドのような経過的ピッチ変調効果の時間を制御する。
（３）アタック、ディケイ等の音の立上りや立下りの時間を制御する。
（４）楽音に"ゆらぎ"を積極的かつ自在に付与する。
（５）ループ制御（持続音形成のためのループ読出制御又はビブラートのループ的制御を含む）の単調性を解消する。
（６）音と音をつなげる制御（スラー等）の時間（つなぎ時間）を制御する。
（７）装飾音の長さを制御する。
（８）記憶された元波形を異なるピッチで読み出したときの発音時間長の変化を補償する。
（９）記憶された元波形を局所的あるいは部分的に時間軸制御して読み出すことにより、該元波形から様々なバリエーションの音を作り出す。
（１０）記憶された元波形の全体の発音時間長を任意に可変制御して読み出すことにより、該元波形に基づく音の再生時の発音時間長を任意に制御する（例えば、自動演奏情報にて与えられた楽譜の音符長に合わせる）。
ｅｔｃ．
【００４３】
上述のＴＳＣ制御について図８を用いて詳細に説明する。図８（ａ）はＴＳＣ制御前の元の波形を概念的に示した図であり、（ｂ）はＴＳＣ制御された後の波形を概念的に示した図であり、共に横軸は時間軸を示す。また、各波形図の下には、当該波形によって示される譜面上の音符データを各々示した。当該音符データのすべてにスラー記号が付されていることから理解できるように、当該音符データによって示される波形データは連続した一連の音の波形である。
【００４４】
図８（ａ）は、図５の波形シーケンスＷＳに示される６つの波形イベントにより生成される楽音波形の例である。当該波形は、１つのアタック部波形（ＡＵＷ（５））と２つの中間波形（ＩＵＷ（８），ＩＵＷ（７））と１つのリリース部波形（ＲＵＷ（１））と２つのループ波形（ＬＷ（１２），ＬＷ（３））とにより構成され、これらはすべて１つの波形シーケンスＷＳに波形イベントとして保持されている。
波形シーケンスＷＳは、図５に示すように各単位波形毎に所定の再生開始時間をデータとして保持するが、その時間を図８の各単位波形の下に示している。すなわち、時点ｔ０において四分音符「ド」のアタック部波形ＡＵＷ（５）の再生が開始される。時点ｔ２においては前記「ド」のサスティン波形たるループ波形ＬＷ（１２）の再生が開始される。時点ｔ３においては前記「ド」のリリース波形と次の四分音符「レ」のアタック波形とがスラー奏法でつながった波形である中間波形ＩＬＷ（８）の再生が開始される。時点ｔ５では前記「レ」のサスティン波形たるループ波形ＬＷ（３）が、時点ｔ６では前記「レ」のリリース波形と次の四分音符「ミ」のアタック波形とがスラー奏法でつながった波形である中間波形ＩＬＷ（７）の再生が各々の時点で再生れる。最後に、時点ｔ８では前記「ミ」のリリース波形たるリリース部波形ＲＬＷ（１）が再生される。このようにして、順次波形の再生がなされる。そして、この際に各波形の接続（すなわち、波形の合成）を滑らかに行うためにクロスフェード合成を各ループ範囲間で行っている。
【００４５】
具体的なクロスフェード合成のやり方としては、種々の手法が考えられる。この実施例においては、前述の通り、波形メモリから２系列のループ波形をそれぞれループ読み出しして、クロスフェード合成するようにしている。クロスフェード合成の手法（例えばフェードインとアウトの関係やクロスフェード関数の特性など）はこれに限らず、種々変更可能である。なお、このようなクロスフェード合成を行うことは非常に好ましいことであるが、必ずしも必須ではない。すなわち、単に１つのループ波形のループ再生時間を可変制御することでもＴＳＣ制御を行うことができる。
【００４６】
波形シーケンスＷＳは各波形イベント毎にタイミングデータを有し、当該タイミングデータにより波形の再生開始時間および再生時間長さが決定されることから、当該タイミングデータを変更することによるＴＳＣ制御を行うことができる。再生時間を伸縮するためのタイム伸縮制御を行う際には、パラメータとして標準の再生時間に対する伸縮比を指示する時間伸縮比ＣＲａｔｅを使用する。「標準の再生時間」とは元波形の時間長さ（すなわち、時間軸伸縮なしで、ピッチアップおよびピッチダウンしないときの再生時間長）である。
【００４７】
ここで、上述の時間伸縮比ＣＲａｔｅについて説明すると、時間伸縮比ＣＲａｔｅは、「出力波形の再生時間（時間長さ）を、元の波形（ピッチ制御されたもの）の再生時間（時間長さ）の１／ＣＲａｔｅとすること」を意味するパラメータである。もちろん、ＣＲａｔｅは一定値とは限らず、波形読み出しの途中（発音の途中）でもリアルタイムに変更可能であるので、局所的に見て上記の意味があるということである。出力波形は、ＣＲａｔｅ＝１．０なら等倍、ＣＲａｔｅ＞１．０なら圧縮、ＣＲａｔｅ＜１．０なら伸張されることになる。
【００４８】
図８に戻る。図８（ｂ）に示した例ではループ読み出し区間に対してＴＳＣ制御を施すようにしている。つまり、図８（ａ）の波形に対してｔ１〜ｔ２間およびｔ２〜ｔ３間の再生時間を伸張し（ｔ１'〜ｔ２'間およびｔ２'〜ｔ３'間と比較）、さらにｔ７〜ｔ８間の再生時間を圧縮（ｔ７'〜ｔ８'間と比較）した例を示している。すなわち、ｔ１〜ｔ２間およびｔ２〜ｔ３間では、時間圧縮比ＣＲａｔｅをＣＲａｔｅ＞１．０とし、ｔ７〜ｔ８間をＣＲａｔｅ＜１．０として、それ以外の時間ではＣＲａｔｅ＝１．０として上述の波形合成／再生処理を行ったものである。こうすることにより、上述したＴＳＣ制御を容易に行うことができるようになる。
【００４９】
例えば、図８（ａ）に示すオリジナルの波形シーケンスＷＳが、その下に音符を付記して示したように、３個の四分音符「ド」、「レ」、「ミ」と四分休符からなる曲データの演奏フレーズに対応しているものであるとして、当該演奏フレーズを（ｂ）に示すように、二分音符「ド」と、四分音符「レ」、八分音符「ミ」と八分休符からなる演奏フレーズに変更すると、各音符長の変化に対応して所望のループ再生区間に夫々個別に時間軸伸縮制御が施され、再生ピッチは変化させずに、そのループ再生区間の時間長のみを伸縮制御することができる。このほか、様々な態様で時間軸伸縮制御を施すことにより、オリジナルの波形シーケンスＷＳの演奏フレーズを、再生演奏時にリアルタイムで又はノンリアルタイムで、可変制御することができる。例えば、３個の四分音符「ド」、「レ」、「ミ」を夫々八分音符の長さになるように変化させたり、逆に夫々二分音符の長さになるように変化させることに対応して時間軸伸張の制御が行われることから、実質的に、演奏テンポを速くしたり遅くしたりする制御を行なうことができることとなる。  なお、この発明においては、上述したような時間伸縮比ＣＲａｔｅによる波形の時間軸伸縮制御（ＴＳＣ制御）と同時に、かつ、それとは独立に波形の読み出し速度を制御することにより再生する楽音のピッチ制御を行うことができるので、これによって発生する楽音をより多様に制御することができる。
【００５０】
上述のように、ループ波形の場合は、基本的には、ループ回数ないしループ継続時間を可変することによって、比較的簡単に、楽音再生ピッチとは独立に、ループ再生波形全体の時間長を可変制御することができる。つまり、タイミングデータＤｔによってクロスフェード区間長が特定されると、それに伴ってクロスフェードカーブの傾きが決まってくるので、このクロスフェードカーブの傾きを（若しくはタイミングデータＤｔの値を）時間軸伸縮比データＣＲａｔｅによって可変制御することにより、クロスフェードの速さが可変制御され、結局、クロスフェード区間の時間長を可変制御することができる。その間、楽音再生ピッチには影響を与えないので、結局、ループ回数が可変制御されることで当該クロスフェード区間（つまりループ再生区間）の時間長が可変制御される。
【００５１】
一方、ノンループ波形の場合は、楽音再生ピッチとは独立に、時間軸上におけるその存在時間長を可変制御することはそれほど簡単ではない。従って、上記のように、ノンループ波形とループ波形とからなる一連の音の波形において、ループ読出区間の時間長を伸縮可変制御することで全体の発音時間長を可変制御するように工夫することは、時間軸伸縮制御を容易にするので極めて好ましい。また、特殊な奏法に対応するノンループ波形においては、その部分の時間軸の長さを可変してしまうと、かえって好ましくないものがある。しかし、その種のノンループ波形を含む楽音波形においても、時間軸伸縮制御を行ないたいという要求はあるので、その要求に応えるために、ノンループ波形の部分においては時間軸伸縮制御を行なわずに、部分的にループ波形の部分においてのみ時間軸伸縮制御を行なうようにすることは、極めて効果的である。
【００５２】
一方、本出願人が既に出願済み（特願平９−１３０３９４号）の新技術である「波形データの時間軸伸縮制御」技術を用いることで、ノンループ波形の時間軸伸縮制御も可能である。すなわち、簡単に要約すれば、一定の波形データ量からなるノンループ波形を、一定の再生サンプリング周波数と所定の再生ピッチを維持しつつ、その時間軸上の波形データ存在時間長を伸縮するために、圧縮する場合は、波形データの適宜の部分を飛び越して読み出しを行ない、伸張する場合は、波形データの適宜の部分を繰り返し読み出しするようにし、そして、飛び越し若しくは部分的繰り返し読み出しによる波形データの不連続性を除去するためにクロスフェード合成を行なうようにする。この手法を、本実施例におけるノンループ波形の読出処理（図７のステップＳ１５）に対して適用し、該ノンループ波形部分でＴＳＣ制御を施すことも可能であるが、本明細書では詳しくは説明しない。
【００５３】
更に、本実施例においては、波形シーケンスＷＳのデータを任意にエディットすることができる。図９は、そのための波形エディット処理のフローチャートの一例を示す。
最初のステップＳ３０において、波形シーケンスＷＳにおける単位波形データを任意に変更および追加する位置の指定を行う。波形シーケンスＷＳにおける任意に指定された単位波形データを別の単位波形データと差し替えたり、指定された単位波形データを削除したり、新たに指定位置に単位波形データを追加したりすることによって、波形シーケンスＷＳを変更する（ステップＳ３１）。
例えば、作成済みの波形シーケンスＷＳにおける或る中間波形がノンループ波形を含むものであっても、その前後にループ波形を具備するので（例えば、図４の真ん中に示すような中間波形）、これを別の中間波形（例えば、図４の一番下側に示すような中間波形）に変更することが容易に行える。また、図８（ｄ）に示すように、リリース部波形ＲＵＷを差し替えることもできる。また、図８（ｃ）に示すように、任意の指定位置に新たにループ波形を追加することもできる。このように、単位波形を任意かつ容易に変更することができるのは、本発明の波形データフォーマットを採用したおかげである。
【００５４】
個々の波形シーケンスＷＳは、曲データに対応するノートシーケンス（自動演奏シーケンス）によって指定される。例えば、１つのノートイベントに対応して１つの波形シーケンスＷＳが指定されることもあれば、スラー等の特殊奏法を伴う連続する複数のノートイベントに対応して１つの波形シーケンスＷＳ（例えば図８（ａ）のような）が指定されることもあり、また、１つのノートイベントに対応して複数の波形シーケンスＷＳが指定されることがあってもよい。そのようなノートシーケンスも、ユーザーによって適宜エディットできるようになっていてよい。図１０は、そのためのノートシーケンスエディット処理の一例を示す。  最初のステップＳ４０において、ノートシーケンスにおけるノートイベントを任意に変更および追加する位置の指定を行う。ノートシーケンスにおける任意に指定されたノートイベントを別のノートイベントと差し替えたり、指定されたノートイベントを削除したり、指定位置に新たなノートイベントを追加したりすることによって、ノートシーケンスを変更する（ステップＳ４１）。ノートシーケンスのエディットされた曲データの再生が指示された場合、エディットされた部分に対応する波形シーケンスＷＳは未だ用意されていないので、図６のステップＳ２で「ＮＯ」が判断され、続くステップＳ３でエディットされた曲データに対応する波形シーケンスＷＳが生成される。なお、曲データの一部だけがエディットされた場合、ステップＳ３では、そのエディットされた部分についてだけ対応する波形シーケンスＷＳを新規作成し、残りの部分は過去に作成した波形シーケンスＷＳを使用すればよい。
例えば、図８（ｂ）に対応する波形シーケンスＷＳは、図８（ａ）に対応する３個の四分音符「ド」、「レ」、「ミ」と１個の四分休符からなるノートシーケンスを上述したノートシーケンスエディット処理により、二分音符「ド」と四分音符「レ」と八分音符「ミ」と八分休符とにエディットし（すなわち、ノートイベントの変更）、当該エディット後のノートシーケンスによって指定される波形シーケンスＷＳはまだ存在していないので、図６のステップＳ３で当該ノートシーケンスに対応する波形シーケンスＷＳが新規に作成される。
【００５５】
なお、図７の波形形成処理プログラムにおいて、ステップＳ１５，Ｓ２１，Ｓ２４等で行なわれる波形サンプルデータの読出処理の具体的手順については、任意の方式を用いてよい。例えば、所定の再生サンプリング周波数の１周期毎の割込み処理として当該サンプリング周期における１サンプル分の波形サンプルデータを読み出して形成する方式であってもよい。あるいは、本出願人が既に提案済みのソフトウェア音源技術で知られているように、１フレーム区間に該当する多数のサンプル数分の波形サンプルデータを短時間で一括して形成し、これを出力バッファに蓄えておき、出力バッファからの波形サンプルデータの読み出しを再生サンプリング周波数ｆｓの１周期毎に行なうようにしてもよい。また、ソフトウェアプログラムに基づく波形形成処理に限らず、上記実施例と同様の波形形成処理用のマイクロプログラムで動作するように構成されたＤＳＰ装置によって本発明に従う波形形成処理を行なうようにしてもよいし、あるいは、ＬＳＩ回路やディスクリート回路によって上記実施例と同様の波形形成処理を行なうように専用ハードウェア回路を構成してもよい。
【００５６】
以上のように、上記実施例によれば、波形データの構造として、ノンループ波形の前後に第１および第２のループ波形をそれぞれ具備してなる波形を１単位の波形データとして構成したので、該１単位の波形データとそれに先行するまたは後続する他の波形とを当該ループ波形の部分を介して接続することで、順次組み合わせるようにして波形形成を行うことができるようになる。すなわち、アーティキュレーション（奏法）等の特徴を有する高品質な波形であるノンループ波形を、他の任意の波形と簡便に組み合わせて自由な波形形成を行うことができるようにしたので、音のアーティキュレーション（奏法）を考慮した品質のよい波形形成を行なうことができる、という優れた効果を奏する。
したがって、ノンループ波形として、ビブラートやトレモロ等の変調が付与された波形、ベンド等のピッチ変調が付与された波形、スラーの付与された波形、あるいは経過音や装飾音のような経過的なピッチ変動が付与された波形等、任意のアーティキュレーション（奏法）や効果等の特徴を有する高品質な波形を用いれば、そのような高品質の波形を他の任意の波形と簡便に組み合わせて自由な波形形成を行うことによって、高品質な波形の利用効率を高めることができ、制御性に富み、また、編集性にも富んだ形態で、音のアーティキュレーション（奏法）や効果を考慮した品質のよい波形形成を行なうことができるようになる、という優れた効果を奏する。
【００５７】
また、上記実施例によれば、記憶部に記憶したノンループ波形とループ波形を含む単位波形データを、ループ波形を含む他の単位波形データとそれぞれのループ波形の部分を介して組み合わせることで、上述と同様に、アーティキュレーション（奏法）等の特徴を有する高品質な波形であるノンループ波形を、他の任意の波形と簡便に組み合わせて自由な波形形成を行うことができるようになり、制御性に富み、また、編集性にも富んだ形態で、音のアーティキュレーション（奏法）を考慮した品質のよい波形形成を行なうことができるようになる、という優れた効果を奏する。また、両者の接続箇所においてループ再生波形をクロスフェード合成する場合に、そのクロスフェード合成時間長を時間制御情報に応じて自由に制御することができるようにしたので、形成される楽音波形全体の時間軸上の存在時間長を、該楽音波形のピッチとは独立に自由に可変伸縮制御することができるようになり、音のアーティキュレーション（奏法）を考慮した品質のよい波形形成を行うにあたって、時間軸伸縮制御を導入することができるものとなり、制御性を豊かにすることができる、という優れた効果を奏する。
【００５８】
さらに、上記実施例によれば、読み出し速度の制御（発生楽音の音高制御）とは独立に発音の任意の部分（全体または一部の区間）で、波形データの読み出し位置を時間軸で伸縮制御することにより、所望部分の発生時間長を任意に制御することにより、発生楽音の多様な変化を実現し、従来にない、表現力と制御性に富んだ形態で楽音発生・制御を行うことができる、という優れた効果を奏する。例えば、発生楽音の音高を所望音高に維持しつつ、音の立ち上がり部分または立ち下がり部分等の発生時間長を自由に可変制御することができる。あるいは、発生楽音の音高を所望音高に維持しつつ、発生楽音全体の時間長を可変制御することにより、音符長等にあわせて自由に発生時間長を制御することもできる。
【図面の簡単な説明】
【００５９】
【図１】この発明の一実施例に係る波形生成装置のハードウェア構成例を示すブロック図。
【図２】波形メモリに記憶されるいくつかの単位波形の典型例を示す概略図。
【図３】ユニット波形の具体的な記憶例を示した概念図。
【図４】波形メモリにおける記憶フォーマットの一実施例を略示した概念図。
【図５】１つの波形シーケンスにおけるシーケンスデータの一例を示した概念図。
【図６】波形再生処理の一例を示したフローチャート。
【図７】波形形成処理の一例を示したフローチャート。
【図８】ＴＳＣ制御の一実施例を説明するための波形概念図。
【図９】波形シーケンスにおける波形エディット処理の一例を示したフローチャート。
【図１０】ノートシーケンスにおける波形エディット処理の一例を示したフローチャート。
【符号の説明】
【００６０】
１００  ＣＰＵ
１０１  ＲＯＭ
１０２  ＲＡＭ
１０３  ハードディスク
１０４  リムーバブルディスク
１０５  表示器
１０６  入力操作装置
１０７  波形インタフェース
１０８  タイマ
１０９  通信インタフェース
１１０  ＭＩＤＩインタフェース
１１１  バス
ＷＭ  波形メモリ
ＡＵＷ  アタック部波形
ＩＵＷ  中間波形
ＲＵＷ  リリース部波形
ＮＬＷ  ノンループ波形
ＬＷ  ループ波形
ＷＳ  波形シーケンス
【図１】
2005037964.tif 000003
【図２】
2005037964.tif 000004
【図３】
2005037964.tif 000005
【図４】
2005037964.tif 000006
【図５】
2005037964.tif 000007
【図６】
2005037964.tif 000008
【図７】
2005037964.tif 000009
【図８】
2005037964.tif 000010
【図９】
2005037964.tif 000011
【図１０】
2005037964.tif 000012