(1)全体回路
図1は操作子修正装置、操作子修正方法、操作子修正のためのコンピュータプログラムを記憶して実行する装置、自動/手動演奏装置、楽音発生装置または電子楽器の全体回路を示す。キーボード11の各キーは、楽音の発音及び消音を操作/指示するもので、キースキャン回路12によってスキャンされ、キーオン、キーオフを示すデータが検出され、コントローラ2によってプログラム/データ記憶部4に書き込まれる。そして、それまでプログラム/データ記憶部4に記憶されていた各キーのオン、オフの状態を示すデータと比較され、各キーのオンイベント、オフイベントの判別が、コントローラ2によって行われる。
このキーボード11は、ローアキーボード、アッパーキーボード、ペダルキーボード等から成っており、それぞれにつき異なる/同じ音色の楽音、つまり楽音波形または/及びエンベロープ波形の異なる/同じ楽音が発音される。なお、キーボード11は、場合によって、電子弦楽器、電子吹奏(管)楽器、電子打楽器(パッド等)、コンピュータのキーボード等で代用される。
パネルスイッチ群13の各スイッチは、パネルスキャン回路14によって、スキャンされる。このスキャンにより、各スイッチのオン、オフを示すデータが検出され、コントローラ2によってプログラム/データ記憶部4に書き込まれる。そして、それまでプログラム/データ記憶部4に記憶されていた各スイッチのオン、オフの状態を示すデータと比較され、各スイッチのオンイベント、オフイベントの判別が、コントローラ2によって行われる。
上記パネルスイッチ群13には各種操作子21及び各種スイッチが設けられ、この各種操作子及び各種スイッチはペダル、ホイール、レバー、コントローラ、ジョイスティック、ダイヤル、ハンドル、回転/スライドつまみ/ボリューム、ベンダー、タッチスイッチ等である。このペダルはダンパペダル、サスティンペダル、ミュートペダル、ソフトペダル等である。
操作子21によって入力されるパラメータには、テンポ値、セント/チューニング、音高/ノート/トランスポーズ値、音像位置/パンニング値、音色量/高調波成分含有量、エフェクト量、周波数変調量(グライド、グリッサンド、ビブラート、トリル、トレモロ等)、エンベロープスピード量/エンベロープレベル量/音量、アフタータッチ量/イニシャルタッチ量、ミキサー量/楽音混合量、グラフィックイコライザー量、残響量、倍音数/倍音量/倍音比率/倍音比バランス、高調波成分量/高調波成分比/高調波成分比率/高調波成分比バランス、フィルタ減衰量/フィルタカットオフ周波数値、倍音/高調波成分ごとのレベル/音量、クオンタイズ量、リズム量等である。この操作子21によって入力されるパラメータは、音楽的ファクタ(因子)の量/数であり、楽器用または電子楽器用のものである。
上記パネルスイッチ群13にはモードスイッチ29が設けられている。このモードスイッチ29によって、図1の装置のモードが種々切り替えられる。モードスイッチ29によって、操作子21からの電圧値(入力情報)Viまたはパラメータの修正モードが指定されたり、パラメータ入力モードに切り換えられたりする。
このパラメータ入力モードでは、さらに、操作子21から入力されるパラメータの種類が、ピッチ(チューニング)パラメータ、パンニングパラメータ、トランスポーズパラメータ等に切り換えられる。
上記パネルスイッチ群13には、発光ダイオード(LED)30が設けられている。この発光ダイオード(LED)30は、上記修正モードにおいて電圧値(入力情報)Viまたはパラメータの修正がされたときに1秒間点灯されて修正された旨の報知が行われ、修正なされなかった時に3秒間点滅されて修正されない旨の報知が行われる。
発音される楽音は上記キーボード11による手動演奏の楽音または演奏情報から再生された自動演奏の楽音である。この手動演奏または自動演奏の各楽音はミディインターフェース15からも送られてくる。
ミディインターフェース15は、外部接続された電子楽器との間で楽音データの送受を行うためのインターフェイスである。この楽音データはMIDI(ミュージカルインスツルメントデジタルインタフェース)規格のもので、この楽音データに基づいた発音も行われる。
上記キーボード11またはミディインターフェース15には、手動演奏装置のほか、自動演奏装置も含まれる。これらキーボード11、パネルスイッチ群13及びミディインターフェース15から発生された演奏情報(楽音発生情報)は、楽音を発生させるための情報である。ミディインターフェース15を通じて、他の機器から演奏情報が送られてきたり、プログラム/データ記憶部4内の演奏情報が他の機器へ送られたりする。
上記音高情報はキーナンバデータKNとして取り込まれる。このキーナンバデータKNはオクターブデータ(音域データ)と音名データとからなる。上記音色情報は、鍵盤楽器(ピアノ等)、管楽器(フルート等)、弦楽器(バイオリン等)、打楽器(ドラム等)の楽器(発音媒体/発音手段)の種類等に対応しており、トーンナンバデータTNとして取り込まれる。上記エンベロープ情報は、上述のエンベロープスピードES、エンベロープレベルEL、エンベロープタイムET、エンベロープフェーズEFなどである。
このような音楽的ファクタ情報は、コントローラ2へ送られ、後述の各種信号、データ、パラメータの切り換えが行われ、楽音の内容が決定される。上記演奏情報(楽音発生情報)及び楽音発生情報はコントローラ2で処理され、各種データが楽音信号発生部5へ送られ、楽音波形信号が発生される。コントローラ2はCPU、DSP(デジタルシグナルプロセッサ)、ROM及びRAMなどからなっている。
プログラム/データ記憶部4(内部記憶媒体/手段)はROMまたは書き込み可能なRAM、フラッシュメモリまたはEEPROM等の記憶装置からなり、光ディスクまたは磁気ディスク等の情報記憶部7(外部記憶媒体/手段)に記憶されるコンピュータのプログラムが書き写され記憶される(インストール/転送される)。またプログラム/データ記憶部4には外部の電子楽器またはコンピュータから上記ミディインターフェース15または送受信装置を介して送信されるプログラムも記憶される(インストール/転送される)。このプログラムの記憶媒体は通信媒体も含む。
このプログラムは、コントローラ(CPU)2が各種処理を行うための後述する各フローチャートに応じた楽音発生のためのプログラムである。このプログラム/データ記憶部4には、上述した音楽的ファクタ情報、上述した各種データ及びその他の各種データも記憶される。この各種データには時分割処理に必要なデータや時分割チャンネルへの割当のためデータ等も含まれる。
楽音信号発生部5では、各楽音ごとに楽音波形信号が繰り返し発生されサウンドシステム6から発音出力される。上記音高情報に応じて、この繰り返し発生される楽音波形信号の発生速度は変化される。また上記音色情報などの音楽的ファクタ情報に応じて、この繰り返し発生される楽音波形信号の波形形状は切り換えられる。この楽音信号発生部5は時分割処理によって複数の楽音信号が同時に生成されポリフォニックに発音される。
タイミング発生部3からは、楽音生成装置の全回路の同期を取るためのタイミングコントロール信号が各回路に出力される。このタイミングコントロール信号は、各周期のクロック信号のほか、これらのクロック信号を論理積または論理和した信号、時分割処理のチャンネル分割時間の周期を持つチャンネルクロック信号、この整数倍または整数分の1の周波数のクロック信号、チャンネルナンバデータCHNo、タイムカウントデータ(発音時間情報)などを含む。上記スキャン処理もこのクロック信号に基づいて所定周期ごとに実行される。
(2)クリック点データCP、理想クリック点データIC、修正値MV及び修正許容範囲データMA
このプログラム/データ記憶部4(内部記憶媒体/手段)には、クリック点データCP、理想クリック点データIC、修正値MV及び修正許容範囲データMAが記憶される。クリック点データCPは、上記操作子21のクリック点における実際の入力電圧値(入力情報)Viまたはパラメータ値である。
操作子21からの入力情報またはパラメータの修正のたびに、新たなクリック点データCPが取り込まれる。クリック点が複数ある操作子21ではこのクリック点データCPも複数記憶されるし、クリック点が中点であればこのクリック点データCPも中点におけるデータとして記憶される。
理想クリック点データICは、操作子21のクリック点における理想的な入力電圧値(入力情報)Viまたはパラメータ値である。図4または図5のパラメータ変化テーブル31の例では、理想クリック点データICは「512.0」である。
修正値MVは、上記操作子21のクリック点における実際の入力電圧値(入力情報)Viまたはパラメータ値と上記理想クリック点データICとの差である。この修正値MV分だけ、上記操作子21からの入力電圧値(入力情報)Viまたはパラメータ値が修正される。この修正値MVが、修正許容範囲データMAに応じた範囲内になければ修正は行われない。
修正許容範囲データMAは、上記操作子21のクリック点における入力電圧値(入力情報)Viまたはパラメータについての修正許容範囲である。操作子21の修正が指定されたとき、当該操作子21からの入力電圧値(入力情報)Viまたはパラメータが、この修正許容範囲データMA内にあれば、当該入力電圧値に応じたパラメータ値または当該パラメータ値が修正される。そして、さらに、他のパラメータも同様に修正される。
この操作子21からの入力電圧値(入力情報)Viまたはパラメータが上記修正許容範囲データMA内になければ、その旨の報知が行われ、上記修正は行われない。修正許容範囲データMAは、操作子21のクリック点における入力電圧値(入力情報)Viまたはパラメータの例えば90%乃至110%である。
この上下10%にするのは、操作子21に連結される可変抵抗器の抵抗値のばらつきが通常上下10%以内だからである。むろん修正許容範囲データMAは、上下10%以上でも以下でもよい。
この修正許容範囲データMAは、プログラム/データ記憶部4に予め固定的に記憶されている。しかし、パネルスイッチ群13等から操作者が入力してもよいし、ミディインターフェース15から送られてきてもよい。また、修正許容範囲データMAは、操作子21からの入力情報またはパラメータの修正の度に、新たな中点から上下10%の範囲の値に書き換えられてもよい。
上記プログラム/データ記憶部4(内部記憶媒体/手段)には、パラメータ変換テーブル31も設けられている。このパラメータ変換テーブル31によって、上記入力電圧値(入力情報)Viから上記各種のパラメータ値に変換される。入力電圧値(入力情報)Viは操作子21に連結された可変抵抗器からの電圧値、またはこの電圧値がA−D(アナログ−デジタル)変換された数値などである。
パラメータ変換テーブル31及び修正許容範囲データMAは、プログラム/データ記憶部4(内部記憶媒体/手段)のROM内などに固定的に記憶され、クリック点データCPは、プログラム/データ記憶部4(内部記憶媒体/手段)のRAM内などに書き換え可能に記憶される。
(3)操作子21
図2は上記操作子21を示す。この操作子21には可変抵抗器22が連結され、つまみなどを回すまたはスライドさせると、可変抵抗器22の抵抗23への接点24が移動し、この接点24から出力された電圧値VO(入力情報)Viが変化する。
この電圧値VOは、A−D変換器25でアナログ値からデジタル値に変換され、バッファ26にストアされる。このデジタルの電圧値VO(入力情報)Viは、上記バスラインを通じてコントローラ(CPU)2によって読み出される。
上記接点24は抵抗23に対して多少加圧されて接触不良が防止されている。上記クリック点27(中点28)では、抵抗23側に多少の凹みが形成される等して、この加圧によって接点24が凹みに入って多少出にくくなっている。これにより、操作子21の操作の途中で「カチッ」という感触が得られ、操作子21のつまみがクリック点27(中点28)で止め易くなっている。
このようなクリック点27は、操作子21の中点28または複数箇所に設けられている。中点28は操作子21の回転またはスライドなどの操作できる範囲の中央の地点である。この中点28は、クリック点27に一致していたり、一致していなかったりする。
なお、操作子21のつまみがクリック点27(中点28)で止め易くなっていれば、クリック点の構造はどのようなものでもよい。また、操作子21に連結されるのは可変抵抗器22のほか、可変コンデンサ、差動変圧器、圧電素子などでもよい。
(4)電圧値(入力情報)Viの修正と修正許容範囲データMAと修正値MV
図3は電圧値(入力情報)Viの理想値と修正の上限値と下限値を示す。図8は電圧値(入力情報)Viの修正と修正許容範囲データMAと修正値MVとを示す。操作子21からの電圧値(入力情報)Viは、最小値から最大値までの間を「0」から「31」または「15」から「0」を経て「−16」までの32段階に分けて入力される。この実施例ではクリック点27は1つで中点28に一致している。この中点28/クリック点27は、上記段階の「16」または「0」に対応している。
上記A−D変換器25からのデジタルの電圧値(入力情報)Viは、理想値においては「0.0」から「1023.0」までの「38.0」ずつの段階値をとり、中点28/クリック点27の電圧値(入力情報)Viは「512.0」となる。この実施例では、上記修正許容範囲データMAは図8左側に示すように「464.0」から「560.0」までであり、理想的な中央値「512.0」から上下「48.0」までであり、理想的な中央値「512.0」に対して上下「9.375%」の範囲にある。
操作子21からの電圧値(入力情報)Viまたはパラメータが修正されるときは、中点28/クリック点27における電圧値(入力情報)Viまたはパラメータ値と、理想的な中央値「512.0」との差が求められる。これが「修正値MV」としてプログラム/データ記憶部4に記憶され、操作子21からの電圧値(入力情報)Viまたはパラメータ値に対して加算または減算されて修正される。
この修正では、上記理想値に対して、上記32段階の各値に「修正値MV」が加算または減算される。「修正値MV」が最大の「48.0」のときは、上記理想値に対して、上記32段階の各値に「48.0」が加算され上限値とされ、上記32段階の各値に「48.0」が減算され下限値とされる。
したがって、「修正値MV」は「−48.0」から「+48.0」までの間の値をとる。図3の下限値と上限値とは、あくまでが最大の「+48.0」または最小の「−48.0」のときであり、実際には「修正値MV」に応じた中間値となる。
したがって、中点28/クリック点27における修正後の電圧値(入力情報)Viまたはパラメータ値と修正前の電圧値(入力情報)Viまたはパラメータ値との差つまり「修正値MV」が、他の電圧値(入力情報)Viまたはパラメータ値についても同様に修正される。また、操作子21の両端における電圧値(入力情報)Viまたはパラメータ値と、上記中点28/クリック点27における電圧値(入力情報)Viまたはパラメータ値との差が、修正前と修正後とで同じとなるように、当該両電圧値(入力情報)Viまたはパラメータ値が修正される。
したがって、操作子21の電圧値(入力情報)Viまたはパラメータの特性が修正によって平行移動し、操作子21の操作感触を修正前と修正後とで同じにでき、操作子21の端の入力情報またはパラメータの最大値または/及び最小値が変化してしまうことがなくなり、操作子21の電圧値(入力情報)Viまたはパラメータを修正しながらも操作子21の入力範囲の最大値と最小値は一定にすることができる。よって、操作子21で入力できる範囲を修正前と修正後とで同じにでき、操作子21の同じ操作量で変更できる入力情報またはパラメータ値の範囲を変化させないようにでき、修正したにもかかわらず操作子21の操作感触を一定にできる。
また、中点28/クリック点27における修正後の電圧値(入力情報)Viまたはパラメータ値と修正前の電圧値(入力情報)Viまたはパラメータ値との差つまり「修正値MV」が変更され、この変更された「修正値MV」が他の電圧値(入力情報)Viまたはパラメータ値についても同様に修正されてもよい。このように差つまり「修正値MV」を変更すれば、操作子21の同じ操作量で変更できる電圧値(入力情報)Viまたはパラメータ値の範囲を変更することができ、修正後の状態に合わせて操作子の操作感触を変更することもできる。
しかし、電圧値(入力情報)Viの最大値は「1023.0」で不変化状態となってこれ以上の値をとらないようにされ、電圧値(入力情報)Viの最小値では「0.0」で不変化状態となりこれ以上の値をとらないようにされる。したがって、操作子21の端付近で電圧値(入力情報)Viまたはパラメータ値が変化しない不変化部分が形成され、上記中点28/クリック点27の電圧値(入力情報)Viまたはパラメータ値と上記両端の電圧値(入力情報)Viまたはパラメータ値との差が同じにされる。
この結果、下限値の最大値「1023.0」は1段階、理想値の最大値「1023.0」は2段階、上限値の最大値「1023.0」は3段階占める。しかも、この最大値とこの最大値より1つ小さい値との差は「38.0」より小さい値となっている。また、下限値の最小値「0.0」は4段階、理想値の最小値「0.0」は3段階、上限値の最小値「0.0」は2段階占める。しかも、この最小値と最小値より1つ大きい値との差は「38.0」より小さい値となっている。
図8はこのような修正の状態を示す。図8には3本の平行線が示されている。中央の線は理想値の特性を示す。上側の線は上限値の修正特性を示し、下側の線は下限値の修正特性を示す。「修正値MV」が「−48.0」より大きく「+48.0」より小さければ、修正特性はこれらの平行線の間の線になる。このような修正によって、電圧値(入力情報)Viまたはパラメータの特性は、図8において水平方向に平行移動することになる。
上記修正許容範囲データMAは図8左側に示すように「464.0」から「560.0」までであり、「512.0」±「48.0」である。また、電圧値(入力情報)Viまたはパラメータの両端は不変化状態とされて、上記理想特性または修正特性は両端で水平線となり、最大値は「1023.0」のまま、最小値は「0.0」のままとなり、これ以上値が変化しない不変化状態になっている。
こうして、操作子21の両端の電圧値(入力情報)Viまたはパラメータの最大値または/及び最小値が修正前と修正後とで変化せず一定とされる。これにより、操作子21で入力できる範囲を修正前と同じにでき、操作子の同じ操作量で変更できる入力情報またはパラメータ値の範囲を変化させないようにでき、修正したにもかかわらず操作子21の操作感触を一定にできる。また、操作子21の端付近、操作子21の途中、またはクリック点27/中点28付近で、電圧値(入力情報)Viまたはパラメータが変化しない不変化部分が上記修正において形成される。
なお、図3及び図8で修正されるのは実際には電圧値(入力情報)Viであってパラメータ値ではない。しかし、上記「修正値MV」を電圧値ではなくパラメータ値におけるものとすれば、パラメータ値の修正についても同様に可能である。このようなパラメータ値の修正については後述する。
(5)パラメータ変換テーブル31(4)(第1実施例)
図4は上記プログラム/データ記憶部4内のパラメータ変換テーブル31の記憶データ及びその他のデータの第1実施例を示す。上記A−D変換器25からの「0.0」から「1023.0」までの「38.0」ずつのデジタルの電圧値(入力情報)Viに対して以下のパラメータ値に変換される。
ピッチ(チューニング)パラメータにおいては、−120セントから+120セントまで10セントずつの各段階値に変換される。「512.0」の中央値については、0セントつまりチューニング無しの中央パラメータに変換される。操作子21の両端では「−120セント」または「+120セント」で不変化状態となる。
また、パンニング(音像位置)パラメータにおいては、左90度から右90度まで7.5度ずつ各段階値に変換される。「512.0」の中央値については、0度つまり音像位置が中央のパラメータに変換される。操作子21の両端では「左90度」または「右90度」で不変化状態となる。
さらに、トランスポーズ(ノート/音高)パラメータにおいては、−12ノートから+12ノートまで1ノートずつ各段階値に変換される。「512.0」の中央値については、0ノートつまりトランスポーズ無しのパラメータに変換される。操作子21の両端では「−12ノート」または「+12ノート」で不変化状態となる。
これらの不変化(状態)とは、操作子21からの電圧値(入力情報)Viが変化してもパラメータ値が変化しないことをいう。このような各パラメータの入力モードは上記モードスイッチ29によって切り換えられる。
上記操作子21からのデジタルの「0.0」から「1023.0」までの電圧値(入力情報)Viに、上記「修正値MV」が加算/減算修正され、この修正された電圧値(入力情報)Viに対応した上記パラメータ値がパラメータ変換テーブル31から読み出される。
例えば、「修正値MV」が「+20.0」で、操作子21からの電圧値(入力情報)Viが「664.0」であれば、「660.0」に応じたパラメータ「+30セント」「右22.5度」「+3ノート」ではなく、修正された「660.0+20.0=680.0」に応じたパラメータ「+40セント」「右30度」「+4ノート」がパラメータ変換テーブル31から読み出される。
(6)パラメータ変換テーブル31(4)(第2実施例)
図5は上記プログラム/データ記憶部4内のパラメータ変換テーブル31の記憶データ及びその他のデータの第2実施例を示す。上記A−D変換器25からの「0.0」から「1023.0」までの「38.0」ずつのデジタルの電圧値(入力情報)Viに対して以下のパラメータ値に変換される。
ピッチ(チューニング)パラメータにおいては、−120セントから+120セントまで10セントずつの各段階値に変換される。「474.0」から「550.0」までの中央付近の値については、0セントつまりチューニング無しの中央パラメータに変換される。操作子21の両端では「−120セント」または「+120セント」で不変化状態となるほか、「−60セント」「+60セント」「0セント」でも不変化状態となる。
クリック点27/中点28付近の「0ノート」に不変化部分が形成されると、クリック点27/中点28が接触不良を起こしても、クリック点27/中点28の隣の抵抗23で、クリック点27/中点28と同じ電圧値(入力情報)Viまたはパラメータを入力することができる。
また、パンニング(音像位置)パラメータにおいては、左90度から右90度まで7.5度ずつ各段階値に変換される。「474.0」から「550.0」までの中央付近の値については、0度つまり音像位置が中央のパラメータに変換される。操作子21の両端では「左90度」または「右90度」で不変化状態となるほか、「左45度」「右45度」「0度(中央)」でも不変化状態となる。
クリック点27/中点28付近の「0度(中央)」に不変化部分が形成されると、クリック点27/中点28が接触不良を起こしても、クリック点27/中点28の隣の抵抗23で、クリック点27/中点28と同じ電圧値(入力情報)Viまたはパラメータを入力することができる。
さらに、トランスポーズ(ノート/音高)パラメータにおいては、−12ノートから+12ノートまで1ノートずつ各段階値に変換される。「474.0」から「550.0」までの中央付近の値については、0ノートつまりトランスポーズ無しのパラメータに変換される。操作子21の両端では「−12ノート」または「+12ノート」で不変化状態となるほか、「−6ノート」「+6ノート」「0ノート」でも不変化状態となる。
クリック点27/中点28付近の「0ノート」に不変化部分が形成されると、クリック点27/中点28が接触不良を起こしても、クリック点27/中点28の隣の抵抗23で、クリック点27/中点28と同じ電圧値(入力情報)Viまたはパラメータを入力することができる。
これらの不変化(状態)とは、操作子21からの電圧値(入力情報)Viが変化してもパラメータ値が変化しないことをいう。このような各パラメータの入力モードは上記モードスイッチ29によって切り換えられる。
図5におけるCPU出力値は、操作子21からの「0.0」から「1023.0」までの「38.0」ずつのデジタルの電圧値(入力情報)Viに対して、コントローラ(CPU)2が変換して出力する値である。このCPU出力値は、「−12.0」から「+12.0」まで「0.8」または「0.9」ずつの値をとる。操作子21の両端では「−12.0」または「+12.0」で不変化状態となる。このCPU出力値は省略可能である。
(7)パラメータ変換テーブル31のパラメータ値の下限値
図6は上記パラメータ変換テーブル31の記憶データが最小値の「修正値MV」で修正された下限値を示す。上記A−D変換器25からの「0.0」から「1023.0」までの「38.0」ずつのデジタルの電圧値(入力情報)Viに対して修正されたパラメータ値の下限値は以下の通りである。
ピッチ(チューニング)パラメータにおいては、−120セントから+120セントまで10セントずつの各段階値に変換される。「426.0」から「502.0」までの中央付近の値については、0セントつまりチューニング無しの中央パラメータに変換される。操作子21の端では「−120セント」で不変化状態となるほか、「+80セント」「+40セント」「0セント」でも不変化状態となる。
このようにパラメータ値が下方へ修正されたときは下方の「−120セント」の不変化部分が増大するし、上方の「+120セント」の不変化部分が消滅したり、上方の不変化部分の値そのものが「+60セント」から「+80セント」「+40セント」に増大または減少される。クリック点27/中点28付近の「0セント」に不変化部分が形成されると、クリック点27/中点28が接触不良を起こしても、クリック点27/中点28の隣の抵抗23で、クリック点27/中点28と同じ電圧値(入力情報)Viまたはパラメータを入力することができる。
また、パンニング(音像位置)パラメータにおいては、左90度から右90度まで7.5度ずつ各段階値に変換される。「426.0」から「502.0」までの中央付近の値については、0度つまり音像位置が中央のパラメータに変換される。操作子21の端では「左90度」で不変化状態となるほか、「右60度」「右30度」「0度(中央)」でも不変化状態となる。
このようにパラメータ値が下方(左方)へ修正されたときは下方(左方)の「左90度」の不変化部分が増大するし、上方(右方)の「右90度」の不変化部分が消滅したり、上方(右方)の不変化部分の値そのものが「右45度」から「右60度」「右30度」に増大または減少される。クリック点27/中点28付近の「0度(中央)」に不変化部分が形成されると、クリック点27/中点28が接触不良を起こしても、クリック点27/中点28の隣の抵抗23で、クリック点27/中点28と同じ電圧値(入力情報)Viまたはパラメータを入力することができる。
さらに、トランスポーズ(ノート/音高)パラメータにおいては、−12ノートから+12ノートまで1ノートずつ各段階値に変換される。「426.0」から「502.0」までの中央付近の値については、0ノートつまりトランスポーズ無しのパラメータに変換される。操作子21の端では「−12ノート」で不変化状態となるほか、「+8ノート」「+4ノート」「0ノート」でも不変化状態となる。
このようにパラメータ値が下方へ修正されたときは下方の「−12ノート」の不変化部分が増大するし、上方の「+12ノート」の不変化部分が消滅したり、上方の不変化部分の値そのものが「+6ノート」から「+8ノート」「+4ノート」に増大または減少される。クリック点27/中点28付近の「0ノート」に不変化部分が形成されると、クリック点27/中点28が接触不良を起こしても、クリック点27/中点28の隣の抵抗23で、クリック点27/中点28と同じ電圧値(入力情報)Viまたはパラメータを入力することができる。
これらの不変化(状態)とは、操作子21からの電圧値(入力情報)Viが変化してもパラメータ値が変化しないことをいう。このような各パラメータの入力モードは上記モードスイッチ29によって切り換えられる。
図6におけるCPU出力値は、操作子21からの「0.0」から「1023.0」までの「38.0」ずつのデジタルの電圧値(入力情報)Viに対して、コントローラ(CPU)2が変換して出力する値である。このCPU出力値は、「−12.0」から「+12.0」まで「0.8」「0.9」または「10.0」ずつの値をとる。操作子21の両端では「−12.0」で不変化状態となる。このようにパラメータ値が下方へ修正されたときは下方の「−12.0」の不変化部分が増大するし、上方の「+12.0」の不変化部分が消滅したり、上方のステップ値が全て「0.8」と小さくなり、下方のステップ値が「0.9」または「10.0」と大きくな
このように最大値は「1023.0」「+120セント」「右90度」「+12.0」のままにされ、最小値は「0.0」「−120セント」「左90度」「−12.0」のままにされている。したがって、操作子21の両端の電圧値(入力情報)Viまたはパラメータの最大値または/及び最小値が修正前と修正後とで変化せず一定とされる。これにより、操作子21で入力できる範囲を修正前と同じにでき、操作子の同じ操作量で変更できる入力情報またはパラメータ値の範囲を変化させないようにでき、修正したにもかかわらず操作子21の操作感触を一定にできる。また、操作子21の端付近、操作子21の途中、またはクリック点27/中点28付近で、電圧値(入力情報)Viまたはパラメータが変化しない不変化部分が上記修正において形成される。
(8)パラメータ変換テーブル31のパラメータ値の上限値
図7は上記パラメータ変換テーブル31の記憶データが最大値の「修正値MV」で修正された上限値を示す。上記A−D変換器25からの「0.0」から「1023.0」までの「38.0」ずつのデジタルの電圧値(入力情報)Viに対して修正されたパラメータ値の上限値は以下の通りである。
ピッチ(チューニング)パラメータにおいては、−120セントから+120セントまで10セントずつの各段階値に変換される。「522.0」から「598.0」までの中央付近の値については、0セントつまりチューニング無しの中央パラメータに変換される。操作子21の端では「−120セント」または「+120セント」で不変化状態となるほか、「+40セント」「0セント」でも不変化状態となる。
このようにパラメータ値が下方へ修正されたときは上方の「+120セント」の不変化部分が増大し、下方の「−120セント」の不変化部分が減少するし、下方の不変化部分の値そのものが「−60セント」から「−80セント」「−40セント」に減少または増大される。クリック点27/中点28付近の「0セント」に不変化部分が形成されると、クリック点27/中点28が接触不良を起こしても、クリック点27/中点28の隣の抵抗23で、クリック点27/中点28と同じ電圧値(入力情報)Viまたはパラメータを入力することができる。
また、パンニング(音像位置)パラメータにおいては、左90度から右90度まで7.5度ずつ各段階値に変換される。「522.0」から「598.0」までの中央付近の値については、0度つまり音像位置が中央のパラメータに変換される。操作子21の端では「左90度」「右90度」で不変化状態となるほか、「左60度」「左30度」「0度(中央)」でも不変化状態となる。
このようにパラメータ値が上方(右方)へ修正されたときは上方(右方)の「右90度」の不変化部分が増大し、下方(左方)の「左90度」の不変化部分が減少するし、上方(右方)の「右45度」の不変化部分が消滅したり、下方(左方)の不変化部分の値そのものが「左45度」から「左60度」「左30度」に増大または減少される。クリック点27/中点28付近の「0度(中央)」に不変化部分が形成されると、クリック点27/中点28が接触不良を起こしても、クリック点27/中点28の隣の抵抗23で、クリック点27/中点28と同じ電圧値(入力情報)Viまたはパラメータを入力することができる。
さらに、トランスポーズ(ノート/音高)パラメータにおいては、−12ノートから+12ノートまで1ノートずつ各段階値に変換される。「522.0」から「598.0」までの中央付近の値については、0ノートつまりトランスポーズ無しのパラメータに変換される。操作子21の端では「−12ノート」及び「+12ノート」で不変化状態となるほか、「−8ノート」「−4ノート」「0ノート」でも不変化状態となる。
このようにパラメータ値が下方へ修正されたときは上方の「+12ノート」の不変化部分が増大し、下方の「−12ノート」の不変化部分が減少するし、下方の不変化部分の値そのものが「−6ノート」から「−8ノート」「−4ノート」に増大または減少される。クリック点27/中点28の「0ノート」付近に不変化部分が形成されると、クリック点27/中点28が接触不良を起こしても、クリック点27/中点28の隣の抵抗23で、クリック点27/中点28と同じ電圧値(入力情報)Viまたはパラメータを入力することができる。
これらの不変化(状態)とは、操作子21からの電圧値(入力情報)Viが変化してもパラメータ値が変化しないことをいう。このような各パラメータの入力モードは上記モードスイッチ29によって切り換えられる。
図7におけるCPU出力値は、操作子21からの「0.0」から「1023.0」までの「38.0」ずつのデジタルの電圧値(入力情報)Viに対して、コントローラ(CPU)2が変換して出力する値である。このCPU出力値は、「−12.0」から「+12.0」まで「0.8」「0.9」または「10.0」ずつの値をとる。操作子21の端では「−12.0」及び「+12.0」で不変化状態となる。このようにパラメータ値が上方へ修正されたときは上方の「+12.0」の不変化部分が増大し、下方の「−12.0」の不変化部分が減少するし、下方のステップ値が全て「0.8」と小さくなり、上方のステップ値が「0.9」または「10.0」と大きくなる。
図6及び図7における修正パラメータ値は下限値または上限値であって、「修正値MV」が最大のときである。「修正値MV」が小さくなれば、図6及び図7における修正パラメータ値はこれら下限値より上の値、またはこれら上限値より下の値となる。このような修正パラメータ値は、操作子21の操作の度に演算によって求められて取り込まれる。しかし、このような修正パラメータ値が修正モード時に演算されてプログラム/データ記憶部4に記憶され、操作子21の操作の度に読み出されてもよい。
このように最大値は「1023.0」「+120セント」「右90度」「+12.0」のままにされ、最小値は「0.0」「−120セント」「左90度」「−12.0」のままにされている。したがって、操作子21の両端の電圧値(入力情報)Viまたはパラメータの最大値または/及び最小値が修正前と修正後とで変化せず一定とされる。これにより、操作子21で入力できる範囲を修正前と同じにでき、操作子の同じ操作量で変更できる入力情報またはパラメータ値の範囲を変化させないようにでき、修正したにもかかわらず操作子21の操作感触を一定にできる。また、操作子21の端付近、操作子21の途中、またはクリック点27/中点28付近で、電圧値(入力情報)Viまたはパラメータが変化しない不変化部分が上記修正において形成される。
(9)処理全体
図9はコントローラ(CPU)2によって実行される処理全体のフローチャートを示す。この処理全体は本楽音生成装置の電源オンによって開始され、電源オフまで繰り返し実行される。まず、プログラム/データ記憶部4の初期化など種々のイニシャライズ処理が行われ(ステップ01)、上記キーボード11での手動演奏のキーオン操作に基づき、発音処理が行われる(ステップ03)。
このステップ03の発音処理は、演奏情報の読み出し再生において、プログラム/データ記憶部4からのキーオン情報が読み出されたときにも実行される。また、このステップ03の発音処理は、演奏情報の書き込み記録において、プログラム/データ記憶部4にキーオン情報が書き込まれるときにも実行される。
この発音処理では、空きチャンネルがサーチされ、サーチされた空きチャンネルにオンイベントに係る楽音が割り当てられる。この楽音の内容は、上記キーボード11及びパネルスイッチ群13からの演奏情報MP(楽音発生情報)、楽音発生情報の音楽的ファクタに基づく。
この場合、サーチされた空きチャンネルのアサインメントメモリのエリアに「1」のオン/オフデータ、キーナンバデータ(周波数ナンバデータ)KN、エンベロープデータ、トーンナンバデータTN、タッチデータTCも書き込まれる。このアサインメントメモリに書き込まれたデータは、楽音信号発生部5へ送られ、対応する楽音波形データが読み出されるとともに、対応するエンベロープ波形データが発生され、サウンドシステム6で発音出力される。
次いで、上記キーボード11/パネルスイッチ群13での手動演奏のキーオフ操作に基づき、消音(減衰)処理が行われる(ステップ05)。この消音(減衰)処理では、オフイベント(キーオフイベント、消音イベント)に係る楽音が割り当てられているチャンネルがサーチされ、アサインメントメモリ内のオン/オフデータが「0」にされ、当該楽音が減衰され消音される。この場合、アサインメントメモリ内の「0」のオン/オフデータが楽音信号発生部5へ送られ、キーオフイベントに係る楽音のエンベロープフェーズがリリースとなり、エンベロープレベルが次第に「0」になる。
このステップ05の消音処理は、演奏情報の読み出し再生において、プログラム/データ記憶部4からのキーオフ情報が読み出されたときにも実行される。また、このステップ05の消音処理は、演奏情報の書き込み記録において、プログラム/データ記憶部4にキーオフ情報が書き込まれるときにも実行される。
さらに、上記パネルスイッチ群13の各種スイッチの操作があれば、このスイッチに対応する音楽的ファクタ情報が取り込まれ、プログラム/データ記憶部4に記憶され、音楽的ファクタ情報が変更される(ステップ06)。この後、その他の処理が実行され(ステップ07)、上記ステップ02からこのステップ07までの処理が繰り返される。このステップ06の各種スイッチ処理では、上記操作子21及びモードスイッチ29の操作に応じた処理も実行される。
(10)各種スイッチ処理(ステップ06)(電圧値/入力情報/パラメータの修正処理)
図10及び図11は上記ステップ06の各種スイッチ処理のフローチャートを示し、電圧値(入力情報)Viまたはパラメータの修正処理のフローチャートをも示す。モードスイッチ29が操作されて修正モードが設定されたことが判別されると(ステップ11)、操作子21のA−D変換器25からの電圧値(入力情報)Viを取り込む(ステップ12)。このときの操作子21の操作位置はクリック点27/中点28にある。
この電圧値(入力情報)Viが修正許容範囲データMAの範囲内にあれば(ステップ13)、この電圧値(入力情報)Viがクリック点データCPとしてプログラム/データ記憶部4に書き込まれ(ステップ14)、このクリック点データCPと理想クリック点データICとの差が修正値MVとしてプログラム/データ記憶部4に書き込まれる(ステップ15)。
そして、パネルスイッチ群13の発光ダイオード30が1秒間点灯され(ステップ16)、その他のスイッチ処理が行われる(ステップ19)。これにより、操作子21から入力される電圧値(入力情報)Viまたはパラメータ値が修正されたことがわかる。この場合、サウンドシステム6から「ピンポーン」等の報知音が発音されてもよい。
また、上記操作子21からの電圧値(入力情報)Viが修正許容範囲データMAの範囲内になければ(ステップ13)、パネルスイッチ群13の発光ダイオード30が3秒間点滅される(ステップ18)。これにより、操作子21から入力される電圧値(入力情報)Viまたはパラメータ値が修正されなかったことがわかる。この場合、サウンドシステム6から「ブー」等の報知音/警報音が発音されてもよい。
また、操作子21の操作位置がクリック点27/中点28にないときに、誤ってモードスイッチ29が操作されたとき、上記ステップ18で、上記操作子21からの電圧値(入力情報)Viが修正許容範囲データMAの範囲内にはいらなくなるので、誤って操作子21が修正されてしまうことがなくなる。このように、修正しない方がよいときには、その旨の通知がなされることになる。この後、使用者はモードスイッチ29を操作して修正モードを解除などすることになる。
モードスイッチ29が操作されてパラメータ入力モードが設定されたことが判別されると(ステップ21)、操作子21のA−D変換器25からの電圧値(入力情報)Viを取り込む(ステップ22)。このときの操作子21の操作位置はクリック点27/中点28にあってもよいし、他の地点にあってもよい。
取り込まれた電圧値(入力情報)Viに対して上記修正値MVが加算または減算され(ステップ23)、この加算または減算後の電圧値(入力情報)Viが「0.0」より小さければ(ステップ24)、この電圧値(入力情報)Viを「0.0」として不変化状態にさせる(ステップ25)。
また、上記加算または減算後の電圧値(入力情報)Viが「1023.0」より大きければ(ステップ26)、この電圧値(入力情報)Viを「1023.0」として不変化状態にさせる(ステップ27)。こうして、操作子21の両端の不変化特性を実現して、電圧値(入力情報)Viが変化してもパラメータ値が変化しない特性を実現できる。
このようにして修正された電圧値(入力情報)Viに応じたパラメータが上記パラメータ変換テーブル31から読み出され取り込まれ(ステップ28)、その他のスイッチ処理が行われる(ステップ29)。
こうして、取り込まれるパラメータ値が修正され、どのような操作子でもパラメータの入力状態を同じようにすることができる。このパラメータ値は、ピッチ(チューニング)パラメータ、パンニングパラメータ、トランスポーズパラメータ等であるが、これらのパラメータの切り換えは上記モードスイッチ29の操作によって決定される。
なお、このステップ22〜28の処理は、全ての電圧値(入力情報)Vi及び全てのパラメータ値につき実行され、修正されたパラメータ値が予めプログラム/データ記憶部4に書き込まれ、操作子21の操作によってこれらの修正されたパラメータ値が読み出されてもよい。
(11)他の実施の形態
本発明は、上記実施例に限定されず、種々変更可能である。例えば、ステップ11〜29の処理で修正されるのは、電圧値(入力情報)Viではなく、パラメータ値であってもよい。この場合、ステップ15の修正値MVは、ステップ12で取り込まれた電圧値(入力情報)Viに応じたパラメータ値と理想クリック点データICに応じたパラメータ値との差となる。
そして、ステップ23では、ステップ22で取り込まれた電圧値(入力情報)Viに応じたパラメータ値に上記パラメータにおける修正値MVが加算または減算され、ステップ28は省略される。これにより、上述の電圧値(入力情報)Viの修正と同様にパラメータ値についても修正できる。
また、上記ステップ24〜27の不変化特性の作成処理は、操作子21の両端値だけでなく、他の途中の値でも実現できる。この場合、ステップ22で取り込まれた電圧値(入力情報)Viが途中不変化の範囲に入っていれば、当該電圧値(入力情報)Viが、この範囲の最小値または最大値にされる。
上記クリック点27が複数あるときは、それぞれのクリック点27につき、クリック点データCP、理想クリック点データIC、修正許容範囲データMA、修正値MVが記憶される。そして、各クリック点27における電圧値(入力情報)Viが他のクリック点27における修正許容範囲データMAに入らないように、各修正許容範囲データMAが設定され、あるクリック点における操作子21からの電圧値(入力情報)Viがいずれかの修正許容範囲データMAに入れば、この修正許容範囲データMAの範囲内で上記ステップ11〜28の修正処理が実行される。
むろん、上記クリック点27が複数あるときに、いずれか1つのクリック点27につき、または中点28にないクリック点27につき、クリック点データCP、理想クリック点データIC、修正許容範囲データMA、修正値MVが記憶されてもよい。この場合でも、上記ステップ11〜28の修正処理によって、操作子21の修正が可能である。
上記入力情報またはパラメータについての修正は、等差的ではなく、等比的でもよい。この場合、上記ステップ15で理想クリック点データICと操作子21の電圧値(入力情報)Vi(クリック点データCP)との比(修正値MV)が求められ、上記ステップ23でこの比(修正値MV)が他の電圧値(入力情報)Viに乗算または除算される。これにより、操作子21の同じ操作量で変更できる電圧値(入力情報)Viまたはパラメータ値の範囲を変更することができる。
また、この比(修正値MV)が変更されてから他の電圧値(入力情報)Viに乗算または除算されてもよい。このように比(修正値MV)を変更すれば、操作子21の同じ操作量で変更できる電圧値(入力情報)Viまたはパラメータ値の範囲を変更することができ、修正後の状態に合わせて操作子の操作感触を変更することもできる。
上記のようにして修正されるパラメータとしては、他に、テンポ値、音色量/高調波成分含有量、エフェクト量、周波数変調量(グライド、グリッサンド、ビブラート、トリル、トレモロ等)、エンベロープスピード量/エンベロープレベル量/音量、アフタータッチ量/イニシャルタッチ量、ミキサー量/楽音混合量、グラフィックイコライザー量、残響量、倍音数/倍音量/倍音比率/倍音比バランス、高調波成分量/高調波成分比/高調波成分比率/高調波成分比バランス、フィルタ減衰量/フィルタカットオフ周波数値、倍音/高調波成分ごとのレベル/音量、クオンタイズ量、リズム量でもよい。
(12)他の発明の効果
[1]中点等にクリック点を有する操作子につき、当該操作子を操作することによって、当該操作子から変化する情報が入力され、この変化する入力情報に基づいて電子楽器の変化するパラメータを発生させる装置において、 上記操作子からの入力情報の修正を指定する手段と、 上記クリック点における操作子の入力情報またはパラメータにつき、修正許容範囲を記憶する手段と、 上記修正が指定されたとき、当該操作子からの入力情報またはパラメータが上記修正許容範囲内にあれば、当該入力情報に応じた上記パラメータまたは当該パラメータを修正するとともに他のパラメータも修正し、当該操作子からの入力情報またはパラメータが上記修正許容範囲内になければ、その旨の報知を行う手段とを備えたことを特徴とする操作子修正装置。
これにより、このような修正によって、どのような操作子でもパラメータの入力状態を同じようにすることができる。また、修正が指定されたときで、しかもクリック点における修正許容範囲内にあるとき、修正を行うから、操作子を操作して操作子がクリック点からずれているときに誤って操作子が修正されてしまうことがなくなる。
[2]上記修正を行わない旨の報知を行うときには、上記パラメータの修正を行わない請求項1記載の操作子修正装置。これにより、クリック点における修正許容範囲内にないとき、修正を行わないから、操作子がクリック点からずれているときに誤って操作子が修正されてしまうことがなくなる。
[3]上記修正許容範囲は予め操作子修正装置に記憶されている、または使用者によって入力される請求項1または2記載の操作子修正装置。これにより、不用意に修正範囲が広げられてしまうことがなくなる。または、使用者の求める任意の範囲で修正を行うことができる。
[4]上記クリック点における修正後の入力情報またはパラメータと修正前の入力情報またはパラメータとの差または比を、他の入力情報またはパラメータについても同様に修正する、若しくはこれらの差または比を変更して他の入力情報またはパラメータについても同様に修正する請求項1、2または3記載の操作子修正装置。
これにより、操作子の入力情報またはパラメータの特性が修正によって平行移動し、操作子の操作感触を修正前と修正後とで同じにでき、操作子の端の入力情報またはパラメータの最大値または/及び最小値が変化してしまうことがなくなり、操作子の入力情報またはパラメータを修正しながらも操作子の入力範囲の最大値と最小値は一定にすることができる。
よって、操作子で入力できる範囲を修正前と修正後とで同じにでき、操作子の同じ操作量で変更できる入力情報またはパラメータ値の範囲を変化させないようにでき、修正したにもかかわらず操作子の操作感触を一定にできる。また、差または比を変更すれば、操作子の同じ操作量で変更できる入力情報またはパラメータ値の範囲を変更することができ、修正後の状態に合わせて操作子の操作感触を変更することもできる。
[5]上記操作子の両端における入力情報またはパラメータと、上記クリック点における入力情報またはパラメータとの差が、修正前と修正後とで同じとなるように、当該両入力情報または両パラメータを修正する請求項1、2、3または4記載の操作子修正装置。
これにより、操作子の入力情報またはパラメータの特性が修正によって平行移動し、操作子の操作感触を修正前と修正後とで同じにでき、操作子の端の入力情報またはパラメータの最大値または/及び最小値が変化してしまうことがなくなり、操作子の入力情報またはパラメータを修正しながらも操作子の入力範囲の最大値と最小値は一定にすることができる。よって、操作子で入力できる範囲を修正前と修正後とで同じにでき、操作子の同じ操作量で変更できる入力情報またはパラメータ値の範囲を変化させないようにでき、修正したにもかかわらず操作子の操作感触を一定にできる。
[6]操作子の端付近で、操作子の途中でまたは上記クリック点付近で、入力情報またはパラメータが変化しない部分が上記修正において形成され、当該操作子の両端の入力情報またはパラメータの最大値または/及び最小値が修正前と修正後とで変化しない請求項5記載の操作子修正装置。
これにより、修正によって操作子の端の入力情報またはパラメータの最大値または/及び最小値が変化してしまうことがなくなり、操作子の入力情報またはパラメータを修正しながらも操作子の入力範囲の最大値と最小値は一定にすることができる。よって、操作子で入力できる範囲を修正前と修正後とで同じにでき、操作子の同じ操作量で変更できる入力情報またはパラメータ値の範囲を変化させないようにでき、修正したにもかかわらず操作子の操作感触を一定にできる。
[7]中点等にクリック点を有する操作子につき、当該操作子を操作することによって、当該操作子から変化する情報が入力され、この変化する入力情報に基づいて電子楽器の変化するパラメータを発生させる装置において、 上記操作子からの入力情報またはパラメータの修正を指定させ、 上記クリック点における操作子の入力情報またはパラメータにつき、修正許容範囲を記憶させ、 上記修正が指定されたとき、当該操作子からの入力情報またはパラメータが上記修正許容範囲内にあれば、当該入力情報に応じた上記パラメータまたは当該パラメータを修正するとともに他のパラメータも修正させ、当該操作子からの入力情報またはパラメータが上記修正許容範囲内になければ、その旨の報知を行わせることを特徴とする操作子修正方法。
[8]中点等にクリック点を有する操作子につき、当該操作子を操作することによって、当該操作子から変化する情報が入力され、この変化する入力情報に基づいて電子楽器の変化するパラメータを発生させる装置において、 上記操作子からの入力情報またはパラメータの修正を指定させる処理、 上記クリック点における操作子の入力情報またはパラメータにつき、修正許容範囲を記憶させる処理、 上記修正が指定されたとき、当該操作子からの入力情報またはパラメータが上記修正許容範囲内にあれば、当該入力情報に応じた上記パラメータまたは当該パラメータを修正するとともに他のパラメータも修正させ、当該操作子からの入力情報またはパラメータが上記修正許容範囲内になければ、その旨の報知を行わせる処理とをコンピュータに実行させること特徴とする操作子修正のためのコンピュータプログラム。
[9]上記操作子の両端における入力情報またはパラメータに対する上記クリック点における入力情報またはパラメータの差が、修正前と修正後とで同じとなる修正は、操作子の端付近でまたは操作子の途中で入力情報またはパラメータが変化しない部分が形成され、上記クリック点の入力情報またはパラメータと上記両端の入力情報またはパラメータとの差が同じにされる請求項5記載の操作子修正装置。これにより、修正によって操作子の端の入力情報またはパラメータが変化してしまうことがなくなり、操作子の入力情報またはパラメータを修正しながらも操作子の入力範囲の最大値と最小値は一定にすることができる。