以下に、本発明に係る演奏装置を図面を用いて詳細に説明する。
図1は第1の実施形態にかかる演奏装置1の斜視図である。また、図2は図1の演奏装置1の平面図である。
演奏装置1は平板の操作パネル面を有する薄型の略直方体形状を有し、操作パネル面にマトリクス状に配置された演奏操作子100を有する操作子群10を備える。操作子群10は、縦方向に16個、横方向に16個の計256個の演奏操作子100がマトリクス状に配列されてなるものである。
各演奏操作子100には音高が割り当てられており、演奏操作子100が操作されると、該操作された演奏操作子100に割り当てられている音高が発音されるようになっている。この演奏操作子100は、ボール操作子100Bを有するトラックボール100Aと、タクトスイッチ120とを組み合わせたものであり(図3を参照)、タクトスイッチ120でノートオン/オフの信号を発生し、トラックボール100Aでピッチベンドやコントロールチェンジ(効果制御)等の信号を発生する。演奏操作子100の構成については詳しくは後述する。
この演奏操作子100内にはLED等の発光部110(後述の図3を参照)が組み込まれており、発光部110が発光すると、ボール操作子100Bを介してユーザに発光が表示されるように構成されている。この全ての発光部110が発光部群11を構成する。発光部110は、演奏操作子100がユーザの指等によって押下されること等で発光する。発光部110の発光については詳しくは後述する。
この操作子群10における各演奏操作子100の位置及び発光部群11における各発光部110の位置は、前後方向(図中縦方向)をY座標とし、左右方向(図中横方向)をX座標とした座標で示すことができる。以下に、図面左端の発光部110の座標をmtLED(1,1)のように、演奏操作子100の座標をmtSW(1,1)のように記載する。また、以下に図2における右側方向をX方向、左側方向を−X方向、上方向をY方向、下方向を−Y方向と記載する。また、高さ方向をZ方向と記載する。
上記の操作子群10及び発光部群11の−Y側(ユーザが操作する側)には、液晶表示部21とユーザの操作を受け付けるエンコーダスイッチ22a及び複数の操作ボタン22bを備えた操作部22が配置されている。また、この演奏装置1のY側側面には、接続ケーブル300の一端を接続するためのコネクタ23が配設されている。接続ケーブル300の他端は、通信相手となる他機(他の演奏装置1)に接続され、演奏装置1はこの接続ケーブル300を介して他機と通信を行うことができる。
本実施形態にかかる演奏装置1は、操作子群10を用いてリアルタイムの演奏装置、及び操作子群10を用いて指定した音高列の自動演奏装置の両方の用途に用いることができる。
また、本実施形態の演奏装置1では、自動演奏を行いながら、ユーザによる演奏操作子100の操作(演奏操作)に応じて一般的な電子楽器のように演奏を行うこともできる。
以下に、図2を用いて、各演奏操作子100への音高等の割り当て、及び演奏装置1が実行する自動演奏について概略的に説明する。
本実施形態では、初期設定として、Y座標が1〜16の演奏操作子100にC3〜E6までの16音が割り当てられている。また、X座標が1〜16の演奏操作子100に第1拍〜第16拍の各拍タイミングが割り当てられている。したがって、各演奏操作子100には、X座標の拍タイミング、Y座標の音高が割り当てられている。なお、該初期設定は一例であり、上記割り当て方に限定されない。
本図では、ハッチングや塗りつぶしがなされている演奏操作子100が指定されているものとする。演奏操作子群10上には、列方向(Y−Y方向)に伸びる仮想のスクロールバーBが設定される(同図中の一点鎖線で示す)。演奏装置1は、この仮想のスクロールバーBを行方向(矢印で示す方向)に所定のテンポ(テンポt)で移動させる。
演奏装置1は、指定された演奏操作子100上にスクロールバーBが移動してきたとき、該演奏操作子100と対応する音高の音声を発音する旨の演奏情報を発生して音源6に入力する。これによって、演奏装置1は、スクロールバーBの移動に合わせて、指定された演奏操作子100に対応する音高で自動演奏を行うことができる。
なお、上述したように、ユーザが演奏操作子100に対して演奏操作を行った場合には、演奏装置1は、自動演奏とは別に演奏操作された演奏操作子100に対応する音高の音声を演奏操作の時間だけ発音する旨の演奏情報を発生して音源6に入力する。演奏操作子100を指定する操作や演奏操作については詳しくは図3を用いて後述する。
また、演奏装置1は、上記指定されている演奏操作子100や発音にかかる演奏操作子100を発光によって表示する処理(発光処理)を実行する。以下に発光処理を概略的に説明する。
図2では、ハッチングされている演奏操作子100が弱発光しており、塗りつぶされている演奏操作子100が強発光しているものとする。発光処理では、演奏装置1は、発音時間と同じ時間だけ押下された演奏操作子100に対応する発光部110を発光させる。すなわち、指定された状態となったときにはこの指定が解除されるまで、該指定された演奏操作子100の発光部110を弱発光させる。そして、例えば図2におけるmtLED(7,10)、mtLED(7,7)、mtLED(7,2)のように、発光処理部203はスクロールバーBと指定状態の演奏操作子100の座標とが重なった場合に、重なっている間だけ強発光させ、その後に弱発光に戻す。
なお、演奏装置1は、演奏操作が行われている演奏操作子100の発光部110についても発音時間に合わせて強発光させる。
図3は、図1及び図2で示す演奏操作子100の概略構成を示す図である。
演奏操作子100は、トラックボール100Aとタクトスイッチ120とを組み合わせてなるものである。トラックボール100Aは、ユーザの操作によって回転するボール操作子100B(回転体)と、このボール操作子100Bを搭載し、ボール操作子100Bの回転方向や回転量を検出するための回転検出センサ100Cが組み込まれたシャーシ100Dとを備える。
回転検出センサ100Cは、例えばシャフト式センサ等であり、同図のY−Y方向、X−X方向でのボール操作子100Bの回転(回転量及び回転方向)に加え、Z−Z方向でのボール操作子100Bの回転を検出することができる。例えば、シャフト式センサであれば、回転検出センサ100Cは、Y−Y方向、X−X方向を軸としたシャフトに加え、Z−Z方向を軸としたシャフトを備える。なお、回転検出センサ100Cは、シャフト式センサに限定されず、演奏操作子100は、ゴム巻きシャフト式、ベアリングローラ式、光学式等の別を問わず如何なる種類のトラックボールを用いたものであってもよい。
ボール操作子100Bは透明乃至は半透明に形成されている。また、シャーシ100D上におけるボール操作子100Bの下部には発光部110が組み込まれている。この構成によって、発光部110が発光すると、ボール操作子100Bを介してユーザに発光が表示される。
シャーシ100Dは、付勢部材(例えばバネ等)130によって上方に付勢されており、シャーシ100Dの下部にはタクトスイッチ120が取り付けられている。ボール操作子100Bがユーザの指等によって押下されると、シャーシ100Dが付勢部材130側に押し込められ、シャーシ100Dの底面によって、タクトスイッチ120が押下される。また、ボール操作子100Bが解放されると、シャーシ100Dが付勢部材130によって付勢されて上方に移動し、タクトスイッチ120の押下が解除される。
上述したように、本実施形態では、ユーザはボール操作子100Bを回転させる操作を行うことも、ボール操作子100Bを押下する操作(タクトスイッチ120をオンする操作)を行うこともできるようになっている。また、ボール操作子100Bを押下しながらユーザはボール操作子100Bを回転させる操作を行うこともできるようになっている。
本実施形態では、演奏装置1は、ユーザがボール操作子100Bを長押しすることで(タクトスイッチ120をオンすることで)演奏操作子100を指定することができる。なお、長押しとは、所定時間間隔以上の押下のことである。
この場合に、演奏操作子100を長押ししながらボール操作子100Bを回転させることで、楽音のピッチベンドや音声信号処理設定(エフェクトの設定やレベル制御の設定)の変更を指示することができる。
また、指定済の演奏操作子100に割り当てられている楽音に対するピッチベンドやエフェクト等の音声信号処理設定の変更は、演奏操作子100を押下しない状態で(タクトスイッチ120がオフの状態で)、ボール操作子100Bを回転させることで指示することができる。
また、上述した演奏操作子100の指定機能を解除することで、演奏装置1ではユーザが演奏操作子100を鍵盤楽器の鍵等のように用いて弾くこともできる。すなわち、ボール操作子100Bを押下(演奏操作)してタクトスイッチ120をオンすることで、演奏装置1を長押ししても楽音が鳴り続ける一般的な電子楽器として用いることもできる。
具体的には、ボール操作子100Bを押下することで、該ボール操作子100Bに対応する音高の音声が、押下タイミングにあわせて発音され、押下解除タイミングにあわせて消音される。ここで、演奏操作子100を押下しながらボール操作子100Bを回転させることで、演奏操作子100に対応する音高の発音の指示とともに、この演奏操作子100に対応する音声に施す音声信号処理設定(レベル制御の設定やエフェクトの設定)や、ベロシティの変更を指示することができる。
ここで、トラックボール100AのX、Y、Zの3軸の回転検出センサ100Cはそれぞれことなるパラメータにアサインされている。アサインの例としてはX軸がベロシティやボリューム、Z軸がパラメータチェンジやコントロールチェンジ(効果制御)、Y軸がピッチベンド等である。なお、Z軸は必ずしも必要ではなく、また、各軸の回転検出センサ100Cのアサインは上記例に限定されない。
なお、演奏操作子100の指定機能を設定している場合でも、演奏装置1は、演奏操作子100の短押しがなされている間は上述の通常の演奏を行う。すなわち、ボール操作子100Bを押下することで、該ボール操作子100Bに対応する音高の音声が、押下タイミングにあわせて発音され、押下解除タイミングにあわせて消音される。なお、短押しとは、所定時間間隔未満の押下のことである。
以下に、ボール操作子100Bの回転態様及び回転量に対応するユーザからの指示内容を説明する。
例えば、ボール操作子100BをX方向に回転させる程、予め設定されていた音量レベルから大きくなるように変更され、−X方向に回転させる程小さくなるように変更される。これによって、回転に応じてレベルを次第に大きく乃至は小さく変更することができる。
また、ボール操作子100BをY方向に回転させる程、予め設定されていた音高から所定音ずつ高くなるように変更され、−Y方向に回転させる程所定音ずつ低くなるように変更される。
更に、Z方向(図2を参照)を軸としてボール操作子100Bを図2における左周り乃至は右回りに回転させることで予め設定されていたエフェクト(音響的効果)から、回転量に応じて順番に複数種類のエフェクトの間で付与するエフェクトが切り替えられる。ボール操作子100Bが一回転されると、予め設定されていた種類のエフェクトに設定が戻る。
なお、上述したボール操作子100Bの回転態様及び回転量に対応するユーザからの指示内容はあくまでも一例であり、本願発明は、上述したボール操作子100Bの回転態様及び回転量と指示内容に対応付けられるものに限定されない。
本実施形態では、トラックボール100Aの操作によるピッチベンドや効果制御等の音声信号処理設定の変更は、その演奏操作子100の指定が解除されたときや演奏操作子100の押下による発音操作が解除されたときに変更前の設定に戻される。
なお、演奏操作子100の指定が解除されたときや演奏操作子100の押下による発音操作が解除されても、ピッチベンドや効果制御の変更等が維持される構成であってもよい。
図4は、図1に示す演奏装置1の電気的構成を示すブロック図である。演奏装置1は、メインCPU(Central Processing Unit)2にROM(Read Only Memory)3、記憶部4、RAM(RandomAccess Memory)5、音源6、D/A(Digital/Analog)コンバータ7、サウンドシステム8、マトリクス表示入力部9、入出力部14、他機通信インタフェース24及び通信インタフェース25がバス15を介して接続されて構成されている。
ROM3は、本演奏装置1を起動させるための起動プログラムが記憶されるものである。
記憶部4は例えばフラッシュメモリ等やハードディスク等の書き換え可能でかつデータを保存できる記憶手段で構成されている。記憶部4は、本演奏装置1に演奏を実行させるための演奏処理プログラム等のプログラムを記憶するとともに、このプログラムの実行に必要な所定のデータが記憶されている。このデータには、例えば発音設定データがある。
この発音設定データは、図1で示した各演奏操作子100とこの各演奏操作子100に割り当てられる音高(ノートナンバ)とのデフォルトでの対応関係や、音源6へデフォルトで設定する音色を示すデータである。発音設定データは、例えばMIDI(Musical Instruments Digital Interface)規格に基づいて記述されている。
RAM5は、メインCPU2の作業領域として機能するものであり、記憶部4から読み出されたプログラムやデータが一時的に記憶されるものである。また、RAM5には、図1で示した操作子群10の座標を示す座標記憶部51、対応関係記憶部52、ピッチベンド変更記憶部53及び変更前設定記憶部54が設けられている。
座標記憶部51は、各演奏操作子100の指定を記憶する記憶部である。以下に、演奏操作子100が指定されている状態を指定状態と、指定されていない状態を未指定状態と記載する。
座標記憶部51は、図2で示す操作子群10の配列と同じ形状の16×16のテーブルで構成され、各演奏操作子100に対応するエリアは1ビットのフラグで構成される。そして、演奏操作子100が所定時間間隔以上の長さで押下(長押し)された場合には、押下演奏操作子100に対応するエリアがセット「1」にされる。このセット「1」にされた状態が指定状態であり、演奏操作子100に対応するエリアがリセット「0」に設定されている状態が未指定状態である。
また、対応関係記憶部52は、各演奏操作子100に割り当てるノートナンバのリストを登録するノートナンバテーブルTを記憶する。ここで、ノートナンバとは、後述の演奏処理部202から音源6に対して音高等を指示する数値であり、「60」が中心の「音階ド(C3)」となる。
ノートナンバテーブルTは記憶部4に記憶され、本演奏装置1が起動されたときにメインCPU2によって読み出されて対応関係記憶部52に記憶される。これとともに、メインCPU2によって、上記発音設定データから初期設定が取得され、取得した初期設定でノートナンバテーブルTに各演奏操作子100とノートナンバとが対応付けて登録される。
この実施形態では、上述したように、ノートナンバテーブルTには、初期設定ではY座標=1〜16に対して16個のノートナンバが割り当てられ、X座標=1〜16に対して同じ音高になるように設定される。具体的には、「60」〜「75」のノートナンバをY座標に割り当てるものとし、起動時のデフォルト設定は、Y座標=1に対して「60」、Y座標=2に対して「61」とY座標について順番にノートナンバが割り当てられ、Y座標=16に対して「75」までが割り当てられる。
なお、16×16=256の各演奏操作子100の全てに独立してノートナンバを割り当てるようにしてもよい。また、割り当てるノートナンバの範囲は「60」〜「75」に限定されない。
上記ノートナンバテーブルTには、上述した操作部22の操作により演奏操作子100への音高が設定される。この設定は、操作部22の操作によって変更可能である。
ピッチベンド変更記憶部53は、一時的なピッチベンドの変更を示すピッチベンド変更情報を記憶する。上述したように、指定された演奏操作子100や発音操作された演奏操作子100のボール式マウスが回転された場合に、回転方向や回転量に応じて該演奏操作子100の音高のピッチベンドが一時的に変更される。ピッチベンドとは、正確な音高から微小周波数ピッチが上下することであり、半音を100に分割したセント値単位で変更される。各演奏操作子100のピッチベンドのデフォルト値は0であり、ピッチベンド情報は、ピッチベンドをデフォルト音高からの変更値(−100セント〜+100セントの間の値)を示す。
演奏操作子100の発音操作や指定が解除されたときに、該演奏操作子100に対応するピッチベンド変更情報は削除される。
変更前設定記憶部54には、変更前音源設定情報が記憶される。上述したように、指定された演奏操作子100や発音操作された演奏操作子100のボール式マウスが回転された場合に、回転方向や回転量に応じて該演奏操作子100に対応する音声信号処理設定が変更される。変更前音源設定情報は、変更前の音声信号処理設定を演奏操作子100に対応付けて示す情報である。
変更前音源設定情報は、音源6の音声信号処理設定が変更されたときに記憶されるとともに、演奏操作子100の指定や演奏操作子100の押下による発音操作が解除されたときにメインCPU2(後述の演奏処理部202)に参照される。この参照によって、メインCPU2は音源6の変更前の音声信号処理設定を取得し、音源6の音声信号処理設定を変更前音源設定情報の示す元の設定に戻す。この後、変更前音源設定情報はメインCPU2(後述の演奏処理部202)によって削除される。
音源6は、例えばMIDI音源であり、所定の音色でデジタル音声信号を生成し、D/Aコンバータ7に入力するものである。ここでは、音源6は複数種類の内蔵音色(ピアノ、ギター等)、複数種類のエフェクト及び複数種類のレベルでデジタル音声信号を生成することができる。音源6は、メインCPU2(後述の演奏処理部202)によって、音色指定、エフェクトの設定、レベル制御設定が初期設定として演奏開始時にデフォルトで設定される。この音色指定は、上述した操作部22等を用いた操作によってデフォルトから変更することができる。
また、エフェクトの設定、レベル制御設定は、操作部22等を用いた操作によってデフォルトから変更することができるとともに、上述したようにボール操作子100Bを回転させることで演奏操作子100毎に個別に変更することができる。
そして音源6は、メインCPU2(後述の演奏処理部202)から所定の音高で発音を行う発音指示データ(ノートオンデータ)が入力されたときに、指定された音色で指示された音高を発音する(音声信号を生成する)。そして、音源6は、生成した音声信号に設定されたエフェクトを付加して、設定されたレベルに調整して、D/Aコンバータ7を介してサウンドシステム8に出力する。また、音源6は、メインCPU2から発音の終了を指示する発音終了データ(ノートオフデータ)を入力したときには、上記発音を終了する。
D/Aコンバータ7は、音源6からデジタル音声信号が入力され、このデジタル音声信号をアナログ音声信号に変換してサウンドシステム8に入力する。サウンドシステム8は入力された音声信号を音声に変換して放音する。
マトリクス表示入力部9は、本願発明の演奏操作装置に対応し、図1を用いて上述した操作子群10、発光部群11及びサブCPU12を備える。
サブCPU12は、ボール操作子100Bの回転によって発生した信号を操作子群10(例えばシャフト式センサ等)から入力する。サブCPU12は、入力した該信号に基づいて回転操作された演奏操作子100(図2)の座標やボール操作子100Bの回転方向や回転量を検出する。
サブCPU12は、本願発明の出力部に対応し、検出した座標と回転量及び回転方向を示す回転情報とを含む操作信号(回転操作信号)をメインCPU2(後述の演奏処理部202)に入力する。回転情報は、X−X方向での回転量を表す0〜127までの数値、Y−Y方向での回転量を表す0〜127まで数値を含む。
サブCPU12は、操作子群10(タクトスイッチ120)からタクトスイッチ120の押下によって発生した信号を入力する。サブCPU12は、該入力した信号に基づいて押下された演奏操作子100(図2)の座標を検出する。また、サブCPU12は、押下された演奏操作子100(図2)を検出し、検出した座標とタクトスイッチ120の押下を示す操作信号(押下操作信号)をメインCPU2(後述の演奏処理部202及び発光処理部203)に出力する。
タイマ13は、メインCPU2の指示に従って時間の計時を行い、メインCPU2に通知するものである。入出力部14は、SDカード(登録商標)やフロッピー(登録商標)ディスク等の記憶媒体400との間でデータの入出力を行うためのインタフェース回路である。
メインCPU2は、接続されている各構成の動作を制御するものである。メインCPU2は、演奏プログラムを実行することにより割当処理部201、演奏処理部202及び発光処理部203として機能する。
割当処理部201は、操作部22から演奏操作子100への音高の割り当ての変更命令を示す操作信号を入力する。演奏処理部202は、該操作信号を受け付けた場合には、この指示にあわせて対応関係記憶部52のノートナンバテーブルTの対応付けを変更する。
また、演奏処理部202は、図5及び図6を用いて後述するメイン処理を実行する。メイン処理では、演奏処理部202は、初期化処理として、所定の初期設定で音源6に音色指定、エフェクトの設定及びレベル制御設定を行う。
また、メイン処理では、演奏処理部202は、サブCPU12から上記押下操作信号を入力する。演奏処理部202は、演奏操作子100を指定するための自動演奏指定モードが設定されている場合には、押下操作信号から押下された演奏操作子100を特定するとともに、タイマ13を用いて、該特定された演奏操作子100の押下操作信号の入力時間をカウントする。演奏処理部202は、カウント結果から、演奏操作子100の長押しか短押しかを検出する。長押しの場合には、演奏処理部202は、演奏操作子100を自動演奏される音として指定された指定状態にする(座標記憶部51に記憶する)。また、短押しの場合には、演奏処理部202は、押下時間だけ発音するように音源6の演奏を制御する処理(発音処理)を行う。
この発音処理では、演奏処理部202は、ノートナンバテーブルTから演奏操作子100に対応する音高を取得する。ここで、演奏処理部202は、ピッチベンド変更記憶部53にピッチベンド変更情報が記憶されているかどうかを判断し、記憶されている場合にはピッチベンド変更情報を取得する。演奏処理部202は、ノートナンバテーブルTから取得したノートナンバ(音高)の発音を指示する発音指示データ(ノーオオンデータ)を音源6に出力する。ここで、ピッチベンド変更情報を取得した場合には、演奏処理部202はノートオンデータとともにピッチベンド変更情報を音源6に出力する。発音中にピッチベンド情報が変更された場合には、演奏処理部202は、該変更の都度ピッチベンド情報を音源6に入力する。
また、演奏処理部202は、音声を消去するためには該音声の消去を指示する発音終了データ(ノートオフデータ)を音源6に入力する。
また、本実施形態では、上述したように演奏操作子100の指定機能(自動演奏指定モード)を解除することができる。このように自動演奏指定モードが解除されている場合には、演奏処理部202は、特定した演奏操作子100が長押しされたか短押しされたかを判断せず、押下時間だけ発音するように上記発音処理を行う。
音源6は、発音指示データを入力したときには、上述したように発音指示データの示すノートナンバ(音高)で発音する。もっとも、音源6は、発音指示データとともにピッチベンド変更情報を入力した場合には、発音指示データの示す音高のピッチをピッチベンド変更情報の示すピッチベンドだけ変更した楽音の発音行う。
また、メイン処理では、演奏処理部202が、サブCPU12から該演奏操作子100の回転操作信号を入力したときに、この回転操作信号の示す回転方向及び回転量から、ボール操作子100Bの回転態様及び回転量を検出する。回転態様及び/又は回転量が音源6の音声信号処理設定の変更を指示する場合には、演奏処理部202は、該回転態様及び/又は回転量に応じた音声制御パラメータを発生して音源6に入力する。音源6は入力した音声制御パラメータで設定されている音声制御パラメータを更新する(音声信号処理設定を変更する)。これとともに、演奏処理部202はこの変更前の音声信号処理設定を変更前設定記憶部54に記憶させる。
回転態様及び/又は回転量が演奏操作子100の音高の割り当ての変更を指示する場合には、演奏処理部202は、該回転態様及び/又は回転量に応じたピッチベンドの変更度合いを示すピッチベンド変更情報を生成してピッチベンド変更記憶部53に記憶させる。
演奏処理部202は、演奏操作子100の短押しや指定が解除されたときに、変更前設定記憶部54を参照して変更前の音声信号処理設定を取得する。演奏処理部202は、該演奏操作子100についての音源6の音声信号処理設定を取得した設定に戻す。これとともに、演奏処理部202は、該演奏操作子100のピッチベンド変更情報をピッチベンド変更記憶部53から削除する。
また、演奏処理部202は、操作部22から自動演奏の開始を指示する操作信号を入力したときに、図7を用いて後述する自動演奏処理を行う。この自動演奏処理では、演奏処理部202は、座標記憶部51上において発音列(スクロールバーB)を左端から右端に向かって繰り返し移動させ、このスクロールバーBと指定状態の演奏操作子100のエリアが重なっている時間間隔だけ発音処理するように音源6に指示する。このため、自動演奏処理では、Y軸で音高が表現されるとともにX軸で発音タイミングが表現されることになり、演奏装置1は簡単な演奏を行うことができる。
演奏処理部202は、音源6の音声信号処理設定の変更命令や、音源6の音色指定の変更命令を示す操作信号を操作部22から入力する。演奏処理部202は、該変更命令に従って音源6の音声信号処理設定や音色指定を変更する。
発光処理部203は、サブCPU12から押下操作信号が入力され、該信号の入力に基づいて発光部群11の発光表示を制御する処理(図8を用いて後述する発光処理)を実行する。
メインCPU(Central Processing Unit)2には、バス15を介して他機通信I/F24と通信I/F25とが接続されている。他機通信I/F24は、図1で示す接続ケーブル300を介してコネクタ23に接続された他機との間で通信を行うインタフェース回路である。通信I/F25は、図略のインターネット等の広域ネットワークやLAN(LocalArea Network)を介して通信を行うインタフェース回路である。
図5及び図6(A)は、演奏処理部202の実行する第1メイン処理(指定処理)のフローチャートである。本処理は、演奏装置1の主電源がオンされた場合に実行される。まず、演奏処理部202は初期設定を行う(S1)。この初期設定では、記憶部4の発音設定データを参照して、この発音設定データの示す所定の初期音色を音源6に設定するとともに、初期設定でノートナンバテーブルTにノートナンバと各演奏操作子100との対応関係を登録する。
以下の、ステップS2〜ステップS13の処理については、各演奏操作子100それぞれについて実行される。
演奏処理部202は演奏操作子100が押下されたかどうかを判断する(S2)。演奏処理部202は、サブCPU12から押下操作信号の入力があったかどうかで演奏操作子100が押下されたと判断する。演奏操作子100が押下されていないと判断した場合には(S2でNO)、演奏処理部202は繰り返し本処理を実行する。
一方、演奏操作子100が押下されたと判断した場合には(S2でYES)、演奏処理部202は、タイマ13に計時を開始させるとともに、上述した発音処理を実行する(S3)。
すなわち、演奏処理部202は押下操作信号によって押下された演奏操作子100の座標が通知され、この演奏操作子100の座標を用いてノートナンバテーブルTを参照する。これとともに、演奏処理部202は、該演奏操作子100の座標に対応するピッチベンド変更情報がピッチベンド変更記憶部53に記憶されているかを判断する。
演奏処理部202は、ノートナンバテーブルTから演奏操作子100に対応するノートナンバを取得して、発音指示データとして音源6に通知する。これとともに、演奏処理部202は、ピッチベンド変更記憶部53を参照して、ピッチベンド変更情報が記憶されている場合には、ノートナンバテーブルTから取得したノートナンバとともにピッチベンド変更情報も音源6に出力する。
演奏処理部202は、回転操作信号を入力したかどうかを判断する(S4)。回転操作信号を入力したと判断した場合には(S4でYES)、演奏処理部202は、回転操作信号の示す回転方向及び回転量から回転量及び回転態様を検出する(S5)。演奏処理部202は、回転量及び回転態様に応じて音源6の音声信号処理設定を変更したり、ピッチベンド変更情報を生成してピッチベンド変更記憶部53に記憶させる(S6)。ここで、音声信号処理設定を変更するときには、演奏処理部202は、変更前の音声信号処理設定を示す変更前設定情報を生成して変更前設定記憶部54に記憶させる。また、演奏処理部202は、生成したピッチベンド変更情報を音源6に入力する。
音源6は、ピッチベンド変更情報を入力した場合には、入力したピッチベンド変更情報に従って発音する音高のピッチベンドを変更する。また、音源6は、音声信号処理設定の変更があったときには、変更後の音声信号処理設定に基づいて演奏操作子100に対応する音声に音声信号処理を施すことになる。
この後、演奏処理部202は、後述のステップS7を実行する。
回転操作信号を入力しなかったと判断した場合には(S4でNO)、演奏処理部202は、演奏操作子100の押下が解除されたかどうかを判断する(S7)。具体的には、演奏処理部202は、押下操作信号の入力がなくなったときに演奏操作子100の押下が解除されたと判断する。
演奏操作子100の押下が解除されたと判断した場合には(S7でYES)、演奏処理部202は発音終了データを音源6に入力して発音処理を終了する(S8)。また、演奏処理部202は、ピッチベンド変更記憶部53に演奏操作子100に対応するピッチベンド変更情報が記憶されている場合にはこの情報を削除する。そして、演奏処理部202は、変更前設定記憶部54に演奏操作子100に対応する変更前設定情報が記憶されている場合には、該情報の示す音声信号処理設定に音源6の設定を戻す。この後、本処理をステップS2に戻す。
一方、演奏操作子100の押下が解除されなかったと判断した場合には(S7でNO)、演奏処理部202は、タイマ13の計時時間を参照して、演奏操作子100が長押し(所定時間間隔以上に押下)されたかどうかを判断する(S9)。
演奏操作子100が長押しされていないと判断した場合には(S9でNO)、演奏処理部202は本処理をステップS4に戻す。演奏操作子100が長押しされたと判断した場合には(S9でYES)、演奏処理部202はタイマ13の計時を終了させるとともに発音終了データを音源6に出力する(S10)。
この後、演奏処理部202は、座標記憶部51を参照して演奏操作子100が指定状態であるかどうかを判断する(S11)。具体的には、座標記憶部51における演奏操作子100に対応するエリアがセット「1」である場合には、演奏処理部202は演奏操作子100が指定状態であると判断する。
演奏操作子100が指定状態であると判断した場合には(S11でYES)、演奏処理部202は演奏操作子100を未指定状態にする(S12)。具体的には、演奏処理部202は、座標記憶部51における演奏操作子100に対応するエリアをリセット「0」にする。
また、演奏処理部202は、ピッチベンド変更記憶部53に演奏操作子100に対応するピッチベンド変更情報が記憶されている場合にはこの情報を削除する。そして、演奏処理部202は、変更前設定記憶部54に演奏操作子100に対応する変更前設定情報が記憶されている場合には、該情報の示す音声信号処理設定に音源6の設定を戻す。この後、演奏処理部202は該情報を削除して本処理をステップS2に戻す。
一方、演奏操作子100が未指定状態であると判断した場合には(S11でNO)、演奏処理部202は演奏操作子100を指定状態にする(S13)。具体的には、演奏処理部202は、座標記憶部51における演奏操作子100に対応するエリアをセット「1」にする。
ここで、指定情報になった演奏操作子100が回転操作されていた場合には、音源6の音声信号処理設定がステップS6によって変更されたり、ピッチベンド変更情報がピッチベンド変更記憶部53に記憶されている。この音声信号処理設定の変更や演奏操作子100への音高の割り当ての変更状態を維持したまま、演奏操作子100は本処理をステップS2に戻す。このため、後述の自動演奏処理で、指定状態の演奏操作子100に対応する発音がなされるとき、変更後のピッチベンドで発音されたり、変更後の音声信号処理設定で音声信号処理がなされることになる。
図6(B)は、演奏処理部202が実行する第2メイン処理(指定音の設定変更処理)を示すフローチャートである。本処理は、第1メイン処理のステップS13で指定状態に設定された演奏操作子100について実行される。まず、演奏処理部202は、回転操作信号の入力があったかどうかを入力があったと判断するまで繰り返し判断する(S21)。回転操作信号の入力があったと判断した場合には(S21でYES)、演奏処理部202は回転操作信号から回転量及び回転態様を取得する(S22)。
演奏処理部202は、回転量及び回転態様に応じて音源6の音声信号処理設定を変更したり、ピッチベンド変更情報を生成してピッチベンド変更記憶部53に記憶させる(S23)。ここで、音声信号処理設定を変更するときには、演奏処理部202は、変更前の音声信号処理設定を示す変更前設定情報を生成して変更前設定記憶部54に記憶させる。
演奏処理部202は、本処理をステップS21に戻す。
上述した第1及び第2のメイン処理(指定処理及び指定音の変更処理)を実行することで、演奏操作子100の指定を行うことができるとともに、指定した演奏操作子100に対応する音声信号処理設定やピッチベンドを変更することができる。
また、上述したように、本実施形態では演奏操作子100の指定機能(自動演奏指定モード)を解除することができる。この自動演奏指定モードが解除されている場合には、演奏処理部202は、図5及び図6(A)で示す指定処理においてステップS1〜ステップS8の処理は実行し、ステップS9〜ステップS14の処理を実行しない。また、演奏処理部202は、図6(B)で示す指定音の変更処理を実行しない。
図7は、演奏処理部202が実行する自動演奏処理のフローチャートである。本処理では、まず演奏処理部202はスクロールバーBを座標記憶部51上のX座標「1」のエリアに配置する(S31)。次に、演奏処理部202はスクロールバーBが配置されたエリアをスキャンしてこの配置位置における指定状態の演奏操作子100を検出する(S32)。ここでは、X座標「1」に対応するエリアにスクロールバーBが配置されている場合には、演奏処理部202はmtSW(1,1)からmtSW(1,16)までをスキャンする。
演奏処理部202は、指定状態の演奏操作子100について上述した発音処理を実行する(S33)。次に、演奏処理部202は、演奏処理部202は所定時間だけ待機して(S34)、スクロールバーBの配置されるエリアのX座標が最右端の座標(ここでは、「16」)であるかどうかを判断する(S35)。スクロールバーBが配置されるエリアのX座標が最右端の座標であると判断した場合には(S35でYES)、演奏処理部202は本処理をステップS31に戻す。スクロールバーBが配置されるエリアのX座標が最右端の座標ではないと判断した場合には(S35でNO)、スクロールバーBを配置するエリアに対応するX座標を「1」だけ加算する、すなわち右方向に隣接する位置にスクロールバーBを配置する(S36)。この後、演奏処理部202は本処理をステップS32に戻す。
図8は、発光処理部203の実行する発光処理を示すフローチャートである。本発光処理は、各演奏操作子100について実行される。まず、発光処理部203は、演奏操作子100が押下されたかどうかを判断する(S41)。発光処理部203は、押下操作信号の入力があるかどうかで演奏操作子100の押下を判断する。演奏操作子100が押下されたと判断した場合には(S41でYES)、発光処理部203は該演奏操作子100の発光部110を強発光させる(S42)。
この後、発光処理部203は、演奏操作子100の押下が解除されたかどうかを演奏操作子100の押下が解除されたと(本ステップでYESと)判断するまで繰り返し判断する(S43)。発光処理部203は、押下操作信号の入力がなくなった場合に演奏操作子100の押下が解除されたと判断する。演奏操作子100の押下が解除されたと判断した場合には(S43でYES)、発光処理部203は後述のステップS44を実行する。
演奏操作子100が押下されていないと判断した場合には(S41でNO)、発光処理部203は演奏操作子100が指定状態かどうかを判断する(S44)。ここで、発光処理部203は、座標記憶部51の該演奏操作子100に対応するエリアがセット「1」になっているかどうかで指定状態かどうかを判断する。
演奏操作子100が指定状態であると判断した場合には(S44でYES)、発光処理部203は、該演奏操作子100に対応する発光部110を弱発光させる(S46)。一方、演奏操作子100が未指定状態であると判断した場合には(S44でNO)、発光処理部203は、該演奏操作子100の発光部110が発光状態である場合には、該発光を終了させる(S45)。この後、発光処理部203は本処理をステップS41に戻す。
上述したように、本実施形態では、演奏操作子100がトラックボールであるため、オン/オフの2種類だけではなく、回転量及び/又は回転態様に応じた多種な操作を受け付けることができる。これによって、演奏操作子100で受け付けることができるユーザの操作の情報を豊富にすることができる。
また、操作部22を用いてだけではなく、演奏操作子100を用いて音源6の音声信号処理設定や、演奏操作子100に割り当てられた音高のピッチベンドを変更することができる。これによって、ユーザは演奏操作子100を操作(押下)して演奏操作を行ったり、該演奏操作子100の指定をしながら、演奏操作子100を用いて音源6の音声信号処理設定や、演奏操作子100に割り当てられた音高のピッチベンドを変更することができる。このため、該変更を行うためのユーザの操作性を向上させることができる。
本実施形態は、以下の変形例を採用することができる。
(1)本実施形態では、演奏操作子100はトラックボールであるとともに、タクトスイッチ120を備えたものであるが、この構成に限定されない。例えば演奏操作子100はタクトスイッチ120がない構成等であってもよい。この場合には、演奏装置1は、回転態様等によって演奏操作子100の指定や演奏操作、音声信号処理設定の変更、音高の割り当て変更等の指示を受け付ける。
(2)本実施形態では、演奏操作子100の回転量及び/又は回転態様に応じた操作の指示内容は、音源6の音声信号処理設定(レベル制御設定、エフェクトの設定)の変更や、演奏操作子100へのピッチベンドの変更であるが、これに限定されない。例えば、演奏操作子100の回転量及び/又は回転態様に応じて、ピッチベンドに代えて音高そのものを変更する構成であってもよい。
この場合には、ピッチベンド変更記憶部53にピッチベンド変更情報に代えて音高の変更度合い(例えば3半音分等)を示す数値である音高変更情報が記憶される。音高変更情報が記憶されている場合には、演奏処理部202は、発音処理において、ノートナンバテーブルTに記憶されているノートナンバから音高変更情報の示す数値を加減した音高を算出して、音源6に入力する。
(3)また、演奏操作子100の回転量及び/又は回転態様に応じて発光部群11の発光態様や発光色が変更されてもよい。
例えば、指定された演奏操作子100の発光部110を中心に波紋が広がるように発光部群11の発光処理がなされるようにし、この波紋の広がる速度が演奏操作子100の回転量及び/又は回転態様に応じて変更されてもよい。
(4)各演奏操作子100を用いての演奏方法は、上述した通常の演奏や自動演奏設定での演奏方法に限定されない。自動演奏では、指定された演奏操作子100に割り当てられた音声で自動演奏が行われる構成であればよい。
(5)操作子群10の配列はマトリクス状に限定されず、複数の演奏操作子100が演奏装置1に設けられる構成であればよい。
(6)また、第1及び第2の実施形態にかかる演奏装置1の構成に、本発明の演奏装置は限定されず、例えば電子ピアノやエレクトーン等であってもよい。かかる場合には鍵盤等が操作子群、鍵が演奏操作子となる。
1−演奏装置 6−音源(本願発明の演奏部に対応) 7−D/Aコンバータ(本願発明のスピーカ出力部に対応) 8−サウンドシステム(本願発明のスピーカに対応) 9−マトリクス表示入力部(本願発明の演奏操作装置に対応) 10−操作子群 100A−ボール式マウス(回転体) 100−演奏操作子 B−スクロールバー 12−サブCPU(本願発明の出力部に対応) 2−メインCPU(本願発明の演奏部に対応)