説明

自動演奏装置およびプログラム

【課題】ユーザ所望の音楽的修飾が施された伴奏パターンを作成する自動演奏装置を実現する。
【解決手段】RAM14の録音エリアREは、演奏操作で生じるイベントを所定時間分記録可能なトラックに相当するレイヤLYを複数備える。CPU12は、録音スイッチが押下されていなければ、録音エリアREの複数のレイヤエリアの中でイベント記録済みのレイヤLYについて繰り返し再生し、この繰り返し再生中に録音スイッチRECが押下されると、レイヤ変更スイッチの操作で新たに指定されるレイヤLYに、演奏操作に応じて生成されるイベントを記録する。したがって先に記録した演奏(イベント再生)を聴きつつ行われる演奏に応じて生成されるイベントを新たなレイヤLYに記録する、所謂多重録音となる為、即興的な試行錯誤を繰り返してユーザ所望の音楽的修飾が施された伴奏パターンを作り上げることが出来る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演奏された伴奏パターンを記録再生する自動演奏装置およびプログラムに関する。
【背景技術】
【0002】
ユーザの演奏操作に応じて生成される演奏データを、伴奏パターンとしてメモリに登録しておき、ユーザの再生指示に従ってそのメモリ登録された伴奏パターンを再生する機能を備えた自動演奏装置が知られている。この種の装置として、例えば特許文献1には、再生エリアに記憶されている伴奏パターンを再生中に、ユーザの演奏操作に応じて生成される演奏データを伴奏パターンとして記憶する指示が発生すると、その伴奏パターンを録音エリアに記憶すると共に、記憶した録音エリアを再生エリアに結合し、現在再生中の伴奏パターンを再生し終えたら、結合された録音エリアの伴奏パターンを再生する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4117596号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記特許文献1に開示の技術は、例えば「イントロパターン」から「エンディングパターン」に至る一連の音楽的な繋がりや演奏上の乗りが寸断されることなくイメージした通りの伴奏パターンを作成するのに好適であるものの、先に作成された伴奏パターンを聴きながら、それを補う新たな伴奏パターンを作成するといった即興的な試行錯誤を繰り返してユーザ所望の音楽的修飾が施された伴奏パターンを作り上げることが出来ない、という問題がある。
【0005】
本発明は、このような事情に鑑みてなされたもので、即興的な試行錯誤を繰り返してユーザ所望の音楽的修飾が施された伴奏パターンを作り上げることができる自動演奏装置およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
上記目的を達成するため、請求項1に記載の発明では、演奏操作に応じて生成されるイベントを所定時間分記録可能なトラックに相当するレイヤを複数備える記憶手段と、前記記憶手段が備える複数のレイヤの何れかを指定するレイヤ指定手段と、操作子の操作中は記録の実行を指示し、その操作が解除されると記録の停止を指示する指示手段と、前記指示手段によって記録の停止が指示された場合に、前記記憶手段が備える複数のレイヤの内、イベント記録されたレイヤを繰り返し再生する再生手段と、前記再生手段がイベント記録されたレイヤを繰り返し再生中に、前記指示手段により記録の実行が指示された場合、前記レイヤ指定手段により指定されたレイヤに、演奏操作に応じて生成されるイベントを記録する記録手段とを具備することを特徴とする。
【0007】
上記請求項1に従属する請求項2に記載の発明では、予め定められた音域中の特定音高を指定する演奏操作が行われた場合に、当該特定音高に応じて、前記再生手段により再生されるイベントについて音高変換を施す音高変換手段を更に備え、前記記録手段は、前記音高変換手段によって音高変換されたイベントを、前記レイヤ指定手段により指定されたレイヤに記録することを特徴とする。
【0008】
上記請求項1に従属する請求項3に記載の発明では、再生するタイミングを変更する変更手段を更に備え、前記再生手段は、前記指示手段によって記録の停止が指示された場合に、前記変更手段により変更されたタイミングに従い、前記記憶手段が備える複数のレイヤの内、イベント記録されたレイヤを繰り返し再生することを特徴とする。
【0009】
請求項4に記載の発明では、コンピュータに、演奏操作に応じて生成されるイベントを所定時間分記録可能なトラックにそれぞれ相当する複数のレイヤの何れかを指定するレイヤ指定ステップと、操作子の操作中は記録の実行を指示し、その操作が解除されると記録の停止を指示する指示ステップと、前記指示ステップによって記録の停止が指示された場合に、前記複数のレイヤの中でイベント記録されたレイヤを繰り返し再生する再生ステップと、前記再生ステップによってイベント記録されたレイヤが繰り返し再生されている時に、前記指示ステップにより記録の実行が指示された場合、前記レイヤ指定ステップで指定されたレイヤに、演奏操作に応じて生成されるイベントを記録する記録ステップとを実行させることを特徴とする。
【発明の効果】
【0010】
本発明では、即興的な試行錯誤を繰り返してユーザ所望の音楽的修飾が施された伴奏パターンを作り上げることができる。
【図面の簡単な説明】
【0011】
【図1】実施の一形態による自動演奏装置100の構成を示すブロック図である。
【図2】スイッチ部11に設けられるレイヤ変更スイッチLCU,LCD、レイヤタイミング変更スイッチTCR,TCFおよび録音スイッチRECを示す図である。
【図3】RAM14の記憶エリアの構成を示すメモリマップである。
【図4】メインルーチンの動作を示すフローチャートである。
【図5】スイッチ処理の動作を示すフローチャートである。
【図6】再生処理の動作を示すフローチャートである。
【図7】鍵盤処理の動作を示すフローチャートである。
【図8】録音処理の動作を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施形態について説明する。
A.構成
図1は、本発明の実施の一形態による自動演奏装置100の全体構成を示すブロック図である。この図において、鍵盤10は演奏操作(押離鍵操作)に応じたキーオン/キーオフ信号、鍵番号およびベロシティ等の演奏情報を発生する。スイッチ部11は、装置パネルに配設される各種操作スイッチを有し、操作されたスイッチ種に対応したスイッチイベントを発生する。
【0013】
本発明の要旨に係わる具体的なスイッチとして、スイッチ部11には、図2に図示するように、レイヤエリア番号(後述する)をインクリメントするレイヤ変更スイッチLCU、レイヤエリア番号をデクリメントするレイヤ変更スイッチLCD、レイヤタイミング番号(後述する)を戻すレイヤタイミング変更スイッチTCR、レイヤタイミング番号を進めるレイヤタイミング変更スイッチTCFおよび録音スイッチRECが設けられる。これらスイッチが意図するところについては追って述べる。
【0014】
CPU12は、スイッチ部11が発生するスイッチイベントに応じて装置各部を制御する。本発明の要旨に係わるCPU12の特徴的な処理動作については追って詳述する。ROM13には、CPU12にロードされる各種プログラムデータが記憶される。ここで言う各種プログラムとは、後述するメインルーチン、スイッチ処理、再生処理、鍵盤処理および録音処理を含む。
【0015】
RAM14は、図3に図示するように、ワークエリアWE、イベントバッファEBおよび録音エリアREを備える。RAM14のワークエリアWEには、CPU12の処理に用いられる各種レジスタ・フラグデータが一時記憶される。RAM14のイベントバッファEBには、演奏操作(押離鍵操作)に応じて鍵盤10が発生する演奏情報(キーオン/キーオフ信号、鍵番号およびベロシティ等)に基づきCPU12が生成するノートオン/ノートオフイベントが一時記憶される。
【0016】
RAM14の録音エリアREには、演奏操作に応じて生成されるイベントを所定時間分記録可能なトラックに相当する複数のレイヤLY(0)〜LY(n)が設けられる。録音時には、これらレイヤLY(0)〜LY(n)の内、上述のレイヤ変更スイッチLCU、LCDの操作により設定されるレイヤエリア番号aで指定されるレイヤLY(a)に、上記イベントバッファEBから読み出されるイベントが記録される。再生時には、レイヤLY(0)〜LY(n)の中でイベント記録がなされたレイヤLYについて並列的に繰り返し読み出される。
【0017】
表示部15は、CPU12から供給される表示制御信号に応じて、装置の動作状態や設定状態などを画面表示する。音源16は、周知の波形メモリ読み出し方式によって構成され、時分割動作する複数の発音チャンネルを備える。この音源16は、各種音色の波形データを記憶しており、これらの内、CPU12から供給されるイベントに応じた波形データを読み出して楽音出力を発生する。サウンドシステム17は、音源16の楽音出力をアナログ形式の楽音信号に変換した後、その楽音信号から不要ノイズを除去する等のフィルタリングを施してからレベル増幅してスピーカより発音させる。
【0018】
B.動作
次に、図4〜図8を参照して上記構成による自動演奏装置100の動作を説明する。以下では、CPU12が実行するメインルーチン、スイッチ処理、再生処理、鍵盤処理および録音処理の各動作について述べる。
【0019】
(1)メインルーチンの動作
装置電源がパワーオンされると、CPU12は図4に図示するメインルーチンを実行してステップSA1に進み、RAM14のワークエリアWEに設けられる各種レジスタやフラグ類をリセットしたり、イベントバッファEBをゼロクリアしたりする他、音源16に対して各種レジスタ・フラグを初期化するよう指示するイニシャライズを実行する。イニシャライズが完了すると、CPU12は次のステップSA2に進み、スイッチ処理を実行する。
【0020】
スイッチ処理では、後述するように、レイヤ変更スイッチLCU(LCD)のオン操作に応じてレイヤエリア番号aを設定したり、レイヤタイミング変更スイッチTCR(TCF)のオン操作に応じてレイヤタイミング番号bを設定する他、録音スイッチRECが押下されてオン状態になると、フラグWFを「1」にセットして録音動作に遷移させ、録音用の書き込みクロックWTをゼロリセットすると共に、レイヤ変更スイッチLCU(LCD)により設定されたレイヤエリア番号aで指定されるレイヤLY(a)とイベントバッファEBとをそれぞれクリアする。
【0021】
そして、録音スイッチRECの押下が離されてオフ状態になると、フラグWFをゼロリセットすると共に、フラグRFを「1」にセットして再生動作に遷移させ、再生用の読み出しクロックRTをゼロリセットすると共に、レイヤタイミング変更スイッチTCR(TCF)のオン操作で設定されるレイヤタイミング番号bに対応した小節時間長分、読み出しクロックRTを進めたり遅らせたりする。
【0022】
次いで、ステップSA3では、再生処理を実行する。再生処理では、後述するように、再生動作中(フラグRFが「1」)であると、最小単位時間(ティック)が経過する毎に再生用の読み出しクロックRTを歩進させ、歩進させた読み出しクロックRTが最大値を超えていなければ、読み出しクロックRTに対応するアドレスに基づき全てのレイヤLY(0)〜LY(n)について読み出しを行い、読み出すべきイベントが有ると、当該イベントに含まれる音高を、レジスタKEYにストアされた押鍵番号に応じて音高変換を施し、音高変換されたイベントをRAM14のイベントバッファEBにストアすると共に、音源16に供給して音高変換された楽音を再生する。そして、歩進させた読み出しクロックRTが最大値を超えると、読み出しクロックRTをゼロリセットすることにより、各レイヤLY(0)〜LY(n)のイベントを繰り返し再生する。
【0023】
続いて、ステップSA4では、鍵盤処理を実行する。鍵盤処理では、後述するように、伴奏鍵域外での演奏操作(押離鍵操作)に応じたノートオン/ノートオフイベントを作成してRAM14のイベントバッファEBにストアすると共に、作成したノートオン/ノートオフイベントを音源16に供給して押離鍵された鍵の音高の楽音を発音/消音させ、伴奏鍵域で押鍵された場合には、押鍵番号をレジスタKEYにストアする。
【0024】
そして、ステップSA5では、録音処理を実行する。録音処理では、後述するように、フラグWFが「1」の録音動作中であると、イベントバッファEBのイベントの有無を判断し、イベントが有れば、録音エリアRE中のレイヤLY(a)において、書き込みクロックWTに対応するアドレスに、イベントバッファEB中のイベントをストアした後、当該イベントバッファEBをクリアする。
【0025】
この後、ステップSA6に進み、例えばRAM14の録音エリアREを形成するレイヤLY(0)〜LY(n)の内、どのレイヤエリアが録音済みであるかを表示部15に画面表示する等の、その他の処理を実行する。以後、装置電源がパワーオフされる迄、上述したステップSA2〜SA6を繰り返し実行する。
【0026】
(2)スイッチ処理の動作
次に、図5を参照してスイッチ処理の動作を説明する。上述したメインルーチンのステップSA2(図4参照)を介して本処理が実行されると、CPU12は図5に図示するステップSB1に進み、レイヤ変更スイッチLCU(LCD)がオン操作されたか否かを判断する。レイヤエリア番号をインクリメント(又はデクリメント)するレイヤ変更スイッチLCU(LCD)がオン操作されると、判断結果は「YES」になり、ステップSB2に進み、レイヤ変更スイッチLCU(LCD)のオン操作に応じてレイヤエリア番号aを設定して本処理を終える。
【0027】
一方、レイヤ変更スイッチLCU(LCD)がオン操作されなければ、上記ステップSB1の判断結果は「NO」となり、ステップSB3に進み、レイヤタイミング変更スイッチTCR(TCF)のオン操作の有無を判断する。レイヤタイミング番号を戻す(又は進める)レイヤタイミング変更スイッチTCR(TCF)がオン操作されると、判断結果は「YES」になり、ステップSB4に進み、レイヤタイミング変更スイッチTCR(TCF)のオン操作に応じてレイヤタイミング番号bを設定して本処理を終える。
【0028】
これに対し、レイヤタイミング変更スイッチTCR(TCF)がオン操作されなければ、上記ステップSB3の判断結果は「NO」になり、ステップSB5に進む。ステップSB5では、録音スイッチRECがオン状態であるか否かを判断する。録音スイッチRECは、押下されてオン状態となり、その押下を離す押下解除がなされるとオフ状態となる。以下、録音スイッチRECがオン状態の場合と、オフ状態の場合とに分けて動作を説明する。
【0029】
<録音スイッチRECがオン状態の場合>
押下されて録音スイッチRECがオン状態になると、上記ステップSB5の判断結果は「YES」となり、ステップSB6に進み、フラグWFが「0」であるか否かを判断する。フラグWFは、録音動作中に「1」、録音動作中でなければ「0」となるフラグである。したがって、ステップSB6では、録音動作中でないかどうかを判断する。録音動作中(フラグWFが「1」)ならば、判断結果は「NO」となり、本処理を終えるが、録音動作中でなければ(フラグWFが「0」)、上記ステップSB6の判断結果は「YES」となり、ステップSB7に進み、フラグWFを「1」にセットして録音動作に遷移する。
【0030】
そして、ステップSB8では、録音用の書き込みクロックWTをゼロリセットする。なお、書き込みクロックWTとは、図示されていないタイマインタラプトにより最小単位時間(ティック)経過毎に歩進される時間値である。続いて、ステップSB9に進むと、RAM14の録音エリアREにおいて、上述したレイヤ変更スイッチLCU(LCD)の操作により設定されるレイヤエリア番号aで指定されるレイヤLY(a)をクリアすると共に、RAM14のイベントバッファEBをクリアして本処理を終える。
【0031】
<録音スイッチRECがオフ状態の場合>
押下が離されて録音スイッチRECがオフ状態になると、上記ステップSB5の判断結果は「NO」となり、ステップSB10に進み、録音動作中(フラグWFが「1」)であるか否かを判断する。録音動作中でなければ(フラグWFが「0」)、判断結果は「NO」となり、本処理を終えるが、録音動作中であると、判断結果が「YES」になり、ステップSB11に進み、フラグWFをゼロリセットすると共に、フラグRFを「1」にセットする。なお、フラグRFは、再生動作中に「1」、再生動作中でなければ「0」となるフラグである。したがって、ステップSB10〜SB11では、録音スイッチRECの押下が離されると、再生動作に遷移させる。
【0032】
そして、ステップSB12では、再生用の読み出しクロックRTをゼロリセットする。読み出しクロックRTとは、図示されていないタイマインタラプトにより最小単位時間(ティック)経過毎に歩進される時間値である。次いで、ステップSB13では、レイヤタイミング変更スイッチTCR(TCF)のオン操作で設定されるレイヤタイミング番号bに、小節時間(1小節長の時間値)を乗算し、その結果を読み出しクロックRTに加算して本処理を終える。
【0033】
なお、レイヤタイミング変更スイッチTCRのオン操作に応じて設定されるレイヤタイミング番号bの符号は負(−)となり、レイヤタイミング変更スイッチTCFのオン操作に応じて設定されるレイヤタイミング番号bの符号は正(+)となる。従って、上記ステップSB13では、レイヤタイミング番号bに対応した小節時間長分、読み出しクロックRTを進めたり遅らせたりする。
【0034】
このように、スイッチ処理では、レイヤ変更スイッチLCU(LCD)のオン操作に応じてレイヤエリア番号aを設定したり、レイヤタイミング変更スイッチTCR(TCF)のオン操作に応じてレイヤタイミング番号bを設定する他、録音スイッチRECが押下されてオン状態になると、フラグWFを「1」にセットして録音動作に遷移させ、録音用の書き込みクロックWTをゼロリセットすると共に、レイヤ変更スイッチLCU(LCD)のオン操作に応じて設定されるレイヤエリア番号aによって指定されるレイヤLY(a)とイベントバッファEBとをそれぞれクリアする。
【0035】
そして、録音スイッチRECの押下が離されてオフ状態になると、フラグWFをゼロリセットすると共に、フラグRFを「1」にセットして再生動作に遷移させ、再生用の読み出しクロックRTをゼロリセットすると共に、レイヤタイミング変更スイッチTCR(TCF)のオン操作で設定されるレイヤタイミング番号bに対応した小節時間長分、読み出しクロックRTを進めたり遅らせたりする。
【0036】
(3)再生処理の動作
次に、図6を参照して再生処理の動作を説明する。前述したメインルーチンのステップSA3(図4参照)を介して本処理が実行されると、CPU12は図6に図示するステップSC1に進み、再生動作中(フラグRFが「1」)であるか否かを判断する。再生動作中でなければ、判断結果は「NO」になり、本処理を終える。
【0037】
一方、再生動作中ならば、上記ステップSC1の判断結果は「YES」になり、ステップSC2に進み、最小単位時間(ティック)が経過したか否かを判断する。図示されていないタイマインタラプトにより最小単位時間(ティック)の経過が計時されていなければ、判断結果は「NO」となり、本処理を一旦終わらせるが、最小単位時間(ティック)の経過が計時されると、判断結果は「YES」になり、ステップSC3に進み、再生用の読み出しクロックRTをインクリメントして歩進させる。
【0038】
次いで、ステップSC4では、歩進された読み出しクロックRTが「0」より小さいか否かを判断する。例えば、上述したレイヤタイミング変更スイッチTCR(TCF)の操作で設定されるレイヤタイミング番号bに対応した小節時間長分、読み出しクロックRTを遅らせ、これにより歩進された読み出しクロックRTが「0」より小さい場合であれば、判断結果は「NO」になり、一旦本処理を終える。
【0039】
これに対し、歩進された読み出しクロックRTが「0」以上ならば、上記ステップSC4の判断結果は「YES」となり、ステップSC5に進み、歩進された読み出しクロックRTが最大値を超えたか否かを判断する。読み出しクロックRTが最大値を超えていなければ、判断結果は「NO」となり、後述のステップSC7に進む。読み出しクロックRTが最大値を超えたならば、上記ステップSC5の判断結果は「YES」となり、ステップSC6に進み、読み出しクロックRTをゼロリセットする。つまり、最大値を超えたら読み出しクロックRTをゼロリセットすることで繰り返し再生が行われる。
【0040】
そして、ステップSC7に進むと、RAM14の録音エリアREにおいて、レイヤを指定するポインタnをゼロリセットする。続いて、ステップSC8では、ポインタnで指定されるレイヤLY(n)において、読み出しクロックRTに対応するアドレスにイベントが記録されているか否かを判断する。読み出しクロックRTに対応するアドレスにイベントが記録されていなければ、判断結果は「NO」となり、ステップSC13に進み、ポインタnをインクリメントして歩進させ、続くステップSC14では、歩進されたポインタnの値が最大レイヤ数を超えたかどうかを判断する。歩進されたポインタnの値が最大レイヤ数を超えていなければ、判断結果は「NO」になり、上述のステップSC8に処理を戻す。
【0041】
そして、歩進されたポインタnで指定されるレイヤLY(n)において、読み出しクロックRTに対応するアドレスにイベントが記録されていると、上述したステップSC8の判断結果が「YES」になり、ステップSC9に進み、そのイベントを読み出す。続いて、ステップSC10では、読み出したイベントに含まれる音高を、レジスタKEYにストアされる伴奏鍵域での押鍵番号(後述する)に応じて変換する。具体的には、C3音(ド)を基音とした場合に伴奏鍵域でG3音(ソ)が押鍵されると、読み出したイベントに含まれる音高を7半音上げる音高変換が為される。なお、レジスタKEYに押鍵番号がストアされていない場合には音高変換は行われない。
【0042】
次いで、ステップSC11では、レジスタKEYの押鍵番号に基づき音高変換されたイベント(レジスタKEYに押鍵番号がストアされていない場合には音高変換されないイベント)をRAM14のイベントバッファEBにストアする。次にステップSC12に進み、音高変換されたイベント(レジスタKEYに押鍵番号がストアされていない場合には音高変換されないイベント)を音源16に供給して当該イベントに対応する楽音を再生させる。
【0043】
この後、上述したように、ステップSC13〜SC14では、歩進させたポインタnの値が最大レイヤ数を超えたかどうかを判断する。そして、歩進させたポインタnの値が最大レイヤ数を超えるまでの間、すなわち読み出しクロックRTに対応するアドレスに基づき全てのレイヤLY(0)〜LY(n)について読み出し終える迄、ステップSC14の判断結果が「NO」となり、上述のステップSC8〜SC14を繰り返す。そして、全てのレイヤLY(0)〜LY(n)について読み出し終えると、ステップSC14の判断結果が「YES」となり、本処理を終える。
【0044】
このように、再生処理では、フラグRFが「1」の再生動作中であると、最小単位時間(ティック)が経過する毎に再生用の読み出しクロックRTを歩進させ、歩進させた読み出しクロックRTが最大値を超えていなければ、読み出しクロックRTに対応するアドレスに基づき全てのレイヤLY(0)〜LY(n)について読み出しを行い、読み出すべきイベントが有ると、当該イベントに含まれる音高を、レジスタKEYにストアされた伴奏鍵域での押鍵音高に応じて音高変換を施し、音高変換されたイベントをRAM14のイベントバッファEBにストアすると共に、音源16に供給して当該イベントに対応する楽音を再生させる。そして、歩進させた読み出しクロックRTが最大値を超えると、読み出しクロックRTをゼロリセットすることにより、各レイヤLY(0)〜LY(n)のイベントを繰り返し再生する。
【0045】
(4)鍵盤処理の動作
次に、図7を参照して鍵盤処理の動作を説明する。前述したメインルーチンのステップSA4(図4参照)を介して本処理が実行されると、CPU12は図7に図示するステップSD1に進み、鍵盤10の各鍵についてキーオン/キーオフ信号の有無を検出する鍵走査を行い、続くステップSD2では、上記ステップSD1の鍵走査結果に基づき鍵変化を判別する。演奏操作(押離鍵操作)が行われず、鍵変化が生じない場合には、上記ステップSD2において鍵変化無しと判別して本処理を終える。
【0046】
押鍵操作に応じて発生するキーオン信号を検出した場合には、ステップSD2を介してステップSD3に進み、押鍵された鍵の鍵番号(押鍵番号)およびベロシティを取得する。続いて、ステップSD4では、取得した押鍵番号に基づき伴奏鍵域外での押鍵であるか否かを判断する。なお、伴奏鍵域とは、鍵盤10において所定音高より低音側の鍵域を指す。伴奏鍵域での押鍵ならば、判断結果は「NO」になり、ステップSD5に進み、取得した押鍵番号をレジスタKEYにストアして本処理を終える。なお、レジスタKEYにストアされた伴奏鍵域での押鍵番号は、上述した再生処理のステップSC10(図6参照)の音高変換に用いられる。
【0047】
一方、伴奏鍵域外での押鍵であると、上記ステップSD4の判断結果は「YES」となり、ステップSD6に進む。ステップSD6では、上記ステップSD3にて取得した押鍵番号およびベロシティを含むノートオンイベントを作成し、続くステップSD7では、作成したノートオンイベントをRAM14のイベントバッファEBにストアする。次いで、ステップSD8では、上記ステップSD6にて作成されたノートオンイベントを音源16に供給し、押鍵された鍵の音高の楽音を発音するよう指示した後、本処理を終える。
【0048】
さて、離鍵操作に応じて発生するキーオフ信号を検出した場合には、上述したステップSD2を介してステップSD9に進み、離鍵された鍵の鍵番号(離鍵番号)を取得する。そして、ステップSD10に進み、取得した離鍵番号に基づき伴奏鍵域外の離鍵であるか否かを判断する。伴奏鍵域での離鍵ならば、判断結果は「NO」になり、本処理を終えるが、伴奏鍵域外での離鍵であると、上記ステップSD10の判断結果は「YES」になり、ステップSD11に進む。
【0049】
ステップSD11では、上記ステップSD9にて取得した離鍵番号を含むノートオフイベントを作成する。この後、ステップSD7に進み、作成したノートオフイベントをRAM14のイベントバッファEBにストアし、続くステップSD8では、上記ステップSD11にて作成されたノートオフイベントを音源16に供給し、離鍵された鍵の音高の楽音を消音するよう指示した後、本処理を終える。
【0050】
このように、鍵盤処理では、伴奏鍵域外での押離鍵に応じてノートオン/ノートオフイベントを作成してRAM14のイベントバッファEBにストアすると共に、作成したノートオン/ノートオフイベントを音源16に供給して押離鍵された鍵の音高の楽音を発音/消音させ、伴奏鍵域で押鍵された場合には、押鍵番号をレジスタKEYにストアする。
【0051】
(5)録音処理の動作
次に、図8を参照して録音処理の動作を説明する。前述したメインルーチンのステップSA5(図4参照)を介して本処理が実行されると、CPU12は図8に図示するステップSE1に進み、録音動作中(フラグWFが「1」)であるか否かを判断する。録音動作中でなければ(フラグWFが「0」)、判断結果は「NO」となり、本処理を終えるが、録音動作中であると、判断結果が「YES」になり、ステップSE2に進む。
【0052】
ステップSE2では、RAM14のイベントバッファEBにイベントがストアされているか否かを判断する。イベントがストアされていなければ、判断結果は「NO」となり、本処理を終えるが、イベントがストアされていると、判断結果が「YES」になり、ステップSE3に進む。ステップSE3では、前述したレイヤ変更スイッチLCU(LCD)の操作によって設定されるレイヤエリア番号aで指定される録音エリアRE中のレイヤLY(a)において、書き込みクロックWTに対応するアドレスに、イベントバッファEB中のイベントをストアする。この後、ステップSE4に進み、RAM14のイベントバッファEBをクリアして本処理を終える。
【0053】
このように、録音処理では、録音動作中(フラグWFが「1」)であると、イベントバッファEBのイベントの有無を判断し、記録すべきイベントが有ると、録音エリアRE中のレイヤLY(a)において、書き込みクロックWTに対応するアドレスに、イベントバッファEB中のイベントをストアした後、当該イベントバッファEBをクリアする。
【0054】
(6)具体的動作
次に、上述したスイッチ処理、再生処理、鍵盤処理および録音処理に基づく具体的な動作を説明する。先ず最初に、例えばレイヤ変更スイッチLCU(LCD)のオン操作に応じてレイヤエリア番号「0」を設定した後に、録音スイッチRECを押下したとする。そうすると、フラグWFが「1」にセットされると共に、レイヤLY(0)およびイベントバッファEBがクリアされて録音動作となる。そして、ユーザが鍵盤10の伴奏鍵域外で伴奏パターンとしたい曲を演奏すると、その演奏操作(押離鍵操作)に対応したイベント(ノートオンイベント又はノートオフイベント)が作成される。
【0055】
作成されたイベントは、RAM14のイベントバッファEBにストアされる一方、音源16に供給され、弾かれた曲の楽音として発音/消音される。また、イベントバッファEBにストアされたイベント(ノートオン/ノートオフイベント)は、レイヤLY(0)において、書き込みクロックWTに対応するアドレスに従って順次書き込まれる。こうして、伴奏パターンとしたい曲の演奏で生じたイベントをレイヤLY(0)に記録し終えた後、押下中の録音スイッチRECを離すと、フラグWFをゼロリセットすると共に、フラグRFを「1」にセットして再生動作に遷移し、再生用の読み出しクロックRTをゼロリセットする。
【0056】
再生動作になると、最小単位時間(ティック)の経過毎に歩進される読み出しクロックRTに応じてレイヤLY(0)に記録したイベントを演奏音として繰り返し再生する。レイヤLY(0)に記録したイベントを演奏音として繰り返し再生している状態において、例えばレイヤ変更スイッチLCU(LCD)のオン操作に応じてレイヤエリア番号「1」を設定し、録音スイッチRECを押下すると、レイヤLY(0)に記録したイベントを演奏音として繰り返し再生しながら、レイヤLY(1)への録音動作が行われる。
【0057】
つまり、最初に記録したレイヤLY(0)の演奏(イベント再生)を聴きながら、そのレイヤLY(0)の演奏を補うように音楽的修飾を施す新たな演奏操作を行い、その演奏操作で発生するイベントをレイヤLY(1)に記録する。レイヤLY(1)へのイベント記録が完了し、押下中の録音スイッチRECが離されると、再び再生動作に入り、今度はレイヤLY(0)、LY(1)に記録したイベントが演奏音として繰り返し再生される。
【0058】
したがって、再生動作下で繰り返し再生される演奏音(記録済みの各レイヤLYのイベント)に対して音楽的修飾を施す場合、録音スイッチRECの押下により録音動作に遷移させ、所望の音楽的修飾を施す演奏操作を行えば、その演奏操作で発生するイベントを新たなレイヤLYに録音する多重録音が具現し、こうした多重録音を行うことによって即興的な試行錯誤を繰り返してユーザ所望の音楽的修飾が施された伴奏パターンを作り上げることが可能になる。
【0059】
また、録音スイッチRECを押し離しするだけで即座に録音動作から再生動作(又は再生動作から録音動作)へ遷移させる為、伴奏パターンの作成に係わるスイッチ操作および演奏操作をスムーズに進めることが出来るという効果も奏する。
【0060】
さらに、本実施形態では、記録された各レイヤLYのイベントを再生しながら、録音スイッチRECを押下して鍵盤10の伴奏鍵域の鍵を押鍵すると、その押鍵された鍵の押鍵番号に応じて、再生されるイベントについて音高変換を施し、音高変換されたイベントを新たなレイヤLYに録音するので、ユーザ所望の音楽的修飾が施された伴奏パターンを作り上げることができる。
【0061】
加えて、上述の実施形態では、レイヤタイミング変更スイッチTCR(TCF)の操作によりレイヤタイミング番号bが設定されていると、録音スイッチRECが離されて再生動作に遷移した時に、その設定されたレイヤタイミング番号bに対応した小節時間長分、記録された各レイヤLYのイベントを再生するタイミングを進めたり遅らせたりするので、ユーザ所望の音楽的修飾を施すことが可能になっている。
【0062】
なお、上述した実施形態では、説明の簡略化を図る為、レイヤタイミング変更スイッチTCR(TCF)の操作で設定されるレイヤタイミング番号bに対応した小節時間長分、録音済みのレイヤLYの演奏を再生するタイミングを進めたり遅らせたりするが、これに限らず、ユーザが指定する特定のレイヤLYについて再生するタイミングを進めたり遅らせたりする態様としても構わない。そのようにすれば、より一層多様な音楽的修飾を施すことが出来る。
【0063】
また、上述した実施形態では、録音スイッチRECをユーザの手指で押し離しする一例について挙げたが、これに限らず、例えばユーザの足で踏下したり離したりするペダル操作子を設け、当該ペダル操作子が踏下中に録音動作とし、それが離されて再生動作に遷移する態様としても構わない。
【符号の説明】
【0064】
10 鍵盤
11 スイッチ部
12 CPU
13 ROM
14 RAM
15 表示部
16 音源
17 サウンドシステム
100 自動演奏装置

【特許請求の範囲】
【請求項1】
演奏操作に応じて生成されるイベントを所定時間分記録可能なトラックに相当するレイヤを複数備える記憶手段と、
前記記憶手段が備える複数のレイヤの何れかを指定するレイヤ指定手段と、
操作子の操作中は記録の実行を指示し、その操作が解除されると記録の停止を指示する指示手段と、
前記指示手段によって記録の停止が指示された場合に、前記記憶手段が備える複数のレイヤの内、イベント記録されたレイヤを繰り返し再生する再生手段と、
前記再生手段がイベント記録されたレイヤを繰り返し再生中に、前記指示手段により記録の実行が指示された場合、前記レイヤ指定手段により指定されたレイヤに、演奏操作に応じて生成されるイベントを記録する記録手段と
を具備することを特徴とする自動演奏装置。
【請求項2】
予め定められた音域中の特定音高を指定する演奏操作が行われた場合に、当該特定音高に応じて、前記再生手段により再生されるイベントについて音高変換を施す音高変換手段を更に備え、
前記記録手段は、前記音高変換手段によって音高変換されたイベントを、前記レイヤ指定手段により指定されたレイヤに記録することを特徴とする請求項1記載の自動演奏装置。
【請求項3】
再生するタイミングを変更する変更手段を更に備え、
前記再生手段は、前記指示手段によって記録の停止が指示された場合に、前記変更手段により変更されたタイミングに従い、前記記憶手段が備える複数のレイヤの内、イベント記録されたレイヤを繰り返し再生することを特徴とする請求項1記載の自動演奏装置。
【請求項4】
コンピュータに、
演奏操作に応じて生成されるイベントを所定時間分記録可能なトラックにそれぞれ相当する複数のレイヤの何れかを指定するレイヤ指定ステップと、
操作子の操作中は記録の実行を指示し、その操作が解除されると記録の停止を指示する指示ステップと、
前記指示ステップによって記録の停止が指示された場合に、前記複数のレイヤの中でイベント記録されたレイヤを繰り返し再生する再生ステップと、
前記再生ステップによってイベント記録されたレイヤが繰り返し再生されている時に、前記指示ステップにより記録の実行が指示された場合、前記レイヤ指定ステップで指定されたレイヤに、演奏操作に応じて生成されるイベントを記録する記録ステップと
を実行させるを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate