(57)【要約】【課題】より自然な演奏に聞こえるようなビブラートを楽音に付加することができる演奏効果制御装置および演奏効果制御方法を実現するためのプログラムを提供する。【解決手段】演奏対象パートに、読み出すべき音符イベントがあるときには、その音符イベントを１つ読み出して、その発音長を算出し（ステップＳ１１→Ｓ１２）、算出された発音長に応じて、新たな振動の速さ（変動速度）を算出して、現在の設定を変更する（ステップＳ１３）。具体的には、音符イベントの発音長は、発音が指示されている音符イベントと、その音符イベントの音高と同じ音高であって消音が指示されているものとの発生タイミングの差を算出することによって求められ、新たな振動の速さは、算出された発音長と、基準発音長（たとえば４分音符長）との比率を求め、この比率を、既に設定されている、ビブラートの変動速度を規定するパラメータの値に乗算することにより、求められる。【選択図】　　図４
2004093814.tif 000002
【特許請求の範囲】
【請求項１】
音符データおよびその発生タイミングを示すタイミングデータを一組とする複数組からなる演奏情報を記憶する記憶手段と、
該記憶手段に記憶された演奏情報の各音符データを読み出す読み出し手段と、該読み出し手段によって読み出された各音符データ毎に、当該音符データの発音長に応じた振動の速さを決定する決定手段と、
前記演奏情報の各音符データに対応する各楽音を、当該タイミングデータに対応するタイミングでリアルタイム入力して発音する入力手段と、
該入力手段によって発音されるすべて楽音の、少なくとも一部の楽音のそれぞれに対して、前記決定手段により決定された振動の速さのビブラートを付加するように制御する制御手段と
を有することを特徴とする演奏効果制御装置。
【請求項２】
音符データおよびその発生タイミングを示すタイミングデータを一組とする複数組からなる演奏情報を記憶する記憶手段に記憶された演奏情報の各音符データを読み出す読み出し手順と、
該読み出し手順によって読み出された各音符データ毎に、当該音符データの発音長に応じた振動の速さを決定する決定手順と、
前記演奏情報の各音符データに対応する各楽音を、当該タイミングデータに対応するタイミングでリアルタイム入力して発音する入力手順と、
該入力手順によって発音されるすべて楽音の、少なくとも一部の楽音のそれぞれに対して、前記決定手順により決定された振動の速さのビブラートを付加するように制御する制御手順と
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、リアルタイム入力されて発音中の楽音にビブラートを付加する演奏効果制御装置および演奏効果制御方法を実現するためのプログラムに関する。
【０００２】
【従来の技術】
リアルタイム入力されて発音中の楽音にビブラートを付加する演奏効果制御装置は、従来から知られている。
【０００３】
このような従来の演奏効果制御装置では、楽音に付加したいビブラートの態様、具体的には、変動幅と変動速度を設定できるようになっており、ユーザがその変動幅と変動速度を選択設定すると、設定された変動幅および変動速度のビブラートが、各楽音に一様に付加されるようになっている。
【０００４】
ここで、ビブラートの付加は、通常、その付加対象となる楽音の音高を、所定の周期波形で振動（変調）させることによってなされる。このため、周期波形の形状を一意に決定するためのパラメータを設定することと、ビブラートの態様を設定することとは、同値である。したがって、ビブラートの態様を設定するために、周期波形の形状を一意に決定するパラメータである、変動幅（振幅）と変動速度（周期）を設定するようにしている。なお、変動速度は、振動の速さともいう。
【０００５】
【発明が解決しようとする課題】
しかし、上記従来の演奏効果制御装置では、設定されたビブラート態様のビブラートが各楽音に一様に付加されるので、このようなビブラートの付加された各楽音の音高の変動速度は同一であり、この結果、不自然な演奏に聞こえてしまう。これは、実楽器を用いたビブラート演奏では、演奏音の発音長に応じて、ビブラートの変動速度が異なっているからである。
【０００６】
本発明は、この点に着目してなされたものであり、より自然な演奏に聞こえるようなビブラートを楽音に付加することができる演奏効果制御装置および演奏効果制御方法を実現するためのプログラムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の演奏効果制御装置は、音符データおよびその発生タイミングを示すタイミングデータを一組とする複数組からなる演奏情報を記憶する記憶手段と、該記憶手段に記憶された演奏情報の各音符データを読み出す読み出し手段と、該読み出し手段によって読み出された各音符データ毎に、当該音符データの発音長に応じた振動の速さを決定する決定手段と、前記演奏情報の各音符データに対応する各楽音を、当該タイミングデータに対応するタイミングでリアルタイム入力して発音する入力手段と、該入力手段によって発音されるすべて楽音の、少なくとも一部の楽音のそれぞれに対して、前記決定手段により決定された振動の速さのビブラートを付加するように制御する制御手段とを有することを特徴とする。
【０００８】
また、請求項２に記載のプログラムは、請求項１と同様の技術的思想によって実現できる。
【０００９】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１０】
図１は、本発明の一実施の形態に係る演奏効果制御装置の概略構成を示すブロック図である。
【００１１】
同図に示すように、本実施の形態の演奏効果制御装置は、文字入力用キーボード、マウス等のポインティングデバイスおよび各種スイッチ等の複数の操作子からなる操作子群１と、該操作子群１の各操作子の操作状態を検出する検出回路２と、装置全体の制御を司るＣＰＵ３と、該ＣＰＵ３が実行する制御プログラムや、各種テーブルデータ等を記憶するＲＯＭ４と、演奏情報、各種入力情報および演算結果等を一時的に記憶するＲＡＭ５と、前記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶する外部記憶装置６と、各種情報等を表示する、たとえば液晶ディスプレイ（ＬＣＤ）および発光ダイオード（ＬＥＤ）等を備えた表示装置７と、外部ＭＩＤＩ（Ｍｕｓｉｃａｌ　Ｉｎｓｔｒｕｍｅｎｔ　Ｄｉｇｉｔａｌ　Ｉｎｔｅｒｆａｃｅ）機器１００等の外部機器を接続し、この外部機器とデータの送受信を行う通信インターフェース（Ｉ／Ｆ）８と、上記記憶された演奏情報等を楽音信号に変換する音源回路９と、該音源回路９からの楽音信号に各種効果を付与するための効果回路１０と、該効果回路１０からの楽音信号を音響に変換する、たとえば、ＤＡＣ（Ｄｉｇｉｔａｌ−ｔｏ−Ａｎａｌｏｇ　Ｃｏｎｖｅｒｔｅｒ）やアンプ、スピーカ等のサウンドシステム１１とにより構成されている。
【００１２】
上記構成要素２〜１０は、バス１２を介して相互に接続され、通信Ｉ／Ｆ８には外部ＭＩＤＩ機器１００が接続され、音源回路９には効果回路１０が接続され、効果回路１０にはサウンドシステム１１が接続されている。
【００１３】
外部記憶装置６としては、たとえば、フレキシブルディスクドライブ（ＦＤＤ）、ハードディスクドライブ（ＨＤＤ）、ＣＤ−ＲＯＭドライブおよび光磁気ディスク（ＭＯ）ドライブ等を挙げることができる。そして、外部記憶装置６には、前述のように、ＣＰＵ３が実行する制御プログラムも記憶でき、ＲＯＭ４に制御プログラムが記憶されていない場合には、この外部記憶装置６に制御プログラムを記憶させておき、それをＲＡＭ５に読み込むことにより、ＲＯＭ４に制御プログラムを記憶している場合と同様の動作をＣＰＵ３にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【００１４】
通信Ｉ／Ｆ８には、図示例では、外部ＭＩＤＩ機器１００が接続されているが、これに限られず、たとえばＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）やインターネット、電話回線等の通信ネットワークを介して、サーバコンピュータが接続されるようにしてもよい。この場合、外部記憶装置６に上記各プログラムや各種パラメータが記憶されていなければ、通信Ｉ／Ｆ８は、サーバコンピュータからプログラムやパラメータをダウンロードするために用いられる。クライアントとなるコンピュータ（本実施の形態では、演奏効果制御装置）は、通信Ｉ／Ｆ８および通信ネットワークを介してサーバコンピュータへとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワークを介してコンピュータへと配信し、コンピュータが通信Ｉ／Ｆ８を介して、これらプログラムやパラメータを受信して外部記憶装置６に蓄積することにより、ダウンロードが完了する。
【００１５】
なお、本実施の形態の演奏効果制御装置は、上述の構成から分かるように、汎用的なパーソナルコンピュータ上に構築されたものであるが、これに限らず、本発明を実施できる最小限要素のみから構成した専用装置上に構築してもよい。
【００１６】
図２は、自動演奏される演奏情報のデータフォーマットの一例を示す図である。
【００１７】
なお、演奏情報は、所定の方法によって取得され、ＲＡＭ５の所定位置に確保された演奏情報格納領域に格納されているものとする。所定の方法としては、たとえば、外部記憶装置６に記憶されているものを指定してロードする方法や、通信Ｉ／Ｆ８を介して、外部ＭＩＤＩ機器１００またはサーバコンピュータに記憶されているものを指定してダウンロードする方法等が考えられる。
【００１８】
図２（ａ）に示すように、演奏情報は、少なくとも、演奏対象パートの演奏データ２１からなっている。その他、伴奏パートの演奏データ２２および打楽器パートの演奏データ２３を追加するようにしてもよいが、これらは、本発明に必須のものではない。
【００１９】
ここで、演奏対象パートとは、ユーザが、たとえば外部ＭＩＤＩ機器１００を用いて演奏するパートを意味する。外部ＭＩＤＩ機器１００が弦楽器型の電子楽器であれば、演奏対象パートには、弦楽器パートの演奏データが格納され、外部ＭＩＤＩ機器１００が管楽器型の電子楽器であれば、演奏対象パートには、管楽器パートの演奏データが格納される。それ以外のパートの演奏データ、すなわち、外部ＭＩＤＩ機器１００が、たとえば弦楽器型の電子楽器である場合の鍵盤楽器パート、管楽器パートおよび打楽器パート（もちろん、これらのパートが存在することを前提としている）の演奏データは、伴奏パートや打楽器パートに格納される。
【００２０】
演奏対象パートの演奏データ２１は、図２（ｂ）に示すように、基本的には、音高および発音／消音を示す各データ（図示せず）からなる音符イベントデータ３２ｎ（ｎ＝１，２，…）と、そのイベントの生成（発音／消音）タイミングを示すタイミングデータ３１ｎ（ｎ＝１，２，…）とを一組とする複数組のシーケンスによって構成される。
【００２１】
このような演奏情報を自動演奏すると、その詳細は後述するが、演奏対象パートの演奏データ２１については、発音せずに、読み出しだけ行って、この読み出された情報に基づいて、ユーザが演奏して発生させた楽音に付加するビブラートの態様を決定する一方、伴奏パートおよび打楽器パートの各演奏データ２２および２３（存在すれば）については、通常の発音処理を行う。
【００２２】
以下、以上のように構成された演奏効果制御装置が実行する制御処理を、図３〜図５を参照して詳細に説明する。
【００２３】
本制御処理は、メインルーチンの一部でなされるパラメータ設定＆発音処理（図３）と、割り込みルーチンの一部でなされるパラメータ変更＆発音処理（図４）とによって、主として構成されている。
【００２４】
パラメータ設定＆発音処理では、（１）ビブラートの基本態様の設定／変更処理、（２）ユーザが外部ＭＩＤＩ機器１００を用いて演奏した楽音を発音する処理、（３）（２）で発音された楽音にビブラートを付加するかどうかを設定する処理、および（４）（３）でビブラートの付加が設定されたときに、（２）で発音された楽音にビブラートを付加する処理がなされる。
【００２５】
また、パラメータ変更＆発音処理では、（５）演奏対象パートの演奏データ２１に基づいて、ビブラートの基本態様を変更する処理、および（６）演奏対象パート以外のパートの演奏データ２２，２３に対する発音処理がなされる。
【００２６】
図３は、本実施の形態の演奏効果制御装置、特にＣＰＵ３が実行するパラメータ設定＆発音処理の手順を示すフローチャートである。
【００２７】
同図において、まず、表示装置７上に、付与すべきビブラートの基本態様を規定するパラメータの設定／変更画面が表示され、ユーザが、たとえば、マウスを使って、パラメータの種類とその値を選択して設定／変更すると、設定／変更されたパラメータの種類と値が、前記ＲＡＭ５の所定領域に確保されたパラメータ格納領域に記憶される（ステップＳ１→Ｓ２）。ここで設定／変更されるパラメータの種類は、ビブラートの変動幅と変動速度を規定する各パラメータであり、その値は、変動幅を規定するパラメータの場合には、変動幅が「小」から「大」までを所定個のレベルに分割したときのいずれかのレベルであり、変動速度を規定するパラメータの場合には、変動速度が「遅い」から「速い」までを所定個のレベルに分割したときのいずれかのレベルである。なお、ステップＳ１で設定／変更される、ビブラートの変動速度を規定するパラメータの値は、所定の基準発音長（たとえば、４分音符長）の音符イベントに付加されるビブラートデータを生成するためのものであり、この基準発音長以外の音符イベントに対しては、後述するように、ステップＳ１で設定された、ビブラートの変動速度を規定するパラメータの値が変更されて設定される。
【００２８】
次に、ユーザが外部ＭＩＤＩ機器１００を用いて演奏したときには、ユーザが指示した楽音を発音し（ステップＳ３→Ｓ４）、このとき、ビブラートの付加が「有」に設定されていれば、現在のビブラートの設定内容とユーザの指示内容に相当するビブラート演奏を発音する（ステップＳ５→Ｓ６）。ここで、ビブラート演奏の発音とは、後述する図５の振動波形に沿って、所定の時間長が経過するまでの間、時間経過にあったピッチの変更量を発生し、その変更量で、ビブラートを付加する対象のユーザ演奏（ユーザによって指示された音高）のピッチを変更することである。また、現在のビブラートの設定内容とは、演奏対象パートの演奏データ２１を自動演奏しているときには、後述するステップＳ１２およびＳ１３の各処理によって、自動演奏の進行に合わせて逐次に（振動の速さが）変更される設定内容を意味し、演奏対象パートの演奏データ２１を自動演奏していないときには、ステップＳ２で設定／変更されたビブラートの基本態様の設定内容を意味する。
【００２９】
さらに、ビブラートの付加の有無の設定や、再生する演奏情報の選択設定などを行う（ステップＳ７）。
【００３０】
そして、上記ステップＳ１〜Ｓ７の各処理を再生装置が停止されるまで行う（ステップＳ８）。
【００３１】
図４は、本実施の形態の演奏効果制御装置、特にＣＰＵ３が実行するパラメータ変更＆発音処理の手順を示すフローチャートである。本パラメータ変更＆発音処理は、所定時間毎に発生する割り込み信号に同期して起動される。そして、この割り込み信号は、上記ステップＳ７で選択された演奏情報の自動演奏の開始が指示されると、その発生が許可される。
【００３２】
同図において、まず、演奏対象パートに、読み出すべき音符イベントがあるときには、その音符イベントを１つ読み出して、その発音長を算出する（ステップＳ１１→Ｓ１２）。この音符イベントの発音長の算出方法は、具体的には、次のようにして行う。すなわち、音符イベントは、前述したように、音高および発音／消音を示す情報から構成されているので、その発音長は、発音が指示されている音符イベントと、その音符イベントの音高と同じ音高であって消音が指示されているものとの発生タイミングの差を算出することによって求められる。なお、上記発音長の算出方法では、読み出された１つの音符イベントの発音長を算出する場合、その音符イベントより後に位置する、同一音高かつ消音を指示する音符イベントまでのタイミングデータをすべて読み出す必要があるので、実際には、音符イベントを１つだけ読み出せば、その発音長を算出できる訳ではない。しかし、これは、演奏データのデータフォーマットに大いに依存するのであって、たとえば、音符イベントに発音長を示すデータが付随している場合には、音符イベント（＋発音長を示すデータ）を１つだけ読み出せば、その発音長を算出することができる。
【００３３】
このようにして算出された発音長に応じて、新たな振動の速さ（変動速度）を算出し、現在のビブラートの設定内容を、この算出された新たな内容に変更する（ステップＳ１３）。具体的には、ステップＳ３で算出された発音長と、前記基準発音長（本実施の形態では、４分音符長）との比率を求め、この比率を、ステップＳ１で設定された、ビブラートの変動速度を規定するパラメータの値に乗算することにより、新たなパラメータの値、すなわち、新たなビブラートの変動速度を規定するパラメータの値を設定する。たとえば、発音長が８分音符長であれば、ステップＳ１で設定された、ビブラートの変動速度を規定するパラメータの値の２倍の値が、新たなパラメータ値として設定され（すなわち、ビブラートの変動速度は速くなる）、発音長が２分音符長であれば、ステップＳ１で設定された、ビブラートの変動速度を規定するパラメータの値の１／２倍の値が、新たなパラメータ値として設定される（すなわち、ビブラートの変動速度は遅くなる）。
【００３４】
次に、その他のパートの発音すべき音符イベントを音源回路９に送信して発音する（ステップＳ１４）。
【００３５】
図５は、新たに設定された態様に沿って作成された振動波形の一例を示す図であり、縦軸はピッチの変更量（ビブラートの変動幅）を表し、中心より上に行くほどピッチの変更量がプラス側（音高を上げる側）に増加し、中心より下に行くほどマイナス側（音高を下げる側）に増加することを示している。そして、（ａ）は、ステップＳ１で設定された、ビブラートの変動速度を規定するパラメータの値に応じて作成された振動波形を示し、（ｂ）は、基準発音長の倍の発音長の音符イベントに付加すべきビブラートの変動速度を規定するパラメータ値に応じて作成された振動波形を示し、（ｃ）は、基準発音長の半分の発音長の音符イベントに付加すべきビブラートの変動速度を規定するパラメータ値に応じて作成された振動波形を示している。つまり、基準発音長より長い発音長の音符イベントには、振動の速さ（周期）を、設定されたものより遅く（長く）なるように修正し、他方、基準発音長より短い発音長の音符イベントには、設定されたものより速く（短く）なるように修正する。
【００３６】
このように、本実施の形態では、リアルタイム入力して発音された各楽音毎に、その発音長に応じた変動速度のビブラートを付加するようにしてので、実楽器を用いた演奏と同様のビブラートを付加することができ、これにより、より自然なビブラート演奏を再現することができる。
【００３７】
なお、本実施の形態では、ビブラートの付加が「有」に設定されているときには、リアルタイム入力して発音された楽音のすべてに、ビブラートを付加するようにしたが、これに限らず、演奏対象パートの演奏データ２１中に、ビブラートの付加のオン／オフを指示する指示イベントを埋め込んでおき、指示イベントがビブラートの付加のオフを指示しているときには、ビブラートの付加が「有」に設定されていても、ビブラートの付加を行わないようにしてもよい。
【００３８】
また、本実施の形態では、音符イベントの発音長（正確には、音符イベントの発音長と基準発音長との比率）とビブラートの変動速度とは線形関係としたが、これに限らず、非線形関係としてもよい。つまり、発音長に応じて相応しい変動速度を決定できる方法であればよい。
【００３９】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵ３やＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００４０】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００４１】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【００４２】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００４３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ３などが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００４４】
【発明の効果】
以上説明したように、本発明によれば、音符データおよびその発生タイミングを示すタイミングデータを一組とする複数組からなる演奏情報を記憶する記憶手段から読み出された各音符データ毎に、当該音符データの発音長に応じた振動の速さが決定され、前記演奏情報の各音符データに対応する各楽音が、当該タイミングデータに対応するタイミングでリアルタイム入力して発音され、発音されるすべて楽音の、少なくとも一部の楽音のそれぞれに対して、前記決定された振動の速さのビブラートが付加されるので、より自然な演奏に聞こえるようなビブラートデータを演奏情報に付加することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係る演奏効果制御装置の概略構成を示すブロック図である。
【図２】自動演奏される演奏情報のデータフォーマットの一例を示す図である。
【図３】図１の演奏効果制御装置、特にＣＰＵ３が実行するパラメータ設定＆発音処理の手順を示すフローチャートである。
【図４】図１の演奏効果制御装置、特にＣＰＵ３が実行するパラメータ変更＆発音処理の手順を示すフローチャートである。
【図５】新たに設定された態様に沿って作成された振動波形の一例を示す図である。
【符号の説明】
１　操作子群，３　ＣＰＵ，４　ＲＯＭ，５　ＲＡＭ，６　外部記憶装置，７　表示装置，８　通信インターフェース，９　音源回路，１０　効果回路，１１　サウンドシステム
【図１】
2004093814.tif 000003
【図２】
2004093814.tif 000004
【図３】
2004093814.tif 000005
【図４】
2004093814.tif 000006
【図５】
2004093814.tif 000007