JP3663737B2 - パラメータコントロール装置 - Google Patents
パラメータコントロール装置 Download PDFInfo
- Publication number
- JP3663737B2 JP3663737B2 JP11353696A JP11353696A JP3663737B2 JP 3663737 B2 JP3663737 B2 JP 3663737B2 JP 11353696 A JP11353696 A JP 11353696A JP 11353696 A JP11353696 A JP 11353696A JP 3663737 B2 JP3663737 B2 JP 3663737B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- parameter
- variable
- mode
- patch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、楽音に音響効果をかけるためのパラメータの値を制御する技術に関する。
【0002】
【従来の技術および発明が解決しようとする課題】
演奏においては、その表現力を向上させるために、音響効果(エフェクト)を楽音に付加する(エフェクトをかける)ことが広く行われている。演奏者は、エフェクトをかけることで、音楽性、独創性、人間性等の主張をより容易に行うことができる。
【0003】
エフェクトをかけることによって上記のような演奏上の効果が得られる。このことから、電子楽器等においてはエフェクトをかけるエフェクタ機能が広く搭載されている。コンポーネント化(機能が専用化)された装置を組み合わせてシステムを構築する場合には、エフェクトをかける専用の装置であるエフェクタをシステムに組み込む割合が非常に高くなっている。
【0004】
エフェクトには、エコー、ディレイ、コンプレッサといったように数多くの種類がある。各エフェクト種には、それを楽音に付加するためのパラメータが用意されており、そのパラメータ値によってエフェクトをかけるレベルが制御される。例えばサスティンは、減衰音を持続音のように変化させるエフェクトである。このサステインでは、例えば音の増幅率をパラメータとし、その値を音の減衰に応じて増大させるように制御することでそのエフェクトをかけることができる。他のエフェクト種においても、その内容に応じてパラメータの値が制御され、そのエフェクトが楽音に付加される。
【0005】
エフェクト機能を備えた装置においては、例えばフットコントローラといった足で操作するタイプの演奏操作子を操作することで、エフェクトをかけるためのパラメータ値を演奏者が任意に制御できるようになっているものも多い。演奏操作子には足で操作するタイプが多いが、それは楽器の演奏には両手を使用する場合が多いためである。このような演奏操作子がシステムに備えられている場合、演奏者はそれを操作することにより、エフェクトの深さ等のレベルを演奏中に任意、且つ随時に調整することができる。
【0006】
上記の装置では、通常、所定のスイッチ等を操作することにより、演奏者は演奏中であってもエフェクト種を切り換えることが可能である。しかし、演奏中にエフェクト種を切り替えた場合には、例えばその前後のエフェクト種において設定されているパラメータ値が大きく変化し、聴く楽音の印象が不自然に変化するといったように、設定の切り替えを演奏者は意図したように行えないという問題点があった。
【0007】
エフェクト機能を備えた装置の中には、演奏者の設定を記憶できる、いわゆるプログラマブルタイプのものがある。このプログラマブルタイプの装置では、普通、パッチと呼ばれる単位で設定内容が記憶される。プログラマブルタイプの装置には、そのパッチに、エフェクト種の設定、更には演奏操作子への操作によってパラメータ値が変更される範囲等の設定を行えるものもある。この場合、パッチに、例えば出力レベルは最大値を100パーセントとして20パーセントから80パーセントの範囲内で制御し、ディレイエフェクトにおけるディレイ時間は100msecから400msecの間で制御するといった内容を記憶(プログラム)させておくことができる。
【0008】
上記プログラムタイプの装置は、基本的にはパッチ単位で予め記憶されている設定内容に装置の設定を切り替えるものである。このため、例えばエフェクトをかけるために制御すべきパラメータの値は、パッチの切り替えに伴い、切り替えられたパッチの設定内容から決まる初期値、或いは演奏操作子の操作状態に応じた値に変更されるだけであり、上記と同様の問題点があった。
【0009】
なお、装置の中には、モータ等を用いた駆動機構を備え、エフェクト種(パッチ)の切り替えが行われると、その切り替えに伴い、駆動機構によりエフェクト調整用のつまみ等の位置を変更するようにしたものもあった。しかし、このような装置(システム)では、非常に高いコストがかかるという問題点の他に、つまみ等の位置の変更に時間がかかる、といった問題点も発生することから、現実的ではなかった。
【0011】
本発明の課題は、演奏者が常に所望の音響効果を楽音にかけられるようにすることにある。
【0012】
【課題を解決するための手段】
本発明によるパラメータコントロール装置は、演奏情報に音響効果を付加するためのパラメータの値を、操作量が調節できる操作子の操作量に応じて制御することにより、演奏情報に付加させる音響効果を調節することを前提とし、操作子の操作量と前記パラメータ値との対応関係を定める設定内容を記憶単位別に複数記憶する記憶手段と、記憶単位を指定する記憶単位指定手段と、記憶単位指定手段で新たな記憶単位が指定されたときに、その指定された記憶単位に対応する新たな設定へ切り替わる際のパラメータの変化態様を定める規則を複数記憶する規則記憶手段と、規則記憶手段に記憶されている規則を指定する規則指定手段と、記憶単位指定手段により指定された記憶単位の内容、規則指定手段により指定された規則、及び操作子の操作量に従って、音響効果のパラメータの値を変更する制御手段と、を具備する。
【0019】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図1は、本実施の形態が適用されたシステムの外観図である。図1を参照して、その構成について説明する。
【0020】
図1に示すように、本システムは、6本の弦101、及び3つのピックアップ102を備えたギター100と、そのギター100から出力された電気信号を入力し、それに演奏者によって指定されたエフェクトをかけるエフェクタ120と、該エフェクタ102から入力した電気信号を楽音として出力するギターアンプ140とから構成される。
【0021】
なお、3つのピックアップ102は、それぞれ、電磁作用により弦101振動を電気信号(以降、これを弦振動信号と記す)に変換するものである。ギター100からエフェクタ120に出力される弦振動信号は、そのなかの一つから出力されたものである。また、ギターアンプ140は、スピーカとアンプが一つのキャビネットに収納されたビルトインタイプである。
【0022】
上記エフェクタ120は、基本的に演奏者が足で操作するフロアタイプであり、設定されているエフェクトのパラメータ値を制御するためのフットコントローラ121を備えている。このエフェクタ120は本発明が適用されたものである。以降、エフェクタ120について重点的に説明する。
【0023】
エフェクタ120は、パッチメモリを8個のバンクと呼ばれるブロックで分割して備えている。各バンクには4個のパッチメモリが割り当てられている。このため、パッチメモリの総数は32個である。演奏者は、バンク切替フットスイッチ122、パッチ切替フットスイッチ123、及びバリューエントリーボタン127の少なくとも一つを操作し、それが割り当てられているバンクの番号、そのバンク内の位置(アドレス)を指定することで所望のパッチメモリを選択することができる。
【0024】
上記バンク切替フットスイッチ122として、マイナス(−)スイッチ122a、プラス(+)スイッチ122bの2つがあり、パッチ切替フットスイッチ123としては、1スイッチ123a、2スイッチ123b、3スイッチ123c、及び4スイッチ123dの4つがある。演奏者は、−スイッチ122a、及び+スイッチ122bを操作することでバンク(番号)を指定し、その指定したバンクに割り当てられている4個のパッチメモリのなかの一つを、1スイッチ123a、2スイッチ123b、3スイッチ123c、或いは4スイッチ123dを操作することで指定する。
【0025】
このようにして指定されたパッチメモリの番号は、パッチ番号表示器124に表示される。パッチ番号表示器124は、2桁の数字を表示するものであり、図に向かって左側(上一桁)にバンク番号、右側(下一桁)にそのバンク内のパッチ番号が表示される。なお、以降、単にパッチ番号と記載した場合、そのパッチ番号は、バンク番号、及びバンク内のパッチ番号で表される値、即ちパッチ番号表示器124で表現される2桁の値を意味するものとする。
【0026】
モード切替フットスイッチ125は、プレイモード、或いはエディットモードを設定するためのスイッチである。そのフットスイッチ125を操作する度に、プレイモードからエディットモード、或いはエディットモードからプレイモードにその設定が切り替わる。プレイモードは、演奏者のエフェクタ120への操作に応じて弦振動信号にエフェクトをかけるモードであり、他方のエディットモードは、パッチメモリに設定内容を登録する編集を行うためのモードである。上記パッチメモリの指定(切り替え)は、プレイモードが設定されている場合のみ行うことができる。
【0027】
パラメータ選択ボタン126は、エディットモードが設定されている場合に、パッチメモリに登録する編集対象の項目(表1におけるエフェクトブロック、パラメータ等の項目)を選択するためのものである。パラメータ選択ボタン126として、マイナス(−)ボタン126a、プラス(+)ボタン126bの2つがあり、それらのボタン126a、126bを操作する度に、予め定められた順序に従って項目が切り替わる。
【0028】
エディットモードが設定されている場合、現在編集を行っている項目、及びその項目に現在設定されている内容は、液晶表示器(LCD)129に表示される。演奏者は、LCD129に表示されているそれらの情報を見ながら、パッチメモリに登録される各種項目の内容を指定する。
【0029】
項目の内容の指定は、普通、バリューエントリーボタン127を用いて行われる。バリューエントリーボタン127には、マイナス(−)ボタン127a、及びプラス(+)ボタン127bの2つがある。項目で設定できる内容は予め決定されている。それらのボタン127a、127bを操作すると、操作されたボタンの種類に応じて、内容が予め定められた順序の正方向、或いは逆方向に変化する。
【0030】
パッチメモリに登録する項目の一つとして、パラメータ値の範囲の設定がある。これは、フットコントローラ121への操作に応じて変化させるパラメータ値の範囲の設定である。パラメータ値の範囲は、最大値、及び最小値の少なくとも一方を指定することで行われる。その値は、フットコントローラ121の最大操作位置、言い換えれば、そのパラメータに設定できる最大値を100とした比率(パーセント)で指定される。
【0031】
パラメータ値の範囲の指定には、フットコントローラ121を用いて行う。フットコントローラ121を操作し、バンク切替フットスイッチ122の−スイッチ122aを操作した場合、そのときの踏み量が最小値(Min)として登録される。−スイッチ122aの替わりに+スイッチ122bを操作した場合には、そのときの踏み量が最大値(Max)として登録される。
【0032】
また、パッチメモリに登録する項目の一つとして、フットコントローラ121への操作に応じてどのようにパラメータ値を変化させるかを定義するカーブがある。そのカーブでは、フットコントローラ121の操作位置(踏み量)とそのときのパラメータ値の対応関係を定義するテーブルを設定する。
【0033】
上記テーブルの設定は、ジョイスティック128を用いて行われる。具体的には、例えばジョイスティック128をX方向に操作して踏み量を指定し、ジョイスティック128をY方向に操作してその踏み量におけるパラメータ値を指定する。演奏者は、これを繰り返すことにより、テーブルの設定を行う。
【0034】
本実施の形態では、踏み量とパラメータ値の分解能を共に128段階としている。テーブルの格納に要する領域を低減するために、踏み量はテーブルにおけるアドレス値とし、各アドレス値に指定されたパラメータ値を格納する。このため、踏み量とその踏み量でのパラメータ値からなる組の数は、1テーブルで128組となり、1テーブル当たりの格納に要する領域は128(=1×128)バイトとなる。
【0035】
なお、当然ではあるが、テーブルで設定できる組数、その組を設定する踏み量(或いはパラメータ値)を、演奏者が任意に選択できるようにしても良い。また、そのテーブルは、踏み量とパラメータ値の関係を定義するものであれば、どのようなものであっても良い。
【0036】
図32は、パラメータ値とフットコントローラ121の踏み量の関係の定義例を示す図である。本実施の形態では、それらの関係を定義するテーブルを2個設定することができる。図32において、それらの関係の定義(テーブル)例は実線、二点鎖線で描いた曲線でそれぞれ示している。実線で描かれた曲線はカーブ1、二点鎖線で描かれた曲線はカーブ2とする。
【0037】
図32に示すように、演奏者は、パラメータ値とフットコントローラ121の踏み量の関係をテーブルで任意に定義することができる。その定義は、ジョイスティック128を用いて、例えばフットコントローラ121の踏み量としてD(パーセント)を指定した場合には、カーブ1ではパラメータ値としてV1(パーセント)、カーブ2ではパラメータ値としてV2(パーセント)を指定することで行うことができる。
【0038】
上述したような操作を行うことで、演奏者はパッチメモリに設定する内容を任意に指定することができる。指定された内容は、パッチ切り替えフットスイッチ123の4スイッチ123dを操作することで確定し、パッチメモリに登録される。
【0039】
表1は、上記各種スイッチ類を操作することでパッチメモリに格納(登録)される内容を、エフェクト種に相当するエフェクタブロック別に示したものである。表1を参照して、本実施の形態でパッチメモリに登録される内容、及び内容を登録させるための操作方法について更に説明する。
【0040】
【表1】
【0041】
上記表1は、上記エフェクタブロックの他に、パラメータ、及び値の範囲の各項目からなる。エフェクタブロックは、演奏者がパッチメモリに内容の登録を行う場合、最初に選択すべき項目である。エフェクタブロックとして、コンプレッサ(Compressor)、ディストーション(Distortion)、パラメトリック・イコライザ(Parametric EQ)、ピッチシフタ(Pitch Shifter)、コーラス(Chorus)、ディレイ(Delay)、アウトプット(Output)、及びペダルコントロール1〜4(Pedal Control1〜4)が用意されている。
【0042】
パラメータは、エフェクトを実際に楽音に付加するためのものであり、エフェクタブロック(エフェクト種)を選択した後に内容の選択を行う項目である。パラメータとして、サスティーン(Sustain)、アタック(Attack)、レベル(Level)、ドライブ(Drive)、トーン(Tone)、フリケンシ(Freq.)、Q等がある。それらのパラメータは、各エフェクトブロック別に用意されている。演奏者は、エフェクタブロックの種類に応じて、各エフェクタブロックに用意されている複数のパラメータのなかから所望のパラメータを選択したり、その値の設定を行う。
【0043】
値の範囲は、パラメータに設定される値の範囲、或いは演奏者が設定することができる内容を示したものである。エフェクタブロックのコンプレッサ、ディストーション、パラメトリック EQ、ピッチシフタ、コーラス、ディレイ、アウいプットにおいては、それらに属するパラメータの値がフットコントローラ121への操作に応じて変化する範囲を示している。ペダルコントロール1〜4においては、パラメータに設定できる内容の範囲を示している。
【0044】
上記各エフェクタブロック毎の項目の内容について、具体例を幾つか挙げて説明する。
例えば、エフェクタブロックがコンプレッサ(Compressor)では、パラメータとして、サスティーン(Sustain)、アタック(Attack)、レベル(Level)の3つがあり、値の範囲は各パラメータともに0〜100となっている。これは、コンプレッサの場合、サスティン、アタック、レベル(音量)の3つのパラメータのなかから少なくとも一つを選択し、各パラメータ値の範囲は、その最大値を100とすると、フットコントローラ121の操作量に応じて変動させる値の範囲は0〜100の間であることを示している。
【0045】
なお、上記の各パラメータは、音声出力のダイナミック・レンジを制御するために使用されるものである。これら各パラメータにより、アタック期間、サスティーン期間、発音期間のダイナミック・レンジが制御される。
【0046】
エフェクタブロックがピッチシフタでは、パラメータとして、コース(Course)、ファイン(Fine)、バランス(Balance)の3つがあり、値の範囲は、それぞれ、−12〜+12、−50〜+50、0〜100となっている。
【0047】
上記コースは、音を作り出すうえでの基準周波数(440Hzが多い)を増減させるパラメータ、ファインは、セント(音程の表示法の1種)を単位として音程を基準から変化させるパラメータ、バランスは、2つの音を混ぜる割合を決定するパラメータである。
【0048】
演奏者は、エフェクタブロックとしてピッチシフタを選択すると、上記3つのパラメータのなかから少なくとも一つを選択する。従って、ピッチシフタでは、フットコントローラ121に対する操作に応じて、パラメータとしてコースが選択されると、上記基準周波数を−12〜+12(Hz)の間で増減、ファインが選択されると、音程を−50〜+50(セント)の間で増減、バランスが選択されると、一方の音がしめる割合を0〜100(パーセント)の間で増減できることを示している。
【0049】
エフェクタブロックであるペダルコントロール1〜4は、パラメータ値の変化を演奏者が任意に制御できるように用意したものである。エフェクタブロックとしてペダルコントロール1〜4を選択した場合、演奏者はその種類に応じて以下の項目の設定を行う。
【0050】
ペダルコントロール1〜4は、所望のエフェクトをかけるためのパラメータとして、他の全てのエフェクタブロックに割り当てられているパラメータが選択可能である。ペダルコントロール1、及び2では、そのパラメータの他に、上述したパラメータ値とフットコントローラ121の踏み量の対応関係を定義するテーブルを設定する。そのテーブルの設定は、上述したように、ジョイスティック128を用いて行われる。
【0051】
ペダルコントロール3では、パラメータの他に、そのパラメータの値の範囲を設定する。その範囲は、最大値(Max)、及び最小値(Min)で設定する。それら上限値(Max)、及び下限値(Min)の設定は、上述したように、フットコントローラ121を用いて行われる。これら最大値(Max)、及び最小値(Min)は、デフォルト値が予め定められている。そのデフォルト値は、例えば最も幅広いパラメータ値の調節が行えるように、最大値(Max)では100、最小値(Min)では0である。
【0052】
ペダルコントロール4では、パラメータの他に、イニシャルモードを設定する。そのイニシャルモードは、パッチメモリの切り替えに応じてパラメータの値をどのように変化させるかを指定するためのものである。
【0053】
本実施の形態では、イニシャルモードとして、イミディート(Immediate)、フック(Hook)、ブランク(Blank)、インターポレート(Interpolate)1及び2、及び、パラレル(Parallel)の計6種類用意している。演奏者は、これらのなかから一つをイニシャルモードとして選択・設定する。各モードの具体的な内容については後述する。
【0054】
演奏者は、パラメータ選択ボタン126に操作を行って、内容を変更したい項目を選択し、バリューエントリーボタン127、フットコントローラ121、バンク切替フットスイッチ122、ジョイスティック128等を操作して、その項目に所望の内容を指定する。バリューエントリーボタン126を用いてその内容を指定した場合、パッチ切替フットスイッチ123の4スイッチ123dを操作して、その内容を確定させる。
【0055】
設定内容の登録・更新を行いたい、即ち編集を行いたいパッチメモリは、例えばプレイモード設定時に、バンク切替フットスイッチ122、及びパッチ切替フットスイッチ123の少なくとも一方を操作して指定する。パッチメモリを指定した後、モード切替フットスイッチ125を操作してプレイモードからエディットモードにモードを切り替えると、そのパッチメモリの設定内容の変更を行える状態となる。
【0056】
図2は、エフェクタ120の回路ブロック図である。この図2を参照して、次にエフェクタ120の内部構成、及びその動作について詳細に説明する。
ギター100から出力された弦振動信号(電気信号)は、入力端子ITを介してローパスフィルタ(LPF)201に入力される。上記弦振動信号は、弦101の振動に応じてピックアップ120が出力したアナログの波形信号である。LPF201は、その弦振動信号に含まれる高域成分を除去してA/Dコンバータ202に出力する。A/Dコンバータ202は、LPF201が出力した弦振動信号のA/D変換を行い、デジタルの楽音データを出力する。
【0057】
デジタルシグナルプロセッサ(DSP)203は、現在の設定内容に従い、A/Dコンバータ202が出力した楽音データに対して各種エフェクト(表1参照)を付加する処理を行う。出力回路204は、DSP203が出力したデジタルの楽音データをアナログの電気信号に戻して出力する。この出力回路204が出力した電気信号は、出力端子OTを介してアンプ140に出力される。
【0058】
CPU(Central Processing Unit )205は、エフェクタ120全体の制御を行う。上記DSP203に対しては、演奏者のパッチメモリの指定に応じて、それに記憶されている設定内容で楽音を発音させるための制御コマンドを出力することにより、その制御を行う。
【0059】
RAM(Random Access Memory)206は、パラメータの値といった現在の設定内容等を格納する。上記パッチメモリは、このRAM206内の所定の格納領域に割り当てられ、各パッチメモリに登録された内容はRAM206に格納される。電源がオフされてもその格納したパッチメモリの設定内容を保持するために、RAM206は不揮発性化されている。
【0060】
ROM(Read Only Memory)207は、制御用プログラム、各パラメータ値の初期値といった制御用データを予め格納している。上記各種イニシャルモードでパラメータ値を変更するための情報(規則)は、このROM207に格納されている。CPU205は、ROM206に格納されているプログラムを読み出して実行することにより、装置全体の制御を行う。
【0061】
操作部208は、エフェクタ120のパネル上に設けられているバンク切替フットスイッチ122、パッチ切替フットスイッチ123等の各種スイッチ、LCD129等の各種表示器をまとめて表したものである。CPU205は、パネル上に設けられた各種スイッチの操作状態の検出、及び各種表示器に対する表示制御を行う。
【0062】
A/Dコンバータ209は、ジョイスティック128、及びフットコントローラ121に対して行われた操作内容に応じたデジタル値をCPU205に出力する。例えばA/Dコンバータ209は、ジョイスティック128のレバーがXY方向の何れの方向に、どの向きに倒されているかによって異なる値を出力し、フットコントローラ121の踏み量を示す値を出力する。CPU205は、フットコントローラ121の踏み量をA/Dコンバータ209が出力した値から判断する。ジョイスティック128が操作された場合には、A/Dコンバータ209が出力した値、及びその値が継続して出力されている時間に応じて、操作部208のLCD129に表示させる値を変更する。
【0063】
図3は、上記DSP203の機能ブロック図である。次に、図3を参照して、DSP203の機能について詳細に説明する。
DSP203は、上述したように、A/Dコンバータ202が出力したデジタルの楽音データにエフェクトをかける処理を行うものである。表1に示すパラメータで制御されるエフェクトを演奏者は選択することができる。
【0064】
DSP203のコンプレッサ部301は、A/Dコンバータ202が出力した楽音データに、そのダイナミック・レンジを圧縮する処理を施す。ディストーション部302は、楽音データを歪ませる処理を施す。以下、パラメトリック EQ(イコライザ)部303は、指定された周波数帯のブースト/カット(強調/減衰)、特性の鋭さ(Q)を変化させる等の処理、ピッチシフタ部304は、周波数を変化させる処理、コーラス部305、及びディレイ部306は、遅れた音を発生させるための処理、音量制御部307は、出力レベルを調整する処理を施す。
【0065】
シリアルインターフェイス(I/F)部308は、CPU205とのデータの授受を行うとともに、CPU205から受け取った制御コマンドに従って、上記各部301〜307の設定内容を変更する。各部301〜307は、シリアルI/F部308を介してCPU205が指定した内容に従って、上記の処理を楽音データに施す。
【0066】
音量制御部307は、出力レベルの調整用の乗算器を備えている。パラメータとしてアウトプット・レベルが選択された場合、音量制御部307には、シリアルI/F部308からフットコントローラ121の踏み量に応じて変化する値が送られる。音量制御部307は、その値を乗算器の一方の入力とし、ディレイ部306が出力した楽音データを他方の入力とすることにより、発音される音量を変化させる。
【0067】
本実施の形態では、エフェクトをかけるための各部301〜306を全てプログラムで実現している。図3は、DSP203のプログラムが実現する機能を含めてブロック化して、その構成を示したものである。
【0068】
図4は、フットコントローラ121の構成を示す説明図である。
本実施の形態で用いられているフットコントローラ121は、踏み板401が演奏者の足で操作される。その踏み板401には突部401aが設けられ、その突部401aには棒状部材402が貫通している。その棒状部材402が軸となって、踏み板401を底板403に軸支している。このため、踏み板401は、図中、矢印で示す範囲を駆動範囲としてその位置を変化させることができる。
【0069】
踏み板401の突部401aが設けられた側には、シャフト404が連結されている。このシャフト404の一面には、溝404aが形成されている。その溝404aは、特には図示しない可変抵抗器の回転軸に設けられた溝に噛口している。即ち、演奏者が踏み板401を踏み込んだ量に応じて可変抵抗器の軸が回転し、その抵抗値が変化するようになっている。
【0070】
A/Dコンバータ209には、その可変抵抗器の抵抗値に応じて変化する電圧が印加される。A/Dコンバータ209は、その電圧値に対応するデジタル値をCPU205に出力する。これにより、フットコントローラ121の踏み量を示す値がCPU205に通知される。一方のCPU205は、その値に応じて、DSP203の各部301〜306の制御を行う。
【0071】
以上が、本システムの構成、及び概略動作である。次に、図5〜図31に示す各種動作フローチャート、図33〜図38に示す各種説明図を参照して、エフェクタ120の動作を詳細に説明する。
【0072】
図5は、全体(メイン)処理の動作フローチャートである。この図5を参照して、最初に全体処理について説明する。この全体処理は、エフェクタ120の電源がオンされた後、CPU205が、ROM207に格納されているプログラムを読み出して実行することで実現される。
【0073】
先ず、ステップ501では、初期化を行う。この初期化は、例えばROM207に予め格納されている制御データ、不揮発性化されたRAM206に格納されているパッチメモリの設定内容を基に行われる。この初期化により、パッチ番号表示器124には予め定められたパッチ番号が表示され、そのパッチ番号のパッチメモリに登録されている内容にエフェクタ120は設定される。
【0074】
ステップ501に続くステップ502では、現在設定されているモードを判定する。プレイモードが設定されている場合、ステップ503の処理に移行する。そうでない場合には、即ちエディットモードが設定されている場合には、ステップ504の処理に移行する。RAM206には、設定されているモードを示すフラグ(変数)が保持されている。現在設定されているモードは、RAM206に保持されているフラグの値から判定する。上述したように、プレイモードは演奏者のエフェクタ120への操作に応じてエフェクトをかけるモードであり、他方のエディットモードは、パッチメモリの編集を行うためのモードである。
【0075】
ステップ503では、操作部208に備えられている各種スイッチ、フットコントローラ121への操作状態を検出し、その検出した操作状態に応じてエフェクトを付加するプレイ処理を実行する。そのプレイ処理を終了した後、ステップ502の処理に戻る。
【0076】
ステップ504では、操作部208に備えられている各種スイッチ、フットコントローラ121への操作状態を検出し、その検出した操作状態からパッチメモリの設定内容を変更するエディット処理を実行する。そのエディット処理を終了した後、ステップ502の処理に戻る。
【0077】
上記ステップ503のプレイ処理、及びステップ504のエディット処理を繰実行することで、エフェクタ120に備えられた機能が実現される。以降、上記ステップ503のプレイ処理、ステップ504のエディット処理について、それぞれ詳細に説明する。
【0078】
図6は、上記ステップ503として実行されるプレイ処理の動作フローチャートである。最初に、図6を参照して、プレイ処理について詳細に説明する。
このプレイ処理では、バリューエントリーボタン127、バンク切替フットスイッチ122、パッチ切替フットスイッチ123、フットコントローラ121、及びモード切替フットスイッチ125の各種スイッチ類の操作を検出し、その検出結果に応じて一連の処理が行われる。
【0079】
先ず、ステップ601では、バリューエントリーボタン127がオンされたか否か判定する。演奏者がバリューエントリーボタン127の−ボタン127a、或いは+ボタン127bの何れかを操作した場合、その判定はYESとなってステップ602の処理に移行する。そうでない場合には、その判定はNOとなってステップ603の処理に移行する。
【0080】
ステップ602では、バリューエントリーボタン127に割り当てられている機能を実現するためのバリューエントリーボタン処理を実行する。その後、ステップ603の処理に移行する。なお、バリューエントリーボタン127は、プレイモードが設定されている場合、パッチ番号のインクリメント、及びデクリメントを行うことができるスイッチである。
【0081】
ステップ603では、バンク切替フットスイッチ122がオンされたか否か判定する。演奏者がバンク切替フットスイッチ122の−スイッチ122a、或いは+スイッチ122bの何れかを操作した場合、その判定はYESとなってステップ604の処理に移行する。そうでない場合には、その判定はNOとなってステップ605の処理に移行する。
【0082】
ステップ604では、バンク切替フットスイッチ122に割り当てられた機能を実現するためのバンク切替フットスイッチ処理を実行する。その後、ステップ605の処理に移行する。なお、バンク切替フットスイッチ122は、プレイモードが設定されている場合にはバンク番号を指定(インクリメント、及びデクリメント)する機能、エディットモードが選択されている場合にはパラメータの最大値(Max)、最小値(Min)を登録する機能が割り当てられているスイッチである。
【0083】
ステップ605では、パッチ切替フットスイッチ123がオンされたか否か判定する。パッチ切替フットスイッチ123の1スイッチ123a、2スイッチ123b、3スイッチ123c、或いは4スイッチ123dの何れかが操作された場合、その判定はYESとなってステップ606の処理に移行する。そうでない場合には、ステップ607の処理に移行する。
【0084】
ステップ606では、パッチ切替フットスイッチ123に割り当てられている機能を実現するためのパッチ切替フットスイッチ処理を実行する。その後、ステップ607の処理に移行する。そのパッチ切替フットスイッチ123には、プレイモード時はパッチ番号を指定する機能、エディットモード時は4スイッチ123dに、現在編集している項目の内容をパッチメモリに登録させる機能が割り当てられている。
【0085】
ステップ607では、フットコントローラ121が操作されたか否か判定する。フットコントローラ121の踏み板401を演奏者が踏んでいる場合、その判定はYESとなってステップ608の処理に移行する。そうでない場合には、その判定はNOとなってステップ609の処理に移行する。
【0086】
ステップ608では、フットコントローラ121の踏み量に応じてパラメータ値を変化させるフットコントローラ処理を実行する。その後、ステップ609の処理に移行する。
【0087】
ステップ609では、パッチ番号表示器124、LCD129に、それぞれ表示すべき情報を表示させる表示処理を実行する。その後、ステップ610の処理に移行する。
【0088】
ステップ610では、モード切替フットスイッチ125がオンされたか否か判定する。演奏者がモード切替フットスイッチ125を操作した場合、その判定はYESとなってステップ611の処理に移行する。そうでない場合には、その判定はNOとなってステップ612の処理に移行する。
【0089】
ステップ612では、モード切替フットスイッチ125に割り当てられた機能を実現するためのモード切替処理を実行する。このモード切替処理が実行されることで、プレイモードからエディットモードに設定が切り替わることになる。その処理の実行後、ステップ612の処理に移行する。
【0090】
ステップ612では、現在演奏者が選択しているパッチメモリの登録内容(以降、パッチデータと記す)を、DSP203の設定を指示する制御コマンドとしてDSP203に供給する。その後、一連の処理を終了する。
【0091】
上記制御コマンドは、シリアルI/F部308を介し、その種類に応じて各部301〜307に送られる。これにより、DSP203は、A/Dコンバータ202から入力した楽音データに対し、演奏者が所望するエフェクトを付加するための処理を施すことになる。
【0092】
図7〜図26は、上記プレイ処理内で実行される各種サブルーチン処理の動作フローチャートである。これらの図面を参照して、上記プレイ処理内で実行される各種サブルーチン処理について詳細に説明する。
【0093】
図7は、上記ステップ602として実行されるバリューエントリーボタン処理の動作フローチャートである。この図7を参照して、最初にバリューエントリーボタン処理について説明する。
【0094】
バリューエントリーボタンは、プレイモードが設定されている場合、パッチメモリを指定するために用いられ、エディットモードが設定されている場合には、パッチメモリに設定する内容を指定するために用いられる。このように、モードによって割り当てられている機能は異なることから、バリューエントリーボタン処理では、各モード別に一連の処理を行う。
【0095】
先ず、ステップ701では、現在設定されているモードを判定する。そのモードがプレイモードであった場合、ステップ702の処理に移行する。
バリューエントリーボタン127には、−ボタン127aと+ボタン127bの2種類がある。ステップ702では、操作されたボタンの種類を判定する。演奏者が+ボタン127bを操作した場合、ステップ703の処理に移行し、そうでない場合には、即ち演奏者が−ボタン127aを操作した場合には、ステップ704の処理に移行する。
【0096】
ステップ703では、パッチ番号のインクリメントを行う。そのインクリメントを行った後、ステップ705の処理に移行する。他方のステップ704では、パッチ番号のデクリメントを行い、その後、ステップ705の処理に移行する。なお、上記パッチ番号のインクリメント、及びデクリメントは、当然ではあるが、各パッチメモリに各々割り当てた番号の範囲内で行う。
【0097】
ステップ705では、上記ステップ703、或いはステップ704の処理を実行した後のパッチ番号が示すパッチメモリの登録内容に、設定内容を切り替えるパッチ切替処理を行う。そのパッチ切替処理が終了した後、一連の処理を終了する。
【0098】
一方、現在エディットモードが設定されていた場合、ステップ701の判定処理が終了した後、ステップ706の処理に移行する。
ステップ706では、操作されたバリューエントリーボタン127の種類を判定する。演奏者が+ボタン127bを操作した場合、ステップ707の処理に移行し、そうでない場合には、即ち演奏者が−ボタン127aを操作した場合には、ステップ708の処理に移行する。
【0099】
ステップ707では、現在対象としている項目の内容を正方向に変化、例えばパラメータの値のインクリメントを行う。現在対象としている項目がエフェクタブロックであれば、例えばコンプレッサからディストーションへ、或いはディストーションからパラメトリック EQというように、その内容を変化させる。その後、一連の処理を終了する。
【0100】
一方のステップ708では、上記ステップ707とは逆に、現在対象としている項目の内容を逆方向に変化、例えばパラメータの値のデクリメントを行う。現在対象としている項目がエフェクタブロックであれば、例えばパラメトリック EQからディストーションへ、或いはディストーションからコンプレッサというように、その内容を変化させる。その後、一連の処理を終了する。
【0101】
図8は、上記ステップ705として実行されるパッチ切替処理の動作フローチャートである。この図8を参照して、次にパッチ切替処理について詳細に説明する。
【0102】
パッチ番号の切り替えは、バリューエントリーボタン127を操作する他に、バンク切替フットスイッチ122、及びパッチ切替フットスイッチ123の少なくとも一方を操作することで行うことができる。このため、パッチ切替処理は、上記ステップ705としてだけではなく、パッチ番号の変更を行うサブルーチン処理では常に実行される。
【0103】
先ず、ステップ801では、バンク番号、及びそのバンク番号のバンク内のパッチ番号で示されるパッチメモリのパッチデータを読み出す。そのパッチデータの読み出しは、RAM206に対して行われる。
【0104】
ステップ801に続くステップ802では、上記パッチメモリに、エフェクタブロックとしてペダルコントロール4が登録されているか否か判定する。エフェクタブロックとしてペダルコントロール4が選択されているパッチメモリを演奏者が指定した場合、その判定はYESとなってステップ803の処理に移行する。そうでない場合には、即ちペダルコントロール4以外のものがエフェクタブロックとして選択されている場合には、ここで一連の処理を終了する。
【0105】
エフェクタブロックとしてのペダルコントロール4には、上述したように、パッチメモリを切り替えた後、パラメータの値をどのように変化させるかを決定するイニシャルモードを指定する項目がある。ステップ803〜812では、指定されたイニシャルモードの種類に応じて、パッチメモリを切り替えた直後のパラメータ値(初期値)を設定するための処理が行われる。それらの処理を説明する前に、図33〜図38を参照して、各イニシャルモードでのパラメータ値の変更方法について説明する。
【0106】
図33〜図38は、パッチメモリの切り替えが行われた際に、フットコントローラ121の踏み量の時間変化に応じてパラメータ値がどのように変化したかを各イニシャルモード毎に示したものである。図33〜図38において、フットコントローラ121の踏み量、及びパラメータ値は、その最大値に対する比率で示し、また、パラメータの最大値はフットコントローラ121の踏み量の最大値と等しいと仮定している。以降の説明は、この仮定を前提として行う。
【0107】
図33は、イミディートモード時のパラメータ値の変化例を示す図である。図33では、パラメータ値と踏み量との関係を明確にするために、フットコントローラ121の踏み量のグラフ(図に向かって下段)内に実線で描いた踏み量の変化を、パラメータ値のグラフ(図に向かって上段)内に点線で示している。これは、図34〜図38においても同様である。
【0108】
図33に示すように、イミディートモードは、演奏者がパッチメモリを切り替えると、パラメータ値をペダルコントローラ121の踏み量に対応した値に直ちに変化させるモードである。このため、パラメータの初期値を設定する必要がなく、パッチ切替処理のステップ803〜812では、イミディートモードに対応した処理は行われない。
【0109】
図34は、フックモード時のパラメータ値の変化例を示す図である。この図34に示す例も、フットコントローラ121は、その踏み量が25〜90パーセントを範囲として操作された例である。
【0110】
図34に示すように、フックモードでは、演奏者がパッチメモリを切り替えると、その直後はパラメータ値をパッチメモリの設定内容から決定される値に変化させる。その後は、操作されたフットコントローラ121の踏み量が、パッチメモリが切り替わったことで初期設定したパラメータ値に対応する値に一致するまで(フックされるまで)、パラメータ値は変化させない。踏み量がパラメータ値に対応する値に一致すると、パラメータ値を、フットコントローラ121の踏み量に対応させて変化、言い換えれば、パラメータ値をフットコントローラ121への操作に連動させる。これは、パッチメモリが切り替わるまで維持される。
【0111】
図35は、ブランクモード時のパラメータ値の変化例を示す図である。この図35に示す例も、フットコントローラ121は、その踏み量が25〜90パーセントを範囲として操作された例である。
【0112】
図35に示すように、ブランクモードでは、演奏者がパッチメモリを切り替えると、その直後はパラメータ値をパッチメモリの設定内容から決定される値(図35の例では65パーセント)に変化させる。その切り替えを行った直後の所定期間は、弦振動信号の入力があるときにフットコントローラ121が操作されてもパラメータ値を変化させず、弦振動信号の入力がなくなった(その信号が小さいレベルまで下がったことも含む)後に、パラメータ値をフットコントローラ121の操作に連動させて変化させる。
【0113】
図35では、フットコントローラの踏み量のグラフに、入力された弦振動信号(図中では入力信号)のレベルの一例を一点鎖線で、例えば定格を100とした百分率で示している。この図35に示す例では、入力信号のレベルが極めて小さく、即ちギター100の弦101の振動が極めて小さくなったことを検出した後、パラメータ値を65から90パーセントに変化させている。
【0114】
図36は、インターポレート1モード時のパラメータ値の変化例を示す図である。この図36に示す例も、フットコントローラ121は、その踏み量が25〜90パーセントを範囲として操作された例である。
【0115】
インターポレート1モードでは、演奏者がパッチメモリを切り替えると、図36に示すように、パラメータ値をパッチメモリの設定内容から決定される値(図36の例では65パーセント)に変化させず、それまでの値を保持させる。その後、フットコントローラ121の踏み量に対応した値に、時間の経過に伴って徐々にパラメータ値を近付ける。
【0116】
パラメータ値を踏み量に近付けるのは、言い換えれば、パラメータに次に設定する値V1は、例えば数1を用いて求める。
【0117】
【数1】
V1 = V0 + (P−V0)・R
但し、V0はパラメータの現在値、Pはフットコントローラ121の現在の踏み量、Rは係数である。
【0118】
この数1から判るように、パラメータ値を踏み量に近付ける速さは、係数Rの値に依存する(その値が1であれば常にパラメータ値と踏み量は一致する)。一旦、パラメータ値と踏み量の差が一致すると(その差が十分小さくなると)、それ以降はパラメータ値を踏み量に連動して変化させる。
【0119】
なお、上記数1は、フットコントローラ121の踏み量(P)とパラメータ値(V0、V1)とがリニアに対応していることを仮定したものである。しかし、実際には、パラメータ値の範囲、パラメータ値と踏み量の対応関係等を考慮して計算式を定義する必要がある。
【0120】
図37は、インターポレート2モード時のパラメータ値の変化例を示す図である。この図37に示す例も、フットコントローラ121は、その踏み量が25〜90パーセントを範囲として操作された例である。
【0121】
図37に示すように、インターポレート2モードでは、演奏者がパッチメモリを切り替えると、パラメータ値をパッチメモリの設定内容から決定される値(図37の例では65パーセント)に変化させず、それまでの値を保持させる。その後は、フットコントローラ121が操作されなければパラメータ値を踏み量に近付けない。フットコントローラ121の操作が行われていくうちに、パラメータ値を徐々に本来の値に近付ける。
【0122】
上記の記載から判るように、インターポレート2モードはインターポレート1モードとは、パラメータ値を本来の値に近付けるのを、フットコントローラ121への操作が行われていない期間にも行うか否かだけ異なる。
【0123】
図38は、パラレルモード時のパラメータ値の変化例を示す図である。この図38に示す例では、フットコントローラ121は、その踏み量が25〜100パーセントを範囲として操作されている。
【0124】
図38に示すように、パラレルモードでは、演奏者がパッチメモリを切り替えると、その直後はパラメータ値をパッチメモリの設定内容から決定される値(図38の例では65パーセント)に変化させる。その後は、フットコントローラ121が操作されると、その踏み量の変化分だけパラメータ値を変化させる。即ちパラメータ値を、踏み量の変化分だけ平行移動させるように変化させる。
【0125】
上述したように、パラメータ値には範囲が限定されている。このため、踏み量の変化によりパラメータ値が最大値、或いは最小値の何れかの極限値に達した場合、その極限値を越えさせる方向に踏み量が変化している間、パラメータ値を極限値に保持させる。これにより、パラメータ値と踏み量はその間に近づくことになる。フットコントローラ121の操作を行っていれば、パラメータ値と踏み量はいつかは一致することになる。それらの値が一致した後は、パラメータ値は踏み量の通りに変化させる。
【0126】
このように、本実施の形態では、パッチメモリを切り替えた後、上述したようにパラメータ値を変化させる各種のイニシャルモードを用意している。このため、演奏者は、パッチメモリに所望のイニシャルモードを設定しておくことで、パッチメモリを切り替えた直後の初期値を含め、パラメータ値を任意に制御することが可能となる。言い換えれば、装置(本実施の形態ではエフェクタ120)が備えた機能を、意図しない楽音(音響効果自体)の変化等を回避しつつ、幅広く有効に活用することが可能となる。その結果、演奏者は、例えば装置の機能を有効に利用した創造的な音楽表現も容易に行うことができる。
【0127】
なお、本実施の形態では、予めイニシャルモードを幾つか用意し、そのなかから一つを選択してパッチメモリに登録させるようにしているが、そのイニシャルモードの内容を演奏者が設定できるようにしても良い。一例を挙げれば、パッチメモリが切り替えられると、フットコントローラ121への操作により制御されるパラメータ値をパッチデータから求まる値に変化させ、その後、その変化させた値からフットコントローラ121の踏み量に対応した値に徐々に近づけるような内容をイニシャルモードとして設定できるようにしても良い。この例において、パラメータ値を踏み量に近づける速さも設定(数1における係数Rの値、或いはそのための計算式の定義)できるようにしても良い。また、パッチメモリ切り替え後の所定期間を幾つかに分割し、分割した各期間毎にイニシャルモード(パラメータ値を変化させる内容)を設定できるようにしても良い。
【0128】
図8の説明に戻る。
ステップ803では、パッチメモリに登録されているイニシャルモードがフックモード(図34参照)であるか否か判定する。演奏者がイニシャルモードとしてフックモードをそのパッチメモリに登録していた場合、その判定はYESとなってステップ804の処理に移行する。そうでない場合には、その判定はNOとなってステップ805の処理に移行する。
【0129】
ステップ804では、登録されていたフックモードに従って、パッチメモリ切り替え直後のパラメータ値を決定するフック初期設定処理を実行する。その後、ステップ805の処理に移行する。
【0130】
ステップ805では、パッチメモリに登録されているイニシャルモードがブランクモード(図35参照)であるか否か判定する。演奏者がイニシャルモードとしてブランクモードをパッチメモリに登録していた場合、その判定はYESとなってステップ806の処理に移行する。そうでない場合には、その判定はNOとなってステップ807の処理に移行する。
【0131】
ステップ806では、登録されていたブランクモードに従って、パッチメモリ切り替え直後のパラメータ値を決定するブランク初期設定処理を実行する。その後、ステップ807の処理に移行する。
【0132】
ステップ807では、パッチメモリに登録されているイニシャルモードがインターポレート1モード(図36参照)であるか否か判定する。演奏者がイニシャルモードとしてインターポレート1モードを選択していた場合、その判定はYESとなってステップ808の処理に移行する。そうでない場合には、その判定はNOとなってステップ809の処理に移行する。
【0133】
ステップ808では、登録されていたインターポレート1モードに従って、パッチメモリ切り替え直後のパラメータ値を決定するインターポレート1初期設定処理を実行する。その後、ステップ809の処理に移行する。
【0134】
ステップ809では、パッチメモリに登録されているイニシャルモードがインターポレート2モード(図37参照)であるか否か判定する。演奏者がイニシャルモードとしてインターポレート2モードをパッチメモリに登録していた場合、その判定はYESとなってステップ810の処理に移行する。そうでない場合には、その判定はNOとなってステップ811の処理に移行する。
【0135】
ステップ810では、登録されていたインターポレート2モードに従って、パッチメモリ切り替え直後のパラメータ値を決定するインターポレート2初期設定処理を実行する。その後、ステップ811の処理に移行する。
【0136】
ステップ811では、パッチメモリに登録されているイニシャルモードがパラレルモード(図38参照)であるか否か判定する。演奏者がイニシャルモードとしてパラレルモードをパッチメモリに登録していた場合、その判定はYESとなってステップ812の処理に移行する。そうでない場合には、その判定はNOとなって一連の処理を終了する。
【0137】
ステップ812では、登録されていたパラレルモードに従って、パッチメモリ切り替え直後のパラメータ値を決定するパラレル初期設定処理を実行する。その後、一連の処理を終了する。
【0138】
次に、上記パッチ切替処理内でステップ804、806、808、810、及び812として実行される各種初期設定処理について、図9〜図13を参照して詳細に説明する。
【0139】
図9は、上記ステップ804として実行されるフック初期設定処理の動作フローチャートである。この図9を参照して、最初にフック初期設定処理について詳細に説明する。
【0140】
先ず、ステップ901では、変数CFに0を代入する。この変数CFは、CPU205内のレジスタ、或いはRAM206に保持される変数である。後述するように、パラメータ値を踏み量に応じて変化させても良い条件が満たされたか否かを示すフラグとして用いられる。これは、他のイニシャルモード時においても同様である。変数CFに0を代入した後は、ステップ902の処理に移行する。なお、その条件が満たされた状態とは、後述するパラメータの初期値に対応する踏み量にフットコントローラ121の踏み量が一致した状態のことである。
【0141】
ステップ902では、演奏者に新たに指定されたパッチメモリのパッチデータ(設定内容)から、パッチメモリを切り替えた直後のパラメータの初期値を求め、その求めた値を変数Vに代入する。続くステップ903では、その変数Vに代入した値をパラメータ値として登録する。その後、一連の処理を終了する。
【0142】
図10は、上記ステップ806として実行されるブランク初期設定処理の動作フローチャートである。この図10を参照して、次にブランク初期設定処理について詳細に説明する。
【0143】
先ず、ステップ1001では、変数CF、及びPFに0を各々代入する。この変数PFは、CPU205内のレジスタ、或いはRAM206に保持される変数であり、パッチメモリが切り替えが行われた後のフットコントローラ121の操作状態を把握するために用いられる。各変数に0を代入した後は、ステップ1002において、フットコントローラ121の踏み量を変数P0に代入する。この変数P0も、上記フットコントローラ121の操作状態を把握するための変数である。
【0144】
ステップ1003では、演奏者に新たに指定されたパッチメモリのパッチデータ(設定内容)から、パッチメモリを切り替えた直後のパラメータの初期値を求め、その求めた値を変数Vに代入する。続くステップ1004では、その変数Vに代入した値をパラメータ値として登録し、その後、一連の処理を終了する。
【0145】
図11は、上記ステップ808として実行されるインターポレート1初期設定処理の動作フローチャートである。この図11を参照して、次にインターポレート1初期設定処理について詳細に説明する。
【0146】
先ず、ステップ1101では、変数CFに0を代入する。続くステップ1102では、上記数1における係数Rの値を求める。係数Rの値を求めると、次にステップ1103において、現在のパラメータ値を変数V0に代入する。この変数V0は、次のパラメータ値V1を算出するために用いられる変数である(数1参照)。その後、一連の処理を終了する。
【0147】
本実施の形態では、イニシャルモードとしてインターポレート1或いはインターポレート2モードを選択した場合、係数Rの値は編集対象項目の一つとなる。他の項目と同様に、係数Rは、パラメータ選択ボタン126を操作することで編集対象の項目として選択することができ、その値は、バリューエントリーボタン127を操作することで指定することができる。指定された係数Rの値は、そのパッチメモリのパッチデータとしてRAM206に格納される。このため、上記ステップ1102の処理は、RAM206に格納されたパッチデータを読み出して係数Rの値を決定することで実現される。
【0148】
図12は、上記ステップ810として実行されるインターポレート2初期設定処理の動作フローチャートである。この図12を参照して、次にインターポレート2初期設定処理について詳細に説明する。
【0149】
上述したように、インターポレート2モードは、インターポレート1モードとは異なり、フットコントローラ121への操作が行われないと、パラメータ値を踏み量に対応した値に近付けるように変化させないようにしたモードである。
【0150】
先ず、ステップ1201では、変数CFに0を代入する。続くステップ1202では、上記係数Rの値を求める。係数Rの値を求めた後、ステップ1203の処理に移行する。
【0151】
ステップ1203では、現在のパラメータ値を変数V0に代入する。続くステップ1204では、現在のフットコントローラ121の踏み量(踏み率)を変数P0に代入する。その後、一連の処理を終了する。上記変数P0は、パッチメモリを切り替えた後、演奏者がフットコントローラ121に操作を行ったか否か判定するために用いられる変数である。
【0152】
図13は、上記ステップ812として実行されるパラレル初期設定処理の動作フローチャートである。この図13を参照して、次にパラレル初期設定処理について詳細に説明する。
【0153】
先ず、ステップ1301では、変数CFに0を代入する。続くステップ1302では、現在のパラメータ値を変数V0に代入する。変数V0に現在のパラメータ値を代入すると、次にステップ1303において、現在のフットコントローラ121の踏み量(踏み率)を変数P0に代入する。その後、一連の処理を終了する。
【0154】
このように、切り替えられたパッチメモリに設定されているイニシャルモード別に初期設定処理が実行され、フットコントローラ121への操作に応じて変化させるパラメータのパッチメモリ切り替え直後の初期値が決定される。
【0155】
図14は、図6に示すプレイ処理内でステップ604として実行されるバンク切替フットスイッチ処理の動作フローチャートである。次に、図14を参照して、バンク切替フットスイッチ処理について詳細に説明する。
【0156】
バンク切替フットスイッチ122には、モード別に異なる機能が割り当てられている。このため、バンク切替フットスイッチ処理では、現在設定されているモード別に一連の処理が行われる。
【0157】
先ず、ステップ1401では、現在設定されているモードを判定する。現在プレイモードが設定されている場合、ステップ1402の処理に移行する。そうでない場合には、ステップ1406の処理に移行する。
【0158】
バンク切替フットスイッチ122には、+スイッチ122bと−スイッチ122aの2種類のスイッチがある。ステップ1402〜1405では、プレイモード時にバンク切替フットスイッチ122に割り当てられている機能に応じた処理が行われる。
【0159】
ステップ1402では、操作されたスイッチを判定する。演奏者が+スイッチ122bを操作した場合、ステップ1403の処理に移行する。そうでない場合には、即ち演奏者が−スイッチ122aを操作した場合には、ステップ1404の処理に移行する。
【0160】
ステップ1403では、現在のバンク番号のインクリメントを行う。そのインクリメントは、バンク番号が既に最大値(本実施の形態では7である)であれば行わない。このステップ1403の処理が終了すると、ステップ1405の処理に移行する。
【0161】
ステップ1404では、−スイッチ122aを演奏者が操作したことから、バンク番号のデクリメントを行う。そのデクリメントは、バンク番号が既に最小値(本実施の形態では0である)であれば行わない。このステップ1404の処理が終了すると、ステップ1405の処理に移行する。そのステップ1405では、バンク番号の変更に対応するために、パッチ切替処理を実行する。その後、一連の処理を終了する。
【0162】
プレイモード時には、このようにしてバンク番号(上一桁の数字)がバンク切替フットスイッチ122への操作に応じて変更される。変更されたバンク番号をパッチ番号表示器124に実際に表示させるのは、図6のステップ609の表示処理で行われる。
【0163】
本実施の形態では、エフェクタブロックとしてペダルコントロール3が選択された場合、パラメータ値の範囲を設定することができる。そのパラメータ値の範囲は、上述したように、フットコントローラ121を用いて、最大値(Max)、及び最小値(Min)の少なくとも一方を指定することで行われる。エディットモードの設定時に実行されるステップ1406〜1409の処理では、フットコントローラ121を用いて指定された最大値(Max)、及び最小値(Min)のパッチメモリへの登録が行われる。
【0164】
先ず、ステップ1406では、切り替えたパッチメモリに設定されているエフェクタブロックの判定を行う。そのパッチメモリに、エフェクタブロックとしてペダルコントロール3が設定されていた場合、その判定はYESとなってステップ1407の処理に移行する。そうでない場合には、その判定はNOとなって一連の処理を終了する。
【0165】
ステップ1407では、バンク切替フットスイッチ122で操作されたスイッチを判定する。演奏者が+スイッチ122bを操作した場合、ステップ1408の処理に移行する。そうでない場合には、即ち演奏者が−スイッチ122aを操作した場合には、ステップ1409の処理に移行する。
【0166】
ステップ1408では、現在のフットコントローラ121の操作位置、即ち踏み板401の踏み量を、パラメータ値の最大値(Max)として登録する。その後、一連の処理を終了する。他方のステップ1409では、現在の踏み板401の踏み量をパラメータ値の最小値(Min)として登録する。その後、一連の処理を終了する。
【0167】
このように、バンク切替フットスイッチ処理では、モード別に一連の処理が行われる。従って、演奏者は、パラメータ値の範囲の設定を行いたい場合、エディットモードを設定後、以下のようにして最大値(Max)、及び最小値(Min)の設定を行えば良い。
【0168】
最大値(Max)を設定したい場合、演奏者は、所望の位置まで踏み板401を踏み込んだ後、その状態を維持したまま+スイッチ122bを操作する。これにより、最大値(Max)は、+スイッチ122bを操作したときの踏み板401の位置に対応する値に設定される。最小値(Min)を設定したい場合には、所望の位置まで踏み板401を踏み込んだ状態を維持したまま−スイッチ122aを操作する。このようにして範囲を設定すると、フットコントローラ121を操作してエフェクトをかける場合には、踏み板401を踏んでいない状態では最小値(Min)、それを最大位置まで踏み込んだ状態では最大値(Max)がパラメータの値に設定される。なお、演奏者が設定しなかった最大値(Max)、及び最小値(Min)は、デフォルト値のままである。
【0169】
演奏者は、フットコントローラ121を実際の演奏に用いることから、フットコントローラ121の操作位置(踏み量)とその位置でのエフェクトのかかり具合の対応関係を感覚で理解することができる。そのフットコントローラ121は、踏み板401を踏み込むという単純な操作だけでエフェクトのかかり具合を調整する操作子である。このため、演奏者は、パラメータ値の所望する可変範囲を、正確、且つ迅速に設定することができる。
【0170】
図15は、図6に示すプレイ処理内でステップ606として実行されるパッチ切替フットスイッチ処理の動作フローチャートである。次に、図15を参照して、パッチ切替フットスイッチ処理について詳細に説明する。
【0171】
パッチ切替フットスイッチ123は、プレイモード時にはパッチ番号を指定する機能が割り当てられているが、エディットモード時には、そのなかの4スイッチ123dにだけ機能が割り当てられている。その機能は、現在の編集対象項目の内容を確定(登録)させる機能である。このため、パッチ切替フットスイッチ処理では、現在設定されているモード別に一連の処理が行われる。
【0172】
先ず、ステップ1501では、現在設定されているモードを判定する。現在プレイモードが設定されている場合、ステップ1502の処理に移行する。そうでない場合には、ステップ1511の処理に移行する。
【0173】
パッチ切替フットスイッチ123には、1スイッチ123a、2スイッチ123b、3スイッチ123c、及び4スイッチ123dの4種類ある。ステップ1502〜1510では、パッチ切替フットスイッチ123のなかで演奏者が操作したスイッチを特定し、その特定したスイッチで指定されるパッチメモリに切り替えを行う。
【0174】
ステップ1502では、1スイッチ123aが操作されたか否か判定する。演奏者が1スイッチ123aを操作した場合、その判定はYESとなってステップ1503の処理に移行する。そうでない場合には、その判定はNOとなってステップ1504の処理に移行する。
【0175】
ステップ1503では、1スイッチ123aへの操作に応じたパッチ番号の切り替えを行う。パッチ切り替えフットスイッチ123は、プレイモードが設定されている場合、パッチ番号の下一桁の値を直接指定するのに用いられる。このため、ステップ1503の処理が実行されると、パッチ番号の下一桁は1に設定される。
【0176】
ステップ1504〜1509では、上記1スイッチ123aへの操作に応じたステップ1502、1503の処理と同様にして、パッチ切替フットスイッチ123の他のスイッチ123b〜123dへの操作に応じた処理が行われる。各スイッチ123a〜123dへの操作に応じた処理が終了した後、言い換えれば、パッチ番号の下一桁を演奏者が指定した値に切り替えた後、ステップ1510において、切り替えた後のパッチ番号でパッチ切替処理を実行する。パッチ切替処理が終了すると、一連の処理を終了する。
【0177】
エディットモードの設定時、ステップ1501に続いて実行されるステップ1511では、4スイッチ123dが操作されたか否か判定する。現在の内容をパッチメモリに登録(設定)することを演奏者が指示した場合、その判定はYESとなってステップ1512の処理に移行する。そうでない場合には、その判定はNOとなって一連の処理を終了する。
【0178】
ステップ1512では、現在編集されている項目の内容を、選択されているパッチ番号のパッチメモリに登録する処理を行う。具体的には、LCD129に表示されている内容を現在対象としている項目の内容としてパッチメモリに登録する。このステップ1512の処理が実行されることで、エフェクタブロック、パラメータ、イニシャルモードといった項目の内容が確定する。その処理を実行した後、一連の処理を終了する。
【0179】
図16は、図6に示すプレイ処理内でステップ608として実行されるフットコントローラ処理の動作フローチャートである。次に、図16を参照して、フットコントローラ処理について詳細に説明する。
【0180】
フットコントローラ121は、プレイモード時にはパラメータ値を指定する機能が割り当てられ、エディットモード時には、パラメータ値の範囲を指定する機能が割り当てられている。このため、フットコントローラ処理でも、現在設定されているモード別に一連の処理が行われる。
【0181】
先ず、ステップ1601では、現在設定されているモードを判定する。現在プレイモードが設定されている場合、ステップ1602の処理に移行する。そうでない場合には、ステップ1606の処理に移行する。
【0182】
ステップ1602では、パッチメモリの設定内容(パッチデータ)に従い、エフェクタブロックであるペダルコントロール1の機能を実現するためのペダルコントロール1処理を実行する。続くステップ1603〜1605においても同様に、ペダルコントロール2〜4の機能を実現するためのペダルコントロール2〜4処理をそれぞれ実行する。ステップ1605のペダルコントロール4処理を実行した後、一連の処理を終了する。
【0183】
一方、エディットモードが設定されている場合に実行するステップ1606では、現在編集されているパッチメモリのパラメータの最大値、及び最小値を読み出す。これらパラメータの最大値、及び最小値は、演奏者が設定したものではなく、パラメータ毎に予め用意したものである(表1参照)。これらを読み出した後、ステップ1607の処理に移行する。
【0184】
ステップ1607では、現在のフットコントローラ121の踏み量を変数Aに代入する。続くステップ1608では、上記変数A、及びステップ1606で読み出したパラメータの最大値及び最小値を用いてパラメータ値を算出する。このとき算出したパラメータ値は、最小値に、最大値と最小値の差に変数Aの値を掛けた値を加算した値である(パラメータ値=最小値+(最大値−最小値)・A)。その後、一連の処理を終了する。
【0185】
次に、上記フットコントローラ処理内でステップ1602〜1605として実行されるペダルコントロール1〜4処理について、図17〜図20に示す動作フローチャートを参照して各々詳細に説明する。
【0186】
図17は、上記ステップ1602として実行されるペダルコントロール1処理の動作フローチャートである。この図17を参照して、最初にペダルコントロール1処理について詳細に説明する。
【0187】
上述したように、エフェクタブロックであるペダルコントロール1では、フットコントローラ121の操作位置(踏み量)とパラメータ値の関係はテーブルで定義されている。ペダルコントロール1処理では、その定義されたテーブルから求められるカーブ1に従って、フットコントローラ121の踏み量に対応するパラメータ値の設定を行う。これは、後述するペダルコントロール2処理においても同様である。
【0188】
先ず、ステップ1701では、現在指定されているパッチメモリに、エフェクタブロックとしてペダルコントロール1が選択されているか否か判定する。そのパッチメモリに演奏者がペダルコントロール1を設定していた場合、その判定はYESとなってステップ1702の処理に移行する。そうでない場合には、その判定はNOとなって一連の処理を終了する。
【0189】
ステップ1702では、現在のフットコントローラ121の踏み量を変数Aに代入する。続くステップ1703では、変数Aの値をアドレスにして、演奏者が定義しているテーブル1からパラメータの値を読み出し、その読み出した値を変数V1に代入する。
【0190】
変数Aの値は、演奏者がパラメータ値を指定した踏み量(アドレス値)と完全に一致することは少ない。このため、上記ステップ1703では、テーブル1のパラメータ値が設定されている踏み量(アドレス値)のなかで変数Aに最も近い踏み量(アドレス値)のパラメータ値を読み出すか、或いはその変数Aの値の前後に設定されているパラメータ値をテーブル1から読み出し、その前後の踏み量(アドレス値)と変数Aの値(踏み量)に応じた内挿計算を行い、変数Aに対応するパラメータ値(変数V1に代入される値)を求める。
【0191】
テーブル1では、踏み量、及びパラメータ値は最大値に対する比率(単位はパーセント)で指定される。それらは0〜100の間の値である。しかし、表1から判るように、パーセントで表現された値は必ずしも実際の値に対応しない。このため、ステップ1703に続くステップ1704では、変数V1の値に対応するパラメータ値の実際の変化範囲内での値を求め、その求めた値をパラメータ値に設定する。具体的には、パラメータの最小値に、その最大値と最小値の差に変数V1の値を掛けた値を加算し、その加算後の値をパラメータ値に設定する(パラメータ値=最小値+(最大値−最小値)・V1)。それら最大値、及び最小値は、演奏者が設定したものではなく、予め定められている値である。パラメータ値を設定した後、一連の処理を終了する。
【0192】
図18は、上記ステップ1603として実行されるペダルコントロール2処理の動作フローチャートである。この図18を参照して、次にペダルコントロール2処理について詳細に説明する。このペダルコントロール2処理は、上述したペダルコントロール1処理の内容と殆ど同一の内容である。
【0193】
先ず、ステップ1801では、現在指定されているパッチメモリに、エフェクタブロックとしてペダルコントロール2が選択されているか否か判定する。そのパッチメモリに演奏者がペダルコントロール2を設定していた場合、その判定はYESとなってステップ1802の処理に移行する。そうでない場合には、その判定はNOとなって一連の処理を終了する。
【0194】
ステップ1802では、現在のフットコントローラ121の踏み量を変数Aに代入する。続くステップ1803では、変数Aの値をアドレスにして、演奏者が定義しているテーブル2からパラメータの値を読み出し、その読み出した値を変数V2に代入する。このステップ1803の処理は、図17に示すペダルコントロール1処理内のステップ1703の処理と実質的に内容は同じである。
【0195】
ステップ1803に続くステップ1804では、変数V1の値に対応するパラメータ値の実際の変化範囲内での値を求め、その求めた値をパラメータ値に設定する。具体的には、パラメータの最小値に、その最大値と最小値の差に変数V1の値を掛けた値を加算し、その加算後の値をパラメータ値に設定する(パラメータ値=最小値+(最大値−最小値)・V2)。パラメータ値を設定した後、一連の処理を終了する。
【0196】
このようにして、演奏者が設定したテーブルに従って、フットコントローラ121の踏み量に対応するパラメータ値が設定される。このため、演奏者は、自分に合ったフットコントローラ121の踏み量とパラメータ値(音響効果(エフェクト)のかかり具合)の対応関係をテーブルに設定しておくことで、エフェクトをより望み通りに、且つ簡単に付加することができる。
【0197】
図19は、上記ステップ1604として実行されるペダルコントロール3処理の動作フローチャートである。この図19を参照して、次にペダルコントロール3処理について詳細に説明する。
【0198】
先ず、ステップ1901では、現在指定されているパッチメモリに、エフェクタブロックとしてペダルコントロール3が選択されているか否か判定する。そのパッチメモリに演奏者がペダルコントロール3を設定していた場合、その判定はYESとなってステップ1902の処理に移行する。そうでない場合には、その判定はNOとなって一連の処理を終了する。
【0199】
ステップ1902では、現在のフットコントローラ121の踏み量を変数Aに代入する。続くステップ1903では、変数Aの値、演奏者が設定したパラメータの最大値(Max)及び最小値(Min)を用いて算出した値をパラメータに設定する。具体的には、最小値(Min)に、最大値(Max)と最小値(Min)の差に変数Aの値を掛けた値を加算し、その加算後の値をパラメータに設定する(パラメータ値=Min+(Max−Min)・A)。パラメータ値を設定した後、一連の処理を終了する。
【0200】
図20は、上記ステップ1605として実行されるペダルコントロール4処理の動作フローチャートである。この図20を参照して、次にペダルコントロール4処理について詳細に説明する。
【0201】
上述したように、ペダルコントロール4では、パッチメモリに設定する項目としてイニシャルモードがある。各イニシャルモードにより、パラメータ値を変化させる方法は異なる。このため、ペダルコントロール4処理は、演奏者が選択したイニシャルモードに対応して行われる。
【0202】
先ず、ステップ2001では、現在指定されているパッチメモリに、エフェクタブロックとしてペダルコントロール4が選択されているか否か判定する。そのパッチメモリに演奏者がペダルコントロール4を設定していた場合、その判定はYESとなってステップ2002の処理に移行する。そうでない場合には、その判定はNOとなって一連の処理を終了する。
【0203】
ステップ2002では、イニシャルモードとしてイミディートモードが選択されているか否か判定する。演奏者がイミディートモードを選択していた場合、その判定はYESとなってステップ2003の処理に移行する。そうでない場合には、その判定はNOとなってステップ2004の処理に移行する。ステップ2003では、選択されたイミディートモードでパラメータ値を変更するイミディート処理を実行する。その後、ステップ2004の処理に移行する。
【0204】
ステップ2004では、イニシャルモードとしてフックモードが選択されているか否か判定する。演奏者がフックモードを選択していた場合、その判定はYESとなってステップ2005の処理に移行する。そうでない場合には、その判定はNOとなってステップ2006の処理に移行する。ステップ2005では、選択されたフックモードでパラメータ値を変更するフック処理を実行する。その後、ステップ2006の処理に移行する。
【0205】
ステップ2006では、イニシャルモードとしてブランクモードが選択されているか否か判定する。演奏者がブランクモードを選択していた場合、その判定はYESとなってステップ2007の処理に移行する。そうでない場合には、その判定はNOとなってステップ2008の処理に移行する。ステップ2007では、選択されたブランクモードでパラメータ値を変更するブランク処理を実行する。その後、ステップ2008の処理に移行する。
【0206】
ステップ2008では、イニシャルモードとしてインターポレート1モードが選択されているか否か判定する。演奏者がインターポレート1モードを選択していた場合、その判定はYESとなってステップ2009の処理に移行する。そうでない場合には、その判定はNOとなってステップ2010の処理に移行する。ステップ2009では、選択されたインターポレート1モードでパラメータ値を変更するインターポレート1処理を実行する。その後、ステップ2010の処理に移行する。
【0207】
ステップ2010では、イニシャルモードとしてインターポレート2モードが選択されているか否か判定する。演奏者がインターポレート2モードを選択していた場合、その判定はYESとなってステップ2011の処理に移行する。そうでない場合には、その判定はNOとなってステップ2012の処理に移行する。ステップ2011では、選択されたインターポレート2モードでパラメータ値を変更するインターポレート2処理を実行する。その後、ステップ2012の処理に移行する。
【0208】
ステップ2012では、イニシャルモードとしてパラレルモードが選択されているか否か判定する。演奏者がパラレルモードを選択していた場合、その判定はYESとなってステップ2013の処理に移行する。そうでない場合には、その判定はNOとなって一連の処理を終了する。ステップ2013では、選択されたパラレルモードでパラメータ値を変更するパラレル処理を実行する。その後、一連の処理を終了する。
【0209】
次に、上述したペダルコントロール4処理内でステップ2003、2005、2007、2009、2011、2013として実行される各サブルーチン処理について、図21〜図26を参照して詳細に説明する。
【0210】
図21は、上記ステップ2003として実行されるイミディート処理の動作フローチャートである。この図21を参照して、最初にイミディート処理について詳細に説明する。
【0211】
上述したように、イミディートモードは、パッチメモリの切り替えが行われると、パラメータ値をフットコントローラ121の踏み量に対応した値に直ちに変化させるモードである(図33参照)。
【0212】
先ず、ステップ2101では、フットコントローラ121の踏み量を変数P1に代入する。続くステップ2102では、変数P1の値と変数P0の値が等しいか否か判定する。変数P0は、前回にイミディート処理を行った際のフットコントローラ121の踏み量が代入される変数である。従って、フットコントローラ121の踏み量が前回の処理時から変化していない場合、その判定はYESとなってステップ2103の処理に移行する。そうでない場合には、その判定はNOとなって一連の処理を終了する。
【0213】
ステップ2103では、変数P1の値をパラメータ値として設定する。続くステップ2104では、変数P0に、変数P1の値を代入する。その後、一連の処理を終了する。
【0214】
図22は、上記ステップ2005として実行されるフック処理の動作フローチャートである。この図22を参照して、次にフック処理について詳細に説明する。
【0215】
上述したように、フックモードは、パッチメモリの切り替えが行われると、その切り替え時に設定したパラメータ値に対応する踏み量になるまでパラメータ値を変化させないモードである(図34参照)。
【0216】
先ず、ステップ2201では、フットコントローラ121の踏み量を変数P1に代入する。続くステップ2202では、変数CFの値が0か否か判定する。フックモードが設定されているパッチメモリが指定されると、このフック処理に先だって図9に示すフック初期設定処理が実行され、変数CFには0が代入される。その0は、後述するように、パラメータ値の変化を行っても良い条件が満たされるまで変数CFに保持される。このため、パッチメモリが切り替えられた後、初めてフック処理を実行した場合、及びパラメータ値を変化させても良い条件が満たされていない場合、その判定はYESとなってステップ2203の処理に移行する。それらでない場合には、その判定はNOとなってステップ2206の処理に移行する。
【0217】
ステップ2203では、変数P1の値が変数P0の値と等しいか否か判定する。変数P0は、前回の処理(フック初期設定処理を含む)実行時におけるフットコントローラ121の踏み量が代入されている変数である。このため、フットコントローラ121の踏み量が前回の処理実行時から変化していない場合、その判定はYESとなって一連の処理を終了する。そうでない場合には、その判定はNOとなってステップ2204の処理に移行する。
【0218】
ステップ2204では、変数P1の値が変数Vの値と等しいか否か判定する。変数Vは、パッチメモリ切り替え後のパラメータの初期値が代入された変数である。その初期値は、図9に示すフック初期設定処理の実行時に変数Vに代入される。このため、現在のフットコントローラ121の踏み量が変数Vの値に対応(一致)している場合、その判定はYESとなってステップ2205の処理に移行する。そうでない場合には、その判定はNOとなってステップ2207の処理に移行する。ステップ2205では、変数CFに1を代入し、その後、ステップ2206の処理に移行する。
【0219】
ステップ2206では、変数P1の値をパラメータ値として設定する。続くステップ2207では、変数P1の値を変数P0に代入する。その後、一連の処理を終了する。
【0220】
上述したように、変数CFの値が0でなかった場合、ステップ2202の判定はNOとなってステップ2206の処理に移行する。このため、パッチメモリが切り替わった後、パラメータの初期値にフットコントローラ121の踏み量が一旦対応(一致)すると、それ以降、パラメータ値はフットコントローラ121の踏み量に連動して変化するようになる。これにより、上述したフックモードでのパラメータ値の変化が実現される。
【0221】
図23は、上記ステップ2007として実行されるブランク処理の動作フローチャートである。この図23を参照して、次にブランク処理について詳細に説明する。
【0222】
上述したように、ブランクモードは、パッチメモリの切り替えが行われると、入力信号(ギター100からの弦振動信号)がなくなる(非常に小さくなることを含む)までパラメータ値を変化させないモードである(図35参照)。パッチメモリの切り替えが行われた場合、ブランク処理に先だって図10に示すブランク初期設定処理が実行され、変数CF、及びPFには0、変数POにはフットコントローラ121の踏み量、変数Vにはパラメータの初期値がそれぞれ代入される。
【0223】
先ず、ステップ2301では、フットコントローラ121の踏み量を変数P1に代入する。続くステップ2302では、変数CFの値が0か否か判定する。変数CFには、パラメータ値の変化をフットコントローラ121への操作に連動させても良い条件が満たされるまで0が保持される。このため、パッチメモリが切り替えられた後、初めてブランク処理を実行した場合、及びパラメータ値を変化させても良い条件が満たされていない場合、その判定はYESとなってステップ2303の処理に移行する。それらでない場合には、その判定はNOとなってステップ2309の処理に移行する。
【0224】
ステップ2303では、変数P1の値が変数P0の値と等しいか否か判定する。変数P0は、前回の処理(ブランク初期設定処理を含む)実行時におけるフットコントローラ121の踏み量が代入されている変数である。このため、フットコントローラ121の踏み量が前回の処理実行時から変化していない場合、その判定はYESとなってステップ2305の処理に移行する。そうでない場合には、その判定はNOとなってステップ2304の処理に移行する。
【0225】
ステップ2304では、変数PFに1を代入する。続くステップ2305では、変数PFの値が0か否か判定する。変数PFの値が0であった場合、その判定はYESとなってステップ2310の処理に移行する。そうでない場合には、その判定はNOとなってステップ2306の処理に移行する。
【0226】
ステップ2306では、入力信号が現在あるか否か判定する。入力信号がないか、或いはそのレベルが非常に小さかった場合、その判定はNOとなってステップ2307の処理に移行する。そうでない場合には、その判定はYESとなってステップ2309の処理に移行する。
【0227】
ステップ2307では、変数Vの値が変数P1の値と等しいか否か判定する。フットコントローラ121の踏み量がパッチメモリ切り替え後の初期値に対応(一致)していた場合、その判定はYESとなってステップ2308の処理に移行する。そうでない場合には、その判定はNOとなってステップ2309の処理に移行する。ステップ2308では、変数CFに1を代入する。その後、ステップ2309の処理に移行する。
【0228】
ステップ2309では、変数P1の値をパラメータ値に設定する。続くステップ2310では、変数P1の値を変数P0に代入する。その代入が終了した後、一連の処理を終了する。
【0229】
本実施の形態では、このようなブランク処理を実行することから、演奏者は入力信号がない状態ではフットコントローラ121を操作することでパラメータ値を変更させることができる。しかし、入力信号がある状態でパラメータ値の変化をフットコントローラ121への操作に連動させるには、言い換えれば、変数CFに0を代入させるには、入力信号がない状態でフットコントローラ121を操作して、その踏み量をパラメータの初期値に対応(一致)させる必要がある。
【0230】
図24は、上記ステップ2009として実行されるインターポレート1処理の動作フローチャートである。この図24を参照して、次にインターポレート1処理について詳細に説明する。
【0231】
上述したように、インターポレート1モードは、パッチメモリの切り替えが行われると、パラメータ値をフットコントローラ121の踏み量に対応する値に徐々に近付けていくモードである(図36参照)。パッチメモリの切り替えが行われた場合、インターポレート1処理に先だって図11に示すインターポレート1初期設定処理が実行され、変数CFには0、変数VOにはそのときのパラメータ値(初期値)が各々代入される。
【0232】
先ず、ステップ2401では、フットコントローラ121の踏み量を変数P1に代入する。続くステップ2402では、変数CFの値が0か否か判定する。変数CFには、パラメータ値がフットコントローラ121の踏み量に対応(一致)するまで0が保持される。このため、パッチメモリが切り替えられた後、初めてインターポレート1処理を実行した場合、及びパラメータ値がフットコントローラ121の踏み量に追いついていない場合、その判定はYESとなってステップ2403の処理に移行する。それらでない場合には、その判定はNOとなってステップ2407の処理に移行する。
【0233】
ステップ2403では、次にパラメータに設定すべき値を算出し、その算出した値を変数V1に代入する。その値の算出は、上記数1を用いて行い、算出した値を変数V1に代入した後、ステップ2404の処理に移行する。
【0234】
ステップ2404では、変数V1の値が変数Pの値と等しいか否か判定する。パラメータ値がフットコントローラ121の踏み量に追いついた場合、その判定はYESとなってステップ2405の処理に移行する。そうでない場合には、その判定はNOとなってステップ2406の処理に移行する。上記ステップ2404における判定では、変数V1の値と変数Pの値の差が所定の値よりも小さくなった場合に等しいと判定する。
【0235】
ステップ2405では、変数CFに1を代入し、その後、ステップ2406の処理に移行する。ステップ2406では、変数V1の値をパラメータ値として登録する。パラメータ値の登録の終了後、一連の処理を終了する。
【0236】
ステップ2407では、変数V1に変数Pの値を代入する。その後、ステップ2406の処理に移行する。そのステップ2406の処理を実行することで、変数V1の値はパラメータ値として登録される。
【0237】
変数CFに1を代入、即ちパラメータ値がフットコントローラ121の踏み量に追いついた後は、インターポレート1処理を実行する度にステップ2407の処理が実行されることから、パラメータ値はフットコントローラ121の踏み量の通りに変化することになる。
【0238】
図25は、上記ステップ2011として実行されるインターポレート2処理の動作フローチャートである。この図25を参照して、次にインターポレート2処理について詳細に説明する。
【0239】
上述したように、インターポレート2モードは、パッチメモリの切り替えが行われると、フットコントローラ121への操作に応じて、パラメータ値をフットコントローラ121の踏み量に対応する値に徐々に近付けていくモードである(図37参照)。パッチメモリの切り替えが行われた場合、インターポレート2処理に先だって図12に示すインターポレート1初期設定処理が実行され、変数CFには0、変数VOにはそのときのパラメータ値(初期値)、変数P0にはそのときのフットコントローラ121の踏み量が各々代入される。
【0240】
先ず、ステップ2501では、フットコントローラ121の踏み量を変数P1に代入する。続くステップ2502では、変数P0の値と変数P1の値が等しいか否か判定する。インターポレート2初期設定処理が実行されてからインターポレート2処理が実行されるまでの期間、或いはインターポレート2処理が実行されてから次にそれが再び実行されるまでの期間に、演奏者がフットコントローラ121の踏み量を変化させた場合、その判定はNOとなってステップ2503の処理に移行する。そうでない場合には、その判定はYESとなって一連の処理を終了する。
【0241】
演奏者がフットコントローラ121の踏み量を変化させなかった場合、直ちに一連の処理を終了させることで、パラメータ値がフットコントローラ121の踏み量に近づくのは回避される。既にパラメータ値がフットコントローラ121の踏み量に追いついていた場合には、不要な処理の実行が回避される。
【0242】
ステップ2503では、変数CFの値が0か否か判定する。変数CFには、パラメータ値がフットコントローラ121の踏み量に対応(一致)するまで0が保持される。このため、パッチメモリが切り替えられた後、初めてインターポレート2処理を実行した場合、及びパラメータ値がフットコントローラ121の踏み量に追いついていない場合、その判定はYESとなってステップ2504の処理に移行する。それらでない場合には、その判定はNOとなってステップ2509の処理に移行する。
【0243】
ステップ2504では、次にパラメータに設定すべき値を算出し、その算出した値を変数V1に代入する。その値の算出は、数2を用いて行い、算出した値を変数V1に代入した後、ステップ2505の処理に移行する。
【0244】
【数2】
V1 = V0 + (P1−V0)・R
但し、V0はパラメータの現在値、P1はフットコントローラ121の現在の踏み量、Rは係数である。
【0245】
ステップ2505では、変数V1の値が変数P1の値と等しいか(それらの差が所定値よりも小さいか)否か判定する。パラメータ値がフットコントローラ121の踏み量に追いついた場合、その判定はYESとなってステップ2506の処理に移行する。そうでない場合には、その判定はNOとなってステップ2507の処理に移行する。
【0246】
ステップ2506では、変数CFに1を代入し、その後、ステップ2507の処理に移行する。ステップ2507では、変数V1の値をパラメータ値として登録する。続くステップ2508では、変数P0に変数P1の値を代入する。その代入が終了した後、一連の処理を終了する。
【0247】
ステップ2509では、変数V1に変数Pの値を代入する。その後、ステップ2507の処理に移行する。そのステップ2507の処理を実行することで、変数V1の値はパラメータ値として登録される。
【0248】
変数CFに1を代入、即ちパラメータ値がフットコントローラ121の踏み量に追いついた後は、演奏者がフットコントローラ121の踏み量を変化させていない場合を除き、インターポレート2処理を実行する度にステップ2509の処理が実行されることから、パラメータ値はフットコントローラ121の踏み量の通りに変化することになる。
【0249】
図26は、上記ステップ2013として実行されるパラレル処理の動作フローチャートである。この図26を参照して、次にパラレル処理について詳細に説明する。
【0250】
上述したように、パラレルモードは、パッチメモリの切り替えが行われると、パラメータ値が最小値、或いは最大値を超える場合を除き、フットコントローラ121の踏み量の変化分に応じてパラメータ値を初期値から変化させ、パラメータ値と踏み量の対応が一致した後は、パラメータ値を踏み量に対応する値に変化させるモードである(図38参照)。パッチメモリの切り替えが行われた場合、パラレル処理に先だって図13に示すパラレル初期設定処理が実行され、変数CFには0、変数VOにはそのときのパラメータ値(初期値)、変数P0にはそのときのフットコントローラ121の踏み量が各々代入される。
【0251】
先ず、ステップ2601では、フットコントローラ121の踏み量を変数P1に代入する。続くステップ2602では、変数P0の値と変数P1の値が等しいか否か判定する。パラレル初期設定処理が実行されてからパラレル処理が実行されるまでの期間、或いはパラレル処理が実行されてから次にそれが再び実行されるまでの期間に、演奏者がフットコントローラ121の踏み量を変化させた場合、その判定はNOとなってステップ2603の処理に移行する。そうでない場合には、その判定はYESとなって一連の処理を終了する。
【0252】
ステップ2603では、変数CFの値が0か否か判定する。変数CFには、パラメータ値がフットコントローラ121の踏み量に対応(一致)するまで0が保持される。このため、パッチメモリが切り替えられた後、初めてパラレル処理を実行した場合、及びパラメータ値がフットコントローラ121の踏み量に一致していない場合、その判定はYESとなってステップ2604の処理に移行する。それらでない場合には、その判定はNOとなってステップ2613の処理に移行する。
【0253】
ステップ2604では、次にパラメータに設定すべき値を算出し、その算出した値を変数V1に代入する。その値の算出は、変数V0に代入されている現在のパラメータ値に、踏み量の変化分を加算することで行う。現在のパラメータ値を変数V0に代入した際の踏み量は変数P0に代入されている。数3に、変数V1に代入される値を算出する式を示す。
【0254】
【数3】
V1 = V0 + (P1−P0)
ステップ2604に続くステップ2605では、変数V1の値が100(最大値)よりも大きいか否か判定する。変数V1の値が100よりも大きかった場合、その判定はYESとなってステップ2606の処理に移行する。そうでない場合には、その判定はNOとなってステップ2607の処理に移行する。ステップ2606では、変数V1に100を代入し、その後、ステップ2609の処理に移行する。
【0255】
ステップ2607では、変数V1の値が0(最小値)よりも小さいか否か判定する。変数V1の値が0よりも小さかった場合、その判定はYESとなってステップ2608の処理に移行する。そうでない場合には、その判定はNOとなってステップ2609の処理に移行する。ステップ2608では、変数V1に0を代入する。その後、ステップ2609の処理に移行する。
【0256】
ステップ2609では、変数V1の値が変数P1の値と等しいか否か判定する。パラメータ値と踏み量の対応が一致した場合、その判定はYESとなってステップ2610の処理に移行する。そうでない場合には、その判定はNOとなってステップ2611の処理に移行する。ステップ2610では、変数CFに1を代入し、その後、ステップ2611の処理に移行する。
【0257】
ステップ2611では、変数V1の値をパラメータ値として登録する。続くステップ2612では、変数P0に変数P1の値を代入する。その代入が終了した後、一連の処理を終了する。
【0258】
一方、変数CFに1が代入されている場合に実行されるステップ2509では、変数V1に変数P1の値を代入する。その後、ステップ2611の処理に移行する。そのステップ2611の処理を実行することで、変数V1(P1)の値はパラメータ値として登録される。
【0259】
以上が、図16に示すフットコントローラ処理内で実行される各種サブルーチン処理の説明である。次に、フットコントローラ処理と同じく、図6に示すプレイ処理内でステップ609として実行される表示処理について、図27に示すその動作フローチャートを参照して詳細に説明する。
【0260】
先ず、ステップ2701では、現在設定されているモードを判定する。現在プレイモードが設定されている場合、ステップ2702の処理に移行する。そうでない場合には、即ちエディットモードが設定されている場合には、ステップ2704の処理に移行する。
【0261】
ステップ2702では、LCD129に、現在フットコントローラ121で制御されているパラメータの名前とその現在値を表示させる。続くステップ2703では、パッチ番号表示器(LED)124に、現在選択されているバンク番号、そのバンク番号が示すバンク内のパッチ番号を表示させる。パッチ番号表示器124の上一桁の表示欄にはバンク番号、その下一桁の表示欄にはパッチ番号を表示させる。その後、一連の処理を終了する。
【0262】
ステップ2704では、LCD129に、現在編集対象となっている項目の名称、及びその項目として現在指定されている内容を表示させる。例えば、編集対象となっている項目がパラメータであれば、その名称(或いはそれを示す記号)と、そのパラメータとして用意してあるもののなかから演奏者が現在指定しているパラメータの名称をLCD129に表示させる。その後、ステップ2703の処理に移行する。
【0263】
上述した表示処理を実行することで、演奏者に通知すべき情報が、LCD129及びパッチ番号表示器124を介して視覚的に演奏者に通知される。
図28は、図6に示すプレイ処理内でステップ611として実行されるモード切替処理の動作フローチャートである。図28を参照して、次に、モード切替処理について詳細に説明する。
【0264】
先ず、ステップ2801では、現在設定されているモードを判定する。現在プレイモードが設定されている場合、ステップ2802の処理に移行する。そうでない場合には、即ちエディットモードが設定されている場合には、ステップ2803の処理に移行する。
【0265】
ステップ2802では、プレイモードからエディットモードに設定を変更する。その後、一連の処理を終了する。他方のステップ2803では、その反対に、エディットモードからプレイモードに設定を変更する。その後、一連の処理を終了する。
【0266】
このモード切替処理が実行されることで、設定されているモードがプレイモードからエディットモードに、或いはエディットモードからプレイモードに、演奏者がモード切替フットスイッチ125を操作する度に切り替わることになる。
【0267】
RAM206の所定の格納領域には、上述したように、現在設定されているモードを示す変数(フラグ)が格納されている。上記設定されているモードは、上記変数の値をRAM206から読み出し、その値から判断する。他方のモードの変更は、その変数に保持させる値を書き換えることで行われる。
【0268】
図29は、図5に示す全体処理内でステップ504として実行されるエディット処理の動作フローチャートである。図29を参照して、次に、エディット処理について詳細に説明する。
【0269】
エディットモードは、操作部208が備えた各種スイッチ、フットコントローラ121、ジョイスティック128の各種操作子を演奏者が操作して、パッチメモリに所望の内容を登録するためのモードである。エディット処理を実行することで、このエディットモードでの機能が実現される。その一連の処理は、演奏者が操作した操作子を特定し、その操作子に割り当てられている機能を実現するためのサブルーチン処理を実行していくことで進行する。
【0270】
先ず、ステップ2901では、パラメータ選択ボタン126がオンされたか否か判定する。パラメータ選択ボタン126として備えられた−ボタン126a、及び+ボタン126bの何れか一方を演奏者が操作した場合、その判定はYESとなってステップ2902の処理に移行する。そうでない場合には、その判定はNOとなってステップ2903の処理に移行する。
【0271】
ステップ2902では、パラメータ選択ボタン126に行われた操作に応じて、編集対象とする項目を切り替えるパラメータ選択ボタン処理を実行する。その後、ステップ2903の処理に移行する。
【0272】
ステップ2903では、バリューエントリーボタン127がオンしたか否か判定する。バリューエントリボタン127として備えられた−ボタン127a、及び+ボタン127bの何れかを演奏者が操作した場合、その判定はYESとなってステップ2904の処理に移行する。そうでない場合には、その判定はNOとなってステップ2905の処理に移行する。
【0273】
ステップ2904では、バリューエントリーボタン127の操作されたボタンに応じて、図7に示すバリューエントリーボタン処理を実行する。その後、ステップ2905の処理に移行する。
【0274】
ステップ2905では、バンク切替フットスイッチ122がオンしたか否か判定する。バンク切替フットスイッチ122として備えられた−ボタン122a、及び+ボタン122bの何れかを演奏者が操作した場合、その判定はYESとなってステップ2906の処理に移行する。そうでない場合には、その判定はNOとなってステップ2907の処理に移行する。
【0275】
ステップ2906では、演奏者が操作したバンク切替フットスイッチ122のスイッチに応じて、図14に示すバンク切替フットスイッチ処理を実行する。このとき、エフェクタブロックとしてペダルコントロール3が選択されている場合には、バンク切替フットスイッチ122の操作されたスイッチの種類に応じて、その時点のフットコントローラ121の踏み量が、フットコントローラ121を操作して得られるパラメータの最大値(Max)、或いは最小値(Min)としてパッチメモリに登録される。ステップ2906のバンク切替フットスイッチ処理が終了すると、ステップ2907の処理に移行する。
【0276】
ステップ2907では、パッチ切替フットスイッチ123がオンしたか否か判定する。パッチ切替フットスイッチ123として備えられた1スイッチ123a、2スイッチ123b、3スイッチ123c、及び4スイッチ123dの何れかを演奏者が操作した場合、その判定はYESとなってステップ2908の処理に移行する。そうでない場合には、その判定はNOとなってステップ2909の処理に移行する。
【0277】
ステップ2908では、演奏者が操作したパッチ切替フットスイッチ123の種類に応じて、図15に示すパッチ切替フットスイッチ処理を実行する。このとき、演奏者が4スイッチ123d以外のスイッチを操作した場合、パッチ切替フットスイッチ処理では実質的な処理は行われない。このパッチ切替フットスイッチ処理が終了すると、ステップ2909の処理に移行する。
【0278】
ステップ2909では、フットコントローラ121が操作されているか否か判定する。演奏者がフットコントローラ121の踏み板401を踏み込んでいた場合、その判定はYESとなってステップ29010の処理に移行する。そうでない場合には、その判定はNOとなってステップ2911の処理に移行する。
【0279】
ステップ2910では、図16に示すフットコントローラ処理を実行する。このときにはエディットモードが設定されている。このため、フットコントローラ処理を実行することで、フットコントローラ121の踏み量に応じたパラメータ値が確定する。フットコントローラ処理を終了すると、ステップ2911の処理に移行する。
【0280】
ステップ2911では、ジョイスティック128がオンされているか否か判定する。演奏者がジョイスティック128を何れかの方向に傾けた場合、その判定はYESとなってステップ2912の処理に移行する。そうでない場合には、その判定はNOとなってステップ2913の処理に移行する。
【0281】
ステップ2912では、ジョイスティック128に行われた操作に応じて、パラメータ値と踏み量の関係を定義するテーブルのパラメータ値、或いは踏み量の各値を変更するジョイスティック処理を実行する。その後、ステップ2913の処理に移行する。
【0282】
ステップ2913では、図27に示す表示処理を実行する。この表示処理を実行することで、現在編集を行っている項目、及びその項目の内容が演奏者に通知される。ジョイスティック128を操作して指定する上記テーブルのパラメータ値、及び踏み量は、LCD129に表示される。この表示処理が終了すると、ステップ2914の処理に移行する。
【0283】
ステップ2914では、モード切替フットスイッチ125がオンしたか否か判定する。演奏者がモード切替フットスイッチ125を操作した場合、その判定はYESとなってステップ2915の処理に移行する。そうでない場合には、その判定はNOとなって一連の処理を終了する。
【0284】
ステップ2915では、図28に示すモード切替処理を実行する。このとき、エディットモードが設定されているので、モード切替処理が実行されると、エディットモードからプレイモードに切り替わることになる。このモード切替処理が終了した後、一連の処理が終了する。
【0285】
次に、上記エディット処理内でステップ2902として実行されるパラメータ選択ボタン処理、ステップ2912として実行されるジョイスティック処理について詳細に説明する。
【0286】
図30は、上記パラメータ選択ボタン処理の動作フローチャートである。この図30を参照して、最初にパラメータ選択ボタン処理について説明する。
先ず、ステップ3001では、演奏者が操作したボタンの種類を判定する。+ボタン123bが操作されたと判定した場合、ステップ3002の処理に移行する。−ボタン126が操作されたと判定した場合には、ステップ3003の処理に移行する。
【0287】
ステップ3002では、編集対象となる項目をインクリメントする。具体例を挙げれば、編集対象とする項目を、エフェクタブロックからパラメータに変更する。エフェクタブロックとしてペダルコントロール4が既に設定され、それまでの項目がパラメータであった場合には、項目をイニシャルモードに変更する(表1参照)。その後、一連の処理を終了する。
【0288】
一方のステップ3003では、編集対象となる項目をデクリメントする。これも具体例を挙げれば、編集対象とする項目を、パラメータからエフェクタブロックに変更する。その後、一連の処理を終了する。
【0289】
図31は、上記ジョイスティック処理の動作フローチャートである。この図31を参照して、次にジョイスティック処理について詳細に説明する。
上述したように、エフェクタブロックとしてペダルコントロール1及び2が選択された場合にのみ、演奏者はジョイスティック128を用いてテーブルを定義することができる(表1参照)。従って、ジョイスティック処理では、エフェクタブロックとしてペダルコントロール1或いは2が既に設定され、且つ編集対象とする項目としてカーブが選択されている場合だけ、テーブルを定義するパラメータ値、踏み量の各値をジョイスティック128の操作に応じて変更する。
【0290】
上記テーブルでは、踏み量はX軸の値、パラメータ値はY軸の値として扱われる。テーブルの定義は、X軸(踏み量)の値を指定し、そのX軸でのY軸の値を設定することで行われる。
【0291】
先ず、ステップ3101では、編集対象の項目としてペダルコントロール1のカーブ(curve)が選択されているか否か判定する。演奏者がこのカーブを項目として選択している場合、その判定はYESとなってステップ3102の処理に移行する。そうでない場合には、その判定はNOとなってステップ3105の処理に移行する。
【0292】
ステップ3102〜3104では、ジョイスティック128の操作内容に応じたテーブル1の各値の変更が行われる。
先ず、ステップ3102では、変数Xに現在のX軸の値を代入する。X軸の値は、ジョイスティック128をX方向(図1、或いは図2参照)に傾けることで変更される。このため、ステップ3102では、演奏者がジョイスティック128をX方向の正負何れの方向に傾けていた場合、その傾けた方向を判定し、その傾けている方向に応じて予め決められた範囲(0〜127の128段階)内でX軸の値を増減させ、その増減させた後の値を現在値として変数Xに代入する。
【0293】
ステップ3102に続くステップ3103では、変数Yに現在のY軸の値を代入する。Y軸の値は、ジョイスティック128をY方向(図1、或いは図2参照)に傾けることで変更される。このため、ステップ3103では、演奏者がジョイスティック128をY方向の正負何れの方向に傾けていた場合、その傾けた方向を判定し、その傾けている方向に応じて予め決められた範囲(0〜127の128段階)内でY軸の値を増減させ、その増減させた後の値を現在値として変数Yに代入する。
【0294】
ステップ3103に続くステップ3104では、テーブル1のアドレス(変数)Y1に変数Xの値を代入する。このアドレスY1は、テーブル1のX軸の値に対応するY軸の値にアクセスするためのものである。上記ステップ3103では、X軸の値が更新された場合、アドレスY1が指定するY軸の値をテーブル1から読み出し、その読み出した値を変数Yに代入する(従って、X軸の値の更新から1サイクル遅れて、更新後のX軸の値に対応するY軸の値が変数Yに代入される)。また、Y軸の値を更新した場合には、アドレスY1が指定するテーブル1のアドレスに変数Yの値を書き込む。アドレスY1に変数Xの値を代入した後、一連の処理を終了する。
【0295】
一方、ステップ3105では、編集対象の項目としてペダルコントロール2のカーブ(curve)が選択されているか否か判定する。演奏者がこのカーブを項目として選択している場合、その判定はYESとなってステップ3106の処理に移行する。そうでない場合には、その判定はNOとなって一連の処理を終了する。
【0296】
ステップ3106〜3108では、上述したステップ3102〜3104の処理と同様にして、ジョイスティック128の操作内容に応じたテーブル2の各値の変更が行われる。ステップ3108でテーブル2にアクセスするためのアドレス(変数)Y2に変数Xの値を代入した後、一連の処理を終了する。
【0297】
なお、本実施の形態では、エフェクタブロックのペダルコントロール1、2で設定できるテーブル数を各々1つとしているが、例えばペダルコントロール1、2で選択した各パラメータ値を別の異なるテーブルに従って各々変更できるように、複数設定できるようにしても良い。このようにした場合、あるパラメータ(第1パラメータ)値の変化に他のパラメータ(第2パラメータ)値を従属的に変化させることができるように、第1パラメータ値と第2パラメータ値の関係を定義するテーブル(コントロールカーブ)を設定できるようにしても良い。
【0298】
図39は、その他の実施の形態におけるパラメータ間のコントロールカーブ例を示す図である。この図39において、横軸は第1パラメータ値、縦軸は乗算係数である。
【0299】
このその他の実施の形態では、第1パラメータ値と乗算係数の関係を定義するテーブルを設定する。上記乗算係数は、第2パラメータの本来の値に対し、第1パラメータ値に応じて乗算される値である。このため、第2パラメータ値を、第1パラメータ値に従属させて変化させることができる。
【0300】
また、エフェクトブロックであるペダルコントロール3においては、パラメータ値の範囲を、選択したパラメータ毎に設定できるようにしても良い。同様に、ペダルコントロール4においては、選択したパラメータ毎に、そのイニシャルモードを設定できるようにしても良い。
【0301】
また、本実施の形態では、ペダルコントロール1及び2、ペダルコントロール3、ペダルコントロール4に各々異なる機能(設定できる項目)を割り当てているが、例えばテーブルとイニシャルモードを同時に設定できるように、これらの機能を1つのエフェクトブロックに複数割り当てるようにしても良い。これにより、パラメータ値を変更させる規則をより細かく指定することが可能となる。
【0302】
上述した何れの場合においても、演奏者は、本実施の形態と比較して、より幅広く、より快適なフットコントローラ121を用いた音楽表現を行うことができるようになる。
【0303】
また、本実施の形態では、パッチメモリに全ての設定内容を登録し、パッチメモリ単位で設定状態を切り替えているが、例えばイニシャルモードを指定する操作子を別に用意し、パッチメモリ切り替え時に適用させるイニシャルモードをその操作子で指定させるように、パッチメモリだけでなく、演奏者が複数の手段で設定状態を指定できるようにしても良い。これは、パラメータ値の範囲や、パラメータ値とフットコントローラ121の踏み量の対応関係を定義するテーブルにおいても同様である。
【0304】
また、本実施の形態はエフェクタ120に本発明を適用したものであるが、本発明が適用できる装置はこれに限定されるものではない。本発明は、エフェクト機能を備えた電子楽器やシンセサイザ等にも幅広く適用させることができるものである。
【0305】
以上、説明したように本発明は、音響効果(エフェクト)に関する設定及び規則(モード)を複数用意しておき、それらの中から演奏者が指定した設定及び規則に従って、音響効果のパラメータの値の変更を行う。このため、演奏者は、楽音にどのような音響効果を付加させたいかに合わせて記憶単位(パッチ)を指定することで、設定内容に応じた所望の状態で音響効果を楽音に付加することができ、また音響効果の切り替え時にどのように移行させたいかに合わせて規則を指定することで、パラメータ値を急激に変化させて際立たせたり、パラメータ値を滑らかに変化させて不自然さが生じないようにすることができるようになる。
【図面の簡単な説明】
【図1】本実施の形態が適用されたシステムの外観図である。
【図2】エフェクタの回路ブロック図である。
【図3】DSPの機能ブロック図である。
【図4】フットコントローラの構成を示す説明図である。
【図5】全体処理の動作フローチャートである。
【図6】プレイ処理の動作フローチャートである。
【図7】バリューエントリーボタン処理の動作フローチャートである。
【図8】パッチ切替処理の動作フローチャートである。
【図9】フック初期設定処理の動作フローチャートである。
【図10】ブランク初期設定処理の動作フローチャートである。
【図11】インターポレート1初期設定処理の動作フローチャートである。
【図12】インターポレート2初期設定処理の動作フローチャートである。
【図13】パラレル初期設定処理の動作フローチャートである。
【図14】バンク切替フットスイッチ処理の詳細を示す図である。
【図15】パッチ切替フットスイッチ処理の動作フローチャートである。
【図16】フットコントローラ処理の動作フローチャートである。
【図17】ペダルコントロール1処理の動作フローチャートである。
【図18】ペダルコントロール2処理の動作フローチャートである。
【図19】ペダルコントロール3処理の動作フローチャートである。
【図20】ペダルコントロール4処理の動作フローチャートである。
【図21】イミディート処理の動作フローチャートである。
【図22】フック処理の動作フローチャートである。
【図23】ブランク処理の動作フローチャートである。
【図24】インターポレート1処理の動作フローチャートである。
【図25】インターポレート2処理の動作フローチャートである。
【図26】パラレル処理の動作フローチャートである。
【図27】表示処理の動作フローチャートである。
【図28】モード切替処理の動作フローチャートである。
【図29】エディット処理の動作フローチャートである。
【図30】パラメータ選択ボタン処理の動作フローチャートである。
【図31】ジョイスティック処理の動作フローチャートである。
【図32】パラメータ値とフットコントローラの踏み量の関係の定義例を示す図である。
【図33】イミディートモード時のパラメータ値の変化例を示す図である。
【図34】フックモード時のパラメータ値の変化例を示す図である。
【図35】ブランクモード時のパラメータ値の変化例を示す図である。
【図36】インターポレート1モード時のパラメータ値の変化例を示す図である。
【図37】インターポレート2モード時のパラメータ値の変化例を示す図である。
【図38】パラレルモード時のパラメータ値の変化例を示す図である。
【図39】その他の実施の形態におけるパラメータ間のコントロールカーブ例を示す図である。
【符号の説明】
100 ギター
120 エフェクタ
121 フットコントローラ
122 バンク切替フットスイッチ
123 パッチ切替フットスイッチ
126 パラメータ選択ボタン
127 バリューエントリーボタン
128 ジョイスティック
203 DSP
205 CPU
206 RAM
207 ROM
208 操作部
Claims (1)
- 演奏情報に音響効果を付加するためのパラメータの値を、操作量が調節できる操作子の操作量に応じて制御することにより、前記演奏情報に付加させる前記音響効果を調節する装置であって、
前記操作子の操作量と前記パラメータ値との対応関係を定める設定内容を記憶単位別に複数記憶する記憶手段と、
前記記憶単位を指定する記憶単位指定手段と、
前記記憶単位指定手段で新たな記憶単位が指定されたときに、その指定された記憶単位に対応する新たな設定へ切り替わる際の前記パラメータの変化態様を定める規則を複数記憶する規則記憶手段と、
前記規則記憶手段に記憶されている規則を指定する規則指定手段と、
前記記憶単位指定手段により指定された記憶単位の内容、前記規則指定手段により指定された規則、及び前記操作子の操作量に従って、音響効果のパラメータの値を変更する制御手段と、
を具備したことを特徴とするパラメータコントロール装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11353696A JP3663737B2 (ja) | 1996-05-08 | 1996-05-08 | パラメータコントロール装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11353696A JP3663737B2 (ja) | 1996-05-08 | 1996-05-08 | パラメータコントロール装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09297578A JPH09297578A (ja) | 1997-11-18 |
JP3663737B2 true JP3663737B2 (ja) | 2005-06-22 |
Family
ID=14614817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11353696A Expired - Fee Related JP3663737B2 (ja) | 1996-05-08 | 1996-05-08 | パラメータコントロール装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3663737B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2188462T3 (es) * | 2000-07-13 | 2003-07-01 | Hans-Peter Wilfer | Disposicion para producir efectos de sonido. |
JP7395901B2 (ja) * | 2019-09-19 | 2023-12-12 | ヤマハ株式会社 | コンテンツ制御装置、コンテンツ制御方法およびプログラム |
-
1996
- 1996-05-08 JP JP11353696A patent/JP3663737B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09297578A (ja) | 1997-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5027689A (en) | Musical tone generating apparatus | |
JP5232480B2 (ja) | 効果装置 | |
WO2019159259A1 (ja) | 音響パラメータ調整装置、音響パラメータ調整方法および音響パラメータ調整プログラム | |
JP3663737B2 (ja) | パラメータコントロール装置 | |
JP7351092B2 (ja) | 音響効果装置及び電子楽器 | |
JP2993331B2 (ja) | 電子楽器 | |
JP3259425B2 (ja) | パラメータ指示装置 | |
JPH06324681A (ja) | 電子楽器の楽音生成装置 | |
JP3594790B2 (ja) | ステレオ楽音発生方法及びその装置 | |
JP2603230Y2 (ja) | ペダル楽音制御装置 | |
JP2003295861A (ja) | 効果装置 | |
US11626092B2 (en) | Method for controlling effect applying device for applying acoustic effect to sound signal | |
JP2541867B2 (ja) | 楽音情報のベロシティ値変更装置 | |
JP3250733B2 (ja) | 楽音信号発生装置 | |
JP4093132B2 (ja) | エフェクトタイプ選択装置およびプログラム | |
US5969284A (en) | Music apparatus using boolean and numerical parameters settable by manipulator | |
JP2000250543A (ja) | データ設定装置 | |
JP3278978B2 (ja) | 効果付加装置 | |
JP3092624B2 (ja) | 電子楽器 | |
JP2001188650A (ja) | パラメータ編集装置、及び記録媒体 | |
JP2559922B2 (ja) | 電子楽器の楽音生成装置 | |
JPS63170698A (ja) | 電子楽器 | |
JPH0926787A (ja) | 音色制御装置 | |
JP2008304813A (ja) | 効果装置 | |
JPH077268B2 (ja) | 電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050209 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050321 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090408 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090408 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100408 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110408 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120408 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120408 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130408 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130408 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140408 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |