(57)【要約】【課題】操作子や入力端子等の複数の入力手段で同一の楽音パラメータを制御可能な楽音発生装置等において、例えばピッチベンダの滑らかなピッチ変化と、ギターのスライド奏法のような不連続なピッチ変化を両立させる、楽音パラメータの補間方法を実現する。【解決手段】楽音パラメータの補間方法を入力手段ごとに異ならせ、おのおのの入力手段での補間演算により出力された補間データを合成して、楽音パラメータのデータを作成する。【選択図】　　　図４
2004069979.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ異なる演奏情報を外部入力する複数の入力手段と、
前記複数の入力手段おのおのから入力された演奏情報を、ディジタルデータとして記憶する記憶手段と、
前記記憶手段に記憶された、前記入力手段それぞれに対応するディジタルデータに対して、それぞれ異なる補間演算を実行する補間演算手段と、
前記補間演算手段により出力された、それぞれの補間ディジタルデータに対して、合成演算を実行する合成演算手段と、
前記合成演算手段により出力されたディジタルデータを、楽音パラメータのデータとして、楽音制御部に送出する送出手段と、
を具備することを特徴とするパラメータ補間装置。
【請求項２】
前記補間演算手段は、前記入力手段毎に規定された個数分の平均値算出演算を実行することを特徴とする、請求項１記載のパラメータ補間装置。
【請求項３】
前記補間演算手段は、前記入力手段毎に規定された数値による直線補間演算を実行することを特徴とする、請求項１記載のパラメータ補間装置。
【請求項４】
前記補間演算手段は、前記入力手段毎に規定された数値による指数補間演算を実行することを特徴とする、請求項１記載のパラメータ補間装置。
【請求項５】
前記合成演算手段は、合成演算を実行した結果、所定の値を超えていた場合は、その所定の値を演算結果とすることを特徴とする、請求項１記載のパラメータ補間装置。
【請求項６】
複数の異なる演奏情報を外部入力する複数の入力機能と、
前記入力された複数の演奏情報を、それぞれディジタルデータとして記憶する記憶機能と、
前記記憶機能に記憶された複数のディジタルデータに対して、それぞれ異なる補間演算を実行する補間演算機能と、
前記補間演算機能により出力された、おのおのの補間ディジタルデータに対して、合成演算を実行する合成演算機能と、
前記合成演算機能により出力されたディジタルデータを、楽音パラメータのデータとして、楽音制御部に送出する送出機能と、
を実現させるためのパラメータ補間処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽音発生装置等に用いられるパラメータ補間装置およびパラメータ補間処理プログラムに関する。
【０００２】
【従来の技術】
従来、楽音発生装置ではピッチベンダ等の操作子からの出力を適当なサンプリング周波数でＡ／Ｄ変換し、その変換出力に基づいて、生成楽音のピッチ等の各種パラメータを制御することが行われている。
ところで従来のものでは、例えばピッチベンダを高速で変化させた場合、前記サンプリング周波数が小さい場合にはその変化に追従できず、滑らかなピッチベンド機能が得られない問題がある。
そのため上述の問題点を解消するために、前回の楽音生成に用いたディジタルデータと今回のＡ／Ｄ変換出力とを平均して今回の楽音生成用のディジタルデータを得ることにより、前記ディジタルデータの変化を滑らかにするパラメータ補間方法が先に提案されている（例えば特公平３−２３１８号）。
【０００３】
【発明が解決しようとする課題】
ところで、多くの楽音発生装置では楽音のパラメータを操作子や入力端子等の複数の入力手段により制御することが可能である。ピッチを例にとると前述のピッチベンダの他、ＭＩＤＩ（Ｍｕｓｉｃａｌ　Ｉｎｓｔｒｕｍｅｎｔ　Ｄｉｇｉｔａｌ　Ｉｎｔｅｒｆａｃｅ）端子から入力されたＭＩＤＩチャンネルボイスメッセージのピッチベンドチェンジデータ（以下ＭＩＤＩピッチベンドデータ）での制御が可能なものがある。
そしてそのような構成の楽音発生装置では、演奏者にとってより自由度の高い楽音制御を実現させるために、前記パラメータ補間方法を入力手段毎に異ならせたい場合がある。例えば前述のピッチでは、ピッチベンダでは通常上述のような補間演算処理により滑らかに変化させる方が望ましい。その一方で、ＭＩＤＩ端子からのＭＩＤＩピッチベンドデータ入力によりギターのスライド奏法（ネック上の指移動によるピッチ変化）を模倣させたい場合、変化するピッチはフレットで規定される離散的な値しかとらないため、滑らかでない変化をする方がむしろ望ましい。しかし従来の楽音発生装置ではその場合もピッチベンダと同様の補間演算処理を行うため、結果としてピッチ変化が不自然になるという問題点があった。
【０００４】
本発明はこのような事情に鑑みてなされたもので、楽音のパラメータを複数の入力手段により制御することが可能な楽音発生装置等において、そのパラメータ補間方法を入力手段毎に異ならせることができるパラメータ補間装置を提供することを目的としている。
【０００５】
【課題を解決するための手段】
本発明のパラメータ補間装置では、それぞれ異なる演奏情報を外部入力する複数の入力手段と、複数の入力手段おのおのから入力された演奏情報をディジタルデータとして記憶する記憶手段と、記憶手段に記憶された入力手段それぞれに対応するディジタルデータに対してそれぞれ異なる補間演算を実行する補間演算手段と、補間演算手段により出力されたそれぞれの補間ディジタルデータに対して合成演算を実行する合成演算手段と、合成演算手段により出力されたディジタルデータを楽音パラメータのデータとして楽音制御部に送出する送出手段と、を具備することを特徴とする。
【０００６】
補間演算手段は、入力手段毎に規定された個数分の平均値算出演算を実行すること、あるいは入力手段毎に規定された数値による直線補間演算を実行すること、あるいは入力手段毎に規定された数値による指数補間演算を実行することが望ましい。
【０００７】
また合成演算手段は、合成演算を実行した結果所定の値を超えていた場合は、その所定の値を演算結果とすることが望ましい。
【０００８】
また本発明のパラメータ補間処理プログラムでは、複数の異なる演奏情報を外部入力する複数の入力機能と、入力された複数の演奏情報をそれぞれディジタルデータとして記憶する記憶機能と、記憶機能に記憶された複数のディジタルデータに対してそれぞれ異なる補間演算を実行する補間演算機能と、補間演算機能により出力されたおのおのの補間ディジタルデータに対して合成演算を実行する合成演算機能と、合成演算機能により出力されたディジタルデータを楽音パラメータのデータとして楽音制御部に送出する送出機能と、を実現することを特徴とする。
【０００９】
以上の構成を有することにより、本発明は楽音のパラメータを複数の入力手段により制御することが可能な楽音発生装置等において、そのパラメータ補間方法を入力手段毎に異ならせるようにしたので、例えばピッチベンダでは補間演算処理により滑らかなピッチ変化をさせる一方で、ＭＩＤＩ端子からのＭＩＤＩピッチベンドデータ入力では、補間演算処理を行わずにギターのスライド奏法のようなピッチ変化を模倣させるといった、演奏者にとって自由度の高い楽音制御の実現が可能になる。
【００１０】
【発明の実施の形態】
（１）全体構成
以下、図面を参照してこの発明の一態様を説明する。図１は本発明の第１〜第３の態様に係るブロック図である。１は鍵盤であり、例えば音高Ｃ１〜Ｃ６までの６１個の鍵を有し、各鍵の出力は制御部２に与えられる。
制御部２はＣＰＵ（中央処理装置）等から成り、前記鍵盤１およびスイッチ部３に対しては周期的にスキャン信号を与え、各鍵やスイッチのオン、オフ状態を調べる。そしてその状態に応じた楽音作成用の制御信号を発生して楽音生成部６に与える。
スイッチ部３はテンキースイッチ等各種スイッチを有し、各スイッチの出力は制御部２に入力されて処理される。
ワークＲＡＭ４は、前記制御部２で実行されるピッチ作成処理等で使用されるデータを記憶するメモリである。
【００１１】
ピッチベンダ１０は、ピッチを連続的に変化させるためのホイール状の操作子であり、その出力はＡ／Ｄ変換器５に入力される。Ａ／Ｄ変換器５は制御部２からのＡ／Ｄコントロール信号を受け、アナログの入力信号をディジタルデータに変換して制御部２に出力する。このディジタルデータは符号なし８ビット長データであり、ピッチが下がる方向に最大限操作された場合に０の値を、ピッチが上がる方向に最大限操作された場合に２５５の値を、それぞれとるものとする。後述するように、制御部２はこの操作子の出力データをサンプリング周波数で定められた周期で定期的に読み取り、ワークＲＡＭ４に書き込む。
【００１２】
ＭＩＤＩ入力端子１１は、ＭＩＤＩ規格に従う入力（ＩＮ）、スルー（ＴＨＲＵ）、出力（ＯＵＴ）の３つの端子のうち入力（ＩＮ）の端子であり、５ピンのＤＩＮコネクタが用いられている。後述するように、制御部２はこのＭＩＤＩ入力端子にＭＩＤＩピッチベンドデータが入力されると、それをワークＲＡＭ４に書き込む。
【００１３】
楽音生成部６はＤＣＯ（Ｄｉｇｉｔａｌ　Ｃｏｎｔｒｏｌｌｅｄ　Ｏｓｃｉｌｌａｔｏｒ）等から成り、前記制御部２で発生した楽音作成用の制御信号に基づいて楽音信号を作成する。この楽音信号はＤ／Ａ変換器７でアナログの楽音信号に変換され、アンプ８、スピーカ９を介し楽音として放音される。
【００１４】
（２）ワークＲＡＭ４の構成
図２は、前記ワークＲＡＭ４の構成について説明するものである。ＰＩＴＣＨ＿ＴＯＴＡＬはピッチ作成処理で最終的に作成される統合ピッチデータ、ＰＩＴＣＨ＿ＢＡＳＥはピッチ作成処理開始時の基準ピッチをそれぞれ記憶する領域である。これらのデータは符号付き２バイト長（１６ビット）の大きさであり、その値が「０」の時を中点とし、正データはピッチが上がる方向、逆に負データはピッチが下がる方向を示すものとする。
【００１５】
次にピッチベンダ１０用の処理で使用される変数について説明する。補間レートＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥは、パラメータの補間速度（現在値から目標値に近づく速度）を示す尺度となる数値であり、０から１２７の値をとる。後述するピッチベンダ１０の補間データ作成処理（第１の態様）ではこの値が、平均値演算で使用されるデータ数−１の値として使用される。デプスＢＥＮＤＥＲ＿ＤＥＰＴＨは、作成されたディジタルデータの最大値に対応する実際のピッチの変化量を示す値であり、これも０から１２７の値をとる。またデータバッファＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦは、制御部２が取り込んだ８ビット長データを格納する領域であり、前記補間レートＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥで規定される平均値演算での使用データ数の最大値に対応できるよう、１２８バイトの大きさを持つ。バッファアドレスＢＥＮＤＥＲ＿ＢＵＦ＿ＡＤＲは、データバッファＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦ中のデータ書き込み位置を表わすアドレスデータであり、ＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの先頭位置を基準としたバイト単位の数字で表現される。例えば０、２はそれぞれＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの１バイト目、３バイト目を指す。
【００１６】
次にＭＩＤＩ入力端子１１用の処理で使用される変数についての説明であるが、補間レートＭＩＤＩ＿ＩＮＴＰ＿ＲＡＴＥ、デプスＭＩＤＩ＿ＤＥＰＴＨ、データバッファＭＩＤＩ＿ＤＡＴＡ＿ＢＵＦ、バッファアドレスＭＩＤＩ＿ＢＵＦ＿ＡＤＲはそれぞれ、前述のピッチベンダ１０用変数ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥ、ＢＥＮＤＥＲ＿ＤＥＰＴＨ、ＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦ、ＢＥＮＤＥＲ＿ＢＵＦ＿ＡＤＲと同様であるので、詳細は省略する。またＭＩＤＩ＿ＬＳＢ、ＭＩＤＩ＿ＭＳＢはそれぞれ、後述するＭＩＤＩデータ入力処理において、ＭＩＤＩピッチベンドデータの２バイト目（ＬＳＢデータ）、３バイト目（ＭＳＢデータ）を格納する変数である。
【００１７】
（３）動作
（ａ）メインルーチンの動作（全体動作）
上記構成に電源が投入されると、制御部２は図３に示すメインルーチンを実行し、ステップＳ１に処理を進める。ステップＳ１では、ワークＲＡＭ４に設けられる各種変数をリセットしたり、初期値を設定するイニシャライズを実行する。それ以降はステップＳ２からステップＳ３までの処理を繰り返す。ステップＳ２のスイッチ処理では、スイッチ部３の各スイッチのオン、オフ状態が調べられ、その状態に応じた処理が実行される。ステップＳ３の鍵盤処理では、鍵盤１の各鍵のオン、オフ状態が調べられ、その状態に応じた処理が実行される。
【００１８】
（ｂ）ピッチデータ作成処理の動作
次に図４のフローチャートを参照して、入力される演奏データそれぞれを演算処理して、楽音生成部６に送出するためのピッチデータ作成処理の全体動作を説明する。なおこのピッチデータ作成処理の中で操作子からのデータの読み取りを行うため、この処理はサンプリング周波数で定められた周期で定期的に行われる。最初に統合ピッチデータＰＩＴＣＨ＿ＴＯＴＡＬに基準ピッチＰＩＴＣＨ＿ＢＡＳＥが設定される（ステップＡ１）。次にピッチベンダ１０について補間データ作成処理が行われ（ステップＡ２）、その補間データに、ピッチベンダ１０用のデプスＢＥＮＤＥＲ＿ＤＥＰＴＨを乗算して１２７で割った値が、統合ピッチデータＰＩＴＣＨ＿ＴＯＴＡＬに加算される（ステップＡ３）。引き続いてＭＩＤＩ入力端子１１について補間データ作成処理が行われ（ステップＡ４）、その補間データに、ＭＩＤＩ入力端子１１用のデプスＭＩＤＩ＿ＤＥＰＴＨを乗算して１２７で割った値が、統合ピッチデータＰＩＴＣＨ＿ＴＯＴＡＬに加算される（ステップＡ５）。そしてＰＩＴＣＨ＿ＴＯＴＡＬの値が正の最大値（１２７）と比較され（ステップＡ６）、正の最大値を超えている場合はＰＩＴＣＨ＿ＴＯＴＡＬに最大値が設定される（ステップＡ７）。引き続いてＰＩＴＣＨ＿ＴＯＴＡＬの値が負の最大値（−１２８）と比較され（ステップＡ８）、ＰＩＴＣＨ＿ＴＯＴＡＬが負の最大値を超えている場合はその値が設定される（ステップＡ９）。最後にＰＩＴＣＨ＿ＴＯＴＡＬを楽音のピッチ制御用パラメータデータとして、楽音生成部６に送出する（ステップＡ１０）。
【００１９】
（ｃ）ピッチベンダ１０の補間データ作成処理の動作（第１の態様）
次に図５のフローチャートを参照して、図４のステップＡ２におけるピッチベンダ１０の補間データ作成処理の、第１の態様について詳細説明する。まずピッチベンダ１０用のバッファアドレスＢＥＮＤＥＲ＿ＢＵＦ＿ＡＤＲに１を加え（ステップＢ１）、引き続いてバッファアドレスＢＥＮＤＥＲ＿ＢＵＦ＿ＡＤＲの値が１２７を超えているかどうかが判定される（ステップＢ２）。ここでＢＥＮＤＥＲ＿ＢＵＦ＿ＡＤＲの値が１２７を越えている場合は、ＢＥＮＤＥＲ＿ＢＵＦ＿ＡＤＲの値を０にする（ステップＢ３）。次にＡ／Ｄコントロール信号をＡ／Ｄ変換器５に与えて、ピッチベンダ１０からの信号のＡ／Ｄ変換を実行させる（ステップＢ４）。そしてステップＢ４で得られた符号なし８ビットデータを、１６進データ「８０」との排他的論理和をとることにより符号付き７ビットデータに変換し（ステップＢ５）、その変換データがピッチベンダ１０用のデータバッファＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦ中の、ＢＥＮＤＥＲ＿ＢＵＦ＿ＡＤＲに対応する位置に書き込まれる（ステップＢ６）。すなわちＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦはリングバッファとして使用され、それまでに書き込まれたデータの中で最も古いものが最新のデータに置き換えられることになる。続いてＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦ中に存在する、ステップＢ５で書き込まれた最新データと、最新に近いＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥ個の過去データについて平均値が計算され、これが補間データとされる（ステップＢ７）。
【００２０】
（ｄ）ＭＩＤＩ入力端子１１のＭＩＤＩデータ入力処理（インタラプト処理）の動作
次に図６のフローチャートを参照して、ＭＩＤＩ入力端子１１にデータが入力される毎にインタラプト処理として実行される、ＭＩＤＩデータ入力処理について説明する。まず入力データがＭＩＤＩピッチベンドデータのＬＳＢデータかどうかが判定され（ステップＣ１）、ＬＳＢデータの場合はＭＩＤＩ＿ＬＳＢに格納される（ステップＣ２）。引き続き入力データがＭＩＤＩピッチベンドデータのＭＳＢデータかどうかが判定され（ステップＣ３）、ＭＳＢデータの場合はＭＩＤＩ＿ＭＳＢに格納される（ステップＣ４）。その後、入力データに対して行われるその他の処理へと続くが（ステップＣ５）、本態様の補間演算処理とは直接関係のない部分であるため、詳細説明は省略する。
【００２１】
（ｅ）ＭＩＤＩ入力端子１１の補間データ作成処理の動作
次に図７のフローチャートを参照して、図４のステップＡ４におけるＭＩＤＩ入力端子１１の補間データ作成処理について説明する。この中でステップＤ４以外の各ステップの処理については、図５のピッチベンダ１０からのデータの演算処理において、使用変数をＭＩＤＩ入力端子１１用のものに置き換えた場合に等しいので、ここでは詳細説明は省略する。ステップＤ４では、図６のフローチャートで説明されたＭＩＤＩデータ入力のインタラプト処理により、ＭＩＤＩピッチベンドデータの値が格納されたＭＩＤＩ＿ＬＳＢおよびＭＩＤＩ＿ＭＳＢに対して、ＭＩＤＩ＿ＭＳＢの値を１ビット左シフトしたものにＭＩＤＩ＿ＬＳＢの値を６ビット右シフトしたものを加えることにより、符号なし８ビット長データが作成される。
【００２２】
（ｆ）補間レート設定処理（スイッチ処理内）の動作
次に図８のフローチャートを参照して、図３のステップＳ２におけるスイッチ処理内で実行される、各入力手段の補間レートの設定処理について説明する。ここで図１のスイッチ部３には、ピッチベンダ１０用補間レート設定スイッチＳＷ＿ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥ、ＭＩＤＩ入力端子１１用補間レート設定スイッチＳＷ＿ＭＩＤＩ＿ＩＮＴＰ＿ＲＡＴＥ、および０から９までの数字を入力するためのテンキースイッチが含まれているものとする。またこの処理では、ピッチベンダ１０とＭＩＤＩ入力端子１１のどちらの補間レートを設定しているかを区別するための状態変数ＩＮＰＵＴ＿ＳＥＬＥＣＴ（初期値０）が使用されるものとする。
【００２３】
まずスイッチＳＷ＿ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥが押されたかどうかが判定され（ステップＥ１）、押されている場合はＩＮＰＵＴ＿ＳＥＬＥＣＴに１が設定される（ステップＥ２）。またスイッチＳＷ＿ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥが押されていない場合は、引き続きスイッチＳＷ＿ＭＩＤＩ＿ＩＮＴＰ＿ＲＡＴＥが押されたかどうかが判定され（ステップＥ３）、押されている場合はＩＮＰＵＴ＿ＳＥＬＥＣＴに２が設定される（ステップＥ４）。またステップＥ３でスイッチＳＷ＿ＭＩＤＩ＿ＩＮＴＰ＿ＲＡＴＥが押されていない場合は、引き続きテンキースイッチのどれかが押されたかどうかが判定される（ステップＥ５）。そしてテンキースイッチのどれかが押されている場合は、続いてＩＮＰＵＴ＿ＳＥＬＥＣＴの値が判定される（ステップＥ６）。そこでＩＮＰＵＴ＿ＳＥＬＥＣＴの値が１の場合は、ピッチベンダ１０用補間レートＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥの値の下二桁を１０倍したものに押されたテンキースイッチに対応する数字を加算し、新たなＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥとする（ステップＥ７）。またステップＥ６においてＩＮＰＵＴ＿ＳＥＬＥＣＴの値が２の場合は、ＭＩＤＩ入力端子１１用補間レートＭＩＤＩ＿ＩＮＴＰ＿ＲＡＴＥの値の下二桁を１０倍したものに押されたテンキースイッチに対応する数字を加算し、新たなＭＩＤＩ＿ＩＮＴＰ＿ＲＡＴＥとする（ステップＥ８）。つまり例えば、ＳＷ＿ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥを押したあとでテンキースイッチを０、０、９と押せば、ピッチベンダ１０用補間レートＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥに値９が設定されることになる。また、ＳＷ＿ＭＩＤＩ＿ＩＮＴＰ＿ＲＡＴＥを押したあとでテンキースイッチを０、０、０と押せば、ＭＩＤＩ入力端子１１用補間レートＭＩＤＩ＿ＩＮＴＰ＿ＲＡＴＥに値０が設定されることになる。なお同様の処理により、ピッチベンダ１０やＭＩＤＩ入力端子１１用のデプスＢＥＮＤＥＲ＿ＤＥＰＴＨ、ＭＩＤＩ＿ＤＥＰＴＨを設定することも可能である。
その後、本態様の補間演算処理とは関係のないその他の処理へと続く（ステップＥ９）。
【００２４】
（ｇ）補間レートの変化による平均値演算結果の違い（第１の態様）
図９は、補間レートの値の変化による、第１の態様の平均値演算結果の違いを比較するためのものである。上段（Ａ）は、図５のフローチャートのステップＢ６や、図７のフローチャートのステップＤ６において、ピッチベンダ１０やＭＩＤＩ入力端子１１から入力されるディジタルデータの時間的変化を表わす。中段（Ｂ）は、ピッチベンダ１０用補間レートＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥの値が９の場合の、図５のステップＢ７における平均値演算結果の時間的変化を表わす。下段（Ｃ）は、ＭＩＤＩ入力端子１１用補間レートＭＩＤＩ＿ＩＮＴＰ＿ＲＡＴＥの値が０の場合の、図７のステップＤ７における平均値演算結果の時間的変化を表わす。
【００２５】
下段（Ｃ）の場合、ステップＤ７の平均値演算結果とは、すなわち今回書き込まれたディジタルデータそのものに他ならない。したがってその時間的変化は、上段（Ａ）のそれと完全に一致する。これに対し中段（Ｂ）の場合では、上段（Ａ）の変化が始まっても中段（Ｂ）の変化割合はそれに比べて小さく、上段（Ａ）の変化が終了してしばらくして（正確には、少なくとも補間レートＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥの値分の回数の処理が終了した後）中段（Ｂ）の変化が完了する。すなわち本態様では、平均値演算で使用されるデータの個数が、そのまま補間レート（補間速度を示す尺度）になっている。このように入力手段毎に補間レートを変化させることにより、入力データに対する平均値演算結果の追従性を異ならせることができる。
【００２６】
（ｈ）ピッチベンダ１０の補間データ作成処理の動作（第２の態様）
次に図１０のフローチャートを参照して、図４のステップＡ２におけるピッチベンダ１０の補間データ作成処理の、第２の態様について詳細説明する。ここでは図示しないが、第２の態様の処理においてワークＲＡＭ４では、図２のバッファアドレスＢＥＮＤＥＲ＿ＢＵＦ＿ＡＤＲの代わりに、現在補間データＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡが新たに使用され、作成された補間データを保持する。また第２の態様では、ピッチベンダ１０からのデータは最新のもののみを保持するので、データバッファＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの大きさは１バイトとする。
【００２７】
まずＡ／Ｄコントロール信号をＡ／Ｄ変換器５に与えて、ピッチベンダ１０からの信号のＡ／Ｄ変換を実行させる（ステップＦ１）。引き続きそこで得られた符号なし８ビットデータを、１６進データ「８０」との排他的論理和をとることにより符号付き７ビットデータに変換し（ステップＦ２）、その変換データがデータバッファＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦに書き込まれる（ステップＦ３）。次にＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの値と、現在補間データＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡの値が比較され（ステップＦ４）、ここでＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの値の方が大きい場合は引き続き、ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡに補間レートＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥの値を加算した場合に、ＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの値を超えるかどうかが判定される（ステップＦ５）。そこでＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの値を超える場合は、ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡにＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの値が設定される（ステップＦ６）。一方ステップＦ５においてＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの値を超えない場合は、ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡにＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥの値が加算される（ステップＦ７）。
【００２８】
一方ステップＦ４においてＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの値の方が小さい場合は引き続き、ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡからＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥの値を減算した場合に、ＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの値を超えるかどうかが判定される（ステップＦ８）。そこでＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの値を超える場合は、ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡにＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの値が設定される（ステップＦ９）。一方ステップＦ８においてＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの値を超えない場合は、ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡからＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥの値が減算される（ステップＦ１０）。
【００２９】
すなわち第２の態様において補間レートＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥは、現在補間データＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡと、ピッチベンダ１０からの入力データＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦとの間を直線的に補間する際の加減算値として使用され、その値が大きいほど補間データの入力データへの追従性が高いことになる。
【００３０】
（ｉ）ピッチベンダ１０の補間データ作成処理の動作（第３の態様）
次に図１１のフローチャートを参照して、図４のステップＡ２におけるピッチベンダ１０の補間データ作成処理の、第３の態様について詳細に説明する。ここでは図示しないが、第３の態様の処理におけるワークＲＡＭ４の構成は、第２の態様のそれと同様である。
【００３１】
ピッチベンダ１０からの信号をＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦに取り込むステップＧ１からステップＧ３までの処理は、図１０のステップＦ１からステップＦ３までの処理と同様なので、ここでは詳細説明は省略する。ステップＧ４ではＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの値と、現在補間データＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡの値が比較される。ここでＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの値の方が大きい場合は、
ＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦ　−　（ＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦ　−　ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡ）　×　（ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥ　／　１２７）
で計算された値が、ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡに設定される（ステップＧ５）。
【００３２】
一方ステップＧ４においてＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの値の方が小さい場合は、
ＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦ　＋　（ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡ−　ＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦ）　×　（ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥ　／　１２７）
で計算された値が、ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡに設定される（ステップＧ６）。
【００３３】
すなわち第３の態様では、現在補間データＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡとピッチベンダ１０からの入力データＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦの差分値に、補間レートＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥで規定される補間係数（０から１の範囲の値）を乗算して得られた値の分だけ、ＢＥＮＤＥＲ＿ＤＡＴＡ＿ＢＵＦから離れたデータを新しい補間データとして算出している。つまり入力データと新しく算出された補間データの差分値は、入力データと古い補間データの差分値に比例することになり、したがって補間データの入力データへの接近は指数関数的となる。
【００３４】
図１２は、補間レートの値の変化による、第３の態様の演算結果の違いを比較するためのものである。上段（Ａ）は、図１１のフローチャートのステップＧ３において、ピッチベンダ１０から入力されるディジタルデータの時間的変化を表わす。中段（Ｂ）は、ピッチベンダ１０用補間レートＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥの値が３２の場合の、ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡの時間的変化を表わす。下段（Ｃ）は、ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥの値が９６の場合の、ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＤＡＴＡの時間的変化を表わす。図１２から明らかなように、ＢＥＮＤＥＲ＿ＩＮＴＰ＿ＲＡＴＥの値が小さいほど補間データの入力データへの追従性は高くなる。
【００３５】
（４）変形例
なお上述した第１〜第３の態様では、操作子をピッチベンダとしたが、これに限らず、モジュレーションホイールや鍵盤のアフタータッチ等、あるいはそれらを同時に使用しても構わない。また外部入力端子に関しても、ＭＩＤＩ入力端子に限らず、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）端子等を使用しても構わない。
【００３６】
また上述した態様では、補間対象となる楽音のパラメータをピッチとしたが、これに限らず、音量や、周波数成分制御用フィルタのカットオフ周波数等のパラメータを対象としても構わない。さらに楽音生成用パラメータに限らず、音響効果装置制御用パラメータを対象としても構わない。
【００３７】
また上述した態様では、入力手段ごとに設定される補間レートの値は全音色で共通だったが、これを音色ごとに異ならせるようにしてもよい。このようにすれば例えば同じ操作子でも、フレットのあるギターとフレットのないバイオリンで別の補間レート値を設定することにより、それぞれの音色で自然なピッチ変化の滑らかさを実現することが可能になる。
【００３８】
【発明の効果】
以上説明したように本発明では、楽音のパラメータを複数の入力手段により制御することが可能な楽音発生装置等において、そのパラメータ補間方法を入力手段毎に異ならせるようにしたので、例えばピッチベンダでは補間演算処理により滑らかなピッチ変化をさせる一方で、ＭＩＤＩ端子からのＭＩＤＩピッチベンドデータ入力では、補間演算処理を行わずにギターのスライド奏法のようなピッチ変化を模倣させるといった、演奏者にとって自由度の高い楽音制御の実現が可能になる。
【図面の簡単な説明】
【図１】本発明による一態様の構成を示すブロック図である。
【図２】ワークＲＡＭ４のメモリ構成を示す図である。
【図３】メインルーチンの動作（全体動作）を示すフローチャートである。
【図４】ピッチデータ作成処理の動作を示すフローチャートである。
【図５】ピッチベンダ１０の補間データ作成処理の動作（第１の態様）を示すフローチャートである。
【図６】ＭＩＤＩ入力端子１１のＭＩＤＩデータ入力処理（インタラプト処理）の動作を示すフローチャートである。
【図７】ＭＩＤＩ入力端子１１の補間データ作成処理の動作を示すフローチャートである。
【図８】補間レート設定処理（スイッチ処理内）の動作を示すフローチャートである。
【図９】補間レートの変化による平均値演算結果（第１の態様）の違いを示す図である。
【図１０】ピッチベンダ１０の補間データ作成処理の動作（第２の態様）を示すフローチャートである。
【図１１】ピッチベンダ１０の補間データ作成処理の動作（第３の態様）を示すフローチャートである。
【図１２】補間レートの変化による演算結果（第３の態様）の違いを示す図である。
【符号の説明】
１　鍵盤
２　制御部
３　スイッチ部
４　ワークＲＡＭ
５　Ａ／Ｄ変換器
６　楽音生成部
７　Ｄ／Ａ変換器
８　アンプ
９　スピーカ
１０　ピッチベンダ
１１　ＭＩＤＩ入力端
【図１】
2004069979.tif 000003
【図２】
2004069979.tif 000004
【図３】
2004069979.tif 000005
【図４】
2004069979.tif 000006
【図５】
2004069979.tif 000007
【図６】
2004069979.tif 000008
【図７】
2004069979.tif 000009
【図８】
2004069979.tif 000010
【図９】
2004069979.tif 000011
【図１０】
2004069979.tif 000012
【図１１】
2004069979.tif 000013
【図１２】
2004069979.tif 000014