以下、本発明の実施の形態を図面に基づいて詳細に説明する。
図1は、本発明の一実施の形態に係る電子音楽装置を適用した電子鍵盤楽器の概略構成を示すブロック図である。
同図に示すように、本実施の形態の電子鍵盤楽器は、音高情報を含む演奏データを入力するための鍵盤を含む演奏操作子1と、各種情報を入力するための複数のスイッチやホイール、ジョイスティックを含むパネル操作子2と、演奏操作子1の操作状態を検出する検出回路3と、パネル操作子2の操作状態を検出する検出回路4と、装置全体の制御を司るCPU5と、該CPU5が実行する制御プログラムや、各種テーブルデータ等を記憶するROM6と、演奏データ、各種入力情報および演算結果等を一時的に記憶するRAM7と、タイマ割込み処理における割込み時間や各種時間を計時するタイマ8と、各種情報等を表示する、たとえば小型の液晶ディスプレイ(LCD)および発光ダイオード(LED)等を備えた表示器9と、前記制御プログラムを含む各種アプリケーションプログラムや各種楽曲データ(ソングデータ)、各種データ等を記憶する外部記憶装置10と、外部からのMIDI(musical instrument digital interface)メッセージを入力したり、MIDIメッセージを外部に出力したりするMIDIインターフェース(I/F)11と、通信ネットワーク101を介して、たとえばサーバコンピュータ(以下、「サーバ」と略して言う)102とデータの送受信を行う通信インターフェース(I/F)12と、演奏操作子1から入力された演奏データや、前記外部記憶装置10に記憶されたいずれかの楽曲データを再生して得られた演奏データ等を楽音信号に変換する音源回路13と、該音源回路13からの楽音信号に各種効果を付与するための効果回路14と、該効果回路14からの楽音信号を音響に変換する、たとえば、DAC(Digital-to-Analog Converter)やアンプ、スピーカ等のサウンドシステム15とにより構成されている。
上記構成要素3〜14は、バス16を介して相互に接続され、CPU5にはタイマ8が接続され、MIDII/F11には他のMIDI機器100が接続され、通信I/F12には通信ネットワーク101が接続され、音源回路13には効果回路14が接続され、効果回路14にはサウンドシステム15が接続されている。ここで、通信I/F12および通信ネットワーク101は、有線方式のものに限らず、無線方式のものであってもよい。また、両方式のものを備えていてもよい。
外部記憶装置10としては、たとえば、フレキシブルディスクドライブ(FDD)、ハードディスクドライブ(HDD)、CD−ROMドライブおよび光磁気ディスク(MO)ドライブ等を挙げることができる。そして、外部記憶装置10には、前述のように、CPU5が実行する制御プログラムも記憶でき、ROM6に制御プログラムが記憶されていない場合には、この外部記憶装置10に制御プログラムを記憶させておき、それをRAM7に読み込むことにより、ROM6に制御プログラムを記憶している場合と同様の動作をCPU5にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
MIDII/F11は、専用のものに限らず、RS−232CやUSB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインターフェースによって構成してもよい。この場合、MIDIメッセージ以外のデータをも同時に送受信してもよい。
通信I/F12は、上述のように、たとえばLAN(local area network)やインターネット、電話回線等の通信ネットワーク101に接続されており、該通信ネットワーク101を介して、サーバ102に接続される。外部記憶装置10に上記各プログラムや各種パラメータが記憶されていない場合には、通信I/F12は、サーバ102からプログラムやパラメータをダウンロードするために用いられる。クライアントとなる電子音楽装置は、通信I/F12および通信ネットワーク101を介してサーバ102へとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバ102は、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワーク101を介して電子音楽装置へと配信し、電子音楽装置が通信I/F12を介して、これらプログラムやパラメータを受信して外部記憶装置10に蓄積することにより、ダウンロードが完了する。
なお、本実施の形態では、電子音楽装置を電子鍵盤楽器上に構築するようにしたが、これに限らず、鍵盤を外部接続した汎用的なPC上に構築してもよい。また、ミキサなどの音響機器上に構築するようにしてもよい。その場合には、楽音信号をミキシングするための信号処理回路やAD/DA変換回路などは必須の構成要素であるが、音源回路は必須の構成要素ではない。
図2は、本実施の形態の電子鍵盤楽器の外観を示す図であり、同図に示すように、上鍵盤1aと下鍵盤1bとの間の壁(パネル面の一部)には、レジストレーション・メモリ・ボタン2aが設けられている。本実施の形態では、レジストレーション・メモリは、前記RAM7の記憶領域の一部によって構成され、一まとまりの楽器設定(レジストレーション)をそれぞれ記憶できる16個のレジスト領域を備えている。そして、各レジスト領域には、順に1〜16の番号が付与され、レジスト領域に付与された番号と、レジストレーション・メモリ・ボタン2aの番号ボタン2a1に表示された番号とが対応する。ユーザが、たとえば前記パネル操作子2を用いて一まとまりの楽器設定を行った後、レジストレーション・メモリ・ボタン2aのMボタン2a2を押しながら、番号ボタン2a1のいずれかを押すと、その一まとまりの楽器設定が押された番号ボタン2a1に対応するレジスト領域に記憶される。なお、レジストレーション・メモリに記憶された楽器設定は、本実施の形態の電子鍵盤楽器の電源がオフになったときでも、保持されている方が好ましいので、RAM7としては、電源バックアップされたRAMを用いる方が好ましい。もちろん、RAM7とは別に不揮発性メモリ、たとえばフラッシュメモリを当該電子鍵盤楽器内に設けるようにし、このフラッシュメモリ上に、レジストレーション・メモリを構成するようにしてもよい。
図3は、前記表示器9のLCD上に表示された表示画面の一例を示す図であり、同図(a)は、レジストシーケンス編集モードが選択されたときに表示されるレジストシーケンス編集画面の一例を示し、同図(b)は、リズムシーケンス編集モードが選択されたときに表示されるリズムシーケンス編集画面の一例を示している。なお、本実施の形態では、LCDとして、タッチパネル方式のものを採用しているので、ユーザは、たとえば自身の指で画面上のボタンをタッチすることで、目的の操作を行うことができる。もちろん、LCDとして、タッチパネル方式でない、表示機能だけのものを採用し、ハードウェアによって作成されたスイッチ(メカニカル・スイッチ)を操作することで、目的の操作を行うようにしてもよい。
図3(a)のレジストシーケンス編集画面では、既に入力されたレジストシーケンス(“REGIST”)とリズムシーケンス(“PATTERN”)が、小節位置(“BAR”)とともに、入力済みデータ表示領域91に表示されている。レジストシーケンスを構成する各レジストレーションの編集は、本実施の形態では、小節単位で行うようにしているので、レジストシーケンス編集領域92には、カーソルCの位置するレジストレーション(図示例では、“4”の表示された番号ボタン2a1に対応するレジスト領域に記憶された設定)が設定された小節(図示例では、第5小節)が表示される。そして、カーソルCの現在位置(カレントポジション)は、カレントポジション表示領域93に、小節(“Bar”):拍(“Beat”):クロック(“Clock”)という表示形式(図示例では、“5:4:92”)で表示される。カーソルCが位置するレジストレーションの編集(削除、挿入、移動など)や、カーソルCの位置(レジストレーションが設定されていない場合)へのレジストレーションの挿入などは、編集ボタン群94中のいずれかのボタンを操作することでなされる。なお、本発明の特徴は、レジストシーケンスを編集する方法にあるのではなく、編集後の、あるいは編集中のレジストシーケンスを表示する方法にあるので、編集方法のこれ以上の説明は省略する。
カーソルCの位置は、アップ/ダウンボタン群95およびポジションボタン群96中のいずれかのボタンを操作することで移動する。アップ/ダウンボタン群95は、それによって指示される位置にレジストレーションがあるかどうかに拘わらず、その指示位置にカーソルCを移動させる。一方、ポジションボタン群96は、現在のレジストレーションの次/前のレジストレーションにカーソルCを移動させる。ただし、移動の指示された方向にレジストレーションが存在しないときには、カーソルCを小節単位で移動させる。カーソルCの移動によって、カーソルCの位置するレジストレーションが変わったときには、入力済みデータ表示領域91中、斜線が施されているレジスト番号(図示例では、“4”)も移動後のレジストレーションのレジスト番号に変わる。なお、斜線は、ハイライト表示を示している。
図3(b)のリズムシーケンス編集画面は、リズムシーケンスを構成する各リズムパターン(“PATTERN”)を編集するためのものである。したがって、編集ボタン群94′およびポジションボタン群96′は、前記図3(a)の編集ボタン群94(の一部)およびポジションボタン群96と、その外観は異ならないが、その機能は異なっている。つまり、編集ボタン群94が、レジストシーケンスを構成する各レジストレーションを編集するものであったのに対して、編集ボタン群94′は、リズムシーケンスを構成する各リズムパターンを編集するものである。また、ポジションボタン群96が、カーソルCをいずれかのレジストレーションに移動させるものであったのに対して、ポジションボタン群96′は、いずれかのリズムパターンを選択するものである。現在編集中の位置(カレントポジション)に相当するリズムパターンには、斜線が施されている。この斜線も、ハイライト表示を示している。なお、本発明の特徴は、リズムシーケンスの編集方法にある訳ではないので、編集方法についてのこれ以上の説明は省略する。
図4は、レジストシーケンス、リズムシーケンスおよびレジストレーションのそれぞれのデータフォーマットの一例を示す図である。
レジストシーケンスを構成する各レジストレーションは、図4(a)に示すように、レジストレーションを示す情報(レジスト番号)とそのレジストレーションが設定された時間的位置(曲中の時間的位置)を示す情報(小節情報、拍情報およびクロック情報からなる)によって表される。そして、レジストシーケンス中、末尾のレジストレーションの後には、そのレジストレーションが当該レジストシーケンスに含まれるレジストレーションのうちの最後のものであることを示す終端記号(たとえば、“FF”)が記載される。なお、レジスト番号は、あくまでも番号であり、レジストレーションを特定する情報である。レジストレーションの実体は、前述のように、当該レジスト番号と同じ番号の付与されたレジスト領域に記憶されている。
リズムシーケンスを構成する各リズムパターンは、図4(b)に示すように、複数の選択可能なリズムスタイルのうちのいずれかを示すリズムスタイル情報と、複数の選択可能なバリエーション(エフェクト)のいずれかを示すバリエーション情報によって表される。そして、各リズムパターンは、本実施の形態では、小節毎に1つ選択されるようにしたので、レジストレーションのように、小節情報、拍情報およびクロック情報からなる時間的位置情報を持っていない。つまり、リズムパターンがどの小節に設定されたものであるかは、そのリズムパターンが当該リズムシーケンスの先頭から何番目に位置するかによって検出する。ただし、レジストシーケンスと同様に、リズムシーケンス中、末尾のリズムパターンの後には、そのリズムパターンが当該リズムシーケンスに含まれるリズムパターンのうちの最後のものであることを示す終端記号(たとえば、“FF”)が記載される。なお、リズムスタイル情報およびバリエーション情報はともに、前記図4(a)のレジスト番号と同様に、それぞれリズムスタイルおよびバリエーションの各実体を示す情報である。そして、各実体は、たとえば前記ROM6あるいは前記外部記憶装置10の所定の記憶領域等の、他の場所に格納されている。
各レジストレーションは、一まとまりの楽器設定を記憶したものであり、その一まとまりの楽器設定には、図4(c)に示すように、音色設定データ、音量設定データ、効果設定データおよびその他設定データが含まれる。もちろん、一まとまりの楽器設定には常に、図示されているすべての種類のデータが含まれる訳ではなく、レジストレーションとして記憶する際の設定状態によって、一部種類のデータ(たとえば、音色設定データと音量設定データ)のみが含まれる場合があることは言うまでもない。
以上のように構成された電子鍵盤楽器が実行する制御処理を、まず図5を参照してその概要を説明し、次に図6〜図12を参照して詳細に説明する。
図5は、本実施の形態の電子鍵盤楽器が実行する制御処理を説明するための図であり、同図(a)は、ある1つの小節に異なる個数(個数が同じであれば、設定位置が異なっている)のレジストレーションが設定された場合のレジストレーションの表示方法を示し、同図(b)は、ある1つの小節に5個のレジストレーションが設定された状態で、カレントポジションを移動させたときのレジストレーションの表示方法を示している。
本実施の形態の電子鍵盤楽器は、1つのレジストシーケンスに、たとえば最大140個のレジストレーションを含ませることができるが、前記LCDとして小型の(表示領域の狭い)ものを採用していることから、小節毎に最大3個のレジストレーションしか表示しないようにしている。したがって、各小節に設定されたレジストレーションの個数および位置(小節内の位置)に従って、当該レジストレーションのレジスト番号を表示領域A,B,Cに、次のように表示している。すなわち、
レジストレーションの個数:小節内の位置(拍位置):ケース
0: 0: 0
3: *: 1
1: 1: 2
1: 4: 3
1: 2または3: 4
2: 1および4: 5
2:1および(2または3): 6
2:(2または3)および4: 7
4以上: *: 8
である。ただし、拍子は、4/4拍子を想定し、拍位置の整数値(1〜4のいずれか)は、1小節を4等分して得られた各時間領域であって、それぞれに順に1〜4の整数値を付与したものを示している。たとえば、レジストレーションの個数が“1”であって、拍位置が“1”であるとは、そのレジストレーションが小節の先頭から第1拍までの時間領域内に設定されていることを示している。また、拍位置の“*”は、1〜4のいずれでもよいこと、つまり、当該レジストレーションが小節内のどこに設定されていたとしても、ケース1あるいはケース8のように表示することを示している。さらに、ケース0〜8は、図5(a)のケース0〜8を示している。また、図5(a)の“R1”〜“R3”は、1〜16のレジストレーションのうち、設定されたいずれかのレジスト番号を示している。
図5(a)のケース8に示すように、1つの小節内に4個以上のレジストレーションが設定されたときには、レジスト番号の表示されないレジストレーションがあることが分かるように、省略記号(“…”)が表示される。そして、カレントポジションの移動に従って、省略記号の位置も移動する。図5(b)は、カレントポジションおよび省略記号の移動の様子を示している。なお、カレントポジションは、ソングデータを再生しているときには自動で、レジストシーケンスあるいはリズムシーケンスを編集しているときには手動で、移動する。後述するように、カレントポジションの移動の仕方は、自動と手動で異なるものの、カレントポジションが移動した後のレジストレーションの表示の仕方は、両者間で異ならないので、この概要の説明では、カレントポジションを手動で移動させる場合を例に挙げて、カレントポジションの移動に応じたレジストレーションの表示の推移を説明する。
図5(b)の5種類の表示のうち、先頭の表示では、当該小節に設定された、“R1”〜“R5”のレジストレーションのうち、最初の“R1”および“R2”のレジストレーションをそのレジスト番号で表示領域AおよびBに表示し、“R3”〜“R5”のレジストレーションを省略記号で表示領域Cに表示する。そして、カレントポジションが“R1”のレジストレーションに位置していることを、“R1”のハイライト表示(図示例では、斜線によってハイライト表示を示している)によって示している。この表示状態で、ユーザが、前記ポジションボタン群96中の“>”ボタン96cを1回タッチすると、カレントポジションは、次のレジストレーション、つまり“R2”のレジストレーションに移動する(図5(b)の2番目の表示)。このとき、ハイライト表示するレジスト番号のみが“R1”から“R2”に変化し、省略記号の位置は変化しない。さらにユーザが“>”ボタン96cを1回タッチすると、カレントポジションは、次のレジストレーション、つまり“R3”のレジストレーションに移動する。この“R3”のレジストレーションは、省略記号内に隠れていたものであり、その前後には、“R1”および“R2”のレジストレーションと“R4”および“R5”のレジストレーションが設定されているので、“R3”のレジストレーションを中央の表示領域Bにハイライト表示し、その前後の表示領域A,Cには、省略記号を表示する(図5(b)の3番目の表示)。さらにユーザが“>”ボタン96cを1回タッチすると、カレントポジションは、次のレジストレーション、つまり“R4”のレジストレーションに移動する。このとき、表示が済んでいない、残りのレジストレーションは、“R5”のレジストレーションだけなので、“R4”のレジストレーションを中央の表示領域Bにハイライト表示し、その後の表示領域Cに“R5”のレジストレーションを表示し、その前の表示領域Aに省略記号を表示する(図5(b)の4番目の表示)。さらにユーザが“>”ボタン96cを1回タッチすると、カレントポジションは、次のレジストレーション、つまり“R5”のレジストレーションに移動する。“R5”のレジストレーションは、当該小節に設定された最後のレジストレーションであるので、カレントポジションが移動したことを示す表示を行う、つまりハイライト表示を“R4”のレジストレーションから“R5”のレジストレーションに切り替える(図5(b)の最後の表示)。一方、ユーザが、“<”ボタン96bを操作することで、カレントポジションを、“>”ボタン96cを操作したときと逆の方向に移動させたときには、上述の表示を逆向きに辿ることになる。
このように、小型の表示器を採用したとしても、所定の時間単位(本実施の形態では、1小節)毎に、設定されているレジストレーションの、少なくとも一部のレジスト番号を表示するようにしたので、小型の表示器上に、曲の時間的位置に関連付けられたレジストシーケンスを、その関連付けられた時間的位置が分かるように表示することが可能となる。
また、時間単位毎に設けられた、所定の個数(本実施の形態では、3個)以内のレジスト番号を表示するための表示領域に、その個数を超えるレジストレーションが設定されたことによって、すべてのレジスト番号を表示できない場合には、上述した規則に従って省略記号を表示するようにしたので、ユーザは、当該時間単位には、レジストレーションが前記所定の個数を超えて設定されていることを知ることができる。
さらに、カレントポジションが位置するレジストレーションのレジスト番号を常に(つまり、省略記号が表示されているときにも)ハイライト表示するようにしたので、ユーザは、カレントポジションが位置するレジストレーションを一目で確認することができる。そして、ソングデータの自動再生に従って、レジストシーケンスに含まれる各レジストレーションを自動的に適用する場合には、カレントポジションの移動に従って、レジスト番号のハイライト表示も自動的に移動して行くので、ユーザは、適用されるレジストレーションが変化するタイミングが現在どの辺りにあるかを的確に把握することができ、この結果、曲の進行に従ってレジストレーションが次々に適用されて行く流れを俯瞰することができる。
次に、この制御処理を詳細に説明する。
図6は、本実施の形態の電子鍵盤楽器、特にCPU5が実行するメインルーチンの手順を示すフローチャートである。
本メインルーチンでは、CPU5は、主として、
(1)初期設定処理(ステップS1)
(2)演奏操作に応じた楽音生成処理(ステップS2)
(3)設定操作に応じた楽器設定変更処理(ステップS3)
(4)レジストレーション・メモリへの登録処理(ステップS4)
(5)ソングデータの再生/停止指示処理(ステップS5,S6)
(6)再生中処理(ステップS8)
(7)編集処理(ステップS9)
の各処理を行う。本メインルーチンは、パネル操作子2に含まれる電源スイッチ(図示せず)によって電源がオンされたときに起動される。起動後、前記(1)の初期設定処理が1回実行され、これに続いて、前記(2)〜(5)および(6)あるいは(7)の各処理が順次実行される。そして(6)あるいは(7)の処理が終了すると、(2)の処理に戻って、(2)〜(5)および(6)あるいは(7)の処理が、電源ボタンによって電源がオフされるまで、繰り返し実行される。
前記(1)の初期設定処理では、CPU5は、RAM6をクリアしたり、各種パラメータの値をデフォルト値に設定したりする等の初期設定を行う。各種パラメータの例としては、拍子やテンポ、音色などを挙げることができる。
ユーザが、たとえば前記鍵盤を押鍵することに応じて、検出回路3がその押鍵状態を検出すると、CPU5は、処理を前記(2)の楽音生成処理に進める。この(2)楽音生成処理では、CPU5は、検出された押鍵状態に対応する演奏データ(演奏イベント)を生成して、前記音源回路13に供給する。音源回路13に供給された演奏データは、音源回路13、効果回路14およびサウンドシステム15によって楽音に変換される。なお、本実施の形態の電子鍵盤楽器は、前記リズムシーケンスを含むソングデータを自動再生することができるように構成されているので、ユーザは、鍵盤を用いて、リズムシーケンスの自動再生に合わせた演奏を行うことができる。
ユーザが前記パネル操作子2を操作して、現在の楽器設定の変更を指示すると、CPU5は、処理を前記(3)の楽器設定変更処理に進める。この(3)楽器設定変更処理では、CPU5は、ユーザがパネル操作子2を用いて行った設定操作に従って、現在の楽器設定を変更する。
そして、前記図2を用いて説明したように、ユーザが前記レジストレーション・メモリ・ボタン2aのMボタン2a2を押しながら、番号ボタン2a1のいずれかを押すと、CPU5は、処理を前記(4)のレジストレーション・メモリへの登録処理に進める。この(4)レジストレーション・メモリへの登録処理では、CPU5は、現在の一まとまりの楽器設定を、前記RAM7上に構成されたレジストレーション・メモリ中、押された番号ボタン2a1に対応するレジスト領域に記憶する。
次に、ユーザが、たとえばパネル操作子2に含まれる再生スイッチ/停止スイッチ(ともに図示せず)を操作すると、CPU5は、処理を前記(5)のソングデータの再生/停止指示処理に進める。この(5)ソングデータの再生/停止指示処理では、ソングデータが自動再生されていない状態で、ユーザが再生スイッチを押下すると、CPU5は、ソングデータが自動再生中であることを“1”で示し、それ以外であることを“0”で示す再生中フラグをセット(“1”)する一方、ソングデータが自動再生されている状態で、ユーザが停止スイッチを押下すると、CPU5は、再生中フラグをリセット(“0”)する(ステップS5)。そして、再生中フラグがリセット状態(“0”)からセット状態(“1”)に切り替わると、CPU5は、ソングデータの読み出し位置を示すカレントポジション(具体的には、RAM7上の所定領域上に構成したソフトウェアポインタ)を先頭に合わせた(ステップS6)後、再生中フラグの値が“1”のときには、処理を前記(6)の再生中処理に進める(ステップS7→S8)一方、再生中フラグの値が“0”のときには、処理を前記(7)の編集処理に進める(ステップS7→S9)。
図7は、前記(6)の再生中処理の詳細な手順を示すフローチャートである。
本再生中処理では、CPU5は、主として、
(11)カレントポジション進行処理(ステップS11)
(12)ソングデータのパート再生処理(ステップS12)
(13)リズムパターン切り替え処理(ステップS13,S14)
(14)リズム音生成処理(ステップS15)
(15)レジストレーション適用処理(ステップS16,S17)
(16)表示更新処理(ステップS18)
(17)ハイライト表示処理(ステップS19)
の各処理を行う。
前記(11)のカレントポジション進行処理では、CPU5は、前記タイマ8を利用し、現在のテンポ設定に応じて、カレントポジションを進行させる。カレントポジションは、本実施の形態では、クロック単位で進行する(前記図3(a)のカレントポジション表示領域93を参照)ので、タイマ8がクロックの周期(=60×1000/テンポ/タイムベース(msec))を計時する度にCPU5は、カレントポジションを“1”ずつ進行させる。なお、タイムベースは、4分音符長のクロック数を示している。
前記(12)のソングデータのパート再生処理では、CPU5は、設定に応じて、再生対象となっているソングデータのパートを再生する。本実施の形態の電子鍵盤楽器は、ソングデータのすべてのパートのうちの一部パートを抜き出して再生できるように構成されており、ユーザは、再生したいパートを選択設定できるようになっている。
前記(13)のリズムパターン切り替え処理では、CPU5は、カレントポジションが進行したことで、現在再生中のリズムパターン(再生対象となっているリズムシーケンスに含まれるリズムパターンのいずれか)を次のリズムパターンに切り替える必要があれば、そのリズムパターンに再生対象を切り替える(ステップS13→S14)。リズムシーケンスは、前記図4(b)を用いて説明したように、リズムスタイル情報とバリエーション情報の組が複数組集まったものである。そして、リズムスタイル情報およびバリエーション情報はそれぞれ、リズムスタイルおよびバリエーションを特定する情報であり、リズムスタイルおよびバリエーションそのものではないので、当該リズムパターンを再生するには、対応するリズムスタイルおよびバリエーションを各格納場所から読み出す必要がある。本実施の形態では、前記RAM7の所定位置に再生対象リズムパターン格納領域(図示せず)を確保し、この再生対象リズムパターン格納領域に、再生対象となるリズムパターン(リズムスタイルおよびバリエーション)を格納するようにしている。つまり、前記ステップS14の処理では、切り替え対象(再生対象)となるリズムパターン(リズムスタイルおよびバリエーション)をその格納場所から読み出して、再生対象リズムパターン格納領域に格納する処理を行っている。
前記(14)のリズム音生成処理では、CPU5は、再生対象リズムパターン格納領域に格納されているリズムパターン中、カレントポジションが示すイベントを読み出し、そのイベントに応じたパラメータを前記音源回路13および効果回路14に設定することで、リズム音を生成する。カレントポジションの値によっては、指示するイベントがない場合もあるが、この場合には、CPU5は何もしないで、処理を次のステップに進ませることは言うまでもない。
前記(15)のレジストレーション適用処理では、CPU5は、カレントポジションが進行したことで、現在適用中のレジストレーション(再生対象となっているレジストシーケンスに含まれるレジストレーションのいずれか)を次のレジストレーションに切り替える必要があれば、切り替えるべきレジストレーションのレジスト番号が付与されたレジスト領域から、そこに記憶されている一まとまりの楽器設定を取得して(読み出して)、音源回路13等に適用する(ステップS16→S17)。
前記(16)の表示更新処理では、CPU5は、カレントポジションに応じて表示を更新する。この(16)表示更新処理では、前記図3(a)のレジストシーケンス編集画面中、入力済みデータ表示領域91の表示に対する更新処理のみを行い、他の表示領域の表示に対する更新処理を行っていない。これは、本発明の特徴が入力済みデータ表示領域91の表示に対する更新の仕方にあるからである。したがって、実際には、他の表示領域の表示に対する更新処理も、本表示更新処理内あるいは別の表示更新処理内で行われている。なお、入力済みデータ表示領域91は、図3(a)を用いて説明したように、レジストシーケンス編集画面中の一部領域であって、リズムシーケンスの再生時に表示される画面(以下、「再生時画面」と言う)中の一部領域ではないが、再生時画面でも、入力済みデータ表示領域91と同じ表示領域が同じ位置に表示されるものとする。また、この(16)表示更新処理の詳細については、図9〜図12を用いて後述する。
前記(17)のハイライト表示処理では、CPU5は、上記(16)表示更新処理によって更新後の表示中、カレントポジションに相当するリズムパターン(の名称)およびレジストレーション(のレジスト番号)をハイライト表示する。
図9は、前記(16)の表示更新処理の詳細な手順を示すフローチャートである。
本表示更新処理では、CPU5は、主として、
(21)表示範囲決定処理(ステップS41)
(22)リズムパターン表示処理(ステップS43)
(23)小節内のレジストレーションの設定数が0個の場合の表示処理(ステップS45)
(24)小節内のレジストレーションの設定数が1個の場合の表示処理(ステップS46)
(25)小節内のレジストレーションの設定数が2個の場合の表示処理(ステップS47)
(26)小節内のレジストレーションの設定数が3個の場合の表示処理(ステップS48)
(27)小節内のレジストレーションの設定数が4個以上の場合の表示処理(ステップS49)
の各処理を行う。
前記(21)の表示範囲決定処理では、CPU5は、カレントポジションから表示すべき範囲を決定する。本実施の形態では、リズムシーケンスとレジストシーケンスは、連続して7小節分表示するようにしている(前記図3(a)中の入力済みデータ表示領域91を参照)ので、本表示範囲決定処理では、表示すべき範囲として、カレントポジションが位置する小節を含む7小節を決定する。その決定方法は、本発明の特徴ではないので、どのようなものを採用してもよいが、たとえば、再生対象のソングデータを先頭から7小節毎に分割し、分割された各7小節のうち、カレントポジションが位置する小節を含むいずれかの7小節を、表示すべき範囲として決定する方法を挙げることができる。
このようにして表示すべき7小節が決定されると、CPU5は、その7小節を構成する各小節毎に、当該小節に設定されたリズムパターンの名称とレジストシーケンスの番号を、再生時画面中の対応する領域に表示する。CPU5は、まずその7小節中、最も若い番号の小節を表示対象に決定し(ステップS42)、次に表示対象の小節の小節番号と再生対象のリズムシーケンスに含まれる各リズムパターンの小節番号とを比較することで、両小節番号が一致するリズムパターンを取得し、その名称を、再生時画面中の対応する領域に表示する(ステップS43)。そしてCPU5は、表示対象小節に設定されているレジストレーションの個数に応じて、処理を前記(23)〜(27)の処理のうちのいずれかに振り分ける(ステップS44)。
前記(23)の表示処理は、表示対象小節に設定されているレジストレーションがない(“0”)場合の表示処理であり、前記図5(a)のケース0の表示を行うものである。つまり、この(23)の表示処理では、CPU5は、表示領域A,B,Cをすべてクリアし、何も表示しない。
前記(26)の表示処理は、表示対象小節に設定されているレジストレーションが3個の場合の表示処理であり、図5(a)のケース1の表示を行うものである。つまり、この(26)の表示処理では、CPU5は、再生対象のレジストシーケンスから、当該3個のレジストレーションに対応する各レジスト番号を読み出し、表示領域A,B,Cのそれぞれに表示させる。
前記(24)の表示処理は、表示対象小節に設定されているレジストレーションが1個の場合の表示処理であり、図5(a)のケース2〜4の表示を行うものである。図10は、この(24)の表示処理の詳細な手順を示すフローチャートであり、この(24)の表示処理では、CPU5は、レジストレーションの設定位置に従って、ケース2〜4のいずれかの表示を行う。具体的には、レジストレーションの設定位置が1拍目の範囲内にあれば、表示領域Aに当該レジストレーションのレジスト番号を表示させるとともに、表示領域B,Cをクリアし(ケース2の表示)(ステップS61→S62)、レジストレーションの設定位置が最後の拍(本実施の形態では、4拍目)の範囲内にあれば、表示領域Cに当該レジストレーションのレジスト番号を表示させるとともに、表示領域A,Bをクリアし(ケース3の表示)(ステップS61→S63→S64)、レジストレーションの設定位置がそれ以外(本実施の形態では、2拍目または3拍目)の範囲内にあれば、表示領域Bに当該レジストレーションのレジスト番号を表示させるとともに、表示領域A,Cをクリアする(ケース4の表示)(ステップS61→S63→S65)。
前記(25)の表示処理は、表示対象小節に設定されているレジストレーションが2個の場合の表示処理であり、図5(a)のケース5〜7の表示を行うものである。図11は、この(25)の表示処理の詳細な手順を示すフローチャートであり、この(25)の表示処理では、CPU5は、先行のレジストレーションと後行のレジストレーションの各設定位置に従って、ケース5〜7のいずれかの表示を行う。具体的には、先行のレジストレーションの設定位置が1拍目の範囲内&(かつ)後行のレジストレーションの設定値が最後の拍の範囲内にあれば、表示領域Aに先行のレジストレーションのレジスト番号を表示させた(ステップS71→S72)後、表示領域Cに後続のレジストレーションのレジスト番号を表示させるとともに、表示領域Bをクリアする(ステップS73→S74)。これにより、ケース5の表示がなされる。また、先行のレジストレーションの設定位置が1拍目の範囲内&後行のレジストレーションの設定値が最後の拍の範囲外にあれば、表示領域Aに先行のレジストレーションのレジスト番号を表示させた(ステップS71→S72)後、表示領域Bに後続のレジストレーションのレジスト番号を表示させるとともに、表示領域Cをクリアする(ステップS73→S75)。これにより、ケース6の表示がなされる。さらに、先行のレジストレーションの設定位置が1拍目の範囲外にあれば、表示領域Aをクリアした後、表示領域Bに先行のレジストレーションのレジスト番号を表示させるとともに、表示領域Cに後続のレジストレーションのレジスト番号を表示させる(ステップS71→S76)。これにより、ケース7の表示がなされる。
前記(27)の表示処理は、表示対象小節に設定されているレジストレーションが4個以上の場合の表示処理であり、図5(a)のケース8の表示を行うものである。図12は、この(27)の表示処理の詳細な手順を示すフローチャートであり、この(27)の表示処理では、CPU5は、カレントポジションが示す位置に従って、前記図5(b)の3種類の表示のいずれかを行う。なお、図5(b)では、レジスト番号の表示に加えて、ハイライト表示も行っているので、5種類の表示が示されている。しかし、ハイライト表示は、前述のように、本表示更新処理が終了した後、つまり、この(27)の表示処理が終了した後になされるので、この(27)の表示処理では、図5(b)の表示からハイライト表示を削除した表示がなされる。したがって、この(27)の表示処理では、図5(b)の表示中、1番目と2番目の表示は同じであり、4番目と5番目の表示も同じである。カレントポジションが表示対象小節外または3番目のレジストレーションの設定位置(時間的位置)より前を指しているときには、表示領域Aに1番目のレジストレーションのレジスト番号を表示させ、表示領域Bに2番目のレジストレーションのレジスト番号を表示させ、表示領域Cに省略記号“…”を表示させる(ステップS81→S82またはステップS81→S83→S82)。これにより、図5(b)の1番目の表示がなされる。また、カレントポジションが最後から2番目のレジストレーションの設定位置(時間的位置)より前を指しているときには、表示領域Aに省略記号“…”を表示させ、表示領域Bに最後から2番目のレジストレーションのレジスト番号を表示させ、表示領域Cに最後のレジストレーションのレジスト番号を表示させる(ステップS81→S83→S84→S85)。これにより、図5(b)の4番目の表示がなされる。さらに、カレントポジションが上記位置以外を指しているときには、表示領域AおよびCに省略記号“…”を表示させ、表示領域Bにカレントポジションに相当するレジストレーションのレジスト番号を表示させる(ステップS81→S83→S84→S86)。これにより、図5(b)の3番目の表示がなされる。
図9に戻り、以上説明した(22)の処理および(23)〜(27)のいずれかの処理を、表示対象小節を“1”ずつ増加させながら、前記(21)の処理によって決定された表示範囲に含まれる最後の小節まで繰り返す(ステップS50)。
図8は、前記(7)の編集処理の詳細な手順を示すフローチャートである。
本編集処理では、CPU5は、主として、
(31)編集対象切替処理(ステップS21)
(32)レジストシーケンス編集処理(ステップS23,S24)
(33)リズムシーケンス編集処理(ステップS27,S28)
(34)表示更新処理(ステップS25)
(35)ハイライト表示処理(ステップS26)
の各処理を行う。
前記(31)の編集対象切替処理では、ユーザが前記図3(a)のレジストシーケンス編集画面に表示されたリズムボタンをタッチすると、CPU5は、動作モードをレジストシーケンス編集モードからリズムシーケンス編集モードへ移行させ、これに応じて、前記図3(b)のリズムシーケンス編集画面を表示させるとともに、編集対象をレジストシーケンスからリズムシーケンスに切り替える一方、ユーザが図3(b)のリズムシーケンス編集画面に表示されたレジストボタンをタッチすると、CPU5は、動作モードをリズムシーケンス編集モードからレジストシーケンス編集モードへ移行させ、これに応じて、図3(a)のレジストシーケンス編集画面を表示させるとともに、編集対象をリズムシーケンスからレジストシーケンスに切り替える。
そして、編集対象がレジストシーケンスのときには、CPU5は、処理を前記(32)のレジストシーケンス編集処理に進める(ステップS22→S23)一方、編集対象がリズムシーケンスのときには、CPU5は、処理を前記(33)のリズムシーケンス編集処理に進める(ステップS22→S27)。前記(32)のレジストシーケンス編集処理では、CPU5は、ユーザのポジション変更操作に応じて、カレントポジションを所定の単位で前後に変更し(ステップS23)、ユーザの設定操作に応じて、レジストシーケンスのカレントポジションに、レジスト設定を追加/削除する(ステップS24)。一方、
前記(33)のリズムシーケンス編集処理では、CPU5は、ユーザのポジション変更操作に応じて、カレントポジションを小節単位で前後に変更し(ステップS27)、ユーザの設定操作に応じて、リズムシーケンスのカレントポジションに、リズム設定を追加/削除する(ステップS28)。
前記(34)の表示更新処理は、前記(16)の表示更新処理と同様であるので、その説明は省略する。
前記(35)のハイライト表示処理では、CPU5は、編集対象に応じて、上記(34)表示更新処理によって更新後の表示中、カレントポジションに相当するリズムパターン(の名称)/(または)レジストレーション(のレジスト番号)をハイライト表示する。つまり、編集対象がリズムシーケンスのときには、更新後の表示中、カレントポジションに相当するリズムパターンの名称がハイライト表示される(前記図3(b)参照)一方、編集対象がレジストシーケンスのときには、更新後の表示中、カレントポジションに相当するレジストレーションのレジスト番号がハイライト表示される(前記図3(a)参照)。前記図7の再生中処理の(17)ハイライト表示処理では、カレントポジションに相当するリズムパターンの名称およびレジストレーションのレジスト番号の両方がハイライト表示される。
なお、本実施の形態では、表示対象として、複数のレジストレーション(一まとまりの楽器設定)からなるレジストシーケンスを例に挙げて説明したが、曲の時間的位置に関連付けられた設定の列であれば、これに限られない。
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。