(57)【要約】【課題】  予め録音した波形データを用いて、テンポを増減しつつ自動演奏を行う場合に、違和感が無いようにテンポの調節を行う。【解決手段】  原波形データを、エンベロープ波形の立ち上がり等のタイミング毎に、図９(b)に示すような複数のオリジナルセクション１ｒ〜６ｒに分割する。次に、各オリジナルセクションの終端におけるエンベロープレベルを初期値として時間の経過とともに減衰するエンベロープを有する挿入セクション１ｉ〜６ｉを、各オリジナルセクションに対応付けて生成する。再生時においては、録音時に対するテンポ比Ｒに応じて、オリジナルセクションの一部（同図(a)）、オリジナルセクションの全部（同図(b)）、オリジナルセクションの全部と挿入セクションの一部（同図(c)）を再生する。【選択図】  図９
2005301319.tif 000002
【特許請求の範囲】
【請求項１】
原波形データを複数の原区間に分割する過程と、
前記各原区間の波形データの各々の波形データを再生した後に再生するための追加区間の波形データを再生時のテンポが決定される前に予め生成し、前記各原区間の波形データの後部に結合して記憶手段に記憶する過程と、
演奏時のテンポが録音時のテンポよりも速い場合に、前記各追加区間の波形データを読出すことなく前記各原区間の波形データの一部を読出す過程と、
演奏時のテンポが該録音時のテンポよりも遅い場合に、前記各原区間の波形データと、対応する追加区間の波形データとを連続して読出す過程と、
読出された前記各波形データを楽音波形として出力する過程と
を有することを特徴とする波形データ生成方法。
を有することを特徴とする楽音合成方法。
【請求項２】
前記追加区間の波形データのエンベロープレベルは対応する原区間の終端におけるエンベロープレベルを初期値として時間の経過とともに減衰するように設定されている
ことを特徴とする請求項１記載の波形データ生成方法。
【請求項３】
前記原区間の全部または前記原区間の終端を含む一部における減衰率を検出する過程をさらに有し、この検出された減衰率に基づいて前記追加区間の波形データのエンベロープレベルを減衰させることを特徴とする請求項２記載の波形データ生成方法。
【請求項４】
原波形データを複数の原区間の波形データに分割する過程と、
前記各原区間の波形データに各々対応させて追加区間の波形データを再生時のテンポが決定される前に予め生成し、前記各追加区間の波形データを対応する原区間の波形データの後部に各々結合することによって結合区間の波形データを生成し、これら結合区間の波形データを記憶手段に記憶する結合区間生成過程と、
前記各結合区間の波形データに対応して、当該結合区間の波形データの再生を開始すべきテンポクロック数を示す再生開始クロック数を前記記憶手段に記憶する過程と、
自動演奏のテンポクロックが供給されると、該テンポクロックをカウントするカウント過程と、
前記複数の結合区間の波形データの各々の再生開始タイミングを、前記カウント過程によるカウント結果と、前記各結合区間に対応する前記再生開始クロック数とに基づいて検出し、従前に再生されていた波形データの再生を終了しつつ、当該再生開始タイミングに係る結合区間の波形データを再生する再生過程と
を有し、これによって前記テンポクロックのテンポが前記原波形データの録音時のテンポよりも速い場合は前記各結合区間のうち前記各原区間の一部に相当する波形データを順次再生する一方、前記テンポクロックのテンポが前記原波形データの録音時のテンポよりも遅い場合は前記各結合区間のうち前記各原区間の全てと前記追加区間の一部とに相当する波形データを順次再生することを特徴とする波形データ生成方法。
【請求項５】
請求項１ないし４の何れかに記載の方法を実行することを特徴とする波形データ生成装置。
【請求項６】
請求項１ないし４の何れかに記載の方法をコンピュータに実行させるプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータ、電子楽器、アミューズメント機器等における自動演奏、特に自動伴奏に用いて好適な、波形データ生成方法、楽音合成方法、波形データ生成装置およびコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来より、ある程度の長さの自然楽器音等を録音し、これを設定されたテンポに応じた速度で自動的に繰返し再生する技術が知られている。この技術はリズム音等の自動伴奏等に使用されているが、設定されるテンポに応じて原波形を伸張あるいは縮小させる必要がある。その処理内容を図２(a)，(b)を流用し説明する。
【０００３】
同図(a)は、自然楽器音等をステレオ録音した原波形データである。この原波形データを、エンベロープの立上り部分およびピッチの切り換わり部分で区切ると、例えば同図(b)に示すように、原波形データを複数の区画（オリジナルセクションという）１ｒ〜１２ｒに区切ることができる。この原波形データを用いて自動リズム伴奏等を行う際、原波形データの録音時のテンポと同一のテンポで再生するのであれば、原波形データを特に加工することなく繰返し再生するとよい。
【０００４】
また、再生時のテンポが録音時よりも速くなる場合は、各オリジナルセクション１ｒ〜１２ｒの再生部分を短くする必要がある。このためには、各区画の終端部分を一定の割合でカットすればよい。例えば、録音時のテンポが「１００」、再生時のテンポが「１２５」であったとすると、各オリジナルセクション１ｒ〜１２ｒの終端部分を２０％づつカットし、残りの波形データを再生するとよい。
【０００５】
一方、再生時のテンポが録音時のテンポよりも遅くなる場合には問題が生じる。すなわち、再生時のテンポに合せて各区画の再生開始タイミングを単に遅らせたのでは、各区画の隙間に無音区間が生じ、耳障りになる。そこで、この各区画の隙間は、直前の区画の波形データを必要な長さだけ継ぎ足して再生することが一般的である。その際、継ぎ足される部分の振幅の初期値は、その直前の部分の振幅と一致するように設定される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記技術によれば、継ぎ足される部分の波形は、振幅の初期値が制御されるとしても元の各区間の波形データがそのまま用いられるため、二度打ち感やエコー感が生じるという問題があった。
この発明は上述した事情に鑑みてなされたものであり、違和感なくテンポの調節を行うことができる波形データ生成方法、楽音合成方法、波形データ生成装置およびコンピュータ読み取り可能な記録媒体を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載の楽音合成方法にあっては、原波形データを複数の原区間（オリジナルセクション）に分割する過程と、前記各原区間の波形データの各々の波形データを再生した後に再生するための追加区間（挿入セクション）の波形データを再生時のテンポが決定される前に予め生成し、前記各原区間の波形データの後部に結合して記憶手段に記憶する過程と、演奏時のテンポが録音時のテンポよりも速い場合に、前記各追加区間の波形データを読出すことなく前記各原区間の波形データの一部を読出す過程と、演奏時のテンポが該録音時のテンポよりも遅い場合に、前記各原区間の波形データと、対応する追加区間の波形データとを連続して読出す過程と、読出された前記各波形データを楽音波形として出力する過程とを有することを特徴とする波形データ生成方法。を有することを特徴とする。
さらに、請求項２記載の構成にあっては、請求項１記載の波形データ生成方法において、前記追加区間の波形データのエンベロープレベルは対応する原区間の終端におけるエンベロープレベルを初期値として時間の経過とともに減衰するように設定されていることを特徴とする。
さらに、請求項３記載の構成にあっては、請求項２記載の波形データ生成方法において、前記原区間の全部または前記原区間の終端を含む一部における減衰率を検出する過程をさらに有し、この検出された減衰率に基づいて前記追加区間の波形データのエンベロープレベルを減衰させることを特徴とする。
また、請求項４記載の波形データ生成方法にあっては、原波形データを複数の原区間（オリジナルセクション１ｒ〜１２ｒ）の波形データに分割する過程と、前記各原区間の波形データに各々対応させて追加区間（挿入セクション）の波形データを再生時のテンポが決定される前に予め生成し、前記各追加区間の波形データを対応する原区間の波形データの後部に各々結合することによって結合区間の波形データを生成し、これら結合区間の波形データを記憶手段に記憶する結合区間生成過程と、前記各結合区間の波形データに対応して、当該結合区間の波形データの再生を開始すべきテンポクロック数を示す再生開始クロック数を前記記憶手段に記憶する過程と、自動演奏のテンポクロックが供給されると、該テンポクロックをカウントするカウント過程と、前記複数の結合区間（１ｔ〜１２ｔ）の波形データの各々の再生開始タイミングを、前記カウント過程によるカウント結果と、前記各結合区間（１ｔ〜１２ｔ）に対応する前記再生開始クロック数とに基づいて検出し、従前に再生されていた波形データの再生を終了しつつ、当該再生開始タイミングに係る結合区間（１ｔ〜１２ｔ）の波形データを再生する再生過程とを有し、これによって前記テンポクロックのテンポが前記原波形データの録音時のテンポよりも速い場合は前記各結合区間（１ｔ〜１２ｔ）のうち前記各原区間（１ｒ〜１２ｒ）の一部に相当する波形データを順次再生する一方、前記テンポクロックのテンポが前記原波形データの録音時のテンポよりも遅い場合は前記各結合区間（１ｔ〜１２ｔ）のうち前記各原区間（１ｒ〜１２ｒ）の全てと前記追加区間（１ｉ〜１２ｉ）の一部とに相当する波形データを順次再生することを特徴とする。
また、請求項５記載の波形データ生成装置にあっては、請求項１ないし４の何れかに記載の方法を実行することを特徴とする。
また、請求項６記載のコンピュータ読み取り可能な記録媒体にあっては、請求項１ないし４の何れかに記載の方法をコンピュータに実行させるプログラムを記憶したことを特徴とする。
【発明の効果】
【０００８】
このように、追加区間の波形データのエンベロープレベルを、対応する原区間の終端におけるエンベロープレベルを初期値として時間の経過とともに減衰する構成によれば、原区間と追加区間とを滑らかに接続することができ、様々なテンポ設定に対して違和感の無い楽音波形を合成することができる。また、各原区間に対応する追加区間を再生時のテンポが決定される前に予め生成する態様によれば、演奏時における処理負荷を軽減することができる。
【発明を実施するための最良の形態】
【０００９】
1．実施例のハードウエア構成
次に、本発明の一実施例の波形編集システムのハードウエア構成を図１を参照し説明する。なお、本波形編集システムは、汎用パーソナルコンピュータ上で動作するアプリケーションプログラムおよびドライバ等によって構成されている。
図において２は通信インタフェースであり、インターネット等の外部ネットワークを介して波形データ等のやりとりを行う。４は入力装置であり、キーボード、マウス等から構成されている。６は演奏操作子であり、鍵盤および打楽器を模擬するパッド操作子等によって構成されている。
【００１０】
８はディスプレイであり、ユーザに対して各種情報を表示する。１０はＣＰＵであり、後述するプログラムに基づいて、バス１６を介して他の各部を制御する。１２はＲＯＭであり、イニシャルプログラムローダ等が格納されている。１４はＲＡＭであり、ＣＰＵ１０によって読み書きされる。１８はドライブ装置であり、ＣＤ−ＲＯＭ、ＭＯ等の記憶媒体２０の読み書きを行う。
【００１１】
２２は波形取込インタフェースであり、外部から入力されたアナログ波形をサンプリングし、デジタル波形データに変換した後、バス１６を介して出力する。２４はハードディスクであり、汎用パーソナルコンピュータのオペレーティングシステム、後述する波形編集のアプリケーションプログラム、波形データ等が格納される。２６は波形出力インタフェースであり、バス１６を介して供給された波形データをアナログ波形に変換し、サウンドシステム２８を介して発音させる。
【００１２】
2．実施例の動作
次に、本実施例の動作を説明する。
まず、パーソナルコンピュータの電源が投入されると、ＲＯＭ１２に格納されたイニシャルプログラムローダが実行され、オペレーティングシステムが立上る。このオペレーティングシステムにおいて所定の操作を行うと、本実施例の波形編集アプリケーションプログラムが起動される。
【００１３】
2．1．原波形データの取得
波形編集アプリケーションプログラムにおいてユーザが所定の操作を行うと、波形取込インタフェース２２を介して、処理対象の原波形データが取得される。なお、原波形データは、通信インタフェース２あるいは記憶媒体２０を介して取得してもよい。
【００１４】
2．2．再生用波形データ生成処理
2．2．1．トリミング処理
原波形データが取得された後、所定の操作が行われると、波形編集アプリケーションプログラムにおいて図６に示すプログラムが起動される。まず、原波形データには、その開始部分および終了部分に無音区間が存在する場合がある。そこで、処理がステップＳＰ２に進むと、両無音区間が自動的にトリミング（削除）される。
【００１５】
但し、原波形データに雑音が含まれていた場合等においては、必ずしも適切な位置でトリミングされない場合もある。そこで、処理がステップＳＰ４に進むと、ユーザは、この自動的に決定されたデフォルトのトリミング位置を任意に修正することが可能である。設定するトリミング位置は、両トリミング位置間で波形データをループ再生した時にテンポ感が崩れないような位置に設定すると好適である。
【００１６】
2．2．2．デフォルトの拍数およびテンポ数等の決定
トリミング処理が終了すると、処理はステップＳＰ６に進み、該波形データの音量レベルのピークが検出され、各ピークの出現位置に基づいて、拍子（３拍子、４拍子、６拍子等）、小節数、テンポ数等が自動的に決定される。次に処理がステップＳＰ８に進むと、必要に応じて、ステップＳＰ６の決定結果がユーザの任意の値に修正される。
【００１７】
2．2．3．制御ポイントの決定
「制御ポイント」とは、本実施例において波形データの編集処理を行う基準となる位置である。
ステップＳＰ１０においては、デフォルトの制御ポイントを設定する手法として、単純決定モードまたは解析モードの何れかの動作モードがユーザによって指定される。次に、処理がステップＳＰ１２に進むと、指定された動作モードに応じて、デフォルトの制御ポイントが自動的に決定される。ここで、「単純決定モード」においては、拍単位に制御ポイントが設定される。例えば、１小節で拍子が３拍子であれば、波形データを３等分する位置に制御ポイントが設定され、また２小節であれば６等分する位置に設定される。
【００１８】
一方、「解析モード」においては、波形データの解析結果に基づいて制御ポイントが決定される。具体的には、音量エンベロープの立上がり開始位置、立下がり開始位置、ピッチの変化位置等が検出され、各検出位置に制御ポイントが設定される。以上のように決定されたデフォルトの制御ポイントは、波形データとともにディスプレイ８に表示される。その表示例を図２(a)に示す。
【００１９】
図において波形データはステレオ録音されたものであり、左（上側）および右（下側）の２系統示されている。制御ポイントは同図のウィンドウ上の縦破線によって示されており、両系統に対して共通である。次に、処理がステップＳＰ１４に進むと、このデフォルトの制御ポイントがユーザによって編集される。具体的には、上記ウィンドウ上で、必要に応じて制御ポイントが追加、削除または移動される。
【００２０】
2．2．4．挿入セクション１ｉ〜１２ｉの平坦化波形データの決定
波形データの始点、終点および制御ポイントによって区切られた区間を、本明細書においては「オリジナルセクション」と呼ぶ。図２(a)のように制御ポイントが決定されたのであれば、同図(b)の上側の長方形列に示されるように、波形データは１２個のオリジナルセクション１ｒ〜１２ｒに分割されることになる。
【００２１】
次に、同図(b)の下側の長方形列に示されるように、各オリジナルセクションと同一の長さを有する１２個のセクション（挿入セクション１ｉ〜１２ｉ）が作成され、この挿入セクション１ｉ〜１２ｉに各オリジナルセクション１ｒ〜１２ｒに続くような波形データが記憶される。これにより、各オリジナルセクション１ｒ〜１２ｒと、対応する挿入セクション１ｉ〜１２ｉとを結合して、同図(c)に示すような結合セクション１ｔ〜１２ｔが得られる。そこで、以下、かかる処理の詳細を説明する。
【００２２】
図６に戻り、処理がステップＳＰ１６に進むと、ユーザにより、挿入セクション１ｉ〜１２ｉに設定される波形データ（エンベロープ調整前）として、
(１)図３(a)に示すように、対応するオリジナルセクションｎｒ（但し、ｎ＝１〜１２）の次の波形データ（ｎ＋１）ｒをそのままコピーしたもの、あるいは、
(２)同図(b)に示すように対応するオリジナルセクションｎｒの波形データを時間軸上で反転した波形データ
のうち何れかが選択される。
ここで、デフォルトの状態では、持続系の音に対しては同図(a)，パーカッション系の音に対しては同図(b)の波形データが選択される。その理由について説明しておく。
【００２３】
＜持続系の音に対して＞
まず、持続系の音においては、オリジナルセクションｎｒと挿入セクションｎｉ＝（ｎ＋１）ｒとは元々連続したセクションであるため、オリジナルセクションｎｒから挿入セクション（ｎ＋１）ｒへの滑らかな接続が保証されている。ここで、該挿入セクション（ｎ＋１）ｒ以外のセクションを挿入セクションとして用いることも可能であるが、持続系の音ではアタックの無い部分（持続系の波形の途中）に制御ポイントが設定されることもあるため、考慮が必要である。すなわち、この場合、オリジナルセクションｎｒと該挿入セクションとの位相が合っていなかった場合には、耳障りなノイズが発生するため、両者間で位相合わせを行う必要が生じ、処理が煩雑になる。一方、上述した例のように、オリジナルセクションｎｒの次のセクション（ｎ＋１）ｒを挿入セクションとして用いれば、挿入セクションの波形データは、より安定した波形データに基づいて作成することができる。
【００２４】
また、持続系の音において、制御ポイントの直後に次の音のアタックがあった場合を想定してみる。この場合、一般的には、次の音のピッチは前の音のピッチとは異なっている。オリジナルセクションと挿入セクションのピッチが異なることは本来は望ましいことではないが、実験結果によれば、両者のピッチが異なっていたとしても、あまり目立たないことが判明した。これは、挿入セクションのエンベロープレベルが前のオリジナルセクションから継続してなめらかに減衰してゆくように制御されていることに起因すると考えられる。すなわち、新たに始まる音のアタック部で音色やピッチが変化すると目立つが、減衰している波形の途中で音色やピッチが変化した場合には、前のアタック部の印象が強いために比較的目立たないものと考えられる。
【００２５】
＜パーカッション系の音に対して＞
次に、パーカッション系の音においては、元々ノイズ的な成分が多いため、オリジナルセクションｎｒから挿入セクションｎｉへの接続部で目立ったノイズは発生しないことが多い。しかし、当該オリジナルセクションｎｒまたは次のオリジナルセクション（ｎ＋１）ｒ等をそのまま挿入セクションｎｉとして用いると、波形の先頭部分のアタックノイズが多少耳障りになる場合がある。そこで、オリジナルセクションｎｒの波形データを時間軸上で反転した波形データを挿入セクションｎｉとして用いることにより、かかる不具合を解消することができる。さらに、オリジナルセクションｎｒと挿入セクションｎｉの接続部分をクロスフェードすると、さらに両者を滑らかに接続することが可能になる。なお、反転した波形データを最後まで読み出すと、該反転波形データの終端部分にアタックノイズが再生され、多少耳障りになることがある。かかる場合は、反転波形データの途中のポイント（例えば先頭から２／３程度の長さのポイント）において、該反転波形データを折り返して（時間軸上でさらに反転させて）読み出すとよい。
【００２６】
挿入セクションは以上説明したデフォルトのものに限定されるわけではなく、各オリジナルセクション毎にユーザは所望の挿入セクションを指定することができるため、聴感上で最も好ましいものを選択するとよい。また、ステップＳＰ１６においては、挿入セクションの波形データが選択されると、その波形データの各部のレベルが、該波形データのエンベロープレベルで除算される。これにより、挿入セクションの波形データは、エンベロープが平坦な波形データに変換される。
【００２７】
2．2．5．挿入セクション１ｉ〜１２ｉに対するエンベロープの付与
次に、処理がステップＳＰ１８に進むと、挿入セクション１ｉ〜１２ｉのエンベロープ波形が決定される。その決定方法を図４を参照し説明する。図においてあるオリジナルセクションｎｒのエンベロープレベルの最大値をＬ１とし、オリジナルセクションｎｒの終端のエンベロープレベルをＬ２とし、この最大値Ｌ１が現れてからオリジナルセクションｎｒの終端までの時間をＴとする。この期間内においてエンベロープレベルの減衰率ｄｒは、
ｄｒ＝（Ｌ１／Ｌ２）1/T
によって求めることができる。
【００２８】
次に、オリジナルセクションｎｒに対応する挿入セクションｎｉのエンベロープレベルの初期値を上記Ｌ２とし、減衰率ｄｒが維持されるように挿入セクションｎｉのエンベロープが決定される。具体的には、挿入セクションｎｉの開始時刻ｔ＝０としたとき、挿入セクションｎｉ内の各部のエンベロープレベルは、Ｌ２／ｄｒtによって求められる。これにより、図４に示すように、挿入セクションｎｉのエンベロープ特性は、オリジナルセクションｎｒに対して自然につながるように設定される。
【００２９】
但し、制御ポイントの決定時に単純決定モードが選択された場合等においては、オリジナルセクションｎｒの終端部においてエンベロープレベルが最大になることも考えられる。かかる場合には、図５に示すように、挿入セクションｎｉのエンベロープレベルは、オリジナルセクションｎｒの終端時のレベルに制限される。具体的には、上記計算式により求めた減衰率ｄｒが１より小さくなる場合に、挿入セクションのエンベロープ値を求めるための減衰率ｄｒを強制的に１に設定し、あるいは、減衰率ｄｒに関して１より大きな下限値「ｄｒ_min」を決めておき、減衰率ｄｒが必ずそれより大きくなるように制御してもよい。
【００３０】
以上のように、各挿入セクションのエンベロープが決定されると、各挿入セクション１ｉ〜１２ｉの平坦化波形データの各部に対して、該決定されたエンベロープが乗算される。これにより、各挿入セクションの波形データは、この決定されたエンベロープを有するようになる。
【００３１】
次に、処理がステップＳＰ２０に進むと、自動演奏時において上記結合セクション１ｔ〜１２ｔの波形データを読出すためのパラメータが決定される。まず、自動演奏時においては、４分音符の「１／６４」の間隔でテンポクロックが生成され、このテンポクロックに同期して自動演奏処理が実行される。そこで、ステップＳＰ６，ＳＰ８において決定された拍子と小節数とに応じて、波形データ再生時の繰返し周期に対応する、最大クロック数maxcountが決定される。例えば、拍子が「３拍子」であって小節数が「２」であれば、最大クロック数maxcountは、３×２×６４＝３８４になる。
【００３２】
次に、波形データの先頭、および先頭から各制御ポイントまでの時間に相当するクロック数（生成開始クロック数）と、これらクロック数において読み出されるべき波形データとが、図７に示すようなテーブルに格納される。これにより、本ルーチンの処理が終了する。
【００３３】
2．3．演奏処理
次に、上記結合セクション１ｔ〜１２ｔの波形データを用いて自動演奏を行う処理を、図８を参照し説明する。上述したように自動演奏時においては、４分音符の「１／６４」の間隔でテンポクロックが生成され、該テンポクロックが生成される毎に図８に示すプログラムが実行される。
【００３４】
図８において処理がステップＳＰ３４に進むと、変数tcountは最大クロック数maxcountを超えたか否かが判定される。なお、変数tcountは、自動演奏の開始時に「０」に初期化されている。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ３６に進み、変数tcountが「０」に設定される。一方、ステップＳＰ３４において「ＮＯ」と判定されると、ステップＳＰ３６はスキップされる。
【００３５】
次に、処理がステップＳＰ３８に進むと、図７のテーブルが参照され、波形データの読出しを開始するタイミングに達したか否か、すなわち変数tcountがいずれかの生成開始クロック数に一致するか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ４０に進み、対応する波形データの読出しが開始される。
【００３６】
すなわち、この時点の直前まで別の波形データの読出し処理が行われていたとしても、ステップＳＰ４０においては、該別の波形データと交代する形で新たな波形データの読出しが開始されることになる。一方、ステップＳＰ３８において「ＮＯ」と判定されると、ステップＳＰ４０はスキップされ、読出し中の波形データが変更されることなく、処理はステップＳＰ４２に進む。そして、ステップＳＰ４２においては、変数tcountが「１」だけインクリメントされ、本ルーチンの処理が終了する。
【００３７】
上記処理によれば、最初に変数tcountが「０」に初期設定された後に処理がステップＳＰ３８に進むと、直ちに結合セクション１ｔの波形読出しが開始される。その後、変数tcountが「２８」に達した後に処理がステップＳＰ３８に進むと、結合セクション１ｔの波形データの読出しが中止され、結合セクション２ｔの波形データの読出しが開始される。結合セクション１ｔと結合セクション２ｔとを滑らかに接続するために、結合セクション１ｔの読出しを中止する部分の波形データと結合セクション２ｔの読出しを開始する部分の波形データをクロスフェード接続するようにしてもよい。
【００３８】
以下同様に、変数tcountの増加に応じて結合セクション３ｔ〜１２ｔの読出しが順次開始されてゆく。そして、変数tcountが「maxcount＋１」になると、ステップＳＰ３４，ＳＰ３６において変数tcountが「０」に戻される。そして、以降は同様の動作が繰り返されることになる。
【００３９】
次に、かかる処理により、実際に生成される楽音波形を図９を参照し説明する。同図(b)は、再生時および録音時のテンポ比を１.００に設定した場合に読み出されるセクションを示す。かかる場合は、各結合セクションの「１／２」すなわちオリジナルセクションの部分が全て読出された時に、次の結合セクションの読出しが開始される。これにより、再生される楽音波形は、原波形データと一致する。
【００４０】
また、同図(a)は、再生時および録音時のテンポ比を０.６７に設定した場合に読み出されるセクションを示す。かかる場合には、オリジナルセクションの長さを基準にすると「６７％」再生された時点で次のセクションの読出しが開始される。これにより、各オリジナルセクションの後半３３％および挿入セクションは再生されないことになる。
【００４１】
また、同図(c)は、再生時および録音時のテンポ比を１.６５に設定した場合に読み出されるセクションを示す。かかる場合には、オリジナルセクションの長さを基準にすると「１６５％」再生された時点で次のセクションの読出しが開始される。これにより、各オリジナルセクションと、各挿入セクションの前半６５％の部分が再生されることになる。
【００４２】
そして、再生時のテンポや再生に用いられる波形データは、ユーザが入力装置４を介してリアルタイムに変更することができる。同様に、各セクションを読出す速度すなわちピッチシフト量も入力装置４を介してリアルタイムに変更することが可能である。また、予め定めたシーケンスに基づいて、再生される波形データ、テンポ、あるいはピッチシフト量を自動的に変遷させるようにしてもよい。これにより、ユーザの操作あるいは予め定められたシーケンスに基づいて、多彩な態様で波形データが再生され発音される。
【００４３】
3．実施例の効果
以上のように、本実施例によれば、波形データの各挿入セクションのエンベロープレベルの初期値は、対応するオリジナルセクションの終端時のエンベロープレベルに等しくなるように設定され、さらに挿入セクションの減衰率はオリジナルセクションの減衰率と等しくなるように設定される。
【００４４】
これにより、オリジナルセクションと挿入セクションとが全く違和感なく接続され、特に再生時および録音時のテンポ比が１.００を超える値に設定された時、従来得られなかった高品質な再生音を得ることができる。
【００４５】
4．変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記各実施例はパーソナルコンピュータ上で動作するアプリケーションプログラムによって波形編集システムを実現したが、同様の機能を各種の電子楽器、携帯電話器、アミューズメント機器、その他楽音を発生する装置に使用してもよい。また、上記実施例に用いられるソフトウエアをＣＤ−ＲＯＭ、フレキシブルディスク等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
(2)上記実施例においては、各オリジナルセクションに対応して予め挿入セクションの波形データを生成したが、各挿入セクションの波形データを波形データ再生中に、ないし波形再生の指示を受けて波形データ再生を開始する直前に生成するようにしてもよい。これにより、波形データを格納しておくための記憶容量を削減することができる。
【００４６】
(3)上記実施例のステップＳＰ１６においては、エンベロープ調整前の挿入セクションの波形データとして、対応するオリジナルセクションの波形データまたはこれを反転したものがそのまま用いられた。しかし、オリジナルセクションの後半部分のピッチを検出し、このピッチ単位でオリジナルセクションの一部（部分波形）を繰返えすことによって挿入セクションを生成してもよい。これにより、アタック部分特有の不安定さが挿入セクションに現れることを防止することができる。
【００４７】
なお、部分波形のサイズは一定であってもよく、ランダムな長さに設定してもよい。また、オリジナルセクションの後半部分で安定してピッチが検出された場合にはオリジナルセクションの一部を繰り返し、ピッチが検出されなかった場合にはオリジナルセクション全体（またはこれを反転したもの）をコピーして、挿入セクションのエンベロープ調整前の波形データに設定してもよい。
【００４８】
(4)また、上記実施例においては、各挿入セクションは、その直前のオリジナルセクションの波形データ（またはこれを反転したもの）に基づいて作成されたが、次のオリジナルセクションの波形データに基づいて各挿入セクションを生成してもよい。例えば、挿入セクション１ｉは、オリジナルセクション２ｒの波形データに基づいて生成してもよい。
【００４９】
(5)また、上記実施例において、原波形データを複数の周波数帯域に分割し、各周波数帯域毎に圧縮・伸張処理を行ってもよい。その構成を図１０を参照し説明する。図において５０は帯域分割フィルタであり、ＦＦＴ回路あるいはPhase Vocoder等によって構成され、原波形データを複数の周波数帯域に分割する。
【００５０】
５２はエンベロープ／ビート検出部であり、各周波数帯域についてエンベロープおよびビートを検出し、原波形データの各周波数帯域を複数のオリジナルセクションに分割する。５４は時間圧縮／伸張処理回路であり、各周波数帯域毎のオリジナルセクションに対して挿入セクションの波形データを生成し、テンポクロックに同期して波形データを再生する。再生される波形データの圧縮／伸張の態様は、図９に示したものと同様である。５６は加算器であり、各帯域毎の再生波形を加算し、その結果を楽音波形として出力する。
【００５１】
(6)上記実施例においては、オリジナルセクションに基づいて、リニアスケールで減衰率ｄｒを求めたが、この減衰率ｄｒはログスケールで求めてもよい。具体的には、ログスケールにおいて減衰率ｄｒは
ｄｒ＝（Ｌ１−Ｌ２）／Ｔ
となり、挿入セクション内の各部のエンベロープは、挿入セクションの開始時刻ｔ＝０として、
Ｌ２−ｄｒ・ｔ
によって求めることができる。また、減衰率ｄｒは、リニアスケールあるいはログスケール以外の種々の方法で求めてもよい。
【００５２】
(7)上記実施例においては、エンベロープが平坦な平坦化波形データを一旦求め、この平坦化波形データに対してエンベロープレベルを乗算することによって挿入セクションの波形データを求めた（ステップＳＰ１８，ＳＰ２０）。しかし、オリジナルセクションの波形データに対して、「新たに求めた挿入セクションのエンベロープ／オリジナルセクションのエンベロープ」を乗算することにより、挿入セクションの最終的な波形データを直接的に求めてもよい。
【００５３】
(8)上記実施例においては、オリジナルセクションのエンベロープレベルの最大値Ｌ１と、終端エンベロープレベルＬ２と、この最大値Ｌ１が現れてからオリジナルセクションの終端までの時間Ｔとに基づいて減衰率ｄｒを求めた。しかし、最大値Ｌ１が生ずる位置とオリジナルセクションの終端との間の所定位置におけるエンベロープレベルＬ１’と、該所定位置から終端までの時間をＴ’と、終端エンベロープレベルＬ２とに基づいて、
ｄｒ＝（Ｌ１’／Ｌ２）1/T'
によって減衰率ｄｒを求めてもよい。特にオリジナルセクションの終端付近の減衰率がそれ以前と比較して変動している場合には、挿入セクションに対して一層適切な減衰率ｄｒを付与することができる。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施例の波形編集システムのブロック図である。
【図２】上記実施例において挿入セクションおよび結合セクションを生成する処理の動作説明図である。
【図３】挿入セクションｎｉにおける波形データの設定処理の動作説明図である。
【図４】挿入セクションｎｉにおけるエンベロープレベルの設定処理の動作説明図である。
【図５】挿入セクションｎｉにおけるエンベロープレベルの設定処理の動作説明図である。
【図６】上記実施例における再生用波形データ生成処理のフローチャートである。
【図７】生成開始クロック数と波形データとの対応テーブルの内容を示す図である。
【図８】演奏処理ルーチンのフローチャートである。
【図９】再生される波形データの圧縮／伸張処理の説明図である。
【図１０】上記実施例の変形例の要部のブロック図である。
【符号の説明】
【００５５】
１ｉ〜１２ｉ…挿入セクション、１ｔ〜１２ｔ…結合セクション、２…通信インタフェース、４…入力装置、６…演奏操作子、８…ディスプレイ、１０…ＣＰＵ、１２…ＲＯＭ、１４…ＲＡＭ、１６…バス、１８…ドライブ装置、２０…記憶媒体、２２…波形取込インタフェース、２８…サウンドシステム、５０…帯域分割フィルタ、５２…エンベロープ／ビート検出部、５４…時間圧縮／伸張処理回路、５６…加算器。
【図１】
2005301319.tif 000003
【図２】
2005301319.tif 000004
【図３】
2005301319.tif 000005
【図４】
2005301319.tif 000006
【図５】
2005301319.tif 000007
【図６】
2005301319.tif 000008
【図７】
2005301319.tif 000009
【図８】
2005301319.tif 000010
【図９】
2005301319.tif 000011
【図１０】
2005301319.tif 000012