(57)【特許請求の範囲】
【請求項１】
波形データ記憶手段に実際の演奏に基づく波形データを記憶させる手段と、
前記波形データを制御信号の変化に基づいて時間軸圧縮伸張再生する圧縮伸張再生手段と、
前記制御信号を記憶する制御信号記憶手段とを、
具備し、
前記制御信号は、拍のタイミングを移動させるように圧縮及び伸張を指示する周期的に変化する予め定めた基準制御信号を、前記波形データの各拍の周期と周期が一致するように修正したもので、
前記制御信号記憶手段からの前記制御信号に基づいて前記圧縮伸張再生手段が時間軸圧縮伸張再生する波形データの演奏制御装置。
【請求項２】
波形データ記憶手段に実際の演奏に基づく波形データを記憶させる手段と、
前記波形データを制御信号の変化に基づいて時間軸圧縮伸張再生する圧縮伸張再生手段と、
前記制御信号を記憶する制御信号記憶手段と、
前記制御信号記憶手段から読み出された制御信号を変化させる制御信号変化手段とを、
具備し、
前記制御信号は、拍のタイミングを移動させるように圧縮及び伸張を指示する周期的に変化する予め定めた基準制御信号を、前記波形データの各拍の周期と周期が一致するように修正したもので、
前記変化させられた制御信号に基づいて前記圧縮伸張再生手段が、時間軸圧縮伸張再生する波形データの演奏制御装置。
【請求項３】
前記制御信号記憶手段に記憶された制御信号は、前記波形データ記憶手段に記憶された波形データのピーク位置から求めた拍の間隔に応じて前記基準制御信号を伸縮したものである請求項１または２記載の波形データの演奏制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、波形データを演奏する波形データの演奏制御装置に関し、特に波形データの時間軸を圧縮伸長して、演奏するものに関する。
【０００２】
【従来の技術】
従来、楽器音のフレーズを電子楽器で再現するときには、大きく分けて２つの方法が用いられていた。１つは、楽器音の単音を発生させる、ＰＣＭ音源のような音源と、シーケンサを組み合わせるものである。もう１つの方法は、実際に演奏したフレーズをそのままサンプリングした、いわゆるサンプラーを使用するものである。
【０００３】
これら２つの方法には、それぞれ特徴があり、目的に応じて使い分けられている。ＰＣＭ音源とシーケンサの組合せによる前者では、自由にテンポの調整や音色の変更ができる。しかし、熟練した演奏者が演奏したような演奏を実現するためには、高度なノウハウが必要である。
【０００４】
人間が実際に演奏したフレーズそのものを使う後者では、非常に自然な演奏表現や空気感を得ることができる。しかし、ＰＣＭ音源とシーケンサを使用した場合のようにテンポや或る特定の発音タイミング等を自由に変化させることは不可能であった。但し、近年、開発されたタイム・ストレッチに関する技術（時間軸の圧縮伸長技術）により、実用上必要な範囲におけるテンポの調整は可能になった。これにより、サンプラーの使用も、従来の楽器音中心の使用からフレーズ中心の使用へと移行しつつある。
【０００５】
【発明が解決しようとする課題】
しかし、フレーズをそのままサンプリングするサンプラーを使用した場合、従来のＰＣＭ音源とシーケンサの使用では簡単に行うことができたスイング等を容易に実現できない。上記のタイム・ストレッチによって、複数のフレーズ相互のテンポを合わせたとしても、各フレーズが元々持っているノリが異なる場合には、音楽的に良い結果を得ることができない。
【０００６】
本発明は、タイム・ストレッチ技術を応用して、オーディオフレーズに対してスイングなどの効果を付与する技術を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記の課題を解決するために、本発明は、波形データ記憶手段に実際の演奏に基づく波形データを記憶させる手段と、前記波形データを制御信号の変化に基づいて時間軸圧縮伸張再生する圧縮伸張再生手段と、前記制御信号を記憶する制御信号記憶手段とを、具備している。前記制御信号は、拍のタイミングを移動させるように圧縮及び伸張を指示する基準制御信号を、前記波形データの各拍の周期と周期が一致するように修正したもので、前記制御信号記憶手段からの前記制御信号に基づいて前記圧縮伸張再生手段が時間軸圧縮伸張再生する。
【０００８】
また、制御信号を変化させる制御信号変化手段を設け、圧縮伸長再生手段は、この変化させられた制御信号に基づいて、時間軸圧縮再生するものとできる。
【０００９】
前記制御信号は、最初に伸長を指示し、次に圧縮を指示するものとできる。逆に最初に圧縮を指示し、次に伸長を指示するものとできる。この制御信号は、圧縮及び伸長の繰り返しを指示するものとでき、圧縮または伸長の開始を予め定めた時点とするものとできる。制御信号の周期は、波形データの各拍の周期と一致するようにすることができる。例えば圧縮伸長再生手段が、制御信号の値に基づいて圧縮伸長を行うものである場合、圧縮を指示する制御信号の積算値と伸長を指示する制御信号の積算値とを等しく、例えば１周期の積分値が０になるように制御信号を選択することができる。前記制御信号変化手段は、前記制御信号を演算処理するものとできる。演算処理としては、制御信号に係数を乗算したり、制御信号に一定値を加算するものを使用することができる。
【００１０】
本発明によれば、波形データが、波形データ記憶手段に記憶される。この記憶された波形データが、時間軸圧縮伸長再生手段によって、制御信号に基づいてリアルタイムで圧縮伸張されて再生される。例えば、当初に伸張され、次に圧縮されることが繰り返される。この制御信号は、適当に定めたものではなく、当該波形データに基づいて生成されているので、波形データの状態に応じて圧縮や伸長が行われる。また、制御信号は、１周期の積分値が０になるように設定されていれば、圧縮と伸長によって演奏のテンポが変わることなく、特定のタイミングだけを変更することが可能となる。更に、その制御信号に対して演算処理を施すことによって、使用者の好みに応じた圧縮、伸長を行える。
【００１１】
【発明の実施の形態】
本発明の実施の形態の詳細な説明の前に、本発明の基本原理について図１を参照しながら説明する。図１（ａ）に示す波形は、例えば所定のサンプリング周波数でサンプリングされて、波形記憶データに記憶された例えば１小節分の波形データであり、各拍は、表拍（四分音符）２と裏拍（八分音符）４とからなるものである。
【００１２】
この波形データが、制御信号、例えば図１（ｂ）に示すタイムレート（時間軸圧伸量情報）信号ＴＲＡＴＥに基づいて、時間軸圧縮伸長再生手段によってリアルタイムに時間軸圧縮伸張されて、再生される。このタイムレート信号ＴＲＡＴＥの値が、例えば負の値のとき、伸長が行われ、正の値のとき、圧縮が行われる。
【００１３】
そこで、タイムレート信号ＴＲＡＴＥを図１（ｂ）に示すように、表拍２の頭の時点において該タイムレート信号の積分値が０に、そして裏拍４の各頭の時点において該タイムレート信号ＴＲＡＴＥの積分値が負になるように制御する。
【００１４】
裏拍４の頭を経過した後、タイムレート信号ＴＲＡＴＥの値を正の値とし、徐々に増加させ、或る値から徐々に減少させ、次の拍の表拍２の頭では、値が０に戻る。そして、この負における積算値と、正における積算値が等しくなるようにタイムレート信号ＴＲＡＴＥが設定されている。
【００１５】
従って、主に表拍２ではタイムレート信号ＴＲＡＴＥの値は負であり、伸長が行われ、負の値のタイムレート信号が継続しているので、伸長が継続されている。この結果、裏拍４に入るタイミングは、本来のタイミングよりも遅くなる。裏拍４の本来のタイミングを経過した後、圧縮が開始され、次の拍の表拍２の頭では圧縮伸長が行われない状態に戻っている。結果として得られる波形は、図１（ｃ）に示すように裏拍４に相当する音が相対的に後ろに移動する。しかも、次の拍の表拍２は表拍２の頭として定められた時点から発音される。従って、裏拍４のみが後ろに移動し、スイングまたはシャッフルが実現される。
【００１６】
しかし、実際の演奏をサンプラーによって録音したオーディオ・フレーズでは、それぞれの表拍、裏拍の音が正確に拍の位置に一致していることは稀である。このため、或るリズム（例えば八分のスイング等）に対して、タイムレート信号ＴＲＡＴＥのテンプレートを作成し、これをこのリズムの全てのオーディオ・フレーズに一律に当てはめたのでは、最適な結果を得ることができない。
【００１７】
そこで、本発明では、予め用意したテンプレートを、オーディオフレーズごとに最適なものになるように調整し、その調整されたテンプレートを制御に用いている。
【００１８】
図２は、この点を説明するためのもので、図２（ａ）に示されているのは、例えば本実施の形態では、具体的に示されていないサンプリング手段によってサンプリングされ、予め記憶手段に記憶されている元の波形である。この元の波形の各表拍２の頭の位置は、小節の長さから求めた計算上の各拍の位置とは微妙にずれている。この小節の長さから求めた演算結果に基づいて、用意されたテンプレートを選択し、全体的に圧縮または伸長して作成されたタイムレート信号ＴＲＡＴＥを点線で示す。このテンプレートに基づいて元の波形をスイングさせると、最適なスイングは得られない。
【００１９】
そこで、各表拍２の前後の適切な間隔でピークを検出し、この検出したピーク位置を基に各拍ごとにテンプレートを伸縮して、フレーズごとに最適なテンプレートを再構築し、後述の時間圧伸量波形テーブルとして記憶する。そして、この最適なテンプレートをタイムレート信号ＴＲＡＴＥとすると、図２（ｂ）の実線で示されたものとなる。このタイムレート信号ＴＲＡＴＥでスイングさせた波形は、図２（ｃ）に示されたようになる。このように予め定められたテンプレートをそのまま使用するのではなく、波形データに基づいて最適化されたテンプレートを作成し、そのテンプレートに基づいて制御信号であるタイムレート信号ＴＲＡＴＥが求められている。
【００２０】
図３に、本発明の１実施の形態の演奏制御装置を図３に示す。図２に示した元の波形データに相当するオーディオ・フレーズは、記録媒体、例えばハードディスク１０に記録されている。オーディオ・フレーズは、複数個、例えばｎ個記録されており、各オーディオ・フレーズに対応して、図４に示すようにｎ個のフレーズデータを有している。これらフレーズデータは、該当するフレーズの記録が開始されているスタートアドレスと、記録が終了しているエンドアドレスと、該当するフレーズの拍子とテンポとを表すデータを備えている。
【００２１】
このオーディオ・フレーズを時間軸圧縮伸長して再生するためのデータとして、フレーズ制御情報も、ハードディスク１０に記憶されている。このフレーズ制御情報は、図４では、１個のオーディオ・フレーズに対応して１個設けられているように示してあるが、１個のオーディオ・フレーズに対して複数個のフレーズ制御情報を設けることもできる。このフレーズ制御情報は、各オーディオ・フレーズの番号を示すフレーズ番号と、後述するデプスとオフセットの初期値と、図２に示したタイムレート信号ＴＲＡＴＥに相当する時間軸圧伸量波形テーブルとからなる。
【００２２】
或るフレーズ制御情報が選択されると、そのフレーズ制御情報に含まれているフレーズ番号に対応するフレーズデータに基づいてハードディスク１０からハードディスク等制御回路１１を介してオーディオ・フレーズ音源回路１２にオーディオ・フレーズが供給される。このように供給されたオーディオ・フレーズの時間軸の圧縮伸長は、ＣＰＵ１４がオーディオ・フレーズ音源回路１２に供給する時間圧伸量情報に基づいて行われる。この時間圧伸量情報は、上述した同じフレーズ制御情報に含まれている時間軸圧伸量波形テーブルを、デプスとオフセットとに基づいてＣＰＵ１４がＲＡＭ１６、ＲＯＭ１８と共同して変化させたものである。
【００２３】
なお、オーディオ・フレーズ音源回路１２が時間軸を圧縮、伸長させて再生したオーディオフレーズは、Ｄ／Ａ変換器２０によってアナログ信号に変換され、増幅回路２２によって増幅されて、図示しないスピーカに供給される。
【００２４】
図５は、１つのオーディオ・フレーズに対して或るフレーズ制御情報を選択して或る時間軸圧伸量波形テーブルを選択し、これをデプスとオフセットによって変形する状態をブロック的に示したものである。実際には、この変形は、ＣＰＵ１４における演算処理として行われる。
【００２５】
デプスは、係数、例えば−１以上＋１以下の値であり、上述したように初期値がフレーズ制御情報の一部として記憶されているが、ユーザーが任意に変更可能である。これが、乗算器２２によって、時間軸圧伸量波形テーブルのデータに乗算される。デプスが正の値の場合、先に説明したように裏拍が遅れる状態になるが、負の値の場合、裏拍が速くなる状態になる。そして、デプスの絶対値が大きければ大きいほど、スイングの効果が大きくなる。デプスの値が０のときには、時間軸圧伸波形テーブルの効果が０になり、スイングの効果は付与されなくなる。
【００２６】
このデプスが乗算された時間軸圧伸量波形テーブルのデータに対してオフセット値が加算器２４によって加算される。このオフセット値は、再生されるオーディオ・フレーズ音源回路１２の基本的な圧縮伸長量を設定するために使用され、本実施の形態のオーディオ・フレーズ音源回路１２の仕様では、元の波形から時間軸圧縮伸長を行わない場合には１．０に、元の波形を時間軸圧縮する場合には１より大きな値に、元の波形を時間軸伸長する場合には、０より大きく１より小さな値に設定するものである。この値も、初期値がフレーズ制御情報の一部として記憶されているが、ユーザーが任意に変更可能である。
【００２７】
このようにデプスやオフセットを任意に設定するために、図６に示すようにデプス用の操作子２６、オフセット用の操作子２８が設けられている。また、フレーズ制御情報を選択するためにウェーブ操作子３０が設けられている。さらに、演奏をスタートさせるためのスタート操作子３２と、演奏を停止させるためのストップ操作子３４とが、設けられている。これら操作子は、図３には操作子３６と纏めて表示されており、操作子制御回路３８を介してＣＰＵ１４に接続されている。
【００２８】
また、図６に示すように、選択されたフレーズ、デプスの深さ、オフセット量を表示するための表示部、例えばＬＣＤ４０が設けられている。このＬＣＤ４０は、図３に示すようにＬＣＤＩ／Ｆ回路４２を介してＣＰＵ１４に接続されている。
【００２９】
これら操作子の操作に応じてＣＰＵ１４が行う処理を、図７を参照して説明する。ＣＰＵ１４が動作を開始した当初、初期設定が行われる（ステップＳ２）。次に、いずれかの操作子が操作されたか、ＣＰＵ１４が判断する（ステップＳ４）。操作されていないと、操作されるまで、ステップＳ４を繰り返す。
【００３０】
デプスまたはオフセットの操作子２６、２８が操作されていると、そのときのデプス及びオフセットの値に基づいて時間軸圧伸量を計算し（ステップＳ６）、この時間軸圧伸量をオーディオ・フレーズ音源回路１２に供給し（ステップＳ８）、再びステップＳ４を実行する。
【００３１】
スタート操作子３２が操作されていると、発音開始の指示をオーディオ・フレーズ音源回路１２に供給し（ステップＳ１０）、割り込みを許可し（ステップＳ１２）、ステップＳ４を再び実行する。
【００３２】
割り込みが許可されたことにより、所定時間、例えばＭＩＤＩクロックと同等の四分音符の１／２４が経過するごとに、図８に示す割り込みが実行される。
【００３３】
この割り込みでは、デプス及びオフセットの操作子２６、２８の値をＣＰＵ１４が読み取り（ステップＳ１４）、これら操作子２６、２８のいずれかの値が更新されているか、ＣＰＵ１４は判断する（ステップＳ１６）。更新されていない場合には、現在のデプス及びオフセットの値に基づいて、この時点で読み出された時間圧伸量波形テーブルの値を変化させて、時間軸圧伸量を計算する（ステップＳ１８）。そして、この時間軸圧伸量をオーディオ・フレーズ音源回路１２に伝送する（ステップＳ２０）。よってオーディオ・フレーズ音源回路１２は、該当する波形データを圧縮または伸長する。
【００３４】
ステップＳ１６において、デプスまたはオフセットの少なくとも一方が更新されていると判断されると、更新後のデプス及びオフセットの値に基づいて、この時点で読み出された時間圧伸量波形テーブルの値を変化させて、時間軸圧伸量を計算する（ステップＳ２２）。そして、ステップＳ２０を実行して、この時間軸圧伸量をオーディオ・フレーズ音源回路１２に伝送する。
【００３５】
再び、図７においてステップＳ４において、ストップ操作子３４が操作されたと、ＣＰＵ１４が判断すると、発音停止の指示がオーディオ・フレーズ音源回路１２に供給され（ステップＳ２４）、この音源回路１２は、発音を停止する。また、ＣＰＵ１４は、ステップＳ４を再び実行する。
【００３６】
なお、スタート操作子３２が操作される前に、デプス及びオフセットの操作子２６、２８が共に操作されていなければ、初期値として設定されているデプス及びオフセットの値によって、時間圧伸量波形テーブルの値の変化が行われる。
【００３７】
図９は、フレーズ、フレーズデータ及びフレーズ制御情報をハードディスク１０に記憶させるときに、ＣＰＵ１４が行う処理を示したもので、まずフレーズを録音する（ステップＳ２６）。次に録音したフレーズのうち、不要な部分を削除する（ステップＳ２８）。この録音したフレーズの拍子、小節数、テンポを入力する（ステップＳ３０）。そして、録音したフレーズのスタートアドレスとエンドアドレスと拍子とテンポとに基づいてフレーズデータを作成する。
【００３８】
そして、予め記憶されている時間圧伸量波形テーブル用のテンプレートのうち、対応するものを選択し（ステップＳ３２）、テンプレートの調整が行われる（ステップＳ３４）。
【００３９】
テンプレートの調整は、図１０に示されているように、初期設定が行われた（ステップＳ３６）後、図２（ａ）に示したように一定の間隔内において各拍のピーク位置が検出される（ステップＳ３８）。これら求められた各ピーク位置からそれぞれの拍の間隔が計算される（ステップＳ４０）。求められた間隔に応じて、ステップＳ３２において選択されたテンプレートが伸縮される（ステップＳ４２）。この伸縮されたテンプレートと、デプスの初期値とオフセットの初期値とフレーズデータの番号とが記憶されてフレーズ制御情報が形成される（ステップＳ４４）。
【００４０】
なお、図３に示すＭＩＤＩＩＦ回路４２は、例えば外部にあるＭＩＤＩ機器、例えばシーケンサからＭＩＤＩ情報をＣＰＵ１４に供給するためのものである。
【００４１】
上記の実施の形態では、フレーズ制御情報として時間圧伸量波形テーブルを記憶しておき、これを図８に示した割り込み処理が行われるごとに読出した。しかし、時間圧伸量波形テーブルに代えて、このテーブルに対応する値を発生する関数発生器を予め準備し、この関数発生器によって時間圧伸量波形を発生してもよい。
【００４２】
【発明の効果】
以上のように、本発明によれば、原波形信号に基づいて最適化された制御信号によって元波形信号の時間軸圧縮伸長再生を行うため、テンポが乱れたりして、不自然な再生信号になることなく、スイングのような効果を付与することができる。更に、その効果の強さも任意に制御することが可能となる。
【図面の簡単な説明】
【図１】本発明による波形データの演奏制御装置の基本原理を説明するための第１の図である。
【図２】本発明による波形データの演奏制御装置の基本原理を説明するための第２の図である。
【図３】本発明の１実施の形態の波形データの演奏制御装置のブロック図である。
【図４】図３の演奏制御装置において使用されるデータを示す図である。
【図５】図３の演奏制御装置におけるデプスとオフセットの説明用のブロック図である。
【図６】図３の演奏制御装置における操作部及び表示部を示す図である。
【図７】図３の演奏制御装置におけるメインルーチンを示すフローチャートである。
【図８】図７のメインルーチンにおいて行われる割り込みルーチンを示すフローチャートである。
【図９】図３の演奏制御装置における波形データの記録処理ルーチンを示すフローチャートである。
【図１０】図９の波形データの記録処理におけるテンプレートの調整ルーチンを示すフローチャートである。
【符号の説明】
１０  ハードディスク（波形データ記憶手段、制御信号記憶手段）
１２  オーディオ・フレーズ音源回路（時間軸圧縮伸長再生手段）
１４  ＣＰＵ（変形手段）
【図１】
0004278733.tif 000002
【図２】
0004278733.tif 000003
【図３】
0004278733.tif 000004
【図４】
0004278733.tif 000005
【図５】
0004278733.tif 000006
【図６】
0004278733.tif 000007
【図７】
0004278733.tif 000008
【図８】
0004278733.tif 000009
【図９】
0004278733.tif 000010
【図１０】
0004278733.tif 000011