(57)【特許請求の範囲】
【請求項１】
録音エリアおよび複数の伴奏エレメントが格納される再生エリアを備えるエレメント記憶手段と、
録音指示に応じて、外部から入力される入力エレメントを前記エレメント記憶手段の録音エリアに収録し、その入力エレメントを収録した録音エリアを前記エレメント記憶手段の再生エリアに結合する結合手段と、
再生指示に応じて、前記エレメント記憶手段の再生エリアに格納される複数の伴奏エレメントを連続的に繰り返し再生し、その際に前記結合手段が入力エレメントを収録した録音エリアを前記エレメント記憶手段の再生エリアに結合した場合には、現在再生中の伴奏エレメントが再生し終えた後、再生エリアに結合された録音エリアの入力エレメントを再生する再生手段と
を具備することを特徴とする自動演奏装置。
【請求項２】
複数種の伴奏パターンを記憶するパターン記憶手段と、
このパターン記憶手段に記憶される複数種の伴奏パターンの内から何れかの伴奏パターンを選択するパターン選択手段と、
録音エリアおよび再生エリアを備えるエレメント記憶手段と、
前記パターン選択手段によって選択された伴奏パターンを形成する複数の伴奏エレメントを前記パターン記憶手段から読み出して前記エレメント記憶手段の再生エリアに転送する転送手段と、
録音指示に応じて、外部から入力される入力エレメントを前記エレメント記憶手段の録音エリアに収録し、入力エレメントを収録した録音エリアを前記エレメント記憶手段の再生エリアに結合する結合手段と、
再生指示に応じて、前記エレメント記憶手段の再生エリアに記憶される複数の伴奏エレメントを連続的に繰り返し再生し、その際に前記結合手段が入力エレメントを収録した録音エリアを前記エレメント記憶手段の再生エリアに結合した場合には、現在再生中の伴奏エレメントが再生し終えた後、再生エリアに結合された録音エリアの入力エレメントを再生する再生手段と
を具備することを特徴とする自動演奏装置。
【請求項３】
エレメント記憶手段の再生エリアに複数の伴奏エレメントを格納する格納過程と、
録音指示に応じて、外部から入力される入力エレメントを前記エレメント記憶手段の録音エリアに収録し、その入力エレメントを収録した録音エリアを前記エレメント記憶手段の再生エリアに結合する結合過程と、
再生指示に応じて、前記エレメント記憶手段の再生エリアに格納される複数の伴奏エレメントを連続的に繰り返し再生し、その際に前記結合過程にて入力エレメントを収録した録音エリアを前記エレメント記憶手段の再生エリアに結合した場合には、現在再生中の伴奏エレメントが再生し終えた後、再生エリアに結合された録音エリアの入力エレメントを再生する再生過程と
を具備することを特徴とする自動演奏方法。
【請求項４】
複数種の伴奏パターンを記憶するパターン記憶手段の内から何れかの伴奏パターンを選択するパターン選択過程と、
このパターン選択過程で選択された伴奏パターンを形成する複数の伴奏エレメントを前記パターン記憶手段から読み出してエレメント記憶手段の再生エリアに転送する転送過程と、
録音指示に応じて、外部から入力される入力エレメントを前記エレメント記憶手段の録音エリアに収録し、入力エレメントを収録した録音エリアを前記エレメント記憶手段の再生エリアに結合する結合過程と、
再生指示に応じて、前記エレメント記憶手段の再生エリアに記憶される複数の伴奏エレメントを連続的に繰り返し再生し、その際に前記結合過程にて入力エレメントを収録した録音エリアを前記エレメント記憶手段の再生エリアに結合した場合には、現在再生中の伴奏エレメントが再生し終えた後、再生エリアに結合された録音エリアの入力エレメントを再生する再生過程と
を具備することを特徴とする自動演奏方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子楽器に用いて好適な自動演奏装置および自動演奏方法に関する。
【０００２】
【従来の技術】
従来より、パターンシーケンサと呼ばれる自動演奏装置が知られている。この種の装置は、例えば演奏操作に応じてリアルタイム入力される演奏情報、すなわち演奏すべき各音の音高や発音タイミング等を表すソングデータをメモリに記憶したり、その記憶したソングデータを指定テンポで再生して自動演奏する機能の他に、「ロック」、「ポップス」あるいは「ディスコ」等の各種伴奏スタイル毎の伴奏パターンデータをメモリに記憶しておき、ユーザーの選択操作に応じて選択された伴奏パターンに従って自動伴奏する機能を具備する。
【０００３】
伴奏パターンは、曲を形成する各音の音高や発音タイミング等を表わす各種の伴奏エレメントを繋げて形成される。伴奏エレメントの種類としては、所定小節分の楽曲を表わすノーマルパターン、ノーマルパターンの序奏部に相当するイントロパターン、ノーマルパターンの途中に介挿されるノーマルフィルインパターン、ノーマルパターンのアレンジにより派生するバリエーションパターン、バリエーションパターンの途中に介挿されるバリエーションフィルインパターン、ノーマルパターン（あるいはバリエーションパターン）の終結部に付加されるエンディングパターンがある。
【０００４】
【発明が解決しようとする課題】
さて、上述した従来の自動演奏装置では、ユーザーの演奏操作（鍵操作）によって伴奏エレメントを作成する機能を備えたものも実用化されている。そのような機能を用いて上述した各伴奏エレメントからなる伴奏パターンを形成する場合には、ある伴奏エレメントを作成したらそれをメモリ登録し、メモリ登録完了後に次の伴奏エレメントを作成して更にメモリ登録するといったように、各伴奏エレメントを個々独立して作成する態様となる。
【０００５】
ところが、このように各伴奏エレメントを個々独立して作成する態様であると、必然的に「イントロパターン」から「エンディングパターン」に至る一連の音楽的な繋がりや、演奏上の乗りが寸断されてしまう為、ユーザーはイメージした通りの伴奏パターンを形成し難くなるという問題がある。
また、伴奏パターンを再生させる際にあっても、従来の自動演奏装置ではユーザーが各伴奏エレメントを順次指定して伴奏パターンの再生を進行させる態様となるが、かかる態様ではその操作が煩わしいという問題も生じている。
【０００６】
そこで本発明は、このような事情に鑑みてなされたもので、ユーザーがイメージした通りの伴奏パターンを形成でき、しかも一連の伴奏エレメントを自動的に再生して伴奏パターンを進行させることができる自動演奏装置および自動演奏方法を提供することを目的としている。
【０００７】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の発明では、録音エリアおよび複数の伴奏エレメントが格納される再生エリアを備えるエレメント記憶手段と、録音指示に応じて、外部から入力される入力エレメントを前記エレメント記憶手段の録音エリアに収録し、その入力エレメントを収録した録音エリアを前記エレメント記憶手段の再生エリアに結合する結合手段と、再生指示に応じて、前記エレメント記憶手段の再生エリアに格納される複数の伴奏エレメントを連続的に繰り返し再生し、その際に前記結合手段が入力エレメントを収録した録音エリアを前記エレメント記憶手段の再生エリアに結合した場合には、現在再生中の伴奏エレメントが再生し終えた後、再生エリアに結合された録音エリアの入力エレメントを再生する再生手段とを具備することを特徴とする。
【０００８】
請求項２に記載の発明では、複数種の伴奏パターンを記憶するパターン記憶手段と、このパターン記憶手段に記憶される複数種の伴奏パターンの内から何れかの伴奏パターンを選択するパターン選択手段と、録音エリアおよび再生エリアを備えるエレメント記憶手段と、前記パターン選択手段によって選択された伴奏パターンを形成する複数の伴奏エレメントを前記パターン記憶手段から読み出して前記エレメント記憶手段の再生エリアに転送する転送手段と、録音指示に応じて、外部から入力される入力エレメントを前記エレメント記憶手段の録音エリアに収録し、入力エレメントを収録した録音エリアを前記エレメント記憶手段の再生エリアに結合する結合手段と、再生指示に応じて、前記エレメント記憶手段の再生エリアに記憶される複数の伴奏エレメントを連続的に繰り返し再生し、その際に前記結合手段が入力エレメントを収録した録音エリアを前記エレメント記憶手段の再生エリアに結合した場合には、現在再生中の伴奏エレメントが再生し終えた後、再生エリアに結合された録音エリアの入力エレメントを再生する再生手段とを具備することを特徴とする。
【０００９】
請求項３に記載の発明では、エレメント記憶手段の再生エリアに複数の伴奏エレメントを格納する格納過程と、録音指示に応じて、外部から入力される入力エレメントを前記エレメント記憶手段の録音エリアに収録し、その入力エレメントを収録した録音エリアを前記エレメント記憶手段の再生エリアに結合する結合過程と、再生指示に応じて、前記エレメント記憶手段の再生エリアに格納される複数の伴奏エレメントを連続的に繰り返し再生し、その際に前記結合過程にて入力エレメントを収録した録音エリアを前記エレメント記憶手段の再生エリアに結合した場合には、現在再生中の伴奏エレメントが再生し終えた後、再生エリアに結合された録音エリアの入力エレメントを再生する再生過程とを具備することを特徴とする。
【００１０】
請求項４に記載の発明では、複数種の伴奏パターンを記憶するパターン記憶手段の内から何れかの伴奏パターンを選択するパターン選択過程と、このパターン選択過程で選択された伴奏パターンを形成する複数の伴奏エレメントを前記パターン記憶手段から読み出してエレメント記憶手段の再生エリアに転送する転送過程と、録音指示に応じて、外部から入力される入力エレメントを前記エレメント記憶手段の録音エリアに収録し、入力エレメントを収録した録音エリアを前記エレメント記憶手段の再生エリアに結合する結合過程と、再生指示に応じて、前記エレメント記憶手段の再生エリアに記憶される複数の伴奏エレメントを連続的に繰り返し再生し、その際に前記結合過程にて入力エレメントを収録した録音エリアを前記エレメント記憶手段の再生エリアに結合した場合には、現在再生中の伴奏エレメントが再生し終えた後、再生エリアに結合された録音エリアの入力エレメントを再生する再生過程とを具備することを特徴とする。
【００１１】
本発明では、エレメント記憶手段の再生エリアに格納される複数の伴奏エレメントを連続的に繰り返し再生している際に、録音指示があると、外部から入力される入力エレメントをエレメント記憶手段の録音エリアに収録し、その入力エレメントを収録した録音エリアをエレメント記憶手段の再生エリアに結合する。そして、現在再生中の伴奏エレメントが再生し終えたら、再生エリアに結合された録音エリアの入力エレメントを再生する。
つまり、全ての伴奏エレメントを繋げた形で再生および録音し得るので、「イントロパターン」から「エンディングパターン」に至る一連の音楽的な繋がりや演奏上の乗りが寸断されることなく、ユーザーはイメージした通りの伴奏パターンを作成することが可能になる。しかも、複数の伴奏エレメントを連続的に繰り返し再生するから、各伴奏エレメントを順次指定してパターン再生を進行させるという従来の煩わしさを解消し得る。
【００１２】
【発明の実施の形態】
本発明による自動演奏装置は、周知の電子楽器の他、パーソナルコンピュータを用いたＤＴＭ（デスク・トップ・ミュージック）等に適用され得る。以下では、本発明の実施の形態である自動演奏装置を実施例とし、これについて図面を参照して説明する。
【００１３】
Ａ．構成
図１は、本発明による実施例の構成を示すブロック図である。この図において、１は装置パネルに配設されるパネルスイッチ群であり、各スイッチ操作に対応するスイッチイベントを発生する。
ここで、図２を参照してパネルスイッチ群１に配設される主要なスイッチについて説明しておく。図２において、１０はオールエレメントシリアルスイッチ（以下、ＡＥＳスイッチと記す）である。このＡＥＳスイッチ１０がオン操作された場合、イントロパターンからエンディングパターンまでの一連の伴奏エレメントの録音（記憶）あるいは再生が指示される。ＡＥＳスイッチ１０近傍には、ＬＥＤ１０ａが配設されており、ＡＥＳスイッチ１０のオン操作に応じて点灯される。
【００１４】
１１はスタート／ストップスイッチであり、ソングデータ／パターンデータの再生開始および再生停止を指示する。このスタート／ストップスイッチ１１は、押下操作される毎にオン状態／オフ状態が交互に設定される所謂トグルスイッチとして機能し、再生開始を指示するオン状態にあると、当該スイッチ１１近傍に配設されるＬＥＤ１１ａが点灯駆動される。
【００１５】
１２〜１５はそれぞれ伴奏エレメントを指定するスイッチ群である。イントロスイッチ１２は、図示されていないパターン切換えスイッチの操作に応じて選択された伴奏パターン中の序奏部に相当するイントロパターンを指定する。ノーマル／フィルインスイッチ１３は、選択された伴奏パターン中のノーマルパターンもしくはノーマルパターンの途中に介挿されるノーマルフィルインパターンのいずれかを指定する。
バリエーション／フィルインスイッチ１４は、ノーマルパターンのアレンジにより派生するバリエーションパターンもしくはバリエーションパターンの途中に介挿されるバリエーションフィルインパターンのいずれかを指定する。エンディングスイッチ１５は、ノーマルパターン（あるいはバリエーションパターン）の終結部に付加されるエンディングパターンを指定する。
【００１６】
１６はプリセットスイッチである。プリセットスイッチ１６は、シーケンスエリアＳＥ（後述する）に格納された伴奏パターンを、オリジナルパターンエリアＯＰＥ（後述する）に保存する際に操作される。プリセットスイッチ１６近傍には、ＬＥＤ１６ａが配設されており、当該スイッチ１６のオン操作に応じて点灯される。
１７は押下操作される毎に交互にオン状態あるいはオフ状態のいずれかに設定されるソングスイッチである。ソングスイッチ１７がオン状態に設定された場合、ソングデータの録音あるいは再生が指示される。ソングスイッチ１７近傍には、ＬＥＤ１７ａが配設されており、当該スイッチ１７がオン状態に設定された場合に点灯される。
【００１７】
１８は押下操作される毎に交互にオン状態あるいはオフ状態のいずれかに設定されるパターンスイッチである。パターンスイッチ１８がオン状態に設定された場合、伴奏パターンの録音あるいは再生が指示される。パターンスイッチ１８近傍には、ＬＥＤ１８ａが配設されており、当該スイッチ１８がオン状態に設定された場合に点灯される。
また、ソングスイッチ１７とパターンスイッチ１８とは、一方がオン状態に設定されている時、他方がオフ状態に設定されるよう連携動作するものであり、例えば、ソングスイッチ１７側がオン状態に設定されていると、パターンスイッチ１８側はオフ状態に設定され、それに応じてＬＥＤ１７ａ，１８ａが点灯／消灯駆動されるようになっている。
【００１８】
１９はソングデータあるいは伴奏パターンデータを入力（録音）する際にオン操作される録音スイッチである。
なお、図示されていないパターン切換えスイッチとは、数値入力キーやカーソルキーから構成され、それらキー操作に応じて「ロック」、「ポップス」あるいは「ディスコ」等の各種伴奏スタイルの中から所望の伴奏パターンを選択するスイッチである。
【００１９】
次に、再び図１を参照して実施例の構成について説明を進める。図１において、２は上述したパネルスイッチ群１の各スイッチ操作に対応して装置各部を制御するＣＰＵであり、その特徴的な動作については後述する。また、このＣＰＵ２は、自動演奏や自動伴奏時の再生テンポを規定するテンポクロックを発生しており、このテンポクロックに同期して自動演奏あるいは自動伴奏を進行させるようになっている。３は上記ＣＰＵ２にロードされる各種制御プログラムや各種音色の波形データ等を記憶するＲＯＭである。
【００２０】
５はＣＰＵ２の演算に用いる各種レジスタ・フラグデータを一時記憶するワークエリアや入力／出力イベントを一時記憶する入力／出力バッファの他、ソングデータ／伴奏パターンデータを一時記憶するエリアを備えるＲＡＭである。
ここで、図３〜図５を参照してＲＡＭ５に記憶される主要なデータについて説明する。図３において、ＯＰＥはオリジナリパターンエリアである。オリジナリパターンエリアエリアＯＰＥには、図４に図示するように、複数の伴奏パターン（１）〜（Ｎ）が格納される。各伴奏パターン（１）〜（Ｎ）は、伴奏エレメント（０）〜（５）と、それら伴奏エレメント（０）〜（５）の読み出し開始アドレスＳＴＡＲＴ（０）〜（５）を表すヘッダＨＤとから形成される。
【００２１】
伴奏エレメント（０）〜（５）とは、それぞれ前述した「イントロパターン（伴奏エレメント（０））」、「ノーマルパターン（伴奏エレメント（１））」、「ノーマルフィルインパターン（伴奏エレメント（２））」、「バリエーションパターン（伴奏エレメント（３））」、「バリエーションフィルインパターン（伴奏エレメント（４））」および「エンディングパターン（伴奏エレメント（５））」である。
【００２２】
図３に示すＷＥは、ＣＰＵ２の各種処理に用いるレジスタ・フラグデータを記憶するワークエリアであり、このエリアに格納されるレジスタ・フラグデータの内容については後述の動作説明で述べる。
シーケンスエリアＳＥは、図５に示すように、録音エリアＲＥＣおよび再生エリアＲＥＰから構成される。録音エリアＲＥＣおよび再生エリアＲＥＰは、所謂編集バッファとして用いられるものであり、録音エリアＲＥＣに録音（記録）される伴奏パターンデータ（もしくはソングデータ）は、再生時に再生エリアＲＥＰとマージされて読み出される。つまり、シーケンスエリアＳＥは便宜的に録音エリアＲＥＣおよび再生エリアＲＥＰに区分されているのであって、物理的に区別されたエリアではなく、録音されたデータを再生エリアＲＥＰにマージすることに特徴がある。
【００２３】
再生エリアＲＥＰには、例えばパターン切換えスイッチの操作によりオリジナルパターンエリアＯＰＥから選択される伴奏パターンデータ、すなわち伴奏パターンを形成する各伴奏エレメント（０）〜（５）と、それら伴奏エレメント（０）〜（５）の格納アドレスＡＤ（０）〜（５）とが格納される。
そして、例えば伴奏エレメント（０）の一部パートを録音エリアＲＥＣに録音した場合、その録音エリアＲＥＣに録音した伴奏エレメント（０）の一部パートが再生エリアＲＥＰにマージされ、当該伴奏エレメント（０）を再生する際には、マージされた一部パートが再生されるようになっている。
【００２４】
なお、各エレメント（０）〜（５）は、発音タイミングを表わすタイミングデータＴＩＭＥと、その発音内容を表わすイベントデータＥＶＥＮＴとが伴奏進行に対応した時系列のアドレス順に所定の音符長を最小単位とする分解能で記憶されており、これらはアドレスポインタＡＤの歩進によって順次読み出されて再生される。
【００２５】
次に、再び図１を参照して実施例の構成について説明する。図１において、５はＬＣＤパネル等から構成される表示部であり、ＣＰＵ２から供給される表示制御信号に応じて装置各部の動作状態や設定状態を画面表示する。６はソングデータや伴奏パターンデータを録音する際に用いられる鍵盤であり、押離鍵操作に応じた鍵イベントを発生する。
７は周知の波形メモリ読み出し方式により構成される音源である。この音源７は伴奏音源部および通常音源部とを備え、通常音源部では押離鍵操作に応じた鍵イベントもしくはシーケンスエリアＳＥから読み出されるソングデータに基づき、ＣＰＵ２がＲＯＭ３から指定音色の波形データを読み出して楽音合成し、これを演奏音として出力する。一方、伴奏音源部では指定テンポに同期してシーケンスエリアＳＥ中の再生エリアＲＥＰから読み出される伴奏パターンデータに対応した伴奏音を発生する。
【００２６】
Ｂ．実施例の動作
次に、図６〜図３８を参照して実施例の動作について説明する。以下では、最初に、概略動作としてメインルーチンの動作について説明した後、このメインルーチンを構成する各種処理ルーチンの動作を説明する。
【００２７】
（１）メインルーチンの動作
実施例に電源が投入されると、ＣＰＵ２はＲＯＭ３から所定の制御プログラムをロードし、図６に示すメインルーチンを実行してステップＳ１に処理を進め、ＲＡＭ４に設けられる各種レジスタやフラグ類をリセットしたり、音源６に対して各種レジスタ・フラグを初期化するよう指示するイニシャライズを実行する。そして、イニシャライズが完了すると、ＣＰＵ２は次のステップＳ２に処理を進め、パネルスイッチ群１のスイッチ操作に対応した各種スイッチ処理を行う。
【００２８】
次いで、ステップＳ３では、鍵盤６の押離鍵操作に応じて発生する鍵イベント、もしくは図示されていないＭＩＤＩインタフェースを介して取り込むＭＩＤＩデータを、ＲＡＭ４の入力バッファに取り込む入力処理を行う。続いて、ステップＳ４ではＲＡＭ４のオリジナルパターンエリアＯＰＥの内から選択された伴奏パターンを再生するパターン再生処理を実行する。次に、ステップＳ５ではソングデータを録音／再生するソング録再処理を実行し、続くステップＳ６では伴奏エレメントをシーケンスエリアＳＥに録音（入力）したり、録音した伴奏エレメントを含んだ一連の伴奏パターンとして再生するシーケンスパターン録再処理を実行する。
【００２９】
そして、ステップＳ７では、入力処理にてＲＡＭ４の入力バッファに取り込んだ鍵イベントあるいはＭＩＤＩデータを出力バッファを介して音源７に転送したり、ソングデータあるいは伴奏パターンデータの再生に応じて出力バッファにかきこまれるイベントを音源７に送出して楽音（演奏音／伴奏音）を発生させる出力処理を行う。この後、ステップＳ８に進み、例えばスイッチ操作に応じて装置の動作状態を表示部５に画面表示させる等の、その他の処理を実行した後、上記ステップＳ２に処理を戻し、以後、装置電源がオフされる迄、ステップＳ２〜Ｓ８を繰り返す。
【００３０】
（２）スイッチ処理ルーチンの動作
次に、図７〜図２６を参照してスイッチ処理ルーチンの動作について説明する。上述したステップＳ２を介して図７に示すスイッチ処理ルーチンが実行されると、操作されるスイッチに応じて、ステップＳＡ１〜ＳＡ６のいずれかが実行される。以下、各スイッチ操作に対応した処理について述べて行く。
【００３１】
▲１▼スタート／ストップスイッチ処理ルーチンの動作
スタート／ストップスイッチ１１が操作されると、図７のステップＳＡ１を介して図８に示すスタート／ストップスイッチ処理ルーチンを実行し、ステップＳａ１に処理を進め、フラグＳＴＦを反転する。フラグＳＴＦはその値が「１」の時に再生開始を表し、「０」の時に再生停止を表す。ステップＳａ２では、反転したフラグＳＴＦが「１」、つまり、再生開始を表すオン状態に設定されているかどうかを判断する。ここで、再生停止を表すオフ状態（ＳＴＦ＝０）であれば、判断結果は「ＮＯ」となり、何も処理せずに本ルーチンを完了させる。
【００３２】
一方、再生開始を表すオン状態に設定されていれば、ソングスイッチ１７、パターンスイッチ１８および録音スイッチ１９の設定状態に応じた処理を実行する。以下、「スイッチ１７〜１９がいずれもオフ設定されている場合」、「ソングスイッチ１７がオン設定されている場合」、「録音スイッチ１９がオン設定されている場合」、「パターンスイッチ１８がオン設定されている場合」およびの各ケースについて動作説明する。
【００３３】
（イ）スイッチ１７〜１９がいずれもオフ設定されている場合
この場合、録音フラグＲＦ、スタートソングフラグＳＳＦおよびスタートパターンフラグＳＰＦはいずれも「０」なので、ステップＳａ３，Ｓａ５およびＳａ７の判断結果はそれぞれ「ＮＯ」となり、ステップＳａ９を介して図９に示すパターン再生初期化処理ルーチンを実行する。
パターン再生初期化処理ルーチンが実行されると、ＣＰＵ２は図９のステップＳａ９−１に処理を進め、伴奏パターンを読み出す為のアドレスポインタＡＤにスタートアドレスＳＴＡＲＴ（ｎ，１）をセットする。ここで、スタートアドレスＳＴＡＲＴ（ｎ，１）とは、オリジナルパターンエリアＯＰＥからパターン切換えスイッチの操作に応じて選択された伴奏パターンｎの伴奏エレメント（１）、つまりノーマルパターンの先頭アドレスを指定するものである。次いで、ステップＳａ９−２では、そのアドレスポインタＡＤに応じて読み出されるタイミングデータＴＩＭＥをレジスタＴｐにストアして本ルーチンを完了させる。
【００３４】
（ロ）ソングスイッチ１７がオン設定されている場合
この場合、スタートソングフラグＳＳＦが「１」となるので、ステップＳａ５の判断結果が「ＹＥＳ」となり、ステップＳａ６を介して図１０に示すソング再生初期化処理ルーチンを実行する。
ソング再生初期化処理ルーチンが実行されると、ＣＰＵ２は図１０のステップＳａ６−１に処理を進め、ソングデータを読み出す為のアドレスポインタＡＤに開始アドレスをセットし、続くステップＳａ６−２では、そのアドレスポインタＡＤに応じてシーケンスエリアＳＥから読み出される先頭データ、つまり、タイミングデータＴＩＭＥをレジスタＴｐにストアして本ルーチンを完了させる。
【００３５】
（ハ）録音スイッチ１９がオン設定されている場合
この場合、録音フラグＲＦが「１」となるので、ステップＳａ３の判断結果が「ＹＥＳ」となり、ステップＳａ４を介して図１１に示す録音初期化処理ルーチンを実行する。
録音初期化処理ルーチンが実行されると、ＣＰＵ２は図１１のステップＳａ４−１に処理を進め、シーケンスエリアＳＥ中の録音エリアＲＥＣにおける録音開始アドレスをレジスタＲＡＤにセットし、続くステップＳａ４−２では、録音時刻をカウントするレジスタＴｒをゼロリセットして本ルーチンを完了させる。
【００３６】
（ニ）パターンスイッチ１８がオン設定されている場合
この場合、スタートパターンフラグＳＰＦが「１」となるので、ステップＳａ７の判断結果が「ＹＥＳ」となり、ステップＳａ８を介して図１２に示すシーケンスパターン再生初期化処理ルーチンを実行する。
シーケンスパターン再生初期化処理ルーチンが実行されると、ＣＰＵ２は図１２のステップＳａ８−１に処理を進め、シーケンスエリアＳＥの再生エリアＲＥＰにおいて、伴奏エレメント（１）、つまりノーマルパターンの先頭アドレスを指定すべくＡＤ（１）の内容をアドレスポインタＡＤにストアし、続くステップＳａ８−２では、そのアドレスポインタＡＤに応じて読み出されるタイミングデータＴＩＭＥをレジスタＴｐにストアして本ルーチンを完了させる。
【００３７】
▲２▼シーケンススイッチ処理ルーチンの動作
シーケンススイッチとは、上述したソングスイッチ１７、パターンスイッチ１８および録音スイッチ１９の総称である。これらスイッチ１７〜１９のいずかが操作されると、図７のステップＳＡ２を介して図１３に示すシーケンススイッチ処理ルーチンを実行し、ステップＳｂ１〜Ｓｂ３を介して、操作されたスイッチ毎の処理を実行する。以下、ソングスイッチ１７、パターンスイッチ１８および録音スイッチ１９がそれぞれ操作された時の処理について述べる。
【００３８】
（イ）録音スイッチ処理ルーチンの動作
録音スイッチ１９が操作されると、ステップＳｂ１を介して図１４に示す録音スイッチ処理ルーチンが実行され、ＣＰＵ２はステップＳｂ１−１に処理を進め、フラグＳＳＦおよびフラグＳＰＦのいずれかが「１」、つまり、ソングスイッチ１７およびパターンスイッチ１８のいずれかがオン状態に設定されているかどうかを判断する。いずれかがオン状態にあれば、判断結果は「ＹＥＳ」となり、ステップＳｂ１−２に進み、録音フラグＲＦを「１」にセットして録音動作に入った旨を表す。
一方、ソングスイッチ１７およびパターンスイッチ１８のいずれもオフ状態に設定されていると、録音対象が指定されていないことになる為、この場合、ステップＳｂ１−１の判断結果が「ＮＯ」となり、何も処理せずに本ルーチンを完了させる。
【００３９】
（ロ）パターンスイッチ処理ルーチンの動作
パターンスイッチ１８が操作されると、ステップＳｂ２（図１３参照）を介して図１５に示すパターンスイッチ処理ルーチンが実行され、ＣＰＵ２はステップＳｂ２−１に処理を進め、スタートパターンフラグＳＰＦを反転する。次いで、ステップＳｂ２−２では、反転したスタートパターンフラグＳＰＦが「１」、すなわち、パターンスイッチ１８がオン設定されたかどうかを判断する。
ここで、反転したスタートパターンフラグＳＰＦが「０」となり、パターンスイッチ１８がオフ設定された状態であれば、判断結果は「ＮＯ」となり、ステップＳｂ２−３に処理を進め、録音フラグＲＦをゼロリセットし、続くステップＳｂ２−４にてパターンスイッチ１８近傍に配設されるＬＥＤ１８ａを消灯させてから本ルーチンを完了させる。
【００４０】
一方、反転したスタートパターンフラグＳＰＦが「１」となり、パターンスイッチ１８がオン設定された状態になると、上記ステップＳｂ２−２の判断結果は「ＹＥＳ」となり、ステップＳｂ２−５に進み、スタートソングフラグＳＳＦをゼロリセットし、続くステップＳｂ２−６では、ソングスイッチ１７近傍に配設されるＬＥＤ１７ａを消灯する一方、パターンスイッチ１８近傍に配設されるＬＥＤ１８ａを点灯させる。
そして、ステップＳｂ２−７では、オリジナルパターンエリアＯＰＥからパターン切換えスイッチの操作に応じて選択された伴奏パターン（ｎ）の伴奏エレメント（０）〜（５）を一まとめに、シーケンスエリアＳＥの再生エリアＲＥＰにコピーする。続いて、ステップＳｂ２−８では、コピーした伴奏パターン（ｎ）のヘッダ部ＨＤを形成する各伴奏エレメント（０）〜（５）のスタートアドレスＳＴＡＲＴ（０）〜（５）を、シーケンスエリアＳＥ内における読み出し開始アドレスＡＤ（０）〜（５）にそれぞれ変換して本ルーチンを完了させる。
【００４１】
（ハ）ソングスイッチ処理ルーチンの動作
ソングスイッチ１７が操作されると、ステップＳｂ３（図１３参照）を介して図１６に示すソングスイッチ処理ルーチンが実行され、ＣＰＵ２はステップＳｂ３−１に処理を進め、スタートソングフラグＳＳＦを反転する。次いで、ステップＳｂ３−２では、反転したスタートソングフラグＳＳＦが「１」、すなわち、ソングスイッチ１７がオン設定されたかどうかを判断する。
ここで、反転したスタートソングフラグＳＳＦが「０」となり、ソングスイッチ１７がオフ設定された状態であれば、判断結果は「ＮＯ」となり、ステップＳｂ３−３に処理を進め、録音フラグＲＦをゼロリセットし、続くステップＳｂ３−４にてソングスイッチ１７近傍に配設されるＬＥＤ１７ａを消灯させる。
【００４２】
一方、反転したスタートソングフラグＳＳＦが「１」となり、ソングスイッチ１７がオン設定された状態になると、上記ステップＳｂ３−２の判断結果は「ＹＥＳ」となり、ステップＳｂ３−５に進む。ステップＳｂ３−５では、スタートパターンフラグＳＰＦをゼロリセットし、続くステップＳｂ３−６では、ソングスイッチ１７近傍に配設されるＬＥＤ１７ａを点灯する一方、パターンスイッチ１８近傍に配設されるＬＥＤ１８ａを消灯して本ルーチンを完了させる。
【００４３】
▲３▼エレメントスイッチ処理ルーチンの動作
エレメントスイッチとは、伴奏エレメントを指定するスイッチ１２〜１５およびオールエレメントシリアルスイッチ１０の総称である。これらスイッチ１０、１２〜１５のいずかが操作されると、図７のステップＳＡ３を介して図１７に示すエレメントスイッチ処理ルーチンを実行し、ステップＳｃ１に処理を進める。ステップＳｃ１では、スタートソングフラグＳＳＦが「０」、すなわち、ソングスイッチ１７がオフ設定された状態であるかどうかを判断する。ソングスイッチ１７がオン設定された状態であれば、判断結果は「ＮＯ」となり、この場合、エレメントスイッチの操作は無効となる。
一方、ソングスイッチ１７がオフ設定されていると、判断結果が「ＹＥＳ」となり、ステップＳｃ２〜Ｓｃ６を介して、操作されたスイッチ種類に対応した処理を実行する。以下、イントロスイッチ１２、ノーマル／フィルインスイッチ１３、バリエーション／フィルインスイッチ１４、エンディングスイッチ１５およびＡＥＳスイッチ１０がそれぞれ操作された時の処理について述べる。
【００４４】
（イ）イントロスイッチ処理ルーチンの動作
イントロスイッチ１２が操作されると、図１８に示すイントロスイッチ処理ルーチンにおけるステップＳｃ２−１の判断結果が「ＹＥＳ」となり、ステップＳｃ２−２に処理を進める。ステップＳｂ２−２では、スタートパターンフラグＳＰＦが「１」、すなわち、パターンスイッチ１８がオン設定されるシーケンスモード下であるかどうかを判断する。
ここで、シーケンスモード下でなければ、判断結果は「ＮＯ」となり、ステップＳｃ２−３〜Ｓｃ２−７を実行し、オリジナルパターンエリアＯＰＥ中で選択された伴奏パターン（ｎ）のイントロパターン（伴奏エレメント（０））を読み出す為の処理を行う。
【００４５】
すなわち、まずステップＳｃ２−３では、スタートアドレスＳＴＡＲＴ（ｎ，０）をアドレスポインタＡＤにストアする。次いで、ステップＳｃ２−４では、そのアドレスポインタＡＤに応じて、オリジナルパターンエリアＯＰＥ中で選択された伴奏パターン（ｎ）のイントロパターン（伴奏エレメント（０））から読み出される先頭データ（タイミングデータＴＩＭＥ）をレジスタＴｐにセットする。そして、ステップＳｃ２−５では、伴奏エレメントの種別を保持するレジスタＥＬＥＭＥＮＴに、”イントロパターン”を表す「０」をセットした後、スタートフラグＳＴＦを「１」にセットする。この後、ステップＳｃ２−７にてフラグＮＦ，ＶＦを共に「１」をセットして本ルーチンを完了する。
【００４６】
なお、フラグＮＦとは、ノーマル／フィルインスイッチ１３がノーマルパターンを指定するか、あるいはノーマルフィルインパターンを指定するかを区別するフラグであり、フラグ値が「１」であると、ノーマル／フィルインスイッチ１３の操作に応じてノーマルパターンを指定する設定になる。
また、フラグＶＦとは、バリエーション／フィルインスイッチ１４がバリエーションパターンを指定するか、あるいはバリエーションフィルインパターンを指定するかを区別するフラグであり、フラグ値が「１」であると、ノーマル／フィルインスイッチ１３の操作に応じてバリエーションパターンを指定する設定になる。
【００４７】
さて一方、パターンスイッチ１８がオン設定されるシーケンスモード下であると、上記ステップＳｃ２−２の判断結果が「ＹＥＳ」となり、ＣＰＵ２はステップＳｃ２−８に処理を進める。ステップＳｃ２−８では、スタートフラグＳＴＦが「１」、つまり、再生開始されているかどうかを判断する。
ここで、スタートフラグＳＴＦが「０」で再生停止中であれば、判断結果は「ＮＯ」となり、ステップＳｃ２−９に進み、シーケンスエリアＳＥ中の再生エリアＲＥＰにおけるイントロパターン（伴奏エレメント（０））の先頭アドレスＡＤ（０）をポインタアドレスＡＤにストアする。次いで、ステップＳｃ２−１０では、レジスタＥＬＥＭＥＮＴに、”イントロパターン”を表す「０」をセットし、続くステップＳｃ２−１１では待機フラグＴＡＩＫＩＦに「１」をセットして待機状態に設定する。この後、ステップＳｃ２−７を経てフラグＮＦ，ＶＦを共に「１」をセットして本ルーチンを完了する。
【００４８】
これに対し、シーケンスモード下であって、しかもパターン再生が開始されていると、上記ステップＳｃ２−８の判断結果は「ＹＥＳ」となり、ステップＳｃ２−１２に進み、シーケンスエリアＳＥ中の再生エリアＲＥＰにおけるイントロパターン（伴奏エレメント（０））の先頭アドレスＡＤ（０）を、待機アドレスを保持するレジスタＴＡＩＫＩＡＤにストアし、続くステップＳｃ２−１３では待機フラグＴＡＩＫＩＦに「１」をセットして待機状態に設定する。この後、待機状態にある伴奏エレメント種類を保持するレジスタＴＡＩＫＩＥに、”イントロパターン”を表す「０」をセットした後、ステップＳｃ２−７を経てフラグＮＦ，ＶＦを共に「１」をセットして本ルーチンを完了する。
【００４９】
（ロ）ノーマル／フィルインスイッチ処理ルーチンの動作
ノーマル／フィルインスイッチ１３が操作されると、図１９に示すノーマル／フィルインスイッチ処理ルーチンにおけるステップＳｃ３−１の判断結果が「ＹＥＳ」となり、ステップＳｃ３−２に処理を進める。ステップＳｃ３−２では、フラグＮＦを反転すると共に、フラグＶＦに「１」をセットする。次いで、ステップＳｃ３−３に進むと、スタートパターンフラグＳＰＦが「１」、すなわち、パターンスイッチ１８がオン設定されるシーケンスモード下であるかどうかを判断する。
【００５０】
ここで、シーケンスモード下でなければ、判断結果は「ＮＯ」となり、図２０に示すステップＳｃ３−４〜Ｓｃ３−９を実行し、オリジナルパターンエリアＯＰＥ中で選択された伴奏パターン（ｎ）のノーマルパターン（伴奏エレメント（１））あるいはノーマルフィルインパターン（伴奏エレメント（２））のいずれかを読み出す為の処理を行う。
【００５１】
すなわち、ステップＳｃ３−４では、フラグＮＦが「１」であるか否かを判断する。そして、フラグＮＦが「１」であれば、次のステップＳｃ３−５に進み、オリジナルパターンエリアＯＰＥで選択した伴奏パターン（ｎ）中のノーマルパターン（伴奏エレメント（１））のスタートアドレスＳＴＡＲＴ（ｎ，１）を、待機アドレスを保持するレジスタＴＡＩＫＩＡＤにストアする。続いて、ステップＳｃ３−６では待機フラグＴＡＩＫＩＦに「１」をセットして待機状態に設定した後、ステップＳｃ３−７に進み、待機状態にある伴奏エレメント種類を保持するレジスタＴＡＩＫＩＥに、”ノーマルパターン”を表す「１」をセットして本ルーチンを完了する。
【００５２】
これに対し、フラグＮＦが「０」であると、上記ステップＳｃ３−４の判断結果が「ＮＯ」となり、ステップＳｃ３−８に進む。ステップＳｃ３−８では、オリジナルパターンエリアＯＰＥで選択した伴奏パターン（ｎ）中のノーマルフィルインパターン（伴奏エレメント（２））のスタートアドレスＳＴＡＲＴ（ｎ，２）をアドレスポインタＡＤにストアする。次いで、ステップＳｃ３−９では、伴奏エレメントの種別を保持するレジスタＥＬＥＭＥＮＴに、”ノーマルフィルインパターン”を表す「２」をセットして本ルーチンを完了する。
【００５３】
さて一方、パターンスイッチ１８がオン設定されるシーケンスモード下であると、図１９に示すステップＳｃ３−３の判断結果が「ＹＥＳ」となり、ＣＰＵ２はステップＳｃ３−１０に処理を進める。ステップＳｃ３−１０では、スタートフラグＳＴＦが「１」、つまり、再生開始しているかどうかを判断する。ここで、再生停止であれば、判断結果は「ＮＯ」となり、ステップＳｃ３−１１に進み、フラグＮＦが「１」であるかどうかを判断する。以下、フラグＮＦが「１」，「０」の各場合の動作について述べる。
【００５４】
＜フラグＮＦが「１」の場合＞
この場合、判断結果は「ＹＥＳ」となり、次のステップＳｃ３−１２に処理を進め、シーケンスエリアＳＥ中の再生エリアＲＥＰにおけるノーマルパターン（伴奏エレメント（１））の先頭アドレスＡＤ（１）をポインタアドレスＡＤにストアする。次いで、ステップＳｃ３−１３では、レジスタＥＬＥＭＥＮＴに、”ノーマルパターン”を表す「１」をセットしてから本ルーチンを完了する。
【００５５】
＜フラグＮＦが「０」の場合＞
この場合、判断結果は「ＮＯ」となり、ステップＳｃ３−１４に進み、シーケンスエリアＳＥ中の再生エリアＲＥＰにおけるノーマルフィルインパターン（伴奏エレメント（２））の先頭アドレスＡＤ（２）をポインタアドレスＡＤにストアした後、ステップＳｃ３−１５に進み、レジスタＥＬＥＭＥＮＴに、”フィルインパターン”を表す「２」をセットしてから本ルーチンを完了する。
【００５６】
これに対し、シーケンスモード下であって、しかもパターン再生が開始されていると、上記ステップＳｃ３−１０の判断結果は「ＹＥＳ」となり、ステップＳｃ３−１６に進み、フラグＮＦが「１」であるかどうかを判断する。以下、フラグＮＦが「１」，「０」の各場合の動作について述べる。
【００５７】
＜フラグＮＦが「１」の場合＞
この場合、判断結果は「ＹＥＳ」となり、次のステップＳｃ３−１７に処理を進め、シーケンスエリアＳＥ中の再生エリアＲＥＰにおけるノーマルパターン（伴奏エレメント（１））の先頭アドレスＡＤ（１）を、待機アドレスを保持するレジスタＴＡＩＫＩＡＤにストアし、続くステップＳｃ３−１８では待機フラグＴＡＩＫＩＦに「１」をセットして待機状態に設定する。この後、ステップＳｃ３−１９に進み、待機状態にある伴奏エレメント種類を保持するレジスタＴＡＩＫＩＥに、”ノーマルパターン”を表す「１」をセットしてから本ルーチンを完了する。
【００５８】
＜フラグＮＦが「０」の場合＞
この場合、判断結果は「ＮＯ」となり、ステップＳｃ３−２０に進み、シーケンスエリアＳＥ中の再生エリアＲＥＰにおけるノーマルフィルインパターン（伴奏エレメント（２））の先頭アドレスＡＤ（２）を、待機アドレスを保持するレジスタＴＡＩＫＩＡＤにストアし、続くステップＳｃ３−２１では待機フラグＴＡＩＫＩＦに「１」をセットして待機状態に設定する。この後、ステップＳｃ３−２２に進み、待機状態にある伴奏エレメント種類を保持するレジスタＴＡＩＫＩＥに、”ノーマルフィルインパターン”を表す「２」をセットしてから本ルーチンを完了する。
【００５９】
（ハ）バリエーション／フィルインスイッチ処理ルーチンの動作
バリエーション／フィルインスイッチ１４が操作されると、図２１に示すバリエーション／フィルインスイッチ処理ルーチンにおけるステップＳｃ４−１の判断結果が「ＹＥＳ」となり、ステップＳｃ４−２に処理を進める。ステップＳｃ４−２では、フラグＶＦを反転すると共に、フラグＮＦに「１」をセットする。次いで、ステップＳｃ４−３に進むと、スタートパターンフラグＳＰＦが「１」、すなわち、パターンスイッチ１８がオン設定されるシーケンスモード下であるかどうかを判断する。
ここで、シーケンスモード下でなければ、判断結果は「ＮＯ」となり、図２２に示すステップＳｃ４−４〜Ｓｃ４−９を実行し、オリジナルパターンエリアＯＰＥ中で選択された伴奏パターン（ｎ）のバリエーションパターン（伴奏エレメント（３））あるいはバリエーションフィルインパターン（伴奏エレメント（４））のいずれかを読み出す為の処理を行う。
【００６０】
すなわち、ステップＳｃ４−４では、フラグＶＦが「１」であるか否かを判断する。そして、フラグＶＦが「１」であれば、次のステップＳｃ４−５に進み、オリジナルパターンエリアＯＰＥで選択した伴奏パターン（ｎ）中のバリエーションパターン（伴奏エレメント（３））のスタートアドレスＳＴＡＲＴ（ｎ，３）を、待機アドレスを保持するレジスタＴＡＩＫＩＡＤにストアする。続いて、ステップＳｃ４−６では待機フラグＴＡＩＫＩＦに「１」をセットして待機状態に設定した後、ステップＳｃ４−７に進み、待機状態にある伴奏エレメント種類を保持するレジスタＴＡＩＫＩＥに、”バリエーションパターン”を表す「３」をセットして本ルーチンを完了する。
【００６１】
これに対し、フラグＶＦが「０」であると、上記ステップＳｃ４−４の判断結果が「ＮＯ」となり、ステップＳｃ４−８に進む。ステップＳｃ４−８では、オリジナルパターンエリアＯＰＥで選択した伴奏パターン（ｎ）中のバリエーションフィルインパターン（伴奏エレメント（４））のスタートアドレスＳＴＡＲＴ（ｎ，４）をアドレスポインタＡＤにストアする。次いで、ステップＳｃ４−９では、伴奏エレメントの種別を保持するレジスタＥＬＥＭＥＮＴに、”バリエーションフィルインパターン”を表す「４」をセットして本ルーチンを完了する。
【００６２】
さて一方、パターンスイッチ１８がオン設定されるシーケンスモード下であると、上記ステップＳｃ４−３（図２１参照）の判断結果が「ＹＥＳ」となり、ＣＰＵ２はステップＳｃ４−１０に処理を進める。ステップＳｃ４−１０では、スタートフラグＳＴＦが「１」、つまり、パターン再生が開始されているかどうかを判断する。ここで、パターン再生が停止していると、判断結果は「ＮＯ」となり、ステップＳｃ４−１１に進み、フラグＶＦが「１」であるかどうかを判断する。以下、フラグＶＦが「１」，「０」の各場合の動作について述べる。
【００６３】
＜フラグＶＦが「１」の場合＞
この場合、判断結果は「ＹＥＳ」となり、次のステップＳｃ４−１２に処理を進め、シーケンスエリアＳＥ中の再生エリアＲＥＰにおけるバリエーションパターン（伴奏エレメント（３））の先頭アドレスＡＤ（３）をポインタアドレスＡＤにストアする。次いで、ステップＳｃ４−１３では、レジスタＥＬＥＭＥＮＴに、”バリエーションパターン”を表す「３」をセットしてから本ルーチンを完了する。
【００６４】
＜フラグＶＦが「０」の場合＞
この場合、判断結果は「ＮＯ」となり、ステップＳｃ４−１４に進み、シーケンスエリアＳＥ中の再生エリアＲＥＰにおけるバリエーションフィルインパターン（伴奏エレメント（４））の先頭アドレスＡＤ（４）をポインタアドレスＡＤにストアした後、ステップＳｃ４−１５に進み、レジスタＥＬＥＭＥＮＴに、”バリエーションフィルインパターン”を表す「４」をセットしてから本ルーチンを完了する。
【００６５】
これに対し、シーケンスモード下であって、しかもパターン再生が開始されていると、上記ステップＳｃ４−１０の判断結果は「ＹＥＳ」となり、ステップＳｃ４−１６に進み、フラグＶＦが「１」であるかどうかを判断する。以下、フラグＶＦが「１」，「０」の各場合の動作について述べる。
【００６６】
＜フラグＶＦが「１」の場合＞
この場合、判断結果は「ＹＥＳ」となり、次のステップＳｃ４−１７に処理を進め、シーケンスエリアＳＥ中の再生エリアＲＥＰにおけるバリエーションパターン（伴奏エレメント（３））の先頭アドレスＡＤ（３）を、待機アドレスを保持するレジスタＴＡＩＫＩＡＤにストアし、続くステップＳｃ４−１８では待機フラグＴＡＩＫＩＦに「１」をセットして待機状態に設定する。この後、ステップＳｃ４−１９に進み、待機状態にある伴奏エレメント種類を保持するレジスタＴＡＩＫＩＥに、”バリエーションパターン”を表す「３」をセットしてから本ルーチンを完了する。
【００６７】
＜フラグＶＦが「０」の場合＞
この場合、判断結果は「ＮＯ」となり、ステップＳｃ４−２０に進み、シーケンスエリアＳＥ中の再生エリアＲＥＰにおけるバリエーションフィルインパターン（伴奏エレメント（４））の先頭アドレスＡＤ（４）を、待機アドレスを保持するレジスタＴＡＩＫＩＡＤにストアし、続くステップＳｃ４−２１では待機フラグＴＡＩＫＩＦに「１」をセットして待機状態に設定する。この後、ステップＳｃ４−２２に進み、待機状態にある伴奏エレメント種類を保持するレジスタＴＡＩＫＩＥに、”バリエーションフィルインパターン”を表す「４」をセットしてから本ルーチンを完了する。
【００６８】
（ニ）エンディングスイッチ処理ルーチンの動作
エンディングスイッチ１５が操作されると、図２３に示すエンディングスイッチ処理ルーチンにおけるステップＳｃ５−１の判断結果が「ＹＥＳ」となり、ステップＳｃ５−２に処理を進める。ステップＳｃ５−２では、スタートパターンフラグＳＰＦが「１」、すなわち、パターンスイッチ１８がオン設定されるシーケンスモード下であるかどうかを判断する。
ここで、シーケンスモード下でなければ、判断結果は「ＮＯ」となり、ステップＳｃ５−３〜Ｓｃ５−６を実行し、オリジナルパターンエリアＯＰＥ中で選択された伴奏パターン（ｎ）のエンディングパターン（伴奏エレメント（５））を読み出す為の処理を行う。
【００６９】
すなわち、ステップＳｃ５−３では、オリジナルパターンエリアＯＰＥで選択した伴奏パターン（ｎ）中のエンディングパターン（伴奏エレメント（５））のスタートアドレスＳＴＡＲＴ（ｎ，５）を、待機アドレスを保持するレジスタＴＡＩＫＩＡＤにストアする。続いて、ステップＳｃ５−４では待機フラグＴＡＩＫＩＦに「１」をセットして待機状態に設定した後、ステップＳｃ５−５に進み、待機状態にある伴奏エレメント種類を保持するレジスタＴＡＩＫＩＥに、”エンディングパターン”を表す「５」をセットする。この後、ステップＳｃ５−６にてフラグＮＦ，ＶＦを共に「１」をセットしてから本ルーチンを完了する。
【００７０】
さて一方、シーケンスモード下であると、上記ステップＳｃ５−２の判断結果が「ＹＥＳ」となり、ＣＰＵ２はステップＳｃ５−７に処理を進める。ステップＳｃ５−７では、スタートフラグＳＴＦが「１」、つまり、パターン再生が開始されているかどうかを判断する。
ここで、パターン再生が停止していれば、判断結果は「ＮＯ」となり、ステップＳｃ５−８に進み、シーケンスエリアＳＥ中の再生エリアＲＥＰにおけるエンディングパターン（伴奏エレメント（５））の先頭アドレスＡＤ（５）をポインタアドレスＡＤにストアする。次いで、ステップＳｃ５−９では、レジスタＥＬＥＭＥＮＴに、”エンディングパターン”を表す「５」をセットする。この後、ステップＳｃ５−６を経てフラグＮＦ，ＶＦを共に「１」をセットして本ルーチンを完了する。
【００７１】
これに対し、シーケンスモード下であって、しかもパターン再生が開始されていると、上記ステップＳｃ５−７の判断結果は「ＹＥＳ」となり、ステップＳｃ５−１０に進み、シーケンスエリアＳＥ中の再生エリアＲＥＰにおけるエンディングパターン（伴奏エレメント（５））の先頭アドレスＡＤ（５）を、待機アドレスを保持するレジスタＴＡＩＫＩＡＤにストアし、続くステップＳｃ５−１１では待機フラグＴＡＩＫＩＦに「１」をセットして待機状態に設定する。この後、待機状態にある伴奏エレメント種類を保持するレジスタＴＡＩＫＩＥに、”エンディングパターン”を表す「５」をセットした後、ステップＳｃ５−６を経てフラグＮＦ，ＶＦを共に「１」をセットしてから本ルーチンを完了する。
【００７２】
（ホ）オールエレメントシリアルスイッチ処理ルーチンの動作
ＡＥＳスイッチ１０が操作されると、図２４に示すオールエレメントシリアルスイッチ処理ルーチンにおけるステップＳｃ６−１の判断結果が「ＹＥＳ」となり、ステップＳｃ６−２に処理を進める。ステップＳｃ６−２では、スタートパターンフラグＳＰＦが「１」、すなわち、パターンスイッチ１８がオン設定されるシーケンスモード下であるかどうかを判断する。シーケンスモード下でなければ、判断結果は「ＮＯ」となり、何も処理せずに本ルーチンを完了させるが、シーケンスモード下であると、判断結果が「ＹＥＳ」となり、ステップＳｃ６−３に処理を進める。
【００７３】
ステップＳｃ６−３では、スタートフラグＳＴＦが「０」、つまり、再生停止しているかどうかを判断する。再生開始していれば、判断結果は「ＮＯ」となり、何も処理せずに本ルーチンを完了させる。
一方、再生停止していると、判断結果が「ＹＥＳ」となり、ステップＳｃ６−４に処理を進め、シーケンスエリアＳＥ中の再生エリアＲＥＰにおけるイントロパターン（伴奏エレメント（０））の先頭アドレスＡＤ（０）を、ポインタアドレスＡＤにストアすると共に、レジスタｍをゼロリセットする。なお、このレジスタｍとは、伴奏エレメントの種類を識別する値を保持するレジスタであり、後述するＡＥＳパターン再生処理にて参照される。
次に、ステップＳｃ６−５では、レジスタＥＬＥＭＥＮＴに、”イントロパターン”を表す「０」をセットし、続くステップＳｃ６−６では、ＡＥＳスイッチ１０の操作に応じて、オールエレメントシリアルモード下に設定された旨を表すべくフラグＡＥＳを「１」にセットして本ルーチンを完了する。
【００７４】
▲４▼パターン切換スイッチ処理ルーチンの動作
図７のステップＳＡ４を介して図２５に示すパターン切換スイッチ処理ルーチンが実行されるとＣＰＵ２は、ステップＳｄ１に処理を進め、スタートフラグＳＴＦが「０」、つまり、再生停止であるかどうかを判断する。再生開始していれば、判断結果は「ＮＯ」となり、何も処理せずに本ルーチンを完了させるが、再生停止していると、判断結果は「ＹＥＳ」となり、ステップＳｄ２に処理を進め、パターン切換スイッチが操作されたかどうかを判断する。
そして、数値入力キーやカーソルキーから構成され、それらキー操作に応じて「ロック」、「ポップス」あるいは「ディスコ」等の各種伴奏スタイルの中から所望の伴奏パターンを選択するパターン切換えスイッチが操作されると、判断結果が「ＹＥＳ」となり、次のステップＳｄ３に進み、そのスイッチ操作に応じて選択された伴奏パターン番号をレジスタｎにストアして本ルーチンを完了させる。
【００７５】
▲５▼プリセットスイッチ処理ルーチンの動作
図７のステップＳＡ５を介して図２６に示すプリセットスイッチ処理ルーチンが実行されると、ＣＰＵ２はステップＳｅ１に処理を進め、スタートパターンフラグＳＰＦが「１」、すなわち、パターンスイッチ１８がオン設定されるシーケンスモード下であるかどうかを判断する。シーケンスモード下でなければ、判断結果は「ＮＯ」となり、何も処理せずに本ルーチンを完了させる。
一方、シーケンスモード下であれば、判断結果が「ＹＥＳ」となり、次のステップＳｅ２に進み、再生停止しているかどうかを判断する。再生が進行していれば、判断結果は「ＮＯ」となり、何も処理せずに本ルーチンを完了させるが、再生停止していると、判断結果は「ＹＥＳ」となり、ステップＳｅ３に処理を進める。
【００７６】
ステップＳｅ３では、プリセットスイッチ１６がオン操作されたかどうかを判断する。そして、オン操作されたならば、判断結果が「ＹＥＳ」となり、次のステップＳｅ４に進み、シーケンスエリアＳＥ中の再生エリアＲＥＰに格納される伴奏パターンの各伴奏エレメントを、オリジナルパターンエリアＯＰＥのパターン（ｎ）の伴奏エレメント（０）〜（５）としてストアする。次いで、ステップＳｅ５では、再生エリアＲＥＰにおける各伴奏エレメントの先頭アドレスＡＤ（０）〜（５）を、オリジナルパターンエリアＯＰＥに格納したパターン（ｎ）のヘッダＨＤとしてＳＴＡＲＴ（０）〜（５）に変換してオリジナルパターンエリアＯＰＥにストアする。なお、先頭アドレスＡＤ（０）〜（５）をＳＴＡＲＴ（０）〜（５）に変換するとは、具体的には各アドレス値に所定のオフセットを与える操作を指す。
【００７７】
（３）入力処理ルーチンの動作
次に、図２７を参照して入力処理ルーチンの動作について説明する。前述したステップＳ３（図６参照）を介して図２７に示すスイッチ処理ルーチンが実行されると、ＣＰＵ２はステップＳＢ１に処理を進め、入力イベントの有無を判断し、鍵盤６の押離鍵操作に応じて発生する鍵イベントもしくは図示されていないＭＩＤＩインタフェースを介してＭＩＤＩデータが入力されると、その判断結果が「ＹＥＳ」となり、次のステップＳＢ２に進み、入力されたイベントをＲＡＭ４の入力バッファにストアして本ルーチンを完了させる。
【００７８】
（４）パターン再生処理ルーチンの動作
次に、図２８〜図２９を参照してパターン処理ルーチンの動作について説明する。前述したステップＳ４（図６参照）を介して図２８に示すパターン処理ルーチンが実行されると、ステップＳＣ１に処理を進め、スタートソングフラグＳＳＦおよびスタートパターンフラグＳＰＦが共に「０」であるか否か、つまり、シーケンスモードでないかどうかを判断する。シーケンスモード下であると、判断結果は「ＮＯ」となり、何も処理せずに本ルーチンを完了させる。
一方、シーケンスモード下でなければ、判断結果は「ＹＥＳ」となり、次のステップＳＣ２に進み、スタートフラグＳＴＦが「１」、つまり、再生開始しているかどうかを判断し、再生停止であれば、判断結果が「ＮＯ」となり、何も処理せずに本ルーチンを完了させる。
【００７９】
これに対し、パターン再生が開始されていると、判断結果は「ＹＥＳ」となり、ステップＳＣ３に進み、最小分解能時間が経過したか否か、つまり、図示されていないタイマ割込み処理にて生成されるタイマクロック１周期分（最小分解能時間）の時間が経過したかどうかを判断する。ここで、最小分解能時間が経過していなければ、判断結果は「ＮＯ」となり、一旦、本ルーチンを完了させる。これに対し、最小分解能時間が経過した場合には、判断結果が「ＹＥＳ」となり、ステップＳＣ４に進み、レジスタＴｐに格納されるタイミングデータＴＩＭＥをデクリメントする。
【００８０】
次いで、ステップＳＣ５では、デクリメントされたレジスタＴｐの値が「０」、つまり、発音タイミングに達したかどうかを判断する。発音タイミングに達していなければ、判断結果は「ＮＯ」となり、一旦、本ルーチンを完了させる。
一方、発音タイミングに達した時には、判断結果が「ＹＥＳ」となり、ステップＳＣ６に処理を進め、アドレスポインタＡＤをインクリメントして歩進させる。続いて、ステップＳＣ７では、アドレスポインタＡＤに応じて、オリジナルパターンエリアＯＰＥ中で選択された伴奏パターンｎの伴奏エレメントから読み出されるデータ種別を判定する。
【００８１】
タイミングデータＴＩＭＥが読み出された場合には、ステップＳＣ８に進み、その読み出したタイミングデータＴＩＭＥをレジスタＴｐにストアし、上述したステップＳＣ５に処理を戻す。
イベントデータＥＶＥＮＴが読み出された場合には、ステップＳＣ９に進み、その読み出したイベントデータＥＶＥＮＴをＲＡＭ４の出力バッファに転送し、上述したステップＳＣ６に処理を戻す。
伴奏エレメント終端を表すＥＮＤデータが読み出された場合には、図２９に示すステップＳＣ１０に処理を進める。
【００８２】
ステップＳＣ１０では、待機フラグＴＡＩＫＩＦが「１」、すなわち、現在再生し終えた伴奏エレメントに続いて再生待ちとなっている伴奏エレメントがあるかどうかを判断する。再生待ちとなっている伴奏エレメントがあると、判断結果は「ＹＥＳ」となり、ステップＳＣ１１に進む。ステップＳＣ１１では、待機アドレスを保持するレジスタＴＡＩＫＩＡＤの内容を、アドレスポインタＡＤにセットする。
続いて、ステップＳＣ１２では、そのアドレスポインタＡＤにセットされた待機アドレスに応じて、待機中にある伴奏エレメントから読み出される先頭データ（タイミングデータＴＩＭＥ）をレジスタＴｐにストアする。そして、ステップＳＣ１３では、待機フラグＴＡＩＫＩＦをゼロリセットし、続くステップＳＣ１４では、待機状態にある伴奏エレメント種類を保持するレジスタＴＡＩＫＩＥの値をレジスタＥＬＥＭＥＮＴにストアした後、上述したステップＳＣ６（図２８参照）に処理を戻す。これにより、待機していた伴奏エレメントが再生される。
【００８３】
さて一方、再生待ちとなっている伴奏エレメントが無い場合には、上述したステップＳＣ１０の判断結果が「ＮＯ」となり、ステップＳＣ１５以降に処理を進める。ステップＳＣ１５以降では、現在再生し終えた伴奏エレメントの種類に応じた処理を行う。以下、再生し終えた伴奏エレメントが「イントロパターン」、「ノーマルパターン」、「バリエーションパターン」および「エンディングパターン」の場合について述べる。
【００８４】
（イ）イントロパターンが終了した場合
この場合、ステップＳＣ１５の判断結果が「ＹＥＳ」となり、ステップＳＣ１６に進み、オリジナルパターンエリアＯＰＥで選択された伴奏パターン（ｎ）中のノーマルパターン（伴奏エレメント（１））のスタートアドレスＳＴＡＲＴ（ｎ，１）をアドレスポインタＡＤにストアする。続いて、ステップＳＣ１７では、そのアドレスポインタＡＤに応じて伴奏エレメント（１）から読み出される先頭データ（タイミングデータＴＩＭＥ）をレジスタＴｐにストアする。次いで、ステップＳＣ１８では、伴奏エレメントの種別を保持するレジスタＥＬＥＭＥＮＴに、”ノーマルパターン”を表す「１」をセットした後、前述のステップＳＣ６に処理を戻す。
【００８５】
（ロ）ノーマルパターンが終了した場合
この場合、ステップＳＣ１９の判断結果が「ＹＥＳ」となり、ステップＳＣ２０に進み、オリジナルパターンエリアＯＰＥで選択された伴奏パターン（ｎ）中のノーマルパターン（伴奏エレメント（１））のスタートアドレスＳＴＡＲＴ（ｎ，１）をアドレスポインタＡＤにストアした後、ステップＳＣ２１に進み、そのアドレスポインタＡＤに応じて伴奏エレメント（１）から読み出される先頭データ（タイミングデータＴＩＭＥ）をレジスタＴｐにストアした後、前述のステップＳＣ６に処理を戻す。このように、ノーマルパターンの場合、他の伴奏エレメントに切換えしない限り、繰り返し再生するようになっている。
【００８６】
（ハ）バリエーションパターンが終了した場合
この場合、ステップＳＣ２２の判断結果が「ＹＥＳ」となり、ステップＳＣ２３に進み、オリジナルパターンエリアＯＰＥで選択された伴奏パターン（ｎ）中のバリエーションパターン（伴奏エレメント（３））のスタートアドレスＳＴＡＲＴ（ｎ，３）をアドレスポインタＡＤにストアした後、ステップＳＣ２４に進み、そのアドレスポインタＡＤに応じて伴奏エレメント（３）から読み出される先頭データ（タイミングデータＴＩＭＥ）をレジスタＴｐにストアした後、前述のステップＳＣ６に処理を戻す。このように、バリエーションパターンの場合も、他の伴奏エレメントに切換えしない限り、繰り返し再生するようになっている。
【００８７】
（ニ）エンディングパターンが終了した場合
この場合、ステップＳＣ２５の判断結果が「ＹＥＳ」となり、ステップＳＣ２６に進み、スタートフラグＳＴＦをゼロリセットして再生停止状態に設定し、続くステップＳＣ２７では、再生停止に伴い、音源７に伴奏音の全てを消音するよう指示して本ルーチンを完了させる。
【００８８】
（５）ソング録再処理ルーチンの動作
次に、図３０〜図３２を参照してソング録再処理ルーチンの動作について説明する。前述したステップＳ５（図６参照）を介して図３０に示すソング録再処理ルーチンが実行されると、ＣＰＵ２はステップＳＤ１に処理を進め、スタートソングフラグＳＳＦが「１」であるか否か、つまり、ソングスイッチ１７がオン設定されるシーケンスモード下にあるかどうかを判断する。シーケンスモード下でなければ、判断結果は「ＮＯ」となり、何も処理せずに本ルーチンを完了させる。
一方、シーケンスモード下であれば、判断結果は「ＹＥＳ」となり、次のステップＳＤ２に進み、スタートフラグＳＴＦが「１」、つまり、録音（もしくは再生）開始状態であるかどうかを判断し、停止状態であれば、判断結果が「ＮＯ」となり、何も処理せずに本ルーチンを完了させる。
【００８９】
これに対し、開始状態にあると、判断結果は「ＹＥＳ」となり、ステップＳＤ３に進み、録音フラグＲＦが「１」であるか否かを判断する。ここで、録音フラグＲＦが「０」であると、判断結果が「ＮＯ」となり、ステップＳＤ４を介してソング再生処理（後述する）を実行する。一方、録音フラグＲＦが「１」であれば、判断結果は「ＹＥＳ」となり、ステップＳＤ５を介してソング録音処理（後述する）を実行する。以下、ソング再生処理およびソング録音処理について説明する。
【００９０】
▲１▼ソング再生処理ルーチンの動作
ソングスイッチ１７をオン設定した後、スタート／ストップスイッチ１１をオン操作して再生開始を指示すると、上述したステップＳＤ４を介して図３１に示すソング再生処理ルーチンが実行され、ステップＳＤ４−１に処理を進める。ステップＳＤ４−１では、図示されていないタイマ割込み処理にて生成されるタイマクロック１周期分（最小分解能時間）の時間が経過したかどうかを判断する。ここで、最小分解能時間が経過していなければ、判断結果は「ＮＯ」となり、一旦、本ルーチンを完了させる。
一方、最小分解能時間が経過した場合には、判断結果が「ＹＥＳ」となり、ステップＳＤ４−２に進み、レジスタＴｐに格納されるタイミングデータＴＩＭＥをデクリメントする。
【００９１】
次いで、ステップＳＤ４−３では、デクリメントされたレジスタＴｐの値が「０」、つまり、発音タイミングに達したかどうかを判断する。発音タイミングに達していなければ、判断結果は「ＮＯ」となり、一旦、本ルーチンを完了させる。
一方、発音タイミングに達した時には、判断結果が「ＹＥＳ」となり、ステップＳＤ４−４に処理を進め、アドレスポインタＡＤをインクリメントして歩進させる。続いて、ステップＳＤ４−５では、その歩進されたアドレスポインタＡＤに応じて、シーケンスエリアＳＥから読み出されるソングデータの種別を判定する。
【００９２】
読み出したソングデータがタイミングデータＴＩＭＥであると、ステップＳＤ４−６に進み、その読み出したタイミングデータＴＩＭＥをレジスタＴｐにストアし、上述したステップＳＤ４−３に処理を戻す。
読み出したソングデータがイベントデータＥＶＥＮＴであると、ステップＳＤ４−７に進み、そのイベントデータＥＶＥＮＴをＲＡＭ４の出力バッファに転送し、上述したステップＳＤ４−４に処理を戻す。
読み出したソングデータが曲の終わりを表すＥＮＤデータであると、ステップＳＤ４−８に処理を進め、スタートフラグＳＴＦをゼロリセットして再生停止状態に設定した後、ステップＳＤ４−９に進み、音源７に対して全ての演奏音の消音を指示する。
【００９３】
▲２▼ソング録音処理ルーチンの動作
ソングスイッチ１７および録音スイッチ１９をオン設定した後、スタート／ストップスイッチ１１をオン操作して録音開始を指示すると、前述したステップＳＤ５（図３０参照）を介して図３２に示すソング録音処理ルーチンが実行され、ステップＳＤ５−１に処理を進める。ステップＳＤ５−１では、図示されていないタイマ割込み処理にて生成されるタイマクロック１周期分（最小分解能時間）の時間が経過したかどうかを判断する。ここで、最小分解能時間が経過していなければ、判断結果は「ＮＯ」となり、一旦、本ルーチンを完了させる。
一方、最小分解能時間が経過した場合には、判断結果が「ＹＥＳ」となり、ステップＳＤ５−２に進み、レジスタＴｒに格納される録音時刻データをインクリメントする。
【００９４】
次いで、ステップＳＤ５−３では、ＲＡＭ４の入力バッファにイベントが格納されているか否かを判断する。入力バッファに鍵イベントやＭＩＤＩイベントが格納されていない場合には、録音対象が無いとして判断結果が「ＮＯ」となり、一旦、本ルーチンを完了させる。
これに対し、入力バッファにイベントが格納されていると、判断結果は「ＹＥＳ」となり、ステップＳＤ５−４に進む。ステップＳＤ５−４では、アドレスポインタＡＤに応じて、レジスタＴｒに格納される録音時刻データをシーケンスエリアＳＥにストアする。次いで、ステップＳＤ５−５では、アドレスポインタＡＤをインクリメントして歩進させ、続くステップＳＤ５−６では、歩進したアドレスポインタＡＤに応じて、入力バッファ中のイベントをシーケンスエリアＳＥにストアする。そして、この後、ステップＳＤ５−７に進み、再びアドレスポインタＡＤをインクリメントして歩進させてから本ルーチンを完了させる。
【００９５】
（６）シーケンスパターン録再処理ルーチンの動作
次に、図３３〜図３７を参照してシーケンスパターン録再処理ルーチンの動作について説明する。前述したステップＳ６（図６参照）を介して図３３に示すシーケンスパターン録再処理ルーチンが実行されると、ＣＰＵ２はステップＳＥ１に処理を進め、スタートパターンフラグＳＰＦが「１」であるか否か、つまり、パターンスイッチ１８がオン設定されるシーケンスモード下にあるかどうかを判断する。シーケンスモード下でなければ、判断結果は「ＮＯ」となり、何も処理せずに本ルーチンを完了させる。
一方、シーケンスモード下であれば、判断結果は「ＹＥＳ」となり、次のステップＳＥ２に進み、スタートフラグＳＴＦが「１」、つまり、録音（もしくは再生）開始状態であるかどうかを判断し、停止状態であれば、判断結果が「ＮＯ」となり、何も処理せずに本ルーチンを完了させる。
【００９６】
これに対し、開始状態にあると、判断結果は「ＹＥＳ」となり、ステップＳＥ３に進み、フラグＡＥＳが「１」、つまり、ＡＥＳスイッチ１０の操作にてオールエレメントシリアルモードに設定されているかどうかを判断する。オールエレメントシリアルモードに設定されていれば、判断結果が「ＹＥＳ」となり、ステップＳＥ４を介してＡＥＳパターン再生処理（後述する）を実行する。一方、オールエレメントシリアルモードに設定されていなければ、判断結果は「ＮＯ」となり、ステップＳＥ５を介してシーケンスパターン録再処理（後述する）を実行する。以下、ＡＥＳパターン再生処理およびシーケンスパターン録再処理について説明する。
【００９７】
▲１▼シーケンスパターン録再処理ルーチンの動作
パターンスイッチ１８をオン設定した後、スタート／ストップスイッチ１１をオン操作して再生開始を指示すると、上述したステップＳＥ５を介して図３４に示すシーケンスパターン録再処理ルーチンが実行され、ステップＳＥ５−１に処理を進める。ステップＳＥ５−１では、図示されていないタイマ割込み処理にて生成されるタイマクロック１周期分（最小分解能時間）の時間が経過したかどうかを判断する。ここで、最小分解能時間が経過していなければ、判断結果は「ＮＯ」となり、一旦、本ルーチンを完了させる。
一方、最小分解能時間が経過した場合には、判断結果が「ＹＥＳ」となり、ステップＳＥ５−２に進み、レジスタＴｐに格納されるタイミングデータＴＩＭＥをデクリメントする。次いで、ステップＳＥ５−３では、デクリメントされたレジスタＴｐの値が「０」、つまり、発音タイミングに達したかどうかを判断する。以下、発音タイミングに達した場合の動作と発音タイミングに達していない場合の動作とに分けて説明を進める。
【００９８】
（イ）発音タイミングに達していない場合
この場合、上記ステップＳＥ５−３の判断結果が「ＮＯ」となり、ステップＳＥ５−４に進み、録音フラグＲＦが「１」、つまり、シーケンスパターン再生中に録音スイッチ１９が操作されたかどうかを判断する。録音スイッチ１９が操作されなければ、判断結果は「ＮＯ」となり、何も処理せずに本ルーチンを完了させるが、録音スイッチ１９が操作されると、判断結果が「ＹＥＳ」となり、ステップＳＥ５−５を介して図３５に示す録音処理を実行する。
【００９９】
録音処理が実行されると、ＣＰＵ２は図３５のステップＳｆ１に処理を進め、レジスタＴｒに格納される録音時刻データをインクリメントする。次いで、ステップＳｆ２では、ＲＡＭ４の入力バッファにイベントが格納されているか否かを判断する。入力バッファにイベントが格納されていない場合には、録音対象が無いとして判断結果が「ＮＯ」となり、本ルーチンを完了させる。
一方、入力バッファに録音すべきイベントが格納されていると、判断結果は「ＹＥＳ」となり、ステップＳｆ３に進む。ステップＳｆ３では、レジスタＲＡＤに格納される書込みアドレスをインクリメントして歩進させる。なお、この書込みアドレスとは、シーケンスエリアＳＥ中の録音エリアＲＥＣにおける書込みアドレスを指すものであり、以後、レジスタＲＡＤの内容を書込みアドレスＲＡＤと記す。
【０１００】
書込みアドレスＲＡＤを歩進すると、ＣＰＵ２はステップＳｆ４に処理を進め、その歩進した書込みアドレスＲＡＤに応じて、レジスタＴｒに格納される録音時刻データをシーケンスエリアＳＥの録音エリアＲＥＣにストアする。次いで、ステップＳｆ５では、イベント間隔を計測する為にレジスタＴｒをゼロリセットする。そして、ステップＳｆ６では、書込みアドレスＲＡＤを歩進し、続くステップＳｆ７では、この歩進した書込みアドレスＲＡＤに応じて、入力バッファ中のイベントをシーケンスエリアＳＥの録音エリアＲＥＣにストアして本ルーチンを完了させる。
このように、シーケンスパターン再生中に録音スイッチ１９が操作されると、発音タイミングを外れた空き時間に、入力イベントをシーケンスエリアＳＥの録音エリアＲＥＣに録音（記録）し得るようなっている。
【０１０１】
（ロ）発音タイミングに達した場合
一方、発音タイミングに達すると、上記ステップＳＥ５−３（図３４参照）の判断結果が「ＹＥＳ」となり、ステップＳＥ５−６に処理を進め、アドレスポインタＡＤをインクリメントして歩進させる。続いて、ステップＳＥ５−７では、その歩進されたアドレスポインタＡＤに応じて、シーケンスエリアＳＥの再生エリアＲＥＰから読み出されるパターンデータの種別を判定する。
【０１０２】
読み出したパターンデータがタイミングデータＴＩＭＥであると、ステップＳＥ５−８に進み、その読み出したタイミングデータＴＩＭＥをレジスタＴｐにストアし、上述したステップＳＥ５−３に処理を戻す。
読み出したパターンデータがイベントデータＥＶＥＮＴであると、ステップＳＥ５−９に進み、そのイベントデータＥＶＥＮＴをＲＡＭ４の出力バッファに転送してから上述したステップＳＥ５−６に処理を戻す。
読み出したパターンデータが伴奏エレメントの終端を表すＥＮＤデータであると、ステップＳＥ５−１０に処理を進め、録音フラグＲＦが「１」、つまり、シーケンスパターン再生中に録音スイッチ１９が操作されたかどうかを判断する。
【０１０３】
録音スイッチ１９が操作された場合には、判断結果が「ＹＥＳ」となり、ステップＳＥ５−１１に処理を進める。ステップＳＥ５−１１では、録音エリアＲＥＰに録音したパターンデータと、今再生し終えた伴奏エレメント（ＥＬＥＭＥＮＴ）のパターンデータとをマージしてから次のステップＳＥ５−１２に処理を進める。
【０１０４】
一方、録音スイッチ１９が操作されていなければ、上記ステップＳＥ５−１０の判断結果が「ＮＯ」となり、ステップＳＥ５−１２に処理を進める。ステップＳＥ５−１２では、待機フラグＴＡＩＫＩＦが「１」であるか否かを判断する。待機フラグＴＡＩＫＩＦが「０」であれば、判断結果が「ＮＯ」となり、ステップＳＥ５−１３に進み、現在再生中にある伴奏エレメントの読み出しアドレスＡＤ（ＥＬＥＭＥＮＴ）を、アドレスポインタＡＤにセットした後、上述のステップＳＥ５−７に処理を戻す。
【０１０５】
待機フラグＴＡＩＫＩＦが「１」であると、判断結果は「ＹＥＳ」となり、ステップＳＥ５−１４に処理を進め、待機フラグＴＡＩＫＩＦをゼロリセットし、続くステップＳＥ５−１５では、待機アドレスを保持するレジスタＴＡＩＫＩＡＤの内容を、アドレスポインタＡＤにセットする。そして、ステップＳＥ５−１６では、待機状態にある伴奏エレメント種類を保持するレジスタＴＡＩＫＩＥの値を、レジスタＥＬＥＭＥＮＴに格納して上述のステップＳＥ−５に処理を戻す。つまり、シーケンスパターン再生では、再生エリアＲＥＰで選択される伴奏エレメントが繰り返し再生されるようになっている。
【０１０６】
▲２▼ＡＥＳパターン再生処理ルーチンの動作
パターンスイッチ１８およびＡＥＳスイッチ１０をオン設定した後、スタート／ストップスイッチ１１をオン操作して再生開始を指示すると、前述したステップＳＥ４（図３３参照）を介して図３６に示すＡＥＳパターン録再処理ルーチンが実行され、ステップＳＥ４−１に処理を進める。
ステップＳＥ４−１では、図示されていないタイマ割込み処理にて生成されるタイマクロック１周期分（最小分解能時間）の時間が経過したかどうかを判断する。ここで、最小分解能時間が経過していなければ、判断結果は「ＮＯ」となり、一旦、本ルーチンを完了させる。
【０１０７】
一方、最小分解能時間が経過した場合には、判断結果が「ＹＥＳ」となり、ステップＳＥ４−２に進み、レジスタＴｐに格納されるタイミングデータＴＩＭＥをデクリメントする。次いで、ステップＳＥ４−３では、デクリメントされたレジスタＴｐの値が「０」、つまり、発音タイミングに達したかどうかを判断する。以下、発音タイミングに達した場合の動作と発音タイミングに達していない場合の動作とに分けて説明を進める。
【０１０８】
（イ）発音タイミングに達していない場合
この場合、上記ステップＳＥ４−３の判断結果が「ＮＯ」となり、ステップＳＥ５−４に進み、録音フラグＲＦが「１」、つまり、シーケンスパターン再生中に録音スイッチ１９が操作されたかどうかを判断する。録音スイッチ１９が操作されなければ、判断結果は「ＮＯ」となり、何も処理せずに本ルーチンを完了させるが、録音スイッチ１９が操作されると、判断結果が「ＹＥＳ」となり、ステップＳＥ４−５を介して図３５に示す録音処理を実行する。
【０１０９】
録音処理が実行されると、ＣＰＵ２は図３５のステップＳｆ１に処理を進め、レジスタＴｒに格納される録音時刻データをインクリメントする。次いで、ステップＳｆ２では、ＲＡＭ４の入力バッファにイベントが格納されているか否かを判断する。入力バッファにイベントが格納されていない場合には、録音対象が無いとして判断結果が「ＮＯ」となり、本ルーチンを完了させる。
一方、入力バッファに録音すべきイベントが格納されていると、判断結果は「ＹＥＳ」となり、ステップＳｆ３に進む。ステップＳｆ３では、レジスタＲＡＤに格納される書込みアドレスをインクリメントして歩進させる。なお、この書込みアドレスとは、シーケンスエリアＳＥ中の録音エリアＲＥＣにおける書込みアドレスを指すものであり、以後、レジスタＲＡＤの内容を書込みアドレスＲＡＤと記す。
【０１１０】
書込みアドレスＲＡＤを歩進すると、ＣＰＵ２はステップＳｆ４に処理を進め、その歩進した書込みアドレスＲＡＤに応じて、レジスタＴｒに格納される録音時刻データをシーケンスエリアＳＥの録音エリアＲＥＣにストアする。次いで、ステップＳｆ５では、イベント間隔を計測する為にレジスタＴｒをゼロリセットする。そして、ステップＳｆ６では、書込みアドレスＲＡＤを歩進し、続くステップＳｆ７では、この歩進した書込みアドレスＲＡＤに応じて、入力バッファ中のイベントをシーケンスエリアＳＥの録音エリアＲＥＣにストアして本ルーチンを完了させる。
このように、ＡＥＳパターン再生中に録音スイッチ１９が操作されると、発音タイミングを外れた空き時間に、入力イベントをシーケンスエリアＳＥの録音エリアＲＥＣに録音（記録）し得るようなっている。
【０１１１】
（ロ）発音タイミングに達した場合
一方、発音タイミングに達すると、上記ステップＳＥ４−３（図３６参照）の判断結果が「ＹＥＳ」となり、ステップＳＥ４−６に処理を進め、アドレスポインタＡＤをインクリメントして歩進させる。続いて、ステップＳＥ４−７では、その歩進されたアドレスポインタＡＤに応じて、シーケンスエリアＳＥの再生エリアＲＥＰから読み出されるパターン（伴奏エレメント）データの種別を判定する。
【０１１２】
読み出したパターンデータがタイミングデータＴＩＭＥであると、ステップＳＥ４−８に進み、その読み出したタイミングデータＴＩＭＥをレジスタＴｐにストアし、上述したステップＳＥ４−３に処理を戻す。
読み出したパターンデータがイベントデータＥＶＥＮＴであると、ステップＳＥ４−９に進み、そのイベントデータＥＶＥＮＴをＲＡＭ４の出力バッファに転送してから上述したステップＳＥ４−６に処理を戻す。
読み出したパターンデータが伴奏エレメントの終端を表すＥＮＤデータであると、図３７に示すステップＳＥ４−１０に処理を進め、伴奏エレメントの種類を識別する値を保持するレジスタｍの値をインクリメントして歩進させる。
【０１１３】
次いで、ステップＳＥ４−１１では、歩進したレジスタｍの値が「６」に達したか、つまり、イントロパターンからエンディングパターンまでの一連の伴奏エレメントを連続的に再生し終えたかどうかを判断する。
ここで、一連の伴奏エレメントを連続的に再生し終えていなければ、判断結果は「ＮＯ」となり、後述するステップＳＥ４−１４に処理を進めるが、一連の伴奏エレメントを連続的に再生し終えると、判断結果が「ＹＥＳ」となり、ステップＳＥ４−１２に処理を進める。そして、ステップＳＥ４−１２では、録音エリアＲＥＰに録音したパターンデータと、今再生し終えた伴奏エレメント（ＥＬＥＭＥＮＴ）のパターンデータとをマージしてから次のステップＳＥ４−１３に処理を進める。
【０１１４】
ステップＳＥ４−１３では、レジスタｍの値をゼロリセットし、続くステップＳＥ４−１４では、レジスタｍの値をレジスタＥＬＥＭＥＮＴにストアする。そして、ステップＳＥ４−１５では、現在再生中にある伴奏エレメントｍの読み出しアドレスＡＤ（ｍ）を、アドレスポインタＡＤにセットする。続いて、ステップＳＥ４−１６では、そのアドレスポインタＡＤに応じて、シーケンスエリアＳＥ中の再生エリアＲＥＰから読み出される伴奏エレメントｍの先頭データ（タイミングデータ）をレジスタＴｐにセットした後、図３６のステップＳＥ４−３に処理を戻す。これにより、一連の伴奏エレメント（０）〜（５）が連続的にループ（繰り返し）再生されて行く。
【０１１５】
（７）出力処理ルーチンの動作
次に、図３８を参照して出力処理ルーチンの動作について説明する。前述したステップＳ７（図６参照）を介して図３８に示す出力処理ルーチンが実行されると、ＣＰＵ２はステップＳＦ１に処理を進め、ＲＡＭ４の入力バッファにデータがあるかどうかを判断する。入力バッファにデータが無ければ、判断結果は「ＮＯ」となり、後述するステップＳＦ３に処理を進めるが、入力バッファにデータがあると、判断結果が「ＹＥＳ」となり、次のステップＳＦ２にて入力バッファに格納されている入力イベント（例えば鍵イベント等）を、ＲＡＭ４の出力バッファに出力した後、ステップＳＦ３に進み、入力バッファの内容をクリアする。これにより、前述した入力処理にて入力バッファに格納した入力イベントが出力バッファに転送される。
【０１１６】
次いで、ステップＳＦ４では、出力バッファでのイベントの有無を判断し、イベントが無ければ、本ルーチンを完了させるが、上述したように、入力バッファから転送されてきたイベントや、ソングデータ／パターンデータ再生に応じて出力バッファにイベントが格納されると、判断結果が「ＹＥＳ」となり、次のステップＳＦ５に処理を進め、出力バッファに格納されるイベントを音源７に送出する。これにより、音源７では、転送されてくるイベント内容に従い、押離鍵操作に応じた演奏音、ソングデータに対応した演奏音あるいはパターンデータに対応した伴奏音を発生する。そして、出力バッファのイベントを音源７へ送出し終えた後、ステップＳＦ６に進み、出力バッファの内容をクリアして本ルーチンを完了させる。
【０１１７】
以上のように、本実施例によれば、パターン切換えスイッチの操作によってオリジナルパターンエリアＯＰＥ中で伴奏パターン（ｎ）を選択しておいてパターンスイッチ１８をオン設定すると、その選択した伴奏パターン（ｎ）の各伴奏エレメント（０）〜（５）と、これら伴奏エレメント（０）〜（５）の格納アドレスＡＤ（０）〜（５）とがひとまとめしてシーケンスエリアＳＥの再生エリアＲＥＰにコピーされる。
そして、ＡＥＳスイッチ１０をオン設定してからスタート／ストップスイッチ１１をオン操作して再生開始を指示すると、再生エリアＲＥＰに格納した「イントロパターン」から「エンディングパターン」までの一連の伴奏エレメント（０）〜（５）が連続的にループ（繰り返し）再生されて行く。
【０１１８】
各伴奏エレメント（０）〜（５）が連続的にループ再生される過程で、例えばイントロパターンが再生されている時に、録音スイッチ１９をオン操作してから演奏操作に応じた鍵イベントによる入力エレメントを録音エリアＲＥＣに録音すると、それが再生エリアＲＥＰにマージされ、このイントロパターンの再生が完了したら、イントロパターンに続いてそのマージされた入力エレメントを再生する。
つまり、全ての伴奏エレメントを繋げた形で再生および録音し得る為、パターン録音に際しては「イントロパターン」から「エンディングパターン」に至る一連の音楽的な繋がりや演奏上の乗りが寸断されることなく、ユーザーはイメージした通りの伴奏パターンを作成することが可能になる訳である。さらに、パターン再生に際しても、各伴奏エレメントを順次指定してパターン再生を進行させるという従来の煩わしさを解消し得るようになっている。
【０１１９】
【発明の効果】
請求項１，３に記載の発明によれば、エレメント記憶手段の再生エリアに格納される複数の伴奏エレメントを連続的に繰り返し再生している際に、録音指示があると、外部から入力される入力エレメントをエレメント記憶手段の録音エリアに収録し、その入力エレメントを収録した録音エリアをエレメント記憶手段の再生エリアに結合する。そして、現在再生中の伴奏エレメントが再生し終えたら、再生エリアに結合された録音エリアの入力エレメントを再生する。つまり、全ての伴奏エレメントを繋げた形で再生および録音し得るので、「イントロパターン」から「エンディングパターン」に至る一連の音楽的な繋がりや演奏上の乗りが寸断されることなく、ユーザーはイメージした通りの伴奏パターンを作成することができる。しかも、複数の伴奏エレメントを連続的に繰り返し再生するから、各伴奏エレメントを順次指定してパターン再生を進行させるという従来の煩わしさを解消することができる。
請求項２，４に記載の発明によれば、予め記憶される複数種の伴奏パターンの内から所望の伴奏パターンを選択し、その選択した伴奏パターンを形成する複数の伴奏エレメントに基づき、全ての伴奏エレメントを繋げた形で再生および録音し得る為、一連の伴奏エレメントの音楽的な繋がりや演奏上の乗りが寸断されることなく、ユーザーはイメージした通りの伴奏パターンを作成することができる。しかも、複数の伴奏エレメントを連続的に繰り返し再生するから、各伴奏エレメントを順次指定してパターン再生を進行させるという従来の煩わしさを解消することができる。
【図面の簡単な説明】
【図１】本発明による一実施例の構成を示すブロック図である。
【図２】パネルスイッチ群１に配設される主要スイッチの構成を示す図である。
【図３】ＲＡＭ４のデータ構造を示すメモリマップである。
【図４】ＲＡＭ４のデータ構造を示すメモリマップである。
【図５】ＲＡＭ４のデータ構造を示すメモリマップである。
【図６】メインルーチンの動作を示すフローチャートである。
【図７】スイッチ処理ルーチンの動作を示すフローチャートである。
【図８】パターン再生初期化処理ルーチンの動作を示すフローチャートである。
【図９】ソング再生初期化処理ルーチンの動作を示すフローチャートである。
【図１０】スタート／ストップスイッチ処理ルーチンの動作を示すフローチャートである。
【図１１】録音初期化処理ルーチンの動作を示すフローチャートである。
【図１２】シーケンスパターン初期化処理ルーチンの動作を示すフローチャートである。
【図１３】シーケンススイッチ処理ルーチンの動作を示すフローチャートである。
【図１４】録音スイッチ処理ルーチンの動作を示すフローチャートである。
【図１５】パターンスイッチ処理ルーチンの動作を示すフローチャートである。
【図１６】ソングスイッチ処理ルーチンの動作を示すフローチャートである。
【図１７】エレメントスイッチ処理ルーチンの動作を示すフローチャートである。
【図１８】イントロスイッチ処理ルーチンの動作を示すフローチャートである。
【図１９】ノーマル／フィルインスイッチ処理ルーチンの動作を示すフローチャートである。
【図２０】ノーマル／フィルインスイッチ処理ルーチンの動作を示すフローチャートである。
【図２１】バリエーション／フィルインスイッチ処理ルーチンの動作を示すフローチャートである。
【図２２】バリエーション／フィルインスイッチ処理ルーチンの動作を示すフローチャートである。
【図２３】エンディングスイッチ処理ルーチンの動作を示すフローチャートである。
【図２４】オールエレメントシリアルスイッチ処理ルーチンの動作を示すフローチャートである。
【図２５】パターン切換スイッチ処理ルーチンの動作を示すフローチャートである。
【図２６】プリセットスイッチ処理ルーチンの動作を示すフローチャートである。
【図２７】入力処理ルーチンの動作を示すフローチャートである。
【図２８】パターン再生処理ルーチンの動作を示すフローチャートである。
【図２９】パターン再生処理ルーチンの動作を示すフローチャートである。
【図３０】ソング録再処理ルーチンの動作を示すフローチャートである。
【図３１】ソング再生処理ルーチンの動作を示すフローチャートである。
【図３２】ソング録音処理ルーチンの動作を示すフローチャートである。
【図３３】シーケンスパターン録再処理ルーチンの動作を示すフローチャートである。
【図３４】シーケンスパターン録再処理ルーチンの動作を示すフローチャートである。
【図３５】録音処理ルーチンの動作を示すフローチャートである。
【図３６】ＡＥＳパターン録再処理ルーチンの動作を示すフローチャートである。
【図３７】ＡＥＳパターン録再処理ルーチンの動作を示すフローチャートである。
【図３８】出力処理ルーチンの動作を示すフローチャートである。
【符号の説明】
１  パネルスイッチ群
２  ＣＰＵ
３  ＲＯＭ
４  ＲＡＭ
５  表示部
６  鍵盤
７  音源
１０  オールエレメントシリアルスイッチ
１１  スタート／ストップスイッチ
１２  イントロスイッチ
１３  ノーマル／フィルインスイッチ
１４  バリエーション／フィルインスイッチ
１５  エンディングスイッチ
１６  プリセットスイッチ
１７  ソングスイッチ
１８  パターンスイッチ
１９  録音スイッチ
【図１】
0004117596.tif 000002
【図２】
0004117596.tif 000003
【図３】
0004117596.tif 000004
【図４】
0004117596.tif 000005
【図５】
0004117596.tif 000006
【図６】
0004117596.tif 000007
【図７】
0004117596.tif 000008
【図８】
0004117596.tif 000009
【図９】
0004117596.tif 000010
【図１０】
0004117596.tif 000011
【図１１】
0004117596.tif 000012
【図１２】
0004117596.tif 000013
【図１３】
0004117596.tif 000014
【図１４】
0004117596.tif 000015
【図１５】
0004117596.tif 000016
【図１６】
0004117596.tif 000017
【図１７】
0004117596.tif 000018
【図１８】
0004117596.tif 000019
【図１９】
0004117596.tif 000020
【図２０】
0004117596.tif 000021
【図２１】
0004117596.tif 000022
【図２２】
0004117596.tif 000023
【図２３】
0004117596.tif 000024
【図２４】
0004117596.tif 000025
【図２５】
0004117596.tif 000026
【図２６】
0004117596.tif 000027
【図２７】
0004117596.tif 000028
【図２８】
0004117596.tif 000029
【図２９】
0004117596.tif 000030
【図３０】
0004117596.tif 000031
【図３１】
0004117596.tif 000032
【図３２】
0004117596.tif 000033
【図３３】
0004117596.tif 000034
【図３４】
0004117596.tif 000035
【図３５】
0004117596.tif 000036
【図３６】
0004117596.tif 000037
【図３７】
0004117596.tif 000038
【図３８】
0004117596.tif 000039