本発明の一実施形態に係る音源制御装置として動作する携帯情報端末10の全体構成について図1を用いて説明する。この携帯情報端末10は、複数種類のプログラムを記憶しており、ユーザによって選択されたプログラムを実行することにより、前記選択されたプログラムに応じた機能を発揮する。前記複数種類のプログラムのうちの1つのプログラムが、音源装置20を制御する音源制御装置としてこの携帯情報端末10を動作させる音源制御プログラムである。
携帯情報端末10は、設定操作子11、表示器12、表示制御回路13、タッチパネル14、操作子インターフェース回路15、バス16、コンピュータ部17及び通信インターフェース回路18を備えている。設定操作子11は、携帯情報端末10の電源をオン・オフするための電源スイッチ、ソフトウェアの実行中に他のソフトウェアを選択する選択画面を表示器12に表示するためのホームボタンなどからなる。設定操作子11は、操作子インターフェース回路15に接続されていて、操作子インターフェース回路15によって、設定操作子11の操作状態が検出される。
表示器12は、液晶ディスプレイ(LCD)によって構成され、表示画面上に文字、図形などを表示する。この表示器12の表示は、表示制御回路13によって制御される。表示制御回路13は、バス16を介して、後述のコンピュータ部17から表示器12に表示する画像を表す画像データを入力する。
タッチパネル14は、表示器12の表示画面上に重なるようにして配置されている。タッチパネル14も操作子インターフェース回路15に接続されていて、操作子インターフェース回路15によって制御されて、ユーザによってタッチされた位置の座標を表す座標データを操作子インターフェース回路15に出力する。以降の説明において、表示器12に表示されたアイコンであって、オン・オフ操作が可能なボタン型のアイコンを単にボタンという。また、ボタン型のアイコンの表示領域に対応するタッチパネル14の操作領域を指、ペンなどでタッチすることを、単に「ボタンを押す」という。また、ボタンを押した指、ペンなどをタッチパネル14から離すことを、単に「ボタンを離す」という。また、ボタンを押した状態で、前記指、ペンなどを上下又は左右に移動させることを、単に「ボタンをスライドさせる」という。また、詳しくは後述するように、表示器12には、MIDIチャンネルの番号を表すチャンネルナンバCN、ボタン名を表す文字列などがリスト形式で表示されることがあるが、これらのパラメータの値、文字列などの表示領域に対応するタッチパネル14の操作領域を指、ペンなどでタッチして、値、文字列などを選択することを、単に「チャンネルナンバCNを選択する」、「ボタン名を選択する」などという。
操作子インターフェース回路15は、設定操作子11の操作及びタッチパネル14の操作に関する各種データを、バス16を介して、コンピュータ部17に供給する。
コンピュータ部17は、CPU17a、タイマ17b、ROM17c及びRAM17dからなる。CPU17aは、音源制御プログラムを実行して、演奏情報(ノートオン情報、ノートオフ情報、ノート番号、ベロシティなど)を、バス16に接続された通信インターフェース回路18を介して、音源装置20に供給する。タイマ17bは、予めCPU17aによって設定された周期で、割り込み信号をCPU17aに出力する。ROM17cは、携帯情報端末10に予め組み込まれている半導体メモリ(例えば、書き換え可能なフラッシュメモリ)、及びハードディスク、並びにこの携帯情報端末10に装着可能なHDD、FDD、CD−ROM、MO、DVDなどの大容量の不揮発性記録媒体と、同各記録媒体に対応するドライブユニットを含むものであり、各種プログラム及び各種データを記憶している。これらの各種プログラム及び各種データは予め各記録媒体に記録されていてもよいし、後述する通信インターフェース回路18を介して外部から取り込んでもよい。RAM17dは、各種プログラムの実行過程において必要なデータを一時的に記憶する半導体メモリである。
通信インターフェース回路18は、携帯情報端末10を音源装置20、パーソナルコンピュータなどのMIDI対応の外部機器に、無線又は有線で接続可能にするとともに、インターネットなどの通信ネットワークに接続可能にしている。携帯情報端末10には、一台の外部機器が接続されるようにしてもよいし、複数の外部機器が接続され、携帯情報端末10及び複数の外部機器によってネットワークが形成されるようにしてもよい。
また、音源装置20は、CPU17aから通信インターフェース回路18を介して供給された楽音情報に基づいて、楽音信号を発生する。音源装置20は、アンプ、スピーカなどからなるサウンドシステムを備えている。前記発生された楽音信号は、このサウンドシステムに供給され、音響信号に変換されて放音される。
携帯情報端末10の電源を投入すると、CPU17aは、基本プログラムを実行してオペレーティングシステムを起動し、表示器12に、プログラム選択画面を表示する。プログラム選択画面には、携帯情報端末10に記憶されている各種プログラムのアイコンが表示される。そして、ユーザが、音源制御プログラムのアイコンにタッチして音源制御プログラムを選択すると、CPU17aは、音源制御プログラムを実行し、図2に示すような、基本画像を表示器12に表示する。
基本画像の中央やや左寄りの位置から右端にかけた領域には、演奏ボタンP1〜P16が配置されている。演奏ボタンP1〜P16は、縦方向及び横方向に4つずつ配置されていて、格子状に表示されている。本実施形態においては、16個の演奏ボタンを備えているが、演奏ボタンの数を、より多くしてもよいし、逆により少なくしてもよい。
これらの演奏ボタンP1〜P16には、ボタンの名称を表わす演奏ボタン名BNが割り当てられている。また、これらの演奏ボタンP1〜P16には、音源装置20に送信される楽音情報として、MIDIチャンネルの番号を表すチャンネルナンバCN、音高を表すノートナンバNN、音の強さを表すベロシティVLもそれぞれ割り当てられている。1つの演奏ボタンには、最大5個の楽音情報M1〜M5を割り当てることができる。ただし、1つの演奏ボタンに割り当て可能な楽音情報の数を、より多くしてもよいし、逆により少なくしてもよい。演奏ボタンP1〜P16の中央には、演奏ボタン名BN、及びノートナンバNNに対応する文字列がそれぞれ表示されている。すなわち、ノートナンバNNに対応する音名(C、C#・・・B)とオクターブ番号(「1」、「2」・・・「8」)からなる文字列が表示されている。図2の例においては、演奏ボタンP1には、演奏ボタン名BNが「Kick」と設定され、ノートナンバNNが「35」と設定されているので、ボタンの中央には、「Kick」及び「B1」と表示されている。なお、1つの演奏ボタンに複数の楽音情報を割り当てた場合には、それぞれの楽音情報のノートナンバNNに対応する文字列が、並列に表示される。
ユーザは、これらのチャンネルナンバCN、ノートナンバNN及びベロシティVLの値を変更可能である。基本画像における演奏ボタンP1〜P16の表示領域の左側の領域には、編集ボタンEDが配置されている。編集ボタンEDの中央には「EDIT」と表示されている。編集ボタンEDを押すと、図3に示すように、基本画像の全体が上方へスライドし、表示器12の下端部に2オクターブの鍵域に属するそれぞれの鍵に対応した複数の鍵ボタンからなる鍵盤ボタンKBが表示される。すなわち、鍵盤ボタンKBは、白鍵を表したボタンである白鍵ボタンWK1〜WK14と、黒鍵を表したボタンである黒鍵ボタンBK1〜BK10とからなる。白鍵ボタンWK1〜WK14及び黒鍵ボタンBK1〜BK10には、音高がそれぞれ割り当てられていて、白鍵ボタンWK1〜WK14及び黒鍵ボタンBK1〜BK10は、後述するように、演奏ボタンに割り当てる音高を設定するために用いられる。
図3の状態においては、白鍵ボタンWK1〜WK14には、音高として、「C1」〜「B2」がそれぞれ割り当てられていて、黒鍵ボタンBK1〜BK10には、音高として、「C#1」〜「A#2」がそれぞれ割り当てられている。また、表示されている鍵盤ボタンKBの音域を示すために、白鍵ボタンWK1及び白鍵ボタンWK8には、「C1」及び「C2」とそれぞれ表示されている。白鍵ボタンWK2〜WK7、白鍵ボタンWK9〜WK14及び黒鍵ボタンBK1〜BK10には、音高が表示されていない。鍵盤ボタンKBの領域を指、ペンなどでタッチした状態から、その指、ペンなどを左右へスライドさせることにより、鍵盤ボタンKBの画像を左右にスクロールさせて、鍵盤ボタンKBの音域を変更することができる。なお、編集ボタンEDが押されている状態をエディットモードと言い、編集ボタンEDが押されていない状態を演奏モードと言う。なお、編集ボタンEDが押されている状態をエディットモードと言い、編集ボタンEDが押されていない状態を演奏モードと言う。現在のモードが何れのモードであるか明確にするため、エディットモードと演奏モードにおいて、エディットボタンEDの表示態様(例えば、色)を異ならせている。
図3の状態において、演奏ボタンP1〜P16のうちのいずれか1つの演奏ボタンを押すと、図4に示すように、表示器12の一部の表示領域の表示が、前記押した演奏ボタンの設定を編集するための表示に切り替わる。例えば、演奏ボタンP1の設定を編集するために、演奏ボタンP1を押すと、表示器12の右上の領域であって、編集する演奏ボタンである演奏ボタンP1に重ならない領域の表示が、演奏ボタンP1の設定の編集のための表示に切り替わる。そして、演奏ボタンP1の表示態様が、他の演奏ボタンとは異なる表示態様となる。この編集する演奏ボタンの設定の内容を表示する領域を編集ウィンドウEWと言う。編集ウィンドウEWの上端部には、編集ウィンドウEWであることを表すタイトル「Pad Edit」が表示されている。
編集ウィンドウEWのタイトルの下方には、名称編集ボタンENが配置されている。名称編集ボタンENの中央には、演奏ボタンに割り当てられている演奏ボタン名BNが表示されている。この例においては、「Kick」と表示されている。名称編集ボタンENを押すと、編集ウィンドウEWの下方に、文字入力のためのキーボードが表示される。このキーボードは、それぞれ文字が割り当てられた複数のボタンからなり、これらのボタンを用いて、演奏ボタンの演奏ボタン名BNを変更することができる。なお、既存の設定を編集する場合ではなく、新たに演奏ボタンの設定を開始する場合における演奏ボタン名BNの初期値としては、所定の文字列(例えば「Pad」)と演奏ボタンの番号「1」〜「16」とを組み合わせてなる名称(「Pad1」、「Pad2」など)が設定されている。
また、名称編集ボタンENの下方には、演奏ボタンに割り当てられている楽音情報を表示する楽音情報表示領域が設けられている。この楽音情報表示領域は、5行の領域からなり、1行目〜5行目は、楽音情報M1〜M5にそれぞれ対応している。すなわち、それぞれの楽音情報を構成するチャンネルナンバCN、ノートナンバNN及びベロシティVLがこの順に横方向にそれぞれ配置されて表示されている。この例においては、演奏ボタンP1には、楽音情報M1が割り当てられているだけなので、2行目以降のチャンネルナンバCN、ノートナンバNN及びベロシティVLの値は「・・・」と表示されている。
チャンネルナンバCNの値を変更するときには、まず、変更しようとする楽音情報のチャンネルナンバCNの表示領域にタッチする。すると、前記タッチした表示領域の周辺(例えば、下側)に、それぞれチャンネル番号を表す「1」〜「16」、及び「Basic」がリスト形式で表示され、表示された「1」〜「16」及び「Basic」のうちのいずれかを選択すると、チャンネルナンバCNの値が前記選択したチャンネルに変更される。なお、「Basic」を選択すると、音源制御装置10全体として設定されている基本設定に従う。すなわち、予め演奏ボタンP1〜P16に設定されたチャンネルナンバCNに従う。
また、ノートナンバNNの値を変更するときには、変更しようとする楽音情報のノートナンバNNの表示領域にタッチして、ノートナンバNNの値を変更可能な状態に設定する。そして、鍵盤ボタンKBにおける、所望の音高に対応する鍵ボタンを押す。これにより、ノートナンバNNの値が、前記所望の音高に変更される。
また、ベロシティVLの値を変更するときには、まず、変更しようとする楽音情報のベロシティVLの表示領域にタッチして値を変更可能な状態に設定する。すると、楽音情報の下方に、左右にスライド可能な入力ボタンが表示される。前記値を変更可能な状態に設定した楽音情報のベロシティVLの値の表示が、前記入力ボタンの左右方向の位置に応じた値に変更される。すなわち、前記入力ボタンをスライドさせて、その可動範囲の左端に位置させると、ベロシティVLの値の表示が、最小の「0」に変更され、入力ボタンINを、その可動範囲の中央に位置させると、ベロシティVLの値の表示が、中央の「64」に変更される。また、前記入力ボタンを、その可動範囲の右端に位置させると、ベロシティVLの値の表示が、最大の「127」に変更される。入力ボタンを移動させて、所望のベロシティVLの値が表示されている状態にしておき、その値にタッチすると、ベロシティVLの値として確定し、入力ボタンの表示が消える。
楽音情報を追加する場合には、既存の楽音情報のチャンネルナンバCN、ノートナンバNN及びベロシティVLのいずれもが変更可能に設定されていない状態(例えば、「・・・」表示領域にタッチした後)で、追加したい楽音情報の音高に対応した鍵ボタンを押す。すると、楽音情報が追加される。前記追加された楽音情報のノートナンバNNは、前記押した鍵ボタンの音高に設定されている。そして、チャンネルナンバCNは「Basic」に設定され、ベロシティVLは「100」に設定されている。なお、楽音情報が未だ1つも割り当てられていない初期状態において、上記のように、演奏ボタン名BNとして「Pad1」、「Pad2」などの初期値が設定されているが、1つ目の楽音情報を追加したとき、演奏ボタン名BNとして、前記追加した楽音情報のノートナンバNNが、演奏ボタン名BNとして自動的に設定される。
また、各楽音情報のベロシティVLの値の右側には、削除ボタンDLがそれぞれ配置されている。削除ボタンの中央には「×」が表示されている。削除ボタンDLを押すと、その行の楽音情報が削除される。
演奏ボタンには、通常モード及びシーケンスモードの2つの演奏モードのうちのいずれか1つのモードを設定可能である。通常モードは、演奏ボタンP1〜P16を押すごとに、押された演奏ボタンP1〜P16に割り当てられた楽音情報に対応する楽音を1回ずつ発音させて演奏する演奏モードである。すなわち、通常演奏モードにおいては、演奏ボタンP1〜P16を押すと、押したボタンに割り当てられたチャンネルナンバCN、ノートナンバNN及びベロシティVLからなる楽音情報が、発音開始を表すノートオン情報とともに、通信インターフェース回路18を介して、音源装置20に送信される。そして、押していたボタンを離すと、そのボタンに割り当てられた楽音情報が、発音停止を表すノートオフ情報とともに、通信インターフェース回路18を介して、音源装置20に送信される。演奏ボタンに複数の楽音情報が割り当てられている場合は、その演奏ボタンを押すと、それらの楽音情報がノートオン情報とともに同時に送信され、その演奏ボタンを離すと、それらの楽音情報がノートオフ情報とともに同時に送信される。なお、「同時に送信する」ことには、所定の短い時間(例えば、数ミリ秒)内に、各楽音情報をノートオン情報又はノートオフ情報とともに順次送信することが含まれる。
また、シーケンスモードは、演奏ボタンごとに設定された4小節の演奏パターンを繰り返し演奏するモードである。シーケンスモードにおいては、演奏ボタンを押すと演奏ボタンはオン状態になり、演奏パターンの演奏を開始させる。この状態で演奏ボタンを離しても、演奏ボタンは、オン状態に保持されている。演奏ボタンがオン状態にあるとき、前記演奏パターンを繰り返し演奏させる。そして、一旦演奏ボタンを離し、もう一度その演奏ボタンを押すと、演奏ボタンはオフ状態に変化する。演奏ボタンがオフ状態にあるとき、前記演奏パターンの演奏を停止させる。演奏パターンについては、詳しく後述する。編集ウィンドウEWにおける、名称編集ボタンENの左方には、演奏モードを選択するための演奏モード選択ボタンPBが設けられている。演奏モード選択ボタンPBは、通常モードボタンCBとシーケンスモードボタンQBからなる。通常モードボタンCBの中央には、「Play」と表示され、シーケンスモードボタンQBの中央には、「Seq」と表示されている。通常モードボタンCBを押すと、その演奏ボタンの演奏モードは、通常モードに設定され、シーケンスボタンQBを押すと、その演奏ボタンの演奏モードは、シーケンスモードに設定される。
つぎに、演奏パターンについて説明する。1つの演奏ボタンには、1つの演奏パターンを割り当てることができる。演奏ボタンには、1小節のフレーズであって、前記演奏ボタンに割り当てられた音高の楽音を、等時間間隔で繰り返し発音するフレーズを割り当てることができる。ユーザは、フレーズにおける、楽音の発音の繰り返し回数を4種類の回数の中から選択できる。また、ユーザは、フレーズを構成する楽音(以下、構成音という)ごとに、音の強さを設定できる。また、各構成音の長さは共通であるが、ユーザは、この構成音の長さを設定することができる。そして、上記のように設定したフレーズを、1小節目〜4小節目のうちの選択した1つ又は複数の小節に割り当てることにより、4小節の演奏パターンを構成している。なお、演奏パターンのテンポ(1分間あたりの拍数)は、後述するテンポ設定ボタンTBを用いて設定される。
上記のフレーズを設定する操作について具体的に説明する。楽音情報表示領域の下方には、演奏パターン設定表示領域が設けられている。演奏パターン設定表示領域内の左上の領域には、4種類の発音回数選択ボタンN1〜N4が横方向に並んだ状態で表示されている。発音回数選択ボタンN1〜N4は、フレーズにおける、構成音の発音の繰り返し回数を選択するボタンである。
発音回数選択ボタンN1の中央には、4分音符が表示されている。発音回数選択ボタンN1を押すと、演奏ボタンに割り当てられた音高の楽音を、等時間間隔で4回発音するフレーズが選択される。
発音回数選択ボタンN1と同様に、発音回数選択ボタンN2、発音回数選択ボタンN3及び発音回数選択ボタンN4には、8分音符、1拍3連(4分3連)音符及び16分音符がそれぞれ表示されていて、発音回数選択ボタンN2、発音回数選択ボタンN3及び発音回数選択ボタンN4を押すと、選択した演奏ボタンに割り当てられた音高の楽音を、等時間間隔で8回、12回及び16回発音するフレーズがそれぞれ選択される。なお、図4は、選択した演奏ボタンに割り当てられた音高の楽音を、等時間間隔で8回発音するフレーズを選択した例を示している。
また、発音回数選択ボタンN4の右側には、小節選択ボタンMS1〜MS4が表示されている。小節選択ボタンMS1〜MS4の中央には、それぞれ小節番号に対応した「1」〜「4」が表示されている。この小節選択ボタンMS1〜MS4を押して選択した小節に、フレーズが割り当てられる。すなわち、前記選択した小節において、前記フレーズが演奏される。なお、図4は、1小節目〜3小節目を選択した例を示している。
上記のフレーズの設定及び演奏パターンの設定は、演奏パターン情報PDとして、演奏ボタンごとにROM17c(例えば、フラッシュメモリ)に記憶されている。すなわち、ROM17cには、図5に示すように、いずれの発音回数が選択されているかを表わす発音回数データNDが記憶されている。また、演奏パターンの1小節目〜4小節目のうち、フレーズを割り当てる小節を表わす割り当てデータADも記憶されている。
さらに、演奏パターン情報PDとして、各楽音情報のベロシティVLの係数としてのベロシティデータVDm(m=11〜14,21〜24,31〜34,41〜44)、及び各構成音の長さを表わすゲートタイムデータGDも記憶している。なお、ベロシティデータVDmは、構成音ごとに記憶されている。
例えば、発音回数選択ボタンN1が押されて、1小節内に4回発音するフレーズが選択された場合、テンポボタンTBによって設定されたテンポで演奏する1小節の期間を4等分したそれぞれの期間の先頭のタイミングで、前記演奏ボタンに割り当てられた楽音情報が、発音開始を表すノートオン情報とともに通信インターフェース回路18を介して、音源装置20に送信されるよう設定される。そして、この場合のフレーズの構成音のベロシティの値は、各構成音に対応したベロシティデータVDmを前記楽音情報のベロシティVLに乗算した値である。また、前記設定されたテンポ及びゲートタイムデータGDによって規定されたタイミングで、前記楽音情報が、発音停止を表すノートオフ情報とともに、通信インターフェース回路18を介して、音源装置20に送信されるよう設定される。この場合のベロシティの値も、各構成音に対応したベロシティデータVDmを前記楽音情報のベロシティVLに乗算した値である。なお、演奏ボタンに複数の楽音情報が割り当てられている場合には、それらの楽音情報がノートオン情報又はノートオフ情報とともに、テンポの設定及びゲートタイムデータGDに従ったタイミングで、同時に音源装置20に送信される。この場合のベロシティの値も、各構成音に対応したベロシティデータVDmを前記楽音情報のベロシティVLに乗算した値である。
発音回数選択ボタンN1が押された場合と同様に、発音回数選択ボタンN2、発音回数選択ボタンN3及び発音回数選択ボタンN4が押されて、1小節内に8回、12回及び16回発音するフレーズがそれぞれ選択された場合も、それぞれ1小節の期間を8等分、12等分及び16等分したそれぞれの期間の先頭のタイミングで、前記楽音情報が、ノートオン情報とともに音源装置20に送信されるよう設定される。この場合のベロシティの値も、各構成音に対応したベロシティデータVDmを前記楽音情報のベロシティVLに乗算した値である。また、前記設定されたテンポ及びゲートタイムデータGDによって規定されたタイミングで、前記楽音情報が、ノートオフ情報とともに音源装置20に送信されるよう設定される。この場合のベロシティの値も、各構成音に対応したベロシティデータVDmを前記楽音情報のベロシティVLに乗算した値である。
なお、発音回数選択ボタンN4が押されているときのフレーズにおける発音回数が最も多く、演奏ボタンに割り当てられた音高の楽音が16回発音されるので、演奏ボタンごとに、ベロシティデータVDmを記憶するための16個の記憶領域がRAM17dに確保されている。しかし、発音回数選択ボタンN1、発音回数選択ボタンN2及び発音回数選択ボタンN3のうちの1つが押されているときのフレーズにおける発音回数は、16回未満であるので、この場合には、一部の記憶領域のみが用いられる。
具体的には、発音回数選択ボタンN1が押されて4回発音するフレーズが選択されているときは、ベロシティデータVD11,VD21,VD31,VD41の記憶領域が用いられる。また、発音回数選択ボタンN2が押されて8回発音するフレーズが選択されているときには、ベロシティデータVD11,VD13,VD21,VD23・・・VD43の記憶領域が用いられる。また、発音回数選択ボタンN3が押されて12回発音するフレーズが選択されているときは、ベロシティデータVD11,VD12,VD14,VD21,VD22,VD24・・・VD44の記憶領域が用いられる。また、発音回数選択ボタンN4が押されて16回発音するフレーズが選択されているときは、すべてのベロシティデータVDmの記憶領域が用いられる。なお、ベロシティデータVDmの値は、「0」以上かつ「1」以下に設定される。
また、ゲートタイムデータGDは、フレーズの全ての構成音に共通であって、1拍(4分音符)を「480」とした相対値として表される。ただし、発音回数選択ボタンN1に対応するフレーズの構成音のゲートタイムの最大値は「480」であり、発音回数選択ボタンN2,N3,N4に対応するフレーズの構成音のゲートタイムの最大値は、それぞれ「240」,「160」,「120」である。
発音回数選択ボタンN1〜N4のうちのいずれか1つのボタンを押して、フレーズにおける発音回数を決定した段階においては、ベロシティデータVDm及びゲートタイムデータGDの値は、それぞれ最大値に設定されているが、ユーザは、ベロシティデータVDm及びゲートタイムデータGDの値を任意の値に変更することができる。
ベロシティデータVDm及びゲートタイムデータGDを設定する操作について説明する前に、発音回数選択ボタンN1〜N4及び小節選択ボタンMS1〜MS4の下方に設けられているグラフウィンドウGWについて説明する。
グラフウィンドウGWには、各構成音の発音開始タイミング、発音停止タイミング、及び各構成音の強度を表わすグラフが表示される。このグラフは、横軸方向を前記フレーズの演奏開始からの経過時間とし、縦軸方向をベロシティデータVDmの値の大きさとした棒グラフである。すなわち、各構成音が、縦方向に長いバーとして表示され、このバーの高さが、ベロシティデータVDmの値の大きさに相当し、バーの幅が、ゲートタイムデータGDの値の大きさ相当する。また、このバーの左端の位置が発音開始タイミングに相当し、右端の位置が発音停止タイミングに相当する。上記のように、発音回数選択ボタンN1〜N4は、1小節あたりの発音回数に対応しているので、押されている発音回数選択ボタンによって、グラフウィンドウGWに表示されるバーの数は異なる。すなわち、選択された発音回数に応じた数のバーがグラフウィンドウGWに表示される。例えば、発音回数選択ボタンN1が押されているとき、4本のバーが等間隔に表示され、発音回数選択ボタンN2が押されているとき、8本のバーが等間隔に表示される。なお、1拍目、2拍目、3拍目及び4拍目のそれぞれの拍頭に相当するバーの色は他のバーの色と異なっている。図3は、発音回数選択ボタンN2が押されて、1小節内に8回発音するフレーズが選択された状態であって、8本のバーが表示されている例を示している。
つぎに、ベロシティデータVDmを変更する操作について説明する。図6に示すように、タッチパネル14における、グラフウィンドウGW上の操作領域内の1点を指、ペンなどでタッチすると、そのタッチ位置の横軸方向の座標に対応するベロシティデータVDmの値が、前記タッチ位置の縦軸方向の座標に応じた値に設定される。そして、図6に破線で示したように、前記操作領域内の1点を指、ペンなどでタッチした状態で、前記指、ペンなどを左右に移動させると、タッチ位置の軌跡に、各バーの高さが揃うように、ベロシティデータVDmの値が変更される。なお、エディットモードにおいて、選択されている演奏ボタンの演奏モードがシーケンスモードである場合、その演奏ボタンの演奏パターンを繰り返し演奏するよう音源装置20を制御する。これにより、ユーザは、音源装置20から発音される楽音を聞きながら、ベロシティデータVDmの値を調整できる。
つぎに、ゲートタイムデータGDを変更する操作について説明する。図7に示すように、前記操作領域内の2点をタッチし、前記2点間の横方向の距離を小さくするピンチイン操作により、ゲートタイムデータGDの値を小さくすることができる。また、前記2点間の横方向の距離を大きくするピンチアウト操作によりゲートタイムデータGDの値を大きくすることができる。この場合も、ベロシティデータVDmを変更する場合と同様に、ユーザは、音源装置20から発音される楽音を聞きながら、ゲートタイムデータGDの値を調整できる。
演奏ボタンP1〜P16の設定は、図8に示すように、これらを1セットとした演奏ボタンセットとしてROM17c(例えば、フラッシュメモリ)に記憶されている。ROM17cには、複数の演奏ボタンセットを記憶することができる。演奏ボタンセットには演奏ボタンセット番号n(n=1,2・・・)及び演奏ボタンセット名SNが割り当てられている。すなわち、各演奏ボタンセットの内容を表す演奏ボタンセット情報Sn(n=1,2・・・)は、演奏ボタンセット名SN、及び演奏ボタンP1〜P16の設定をそれぞれ表す演奏ボタン情報B1〜B16から構成されている。各演奏ボタン情報は、演奏ボタン名BN、楽音情報M1〜M5、及び演奏パターン情報PD(図5参照)からなる。
また、編集ウィンドウEWの右上端部には、完了ボタンDNが配置されている。完了ボタンDNの中央には「Done」と表示されている。完了ボタンDNを押すと、演奏ボタンの設定内容を記憶して、演奏ボタンの設定の編集を終了し、再び基本画像を表示する。また、編集ウィンドウEWの左上端部には、破棄ボタンCLが配置されている。破棄ボタンCLの中央には「Clear」と表示されている。破棄ボタンCLを押すと、演奏ボタンの設定の編集を破棄して、再び基本画像を表示する。
再び基本画像(図2参照)の説明に戻る。基本画像の上端部には、演奏ボタンセット選択ボタンSBが配置されている。演奏ボタンセット選択ボタンSBには、演奏ボタンセット番号n及び演奏ボタンセット名SNが表示されている。演奏ボタンセット選択ボタンSBを押すと、ROM17cに記憶されている各演奏ボタンセットの演奏ボタンセット名SNが、演奏ボタンセット選択ボタンSBの下方に、リスト形式で表示される。そして、いずれか1つの演奏ボタンセット名SNを選択すると、前記選択した演奏ボタンセットの演奏ボタン情報B1〜B16が読み出され、前記読み出された演奏ボタン情報B1〜B16に基づいて、演奏ボタンP1〜P16の設定が更新される。なお、演奏ボタンセット選択ボタンSBの右側には、インクリメントボタンSINCが配置され、演奏ボタンセット選択ボタンSBの左側には、デクリメントボタンSDECが配置されている。インクリメントボタンSINCには「+」と表示され、デクリメントボタンSDECには「−」と表示されている。インクリメントボタンSINCを押すと、選択している演奏ボタンセット番号nが1つ大きくなり、デクリメントボタンSDECを押すと、選択している演奏ボタンセット番号nが1つ小さくなる。
また、演奏ボタンセット選択ボタンSBの右方には、テンポ設定ボタンTBが配置されている。テンポ設定ボタンTBには、「TAP」と表示されている。テンポ設定ボタンTBを複数回繰り返して押すことにより、その繰り返しの速さ(単位時間あたりの操作回数)を用いて、演奏パターンのテンポを設定する。現在のテンポの値が、テンポ設定ボタンTBの右方に表示されている。
テンポボタンTBの右方には、トランスポーズボタンTRBが配置されている。トランスポーズボタンTRBは、演奏ボタンセットを構成する16個の演奏ボタンにそれぞれ割り当てられた音高を半音単位で同時に変更して移調するボタンである。トランスポーズボタンTRBは、移調量を変更するインクリメントボタンTINC及びデクリメントボタンTDECからなる。インクリメントボタンTINCには「+」と表示され、デクリメントボタンTDECには「−」と表示されている。インクリメントボタンTINCとデクリメントボタンTDECの間には、現在の移調量を表わす数字が表示されている。例えば、移調量の表示が「+0」であるとき、演奏ボタンセットを構成する演奏ボタンにそれぞれ割り当てられた音高の楽音情報が、演奏ボタンの操作に応じて音源装置20に送信される。また、例えば、移調量の表示が「+1」であるとき、演奏ボタンセットを構成する演奏ボタンにそれぞれ割り当てられた音高よりも半音高い音高の楽音情報が、演奏ボタンの操作に応じて音源装置20に送信される。また、例えば、移調量の表示が「−1」であるとき、演奏ボタンセットを構成する演奏ボタンにそれぞれ割り当てられた音高よりも半音低い音高の楽音情報が、演奏ボタンの操作に応じて音源装置20に送信される。インクリメントボタンTINCを押すと、移調量が1つ大きくなり、デクリメントボタンTDECを押すと、移調量が1つ小さくなる。
つぎに、音源制御プログラムについて図9を用いて説明する。CPU17aは、ステップS10にて、音源制御プログラムの実行を開始すると、ステップS11にて、各種データを初期化する。例えば、演奏パターン情報PDの、ゲートタイムデータGDを最大値である「480」に初期化し、ベロシティデータVDmを最大値である「1」に初期化する。また、音源制御プログラムを終了するか否かを表わす終了指示フラグをRAM17dに記憶していて、CPU17aは、この終了指示フラグを「実行」に初期化する。
つぎに、CPU17aは、ステップS12にて、基本画像を表示器12に表示する。そして、CPU17aは、ステップS13にて、演奏者による操作を検出し、次に実行する処理を決定する。
ステップS13において、演奏ボタンP1〜P16のいずれかのボタンに関する操作を検出すると、CPU17aは、ステップS14にて、現在の動作モードが演奏モード又はエディットモードのいずれのモードであるか判定する。エディットモードであるときには、CPU17aは、ステップS15にて、前記ステップS13にて検出した演奏ボタンの設定を編集するための編集ウィンドウEWを表示して、後述するステップS22に処理を進める。一方、演奏モードであるときには、ステップS16にて、さらに、前記検出した演奏ボタンの演奏モードが通常モード又はシーケンスモードのいずれのモードであるか判定する。
現在のモードが通常モードであるときには、CPU17aは、ステップS17にて、押された演奏ボタンに対応する楽音を1回発音させる単独発音処理を実行する。すなわち、演奏ボタンが押されたこと検出したときは、前記検出した演奏ボタンに割り当てられた楽音情報をノートオン情報とともに音源装置20に1回送信し、後述のステップS22に処理を進める。また、前記演奏ボタンが離されたことを検出したときは、前記楽音情報をノートオフ情報とともに音源装置20に1回送信し、後述のステップS22に処理を進める。
一方、現在のモードがシーケンスモードであるときには、CPU17aは、ステップS18にて、前記検出した演奏ボタンに対応する演奏パターンを繰り返し演奏させるパターン演奏処理を実行する。すなわち、前記演奏ボタンがオン状態に変化したことを検出したときには、パターン演奏処理の実行を開始する。演奏ボタンがオン状態に保持されていることを検出したときには、発音回数データND、ゲートタイムデータGD及びテンポに基づいて、前記フレーズの構成音の発音開始タイミング及び発音停止タイミングを計算し、タイマ17bを用いて計測した現在時刻と前記計算した発音開始タイミング又は発音停止タイミングとが一致する構成音の楽音情報を、ノートオン情報又はノートオフ情報とともに音源装置20にそれぞれ供給し、ステップS22に処理を進める。なお、上述のように、この場合のベロシティの値は、ベロシティVLにベロシティデータVDmを乗算した値である。現在時刻と前記計算した発音開始タイミング又は発音停止タイミングとが一致しないときには、そのままステップS22に処理を進める。また、前記演奏ボタンがオフ状態に変化したことを検出したときには、パターン演奏処理を終了する。
ここで、演奏ボタンPaに対応する演奏パターンPTaの演奏中に、シーケンスモードに設定されている演奏ボタンPbが押されて、演奏ボタンPbに対応する演奏パターンPTbの演奏を開始させる場合について、図10を用いて説明する。この場合、演奏パターンPTaの進行に合わせて、演奏パターンPTbの演奏を開始させる。例えば、演奏ボタンPbが押されたとき、演奏パターンPTaの2小節目の中間部分の演奏中であるとする。この場合、演奏パターンPTbの2小節目の中間部分から演奏を開始させることにより、続く3小節目以降の両演奏パターンの小節線(隣り合う小節の境界のタイミング)が揃うようにしている。すなわち、両演奏パターンの演奏の進行度を同期させている。そして、演奏ボタンPaをもう一度押して、演奏パターンPTaの演奏を途中(例えば、3小節目の中間部分)で停止させたとしても、演奏パターンPTbの演奏を続行させる。なお、同図において、演奏パターンPTaの、1小節目〜3小節目にフレーズがそれぞれ割り当てられ、4小節目にはフレーズが割り当てられていない例を示している。また、演奏パターンPTbの、1小節目〜3小節目にはフレーズが割り当てられておらず、4小節目にフレーズが割り当てられている例を示している。また、同図に示すように、通常モードに設定されている演奏ボタンPcが操作されたことを検出した場合には、演奏パターンPTa及び演奏パターンPTbの演奏タイミングとは関係なく、前記演奏ボタンPcの操作を検出したタイミングで、単独発音処理を実行する。
また、ステップS13にて、編集ボタンEDが押されたことを検出したときには、CPU17aは、ステップS19にて、動作モードをエディットモードに設定する。また、ステップS13にて、編集ウィンドウEW内が操作されたことを検出したときには、CPU17aは、ステップS20にて、図3を用いて説明したように、前記操作に応じて、選択されている演奏ボタンの設定を変更し、ステップS22に処理を進める。
また、ステップS13にて、その他の操作を検出すると、CPU17aは、ステップS21にて、その操作に応じた処理を実行する。例えば、演奏ボタンセット選択ボタンSBが押されたことを検出したときには、CPU17aは、上述のように、演奏ボタンセットを切り替え、テンポ設定ボタンTBが押されたことを検出したときには、CPU17aは、上述のように、シーケンスモードにおける演奏パターンのテンポを変更して、ステップS22に処理を進める。
また、ホームボタンが押されたことを検出したときは、CPU17aは、終了指示フラグを「終了」に設定して、ステップS22に処理を進める。ホームボタンが押されていないときには、終了指示フラグを操作せず(すなわち「実行」のまま)、ステップS22に処理を進める。そして、CPU17aは、ステップS22にて、音源制御プログラムの終了指示の有無を判定する。すなわち、終了指示フラグが「終了」であれば、ステップS23に処理を進め、ステップS23にて音源制御プログラムを終了する。一方、終了指示フラグが「実行」であれば、CPU17aは、ステップS13に処理を進め、以降、上述した処理を繰り返す。
上記のように構成した音源制御装置においては、演奏ボタンごとに、1小節のフレーズを設定し、1小節目〜4小節目のうち、前記設定したフレーズを演奏する小節を選択して、4小節の演奏パターンを設定するようにした。各フレーズは、演奏ボタンに割り当てられた音高の楽音を、選択された回数だけ等時間間隔で発音する簡単な構成とした。したがって、フレーズ及び演奏パターンを簡単に設定でき、それらを設定するために用いるユーザインターフェースの構成を簡単にできる。上記のようにして設定された演奏パターンに基づく演奏は比較的単純であるので、複数の演奏ボタンにそれぞれ演奏パターンを割り当てておき、同時に演奏する演奏パターンの組み合わせを次々に変更して演奏する即興演奏に適している。
また、エディットモードにおいて、ベロシティデータVDm及びゲートタイムデータGDをグラフ化してグラフウィンドウGWに表示し、グラフウィンドウGW上におけるタッチ操作に応じて、ベロシティデータVDm及びゲートタイムデータGDの値を変更するようにした。具体的には、指、ペンなどのタッチ位置の軌跡にベロシティデータVDmを表わすバーの高さが揃うように変更するようにした。また、ピンチイン操作に応じてゲートタイムデータGDを小さくし、ピンチアウト操作に応じてゲートタイムデータGDを大きくするようにした。このように、タッチ位置の動きとデータの変化の仕方とが関連付けられているので、直感的に操作できる。
さらに、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
例えば、各演奏ボタンがシーケンスモードに設定されているとき、その演奏ボタンの編集ウィンドウEWにおいて、小節選択ボタンMS1〜MS4を用いて選択した、フレーズを割り当てる小節を表わす表示を、演奏ボタン自体に設けてもよい。例えば、図11に示すように、演奏ボタン名BNの上に、演奏パターンを構成する4つの小節にそれぞれ対応した選択小節表示BW1〜BW4を設けるとよい。そして、フレーズを割り当てる小節とフレーズを割り当てない小節とにおいて、選択小節表示BW1〜BW4の表示態様を異ならせればよい。図11は、1小節目〜3小節目にフレーズを割り当て、4小節目にはフレーズを割り当てていないことを表わしている。
さらに、演奏の進行に従って、選択小節表示の表示態様を、変化させるとよい。例えば、演奏中の小節の各拍頭において、その選択小節表示を通常よりも明るく表示するようにしてもよい。また、1拍目の拍頭においては、他の拍頭における表示色とは異ならせてもよいし、明度を強調して表示してもよい。これによれば、演奏ボタンを見ただけで、その演奏ボタンへのフレーズの割り当て状態、及び演奏の進行度を認識できるので、複数のボタンを用いて演奏する場合の操作性を向上させることができる。
また、例えば、演奏ボタンセットごとに、音色を規定するプログラムチェンジデータを記憶しておき、選択ボタンSBを用いて、演奏ボタンセットを選択する毎に、選択した演奏ボタンセットに対応するプログラムチェンジデータを音源装置20に送信するようにしてもよい。上記実施形態においては、音色の設定については、音源装置20を操作して、演奏ボタンセットに対応するMIDIチャンネルごとに、音色を設定しておく必要がある。例えば、音源装置20の音色の設定がドラムキットであることを想定している演奏ボタンセットを選択した場合、ユーザは、音源装置20の音色の設定を前記ドラムキットに設定しておく必要がある。音源装置20の音色の設定が前記ドラムキットとは異なっていても、その音色の設定のまま演奏されるので、演奏が不自然になる。そこで、上記のように、演奏ボタンセットを選択する毎に、対応するプログラムチェンジデータを音源装置20に送信するようにしておけば、音源装置20の音色の設定を演奏ボタンセットに一致させる手間を省くことができ、演奏が不自然になるのを防止できる。なお、演奏ボタンセットにおいて、複数のMIDIチャンネルを用いる場合には、それらのチャンネルごとに対応するプログラムチェンジデータを記憶しておき、演奏ボタンセットを選択する毎に、それぞれのMIDIチャンネルに対応するプログラムチェンジデータを送信すればよい。
上記実施形態においては、ゲートタイムデータGDは、フレーズを構成するすべての楽音について共通としたが、それぞれの楽音についてゲートタイムデータを個別に記憶するようにしてもよい。そして、グラフウィンドウGW上をタッチして、1つ又は複数のバーを選択し、ピンチイン操作及びピンチアウト操作により、前記選択したバーのゲートタイムデータの値を変更してもよい。この場合、例えば、ベロシティデータと、ゲートタイムデータを別々のグラフとして表示してもよい。例えば、横軸方向を発音タイミングとし、縦軸方向をベロシティデータの値の大きさとした折れ線グラフと、横軸方向を発音タイミングとし、縦軸方向をゲートタイムデータの値の大きさとした折れ線グラフとしてもよい。
また、上記実施形態においては、ゲートタイムデータGDは、1拍を「480」としたときの相対値としたが、これに替えて、選択した演奏パターンのそれぞれの楽音の長さの最大値に対する相対値としてもよい。すなわち、前記最大値の何パーセントに相当するかをゲートタイムデータGDとして記憶してもよい。
また、上記実施形態においては、シーケンスモードにおいて、設定したフレーズの構成音のベロシティとして、楽音情報M1〜M5のベロシティVLに演奏パターン情報PDのベロシティデータVDmを乗算した値を採用した。しかし、ベロシティデータVDmは、フレーズの構成音のベロシティの絶対値を表わすようにしてもよい。この場合、シーケンスモードにおいては、各演奏ボタンP1〜P16にそれぞれ割り当てられている楽音情報M1〜M5のベロシティVLの値は用いられず、演奏パターン情報PDを構成するベロシティデータVDmが用いられる。また、演奏ボタンに複数の楽音情報が割り当てられている場合には、それらの楽音情報が、テンポの設定及び演奏パターン情報PDに従ったタイミングで、同時に音源装置20に送信されるが、この場合、楽音情報M1〜M5として設定されたベロシティVLは用いられず、ベロシティデータVDmが構成音のベロシティとして用いられる。すなわち、この場合、同時に発音する楽音のベロシティは共通である。
また、上記実施形態においては、演奏ボタンごとに、フレーズの構成音のベロシティデータVDm及びゲートタイムデータGDを設定可能としたが、いずれか一方のみを設定可能とし、他方の値を固定値としてもよい。また、ベロシティデータVDm及びゲートタイムデータGDの設定方法についても、上記の操作に限られない。例えば、テンキー型の入力操作子を表示し、前記テンキー型の入力操作子を用いて、構成音ごとに、ベロシティデータVDmの数値を入力するようにしてもよい。また、前記入力操作子を用いて、ゲートタイムデータGDの数値を入力してよい。
また、上記実施形態においては、シーケンスモードに設定された演奏ボタンを一度押すと演奏パターンの演奏を開始し、一旦演奏ボタンを離してもう一度そのボタンを押すと、演奏パターンの演奏を停止するようにした。しかし、演奏ボタンを押し続けている間、演奏パターンを演奏し、演奏ボタンを離したとき演奏パターンの演奏を停止するようにしてもよい。
また、上記実施形態においては、演奏ボタンごとに、1小節のフレーズを設定しているが、ベロシティデータVDmの数を増やして、2小節のフレーズ、3小節のフレーズなどのより長いフレーズを設定してもよいし、逆に、ベロシティデータVDmの数を減らして、2拍分のフレーズ、3拍分のフレーズなどのより短いフレーズを設定してもよい。また、上記実施形態においては、フレーズにおける演奏ボタンに割り当てられた音高の楽音の発音回数は、4回、8回、12回及び16回のうちのいずれかであるが、発音回数をより少なくしてもよいし、より多くしてもよい。例えば、フレーズにおける前記楽音の発音回数を1回にしてもよいし、32回にしてもよい。また、演奏パターンは4小節に限られず、小節数をより多くしてもよいし、より少なくしてもよい。
上記実施形態においては、フレーズは、演奏ボタンに割り当てられた音高の楽音を繰り返すように構成されている。しかし、これに限られず、鍵盤ボタンKB、通信インターフェース回路18を介して接続された鍵盤装置などを用いて入力した旋律、和音などをフレーズとして、演奏ボタンに割り当ててもよい。
また、上記実施形態においては、音源装置20は、携帯情報端末の外部に設けられているが、携帯情報端末に内蔵されていてもよい。また、音源制御プログラムは、携帯情報端末に限られず、電子楽器、パーソナルコンピュータなどに適用されてもよく、それらの機器を音源制御装置として動作させるようにしてもよい。また、演奏ボタンP1〜P16、テンポ設定ボタンTBなどの各種ボタンを、タクトスイッチ、可変抵抗器などを用いて構成してもよい。