JP3744190B2 - Automatic accompaniment device - Google Patents

Automatic accompaniment device Download PDF

Info

Publication number
JP3744190B2
JP3744190B2 JP08059098A JP8059098A JP3744190B2 JP 3744190 B2 JP3744190 B2 JP 3744190B2 JP 08059098 A JP08059098 A JP 08059098A JP 8059098 A JP8059098 A JP 8059098A JP 3744190 B2 JP3744190 B2 JP 3744190B2
Authority
JP
Japan
Prior art keywords
accompaniment
track
control sequence
time
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP08059098A
Other languages
Japanese (ja)
Other versions
JPH11259074A (en
Inventor
公洋 名越
順 吉野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP08059098A priority Critical patent/JP3744190B2/en
Publication of JPH11259074A publication Critical patent/JPH11259074A/en
Application granted granted Critical
Publication of JP3744190B2 publication Critical patent/JP3744190B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、演奏パターンデータにしたがって自動伴奏を行う自動伴奏装置に関する。
【0002】
【従来の技術】
従来の自動伴奏装置においては、複数の伴奏パターンデータをメモリに用意しておき、設定された伴奏パターンに応じて1つの伴奏パターンデータを選択し、これを繰り返しループ演奏することにより、自動伴奏を行っていた。
【0003】
【発明が解決しようとする課題】
しかしながら、上記従来の自動伴奏装置では、最近のように多様な伴奏パターンが要求されるようになると、伴奏パターンデータを記憶させるメモリの容量も増加することになる。また、メモリに記憶された固定の伴奏パターンをループ演奏するだけでは伴奏演奏が単調になるため、豊かな音楽性をもつ演奏が得られないという問題がある。
本発明の課題は、伴奏パターンデータのためのメモリの容量を低減するとともに、音楽性豊かな伴奏演奏を実現することである。
【0004】
【課題を解決するための手段】
本発明は、制御シーケンスデータにしたがって所定の時間長からなる伴奏シーケンスデータを複数組み合わせて伴奏パターンデータを作成するデータ作成手段と、制御シーケンスデータに含まれている演奏操作情報と同一の演奏操作情報が、制御シーケンスデータの進行中における指定された期間内において入力されたか否かを判別する入力情報判別手段と、制御シーケンスデータの演奏操作情報と入力された演奏操作情報とが一致したことを入力情報判別手段が判別したときは、その演奏操作情報によって指定されている伴奏シーケンスデータをデータ作成手段によって作成された伴奏パターンデータに合成させるデータ合成手段と、を有する構成になっている。
本発明によれば、ある伴奏パターンを自動演奏する場合には、複数の伴奏シーケンスデータを自在に組み合わせてその伴奏パターンを構築し、しかも、演奏者の特定の演奏操作に応じて、その演奏操作によって指定されている伴奏シーケンスデータを初めに構築した伴奏パターンにさらに合成する。
【0005】
【発明の実施の形態】
以下、本発明の自動伴奏装置の第1〜第3実施形態を図を参照して説明する。
図1は各実施形態に共通する自動伴奏装置のシステムを示すブロック図である。鍵盤等からなる演奏子(以下、「鍵盤」という)1は、操作に応じて演奏操作情報を入力する。スイッチパネル2は、音色や音量その他、伴奏パターンの設定等、発生する楽音の条件を設定するスイッチである。CPU3は、ROM及びRAM(いずれも図示せず)を内蔵したワンチップマイコンで構成され、ROMのプログラムの鍵盤処理、スイッチ処理にしたがって、鍵盤1及びスイッチパネル2から入力されたコマンドやデータをRAMに一時的にストアして処理する。表示回路4は、この装置の状態や操作についてのメッセージ等をCPU3の表示処理によって表示する。
【0006】
伴奏パターンメモリ5は、自動演奏する伴奏パターンデータそのものではなく、所定の時間長(例えば、1小節)からなる伴奏シーケンスデータを多数記憶している。CPU3は、スイッチパネル2からの伴奏パターンの設定に応じて、複数の伴奏シーケンスデータを伴奏パターンメモリ5から読み出して組み合わせ、例えば2小節の伴奏パターンデータを作成するためのコントロールシーケンスデータを生成する。作成される伴奏パターンは、ドラムパート、ベースパート、コードパートの複数のパートで構成される。なお、この実施形態においては、1音1音をデータ入力するステップ入力によってコントロールシーケンスデータが構成されている。また、各パートの複数のトラックは、すべて動作状態にする必要はなく、動作状態であるアライブ(ALIVE)又は非動作状態であるデッド(DEAD)が動作モードによって設定される。
【0007】
CPU3のRAM内には、コントロールシーケンスデータに対応するコントロールシーケンストラックのレジスタ、及び、複数のパートからなる伴奏シーケンスデータに対応する伴奏シーケンストラックのレジスタが設けられている。各トラックの処理については後述する。そして、音源6は、伴奏シーケンストラックに応じたCPU3の発音処理に応じて、図示しない音響システムに対して伴奏信号を送出する。
【0008】
次に、各実施形態の動作について、CPU3のフローチャートを参照して説明する。図2〜図7に関しては、各実施形態に共通の動作を示すフローである。図2は、メインフロー及びタイマインタラプト(TICK)のフローである。メインフローにおいては、初期化処理(ステップS1)を行った後、ステップS2〜ステップS7のループ処理を実行する。すなわち、鍵盤1の押鍵・離鍵、押鍵の強弱を検出する鍵盤処理(ステップS2)、スイッチパネル2の各スイッチの操作状態を検出するスイッチ処理(ステップS3)、表示回路4を制御する表示処理(ステップS4)、伴奏パターンデータに関する処理を行う伴奏制御処理(ステップS5)、発音・消音の制御を行う発音処理(ステップS6)、及び、その他の処理(ステップS7)を繰り返し行う。また、一定時間ごとに発生するタイマインタラプトに応じて、シーケンスタイマインタラプト処理を実行する(ステップS8)。
【0009】
図3は、図2のメインフローのステップS5における伴奏制御処理のフローである。この処理では、スイッチ処理で何らかのスイッチがオンされたイベントがあるか否かを判別する(ステップS9)。イベントがない場合にはこのフローを終了するが、イベントがあった場合には、スタートスイッチがオンされたか否かを判別する(ステップS10)。このスイッチがオンされた場合には、伴奏スタート処理を行う(ステップS11)。そして、このフローを終了する。
【0010】
ステップS10において、スタートスイッチがオンでない場合には、ストップスイッチがオンされたか否かを判別する(ステップS12)。このスイッチがオンされた場合には、伴奏ストップ処理を行う(ステップS13)。そして、このフローを終了する。
【0011】
ステップS12において、ストップスイッチがオンされない場合には、フィルインスイッチがオンされたか否かを判別する(ステップS14)。このスイッチがオンされた場合には、フィルイン処理を行う(ステップS15)。そして、このフローを終了する。
【0012】
ステップS14においてフィルインスイッチがオンされない場合には、伴奏番号値スイッチ(ACCOMP NUMBER VALUE SW)がオンされたか否かを判別する(ステップS16)。このスイッチがオンされた場合には、伴奏番号変更処理を行う(ステップS17)。
【0013】
ステップS16において伴奏番号値スイッチがオンされない場合には、オンされたその他のスイッチに応じた処理を行う(ステップS18)。そして、このフローを終了する。
【0014】
図4は、図3のステップS11における伴奏スタート処理のフローである。この処理では、伴奏パートのドラムパート、ベースパート、コードパートのいずれかを指定するポインタPを「1」にセットし(ステップS19)、Pをインクリメントしながらループ処理を行う。Pで指定したパートにおいて、そのパートの複数のコントロールトラックのいずれかを指定するポインタCTを「1」にセットする(ステップS20)。そして、CTをインクリメントしながら、Pで指定したパートの各コントロールシーケンストラックの伴奏スタート処理を行う。
【0015】
CTで指定したコントロールシーケンストラックにおいて、まず、コントロールトラックをアサインする(ステップS21)。次に、アサインしたコントロールトラックに、スイッチパネルで設定された伴奏パターンであるバリエーション(この場合、バリエーション1)のコントロールシーケンスデータの開始アドレスを設定する(ステップS22)。そして、次に実行するコマンドまでのステップタイム、及び実行するコマンドをシーケンスデータから読み出して、あらかじめコントロールトラックに設定する(ステップS23)。次に、コントロールシーケンストラックの動作モードをアライブにする(ステップS24)。
【0016】
この後、ポインタCTをインクリメントして(ステップS25)、次のコントロールシーケンストラックを指定する。そして、指定したコントロールシーケンストラックがそのパートの最大トラック数を超えたか否かを判別する(ステップS26)。最大数以下である場合には、ステップS21に移行して、CTで指定したコントロールシーケンストラックをアサインする。そして、コントロールシーケンストラックがそのパートの最大トラック数に達するまで、CTをインクリメントしながら、ステップS21〜ステップS26の処理を繰り返す。
【0017】
ステップS26において、コントロールシーケンストラックがそのパートの最大トラック数を超えた場合には、ポインタPをインクリメントして(ステップS27)、次のパートを指定する。そして、指定したパートが最大数を超えたか否かを判別する(ステップS28)。最大数以下である場合には、ステップS20に移行して、そのパートの最初のトラック(CT=1)からステップS21〜ステップS26の処理を繰り返す。そして、コントロールシーケンストラックがそのパートの最大トラック数に達するたびに、ステップS27においてPをインクリメントする。
【0018】
ステップS28において、指定したパートが最大パート数を超えた場合には、伴奏モードを伴奏スタート(ACCOMP START )にセットする(ステップS29)。そして、このフローを終了する。
【0019】
図5は、図3のステップS13における伴奏ストップ処理のフローである。この処理では、伴奏によって発音した全てのノート(音)をオフにして(ステップS30)、全てのコントロールシーケンストラックを初期化して、動作モードをデッドすなわち非動作にする(ステップS31)。また、全ての伴奏シーケンストラックを初期化して、動作モードをデッドにする(ステップS32)。次に、伴奏モードを伴奏ストップ(ACCOMP STOP )にセットする(ステップS33)。そして、このフローを終了する。
【0020】
図6は、図3のステップS15におけるフィルイン処理のフローである。この処理では、伴奏によって発音した全てのノートをオフにし(ステップS34)、全てのコントロールシーケンストラックを初期化して、動作モードをデッドにする(ステップS35)。また、全ての伴奏シーケンストラックを初期化して、動作モードをデッドにする(ステップS36)。
【0021】
次に、伴奏パートを指定するポインタPを「1」にセットする(ステップS37)。また、その指定したパートのコントロールシーケンストラックのポインタCTを「1」にセットする(ステップS38)。そして、CTをインクリメントしながら、Pで指定したパートの各コントロールシーケンストラックのフィルイン処理を行う。
【0022】
CTで指定したコントロールシーケンストラックにおいて、まず、コントロールシーケンストラックをアサインする(ステップS39)。次に、アサインしたコントロールシーケンストラックに、スイッチパネルで設定されたフィルインのコントロールシーケンスデータの開始アドレスを設定する(ステップS40)。次に、コントロールシーケンストラックの動作モードをアライブにする(ステップS41)。
【0023】
この後、ポインタCTをインクリメントして(ステップS42)、次のコントロールシーケンストラックを指定する。そして、指定したコントロールシーケンストラックがそのパートの最大トラック数を超えたか否かを判別する(ステップS43)。最大数以下である場合には、ステップS39に移行して、CTで指定したコントロールシーケンストラックをアサインする。そして、コントロールシーケンストラックがそのパートの最大トラック数に達するまで、CTをインクリメントしながら、ステップS39〜ステップS43の処理を繰り返す。
【0024】
ステップS43において、コントロールシーケンストラックがそのパートの最大トラック数を超えた場合には、ポインタPをインクリメントして(ステップS44)、次のパートを指定する。そして、指定したパートが最大数を超えたか否かを判別する(ステップS45)。最大数以下である場合には、ステップS38に移行して、そのパートの最初のトラック(CT=1)からステップS39〜ステップS43の処理を繰り返す。そして、コントロールシーケンストラックがそのパートの最大トラック数に達するたびに、ステップS44においてPをインクリメントする。
【0025】
ステップS45において、指定したパートが最大パート数を超えた場合には、現在演奏すべき時点まで強制的にコントロールシーケンスデータ及び伴奏シーケンスデータを進める(ステップS46)。そして、伴奏モードをフィルイン(ACCOMP FILLIN )にセットする(ステップS47)。そして、このフローを終了する。
【0026】
図7は、図2のステップS8におけるシーケンスタイマインタラプト処理のフローである。この処理では、コントロールシーケンストラックの処理(ステップS48)、伴奏シーケンストラックのゲートタイム処理(ステップS49)、伴奏シーケンストラックの処理(ステップS50)、ノートのゲートタイム処理(ステップS51)を実行する。
【0027】
次に、図8〜図18を参照して、各実施形態ごとに図7におけるシーケンスタイマインタラプト処理の動作を説明する。
まず、図8〜図15を参照して第1実施形態を説明する。図8は、図7のステップS48における第1実施形態のコントロールシーケンストラックの処理のフローである。この処理では、伴奏パートを指定するポインタPを「1」にセットし(ステップS52)、Pをインクリメントしながらループ処理を行う。Pで指定したパートにおいて、そのパートの複数のコントロールシーケンストラックのいずれかを指定するポインタCTを「1」にセットする(ステップS53)。そして、CTをインクリメントしながら、Pで指定したパートの各コントロールシーケンストラックの処理を行う。
【0028】
CTで指定したコントロールシーケンストラックのモードはアライブであるか否かを判別し(ステップS54)、アライブである場合には、コントロールシーケンストラックにおける次の実行コマンドまでの残りステップタイムは「0」であるか否かを判別する(ステップS55)。残りステップタイムが「0」でない場合には、そのステップタイムをデクリメントする(ステップS56)。
【0029】
ステップS55のデクリメントの後、又は、ステップS54においてコントロールシーケンストラックがアライブでなくデッドの場合には、ポインタCTをインクリメントして(ステップS57)、次のコントロールトラックを指定する。そして、指定したコントロールトラックがそのパートの最大トラック数を超えたか否かを判別する(ステップS58)。最大数以下である場合には、ステップS54に移行して、CTで指定したコントロールシーケンストラックの動作モードを判別する。
【0030】
コントロールシーケンストラックの動作モードがアライブの場合に、ステップS55において残りステップタイムが「0」である場合には、次の実行コマンドを判別する(ステップS59)。実行コマンドがトラックオンである場合には、コントロールシーケンスデータ中の番号の伴奏シーケンスデータを演奏する伴奏シーケンストラックを生成する(ステップS60)。一方、実行コマンドがジャンプである場合には、コントロールシーケンスデータ中のラベルにジャンプする(ステップS61)。
【0031】
ステップS60において伴奏シーケンストラックを生成した後、又は、ステップS61においてジャンプした後は、次のコントロールシーケンスデータを読み出し、コントロールシーケンストラックにセットするとともに、次のコントロールシーケンスデータまでのステップタイムをコントロールシーケンストラックにセットする(ステップS62)。そして、ステップS55に移行して、残りステップタイムを判別する。
【0032】
そして、コントロールシーケンストラックがそのパートの最大トラック数に達するまで、CTをインクリメントしながら、ステップS54以降の処理を繰り返す。ステップS58において、コントロールシーケンストラックがそのパートの最大トラック数を超えた場合には、ポインタPをインクリメントして(ステップS63)、次のパートを指定する。そして、指定したパートが最大数を超えたか否かを判別する(ステップS64)。最大数以下である場合には、ステップS53に移行して、新たに指定したパートの最初のコントロールシーケンストラックについて上記処理を繰り返す。そして、コントロールシーケンストラックがそのパートの最大トラック数に達するたびに、ステップS63においてPをインクリメントする。ステップS64において、指定したパートが最大パート数を超えた場合には、このフローを終了する。
【0033】
図9は、図7のステップS49における第1実施形態の伴奏シーケンストラックのゲートタイム処理のフローである。この処理では、伴奏パートを指定するポインタPを「1」にセットし(ステップS65)、Pをインクリメントしながらループ処理を行う。Pで指定したパートにおいて、そのパートの複数の伴奏シーケンストラックのいずれかを指定するポインタSTを「1」にセットする(ステップS66)。そして、STをインクリメントしながら、Pで指定したパートの各伴奏シーケンストラックの処理を行う。
【0034】
STで指定した伴奏シーケンストラックの動作モードはアライブであるか否かを判別し(ステップS67)、アライブである場合には、伴奏シーケンストラックにおける残りゲートタイムが「0」であるか否かを判別する(ステップS68)。残りゲートタイムが「0」でない場合には、そのゲートタイムをデクリメントする(ステップS69)。
【0035】
ステップS69においてステップタイムをデクリメントした後、又は、ステップS67において伴奏シーケンストラックがデッドである場合には、STをインクリメントして(ステップS70)、次の伴奏シーケンストラックを指定する。そして、指定した伴奏シーケンスラックがそのパートの最大トラック数を超えたか否かを判別する(ステップS71)。最大数以下である場合には、ステップS67に移行して、STで指定した伴奏シーケンストラックの動作モードを判別する。そして、伴奏シーケンストラックがそのパートの最大トラック数に達するまで、STをインクリメントしながら、ステップS67〜ステップS71の処理を繰り返す。
【0036】
ステップS68において、残りゲートタイムが「0」になった場合には、この伴奏シーケンストラックによって発音した全てのノートをオフにする(ステップS72)。また、この伴奏シーケンストラックを初期化して、動作モードをデッドにする(ステップS73)。そして、ステップS70に移行して、STをインクリメントする。
【0037】
ステップS71において、伴奏シーケンストラックがそのパートの最大トラック数を超えた場合には、ポインタPをインクリメントして(ステップS74)、次のパートを指定する。そして、指定したパートが最大数を超えたか否かを判別する(ステップS75)。最大数以下である場合には、ステップS66に移行して、新たに指定したパートの最初の伴奏シーケンストラックについて、ステップS67以降の処理を実行する。そして、伴奏シーケンストラックがそのパートの最大トラック数に達するたびに、ステップS74においてPをインクリメントする。ステップS75において、指定したパートが最大パート数を超えた場合には、このフローを終了する。
【0038】
図10は、図7のステップS50における第1実施形態の伴奏シーケンストラックの処理のフローである。この処理では、伴奏パートを指定するポインタPを「1」にセットし(ステップS76)、Pをインクリメントしながらループ処理を行う。Pで指定したパートにおいて、そのパートの伴奏シーケンストラックを指定するポインタSTを「1」にセットする(ステップS77)。そして、STをインクリメントしながら、Pで指定したパートの伴奏シーケンストラックの処理を行う。
【0039】
STで指定した伴奏シーケンストラックの動作モードはアライブであるか否かを判別し(ステップS78)、アライブである場合には、伴奏シーケンストラックにおける次の実行コマンドまでの残りステップタイムは「0」であるか否かを判別する(ステップS79)。残りステップタイムが「0」でない場合には、伴奏シーケンストラックのステップタイムをデクリメントする(ステップS80)。
【0040】
ステップS80におけるデクリメントの後、又は、ステップS78において伴奏シーケンストラックがアライブでなくデッドの場合には、ポインタSTをインクリメントして(ステップS81)、次の伴奏シーケンストラックを指定する。そして、指定した伴奏シーケンストラックがそのパートの最大トラック数を超えたか否かを判別する(ステップS82)。最大数以下である場合には、ステップS78に移行して、STで指定した伴奏シーケンストラックの動作モードを判別する。ステップS78において、伴奏シーケンストラックの動作モードがアライブの場合において、ステップS79において次の実行コマンドまでの残りステップタイムが「0」になった場合には、その実行コマンドを判別する(ステップS83)。
【0041】
実行コマンドがトラックエンドの場合には、この伴奏シーケンストラックの動作モードをデッドにする(ステップS84)。そして、ステップS81に移行して、STをインクリメントして次の伴奏シーケンストラックを指定する。
【0042】
一方、ステップS83において、実行コマンドがノート番号nのノートオンコマンドである場合には、ノート番号nのノートを伴奏シーケンスデータ中のベロシティ及びゲートタイムでセットしてオンにする(ステップS85)。また、次の伴奏シーケンスデータを読み出して伴奏シーケンストラックにセットするとともに、次の伴奏シーケンスデータまでのステップタイムを伴奏シーケンストラックにセットする(ステップS86)。この後、ステップS79に移行して、残りステップタイムを判別する。そして、ステップS82において、伴奏シーケンストラックがそのパートの最大トラック数に達するまで、STをインクリメントしながら、ステップS78〜ステップS82の処理を繰り返す。
【0043】
ステップS82において、伴奏シーケンストラックがそのパートの最大トラック数を超えた場合には、ポインタPをインクリメントして(ステップS87)、次のパートを指定する。そして、指定したパートが最大数を超えたか否かを判別する(ステップS88)。最大数以下である場合には、ステップS77に移行して、新たに指定したパートの最初の伴奏シーケンストラックについてステップS78以降の処理を繰り返す。そして、伴奏シーケンストラックがそのパートの最大トラック数に達するたびに、ステップS87においてPをインクリメントする。ステップS88において、指定したパートが最大パート数を超えた場合には、このフローを終了する。
【0044】
図11は、ドラムパートを例に採った場合の第1実施形態におけるコントロールトラックの処理を示す図である。図11(1)は、ドラムコントロールシーケンストラック「00」にセットされた伴奏シーケンスデータである。データの第1行目は、ステップタイム「000」で伴奏シーケンストラック番号「01」をゲートタイム「192(1小節)」の間だけオンにするトラック1を生成することを示している。したがって、図8のステップS55において、残りステップタイムが「0」であり、ステップS59において実行コマンドがトラックオンであるので、直ちにステップS60において、伴奏シーケンストラック番号「01」の伴奏シーケンスデータを演奏する伴奏シーケンストラックを生成する。
【0045】
図11(1)のデータの第2行目は、ステップタイム「000」で、伴奏シーケンストラック番号「25」をゲートタイム「192(1小節)」の間だけオンにするトラック2を生成することを示している。したがって、図8のステップS55において、残りステップタイムが「0」であり、ステップS59において実行コマンドがトラックオンであるので、直ちにステップS60において、伴奏シーケンストラック番号「25」の伴奏シーケンスデータを演奏する伴奏シーケンストラックを生成する。
【0046】
図11(1)のデータの第3行目は、ステップタイム「192」後に(すなわち1小節後に)、伴奏シーケンストラック番号「64」をゲートタイム「192(1小節)」の間だけオンにするトラック3を生成することを示している。したがって、図8のステップS55において、残りステップタイムが「192」であり、ステップS56においてステップタイムをデクリメントする。そして、192ステップ経過後に残りステップタイムが「0」になると、ステップS59において実行コマンドがトラックオンであるので、ステップS60において、伴奏シーケンストラック番号「64」の伴奏シーケンスデータを演奏する伴奏シーケンストラックを生成する。
【0047】
図11(2)は、図11(1)に基づいて、コントロールシーケンストラックの制御による伴奏シーケンストラックの生成の状態を示している。すなわち、初めの1小節では伴奏シーケンストラック番号「01」を実行するトラック1及び伴奏シーケンストラック番号「25」を実行するトラック2を生成し、後の1小節では伴奏シーケンストラック番号「64」を実行するトラック3を生成する。そして、この2小節の伴奏パターンを繰り返し演奏する。
【0048】
図12は、図11の場合におけるドラムパートの3つの伴奏シーケンストラックの処理を示す図である。この場合、伴奏シーケンストラック番号「01」はバス、伴奏シーケンストラック番号「25」はスネア、伴奏シーケンストラック番号「64」はハイハットである。
【0049】
バストラックの第1行目は、ステップタイム「000」で、ノート番号「36」をベロシティ96で48ステップのゲートタイムの時間だけオンにすることを示している。したがって、図10のステップS79において、残りステップタイムが「0」であり、ステップS83において実行コマンドがノート番号オンであるので、直ちにステップS85において、ノート番号「36」のノート(バス)をベロシティ96及びゲートタイム48の時間だけオンにする伴奏シーケンストラックを生成する。
【0050】
第2行目は、ステップタイム「096」で、ノート番号「36」をベロシティ85で48ステップのゲートタイムの時間だけオンにすることを示している。したがって、図10のステップS79において、残りステップタイムが「96」であり、ステップS80においてステップタイムをデクリメントする。そして、96ステップタイムが経過して残りステップタイムが「0」になると、ステップS83において実行コマンドがノート番号オンであるので、ステップS85において、ノート番号「36」のノート(バス)をベロシティ85及びゲートタイム48の時間だけオンにする伴奏シーケンストラックを生成する。
【0051】
第3行目は、ステップタイム「096」で、トラックエンドになることを示している。したがって、図10のステップS79において、残りステップタイムが「96」であり、ステップS80においてステップタイムをデクリメントする。そして、96ステップタイムが経過して残りステップタイムが「0」になると、ステップS83において実行コマンドがトラックエンドであるので、ステップS84において、この伴奏シーケンストラックの動作モードをデッドにする。
【0052】
この結果、トラック1のバスは、図12(2)に示すように、1小節の1/4拍目及び3/4拍目に強弱をつけた2拍子の伴奏シーケンスを形成する。
【0053】
スネアトラックの第1行目は、ステップタイム「048」で、ノート番号「38」をベロシティ80で48ステップのゲートタイムの時間だけオンにすることを示している。したがって、図10のステップS79において、残りステップタイムが「48」であり、ステップS80においてステップタイムをデクリメントする。そして、48ステップタイムが経過して残りステップタイムが「0」になると、ステップS83において実行コマンドがノート番号オンであるので、ステップS85において、ノート番号「38」のノート(スネア)をベロシティ80及びゲートタイム48の時間だけオンにする伴奏シーケンストラックを生成する。
【0054】
第2行目は、ステップタイム「144」で、ノート番号「38」をベロシティ69で48ステップのゲートタイムの時間だけオンにすることを示している。したがって、図10のステップS79において、残りステップタイムが「144」であり、ステップS80においてステップタイムをデクリメントする。そして、144ステップタイムが経過して残りステップタイムが「0」になると、ステップS83において実行コマンドがノート番号オンであるので、ステップS85において、ノート番号「38」のノート(スネア)をベロシティ69及びゲートタイム48の時間だけオンにする伴奏シーケンストラックを生成する。
【0055】
第3行目は、ステップタイム「192」で、トラックエンドになることを示している。したがって、図10のステップS79において、残りステップタイムが「192」であり、ステップS80においてステップタイムをデクリメントする。そして、192ステップタイムが経過して残りステップタイムが「0」になると、ステップS83において実行コマンドがトラックエンドであるので、ステップS84において、この伴奏シーケンストラックの動作モードをデッドにする。
【0056】
この結果、トラック2のスネアは、図12(2)に示すように、1小節の2/4拍目及び4/4拍目に強弱をつけた2拍子の伴奏シーケンスを形成する。
【0057】
ハイハットトラックの第1行目は、ステップタイム「000」で、ノート番号「42」をベロシティ80で24ステップのゲートタイムの時間だけオンにすることを示している。したがって、図10のステップS79において、残りステップタイムが「0」であり、ステップS83において実行コマンドがノート番号オンであるので、直ちにステップS85において、ノート番号「42」のノート(ハイハット)をベロシティ80及びゲートタイム24の時間だけオンにする伴奏シーケンストラックを生成する。
【0058】
第2行目〜第8行目は、ステップタイム「024」〜「168」で、ノート番号「42」をベロシティ80で24ステップのゲートタイムの時間だけオンにすることを示している。したがって、図10のステップS79において、残りステップタイムが「24」〜「168」であり、ステップS80においてステップタイムをデクリメントする。そして、24〜168ステップタイムが経過して残りステップタイムが「0」になると、ステップS83において実行コマンドがノート番号オンであるので、ステップS85において、ノート番号「42」のノート(ハイハット)をベロシティ80及びゲートタイム24の時間だけオンにする伴奏シーケンストラックを生成する。
【0059】
第9行目は、ステップタイム「192」で、トラックエンドになることを示している。したがって、図10のステップS79において、残りステップタイムが「192」であり、ステップS80においてステップタイムをデクリメントする。そして、192ステップタイムが経過して残りステップタイムが「0」になると、ステップS83において実行コマンドがトラックエンドであるので、ステップS84において、この伴奏シーケンストラックの動作モードをデッドにする。
【0060】
この結果、トラック3のハイハットは、図12(2)に示すように、1小節の1/8拍目ごとに同じ強さの8拍子の伴奏シーケンスを形成する。
【0061】
図13は、図11の場合におけるドラムパートの3つの伴奏シーケンストラックの処理のうちハイハットの伴奏シーケンストラックのみを伴奏シーケンストラック番号「64」から伴奏シーケンストラック番号「70」に変更したものである。
【0062】
図13(1)において、ハイハットトラックの第1行目は、ステップタイム「000」で、ノート番号「42」をベロシティ80で12ステップのゲートタイムの時間だけオンにすることを示している。したがって、図10のステップS79において、残りステップタイムが「0」であり、ステップS83において実行コマンドがノート番号オンであるので、直ちにステップS85において、ノート番号「42」のノート(ハイハット)をベロシティ80及びゲートタイム12の時間だけオンにする伴奏シーケンストラックを生成する。
【0063】
第2行目〜第16行目は、ステップタイム「012」〜「180」で、ノート番号「42」をベロシティ80で12ステップのゲートタイムの時間だけオンにすることを示している。したがって、図10のステップS79において、残りステップタイムが「12」〜「180」であり、ステップS80においてステップタイムをデクリメントする。そして、12〜180ステップタイムが経過して残りステップタイムが「0」になると、ステップS83において実行コマンドがノート番号オンであるので、ステップS85において、ノート番号「42」のノート(ハイハット)をベロシティ80及びゲートタイム12の時間だけオンにする伴奏シーケンストラックを生成する。
【0064】
第17行目は、ステップタイム「192」で、トラックエンドになることを示している。したがって、図10のステップS79において、残りステップタイムが「192」であり、ステップS80においてステップタイムをデクリメントする。そして、192ステップタイムが経過して残りステップタイムが「0」になると、ステップS83において実行コマンドがトラックエンドであるので、ステップS84において、この伴奏シーケンストラックの動作モードをデッドにする。
【0065】
この結果、トラック3のハイハットは、図13(2)に示すように、1小節の1/16拍目ごとに同じ強さの16拍子の伴奏シーケンスを形成する。
【0066】
このように、図1に示した伴奏パターンメモリ5に、自動演奏する一連の伴奏パターンデータそのものではなく、伴奏パターンデータを構成する所定の時間長の多数の伴奏シーケンスデータを個々に記憶させて、これらの組合せによって自動演奏する一連の伴奏パターンデータをその都度作成する。したがって、伴奏パターンデータのためのメモリの容量を低減することができる。
【0067】
図14は、図8に示したコントロールシーケンスの処理の変形例を示している。この処理では、複数の伴奏シーケンスデータの組合せで構成された伴奏パターンデータに対して、演奏者の特定の演奏操作情報の入力に応じた他の伴奏シーケンスデータをさらに加味する。具体的には、特定の演奏操作情報(例えば、コードチェンジ情報)を待って、その対象となる演奏操作情報が起こった(入力された)なら、コントロールシーケンスデータで指定したサブトラックを実行する。サブトラックについては後述する。
【0068】
図14において、伴奏パートを指定するポインタPを「1」にセットし(ステップS89)、Pをインクリメントしながらループ処理を行う。Pで指定したパートにおいて、そのパートの複数のコントロールトラックのいずれかを指定するポインタCTを「1」にセットする(ステップS90)。そして、CTをインクリメントしながら、Pで指定したパートの各コントロールトラックの処理を行う。
【0069】
CTで指定したコントロールシーケンストラックの動作モードはアライブであるか否かを判別し(ステップS91)、アライブである場合には、コントロールシーケンストラックにおける次の実行コマンドまでの残りステップタイムは「0」であるか否かを判別する(ステップS92)。残りステップタイムが「0」でない場合には、そのステップタイムをデクリメントする(ステップS93)。
【0070】
ステップS93のデクリメントの後、又は、ステップS91においてコントロールシーケンストラックがアライブでなくデッドの場合には、ポインタCTをインクリメントして(ステップS94)、次のコントロールトラックを指定する。そして、指定したコントロールトラックがそのパートの最大トラック数を超えたか否かを判別する(ステップS95)。最大数以下である場合には、ステップS91に移行して、CTで指定したコントロールシーケンストラックの動作モードを判別する。
【0071】
コントロールシーケンストラックがアライブの場合に、ステップS92において残りステップタイムが「0」である場合には、次の実行コマンドを判別する(ステップS96)。実行コマンドがトラックオンである場合には、コントロールシーケンスデータ中の番号の伴奏シーケンスデータを演奏する伴奏シーケンストラックを生成する(ステップS97)。ステップS96において、実行コマンドがジャンプである場合には、コントロールシーケンスデータ中のラベルにジャンプする(ステップS98)。ステップS96において、実行コマンドが、演奏者の特定の演奏操作情報の入力に応じた他の伴奏シーケンスデータをさらに加味するウェイト(WAITn ;nはサブトラックの番号)である場合には、ウェイトの待ちの対象である特定の演奏操作情報が今回起こったなら、コントロールシーケンスデータで指定した番号nのサブトラックを実行する(ステップS99)。
【0072】
ステップS97において伴奏シーケンストラックを生成した後、ステップS98においてジャンプした後、又は、ステップS99においてサブトラックを実行した後若しくは待ちの対象が起らなかった場合には、次のコントロールシーケンスデータを読み出し、コントロールシーケンストラックにセットするとともに、次のコントロールシーケンスデータまでのステップタイムをコントロールシーケンストラックにセットする(ステップS100)。そして、ステップS92に移行して、残りステップタイムを判別する。
【0073】
そして、コントロールシーケンストラックがそのパートの最大トラック数に達するまで、CTをインクリメントしながら、ステップS92以降の処理を繰り返す。ステップS95において、コントロールシーケンストラックがそのパートの最大トラック数を超えた場合には、ポインタPをインクリメントして(ステップS101)、次のパートを指定する。そして、指定したパートが最大数を超えたか否かを判別する(ステップS102)。最大数以下である場合には、ステップS90に移行して、新たに指定したパートの最初のコントトールシーケンストラックについて上記処理を繰り返す。そして、コントロールシーケンストラックがそのパートの最大トラック数に達するたびに、ステップS101においてPをインクリメントする。ステップS102において、指定したパートが最大パート数を超えた場合には、このフローを終了する。
【0074】
図15は、図11のドラムパートを例に採った場合において、サブトラックを実行するコントロールトラックの処理を示す図である。図15におけるコントロールシーケンストラック(Drum CTRL00)は、図11におけるコントロールトラックと同じである。したがって、図15(2)に示すように、ドラムコントロールトラック1の制御によって、初めの1小節では伴奏シーケンストラック番号「01」を実行するトラック1及び伴奏シーケンストラック番号「25」を実行するトラック2を生成し、後の1小節では伴奏シーケンストラック番号「64」を実行するトラック3を生成する。そして、この2小節の伴奏パターンを繰り返し演奏する。
【0075】
一方、図15(1)のコントロールシーケンストラック(Drum CTRL01)においては、第1行目は、ステップタイム「000」で、ウェイトコマンド(WAIT1 )を実行することを示している。この実行コマンドは、鍵盤から入力された演奏操作情報がコントロールシーケンスデータに設定されている演奏操作情報(Match 00)と一致したときに、サブトラックを実行するコマンドである。サブトラックの第4行目は、ステップタイム「000」で、伴奏シーケンストラック番号「72」をゲートタイム「192」の間だけオンにするトラック4を生成することを示している。サブトラックの第5行目は、ステップタイム「192」で、トラックエンドになることを示している。
【0076】
したがって、図15(2)に示すように、設定されている演奏操作情報(Match 00)と一致した演奏操作情報が入力されると、直ちに伴奏シーケンストラック番号「72」の伴奏シーケンスデータを演奏する伴奏シーケンストラックを生成する。この場合において、サブトラックを実行させるための演奏操作情報としては、例えば、コードチェンジ情報が考えられる。この場合には、演奏者がコードチェンジをすると同時にサブトラックを実行する。
【0077】
このように、上記第1実施形態によれば、図1におけるCPU3は、制御シーケンスデータにしたがって所定の時間長からなる伴奏シーケンスデータを複数組み合わせて伴奏パターンデータを作成するデータ作成手段と、制御シーケンスデータ(コントロールシーケンスデータ)に含まれている演奏操作情報と同一の演奏操作情報が入力されたか否かを判別する入力情報判別手段と、制御シーケンスデータの演奏操作情報と入力された演奏操作情報とが一致したことを入力情報判別手段が判別したときは、その演奏操作情報によって指定されている伴奏シーケンスデータをデータ作成手段によって作成された伴奏パターンデータに合成させるデータ合成手段とを構成する。
【0078】
そして、ある伴奏パターンを自動演奏する場合には、複数の伴奏シーケンスデータを自在に組み合わせてその伴奏パターンを構築し、しかも、演奏者の特定の演奏操作に応じて、その演奏操作によって指定されている伴奏シーケンスデータを初めに構築した伴奏パターンにさらに合成する。したがって、伴奏パターンデータのためのメモリの容量を低減するとともに、音楽性豊かな伴奏演奏を実現することができる。
【0079】
次に、第2実施形態について、図16及び図17を参照して説明する。この第2実施形態においては、待ち対象の演奏操作情報が入力されたとき、直ちにサブトラックを実行するのではなく、動作モードがウェイトの場合にサブトラックを実行する。
【0080】
図16は、図7のステップS48における第2実施形態のコントロールトラックの処理のフローである。この処理では、伴奏パートを指定するポインタPを「1」にセットし(ステップS103)、Pをインクリメントしながらループ処理を行う。Pで指定したパートにおいて、そのパートの複数のコントロールトラックのいずれかを指定するポインタCTを「1」にセットする(ステップS104)。そして、CTをインクリメントしながら、Pで指定したパートの各コントロールトラックの処理を行う。
【0081】
CTで指定したコントロールシーケンストラックの動作モードはアライブであるか否かを判別し(ステップS105)、アライブである場合には、コントロールシーケンストラックにおける次の実行コマンドまでの残りステップタイムは「0」であるか否かを判別する(ステップS106)。残りステップタイムが「0」でない場合には、動作モードはウェイトであるか否かを判別する(ステップS107)。動作モードがウェイトでない場合には、コントロールシーケンストラックのステップタイムをデクリメントする(ステップS108)。
【0082】
ステップS108のデクリメントの後、又は、ステップS105においてコントロールシーケンストラックの動作モードがアライブでなくデッドの場合には、ポインタCTをインクリメントして(ステップS109)、次のコントロールトラックを指定する。そして、指定したコントロールトラックがそのパートの最大トラック数を超えたか否かを判別する(ステップS110)。最大数以下である場合には、ステップS105に移行して、CTで指定したコントロールシーケンストラックの動作モードを判別する。
【0083】
コントロールシーケンストラックの動作モードがアライブの場合に、ステップS106において残りステップタイムが「0」である場合には、動作モードをアライブにする(ステップS111)。そして、次の実行コマンドを判別する(ステップS112)。実行コマンドがトラックオンである場合には、コントロールシーケンスデータ中の番号の伴奏シーケンスデータを演奏する伴奏シーケンストラックを生成する(ステップS113)。ステップS112において、実行コマンドがジャンプである場合には、コントロールシーケンスデータ中のラベルにジャンプする(ステップS114)。ステップS112において、実行コマンドがウェイトである場合には、動作モードをウェイトにする(ステップS115)。
【0084】
ステップS113において伴奏シーケンストラックを生成した後、ステップS114においてジャンプした後、又は、ステップS115において動作モードをウェイトにした後は、次のコントロールシーケンスデータを読み出し、コントロールシーケンストラックにセットするとともに、次のコントロールシーケンスデータまでのステップタイムをコントロールシーケンストラックにセットする(ステップS116)。そして、ステップS106に移行して、残りステップタイムを判別する。
【0085】
ステップS106において残りステップタイムが「0」でない場合に、ステップS107において動作モードがウェイトの場合には、入力された演奏操作情報が待ち対象の情報と一致しているか否かを判別する(ステップS117)。一致したときは、待ち対象が今回起こったので、コントロールシーケンスデータで指定したサブトラックを実行する(ステップS118)。サブトラックを実行した後、又は、入力された演奏操作情報が待ち対象の情報と一致していない場合には、ステップS108に移行して、コントロールシーケンストラックのステップタイムをデクリメントする。そして、ステップS109において、CTをインクリメントする。
【0086】
インクリメントした結果、ステップS110において、コントロールトラックがそのパートの最大トラック数を超えた場合には、ポインタPをインクリメントして(ステップS119)、次のパートを指定する。そして、指定したパートが最大数を超えたか否かを判別する(ステップS120)。最大数以下である場合には、ステップS104に移行して、新たに指定したパートの最初のコントロールシーケンストラックについてステップS105以降の処理を実行する。そして、コントロールシーケンストラックがそのパートの最大トラック数に達するたびに、ステップS119においてPをインクリメントする。ステップS120において、指定したパートが最大パート数を超えた場合には、このフローを終了する。
【0087】
図17は、ドラムパートを例に採った場合において、サブトラックを実行するコントロールトラックの処理を示す図である。図17におけるコントロールシーケンストラック(Drum CTRL00)は、第1実施形態の図11におけるコントロールトラックと同じである。したがって、図17(2)に示すように、ドラムコントロールトラック1の制御によって、初めの1小節では伴奏シーケンストラック番号「01」を実行するトラック1及び伴奏シーケンストラック番号「25」を実行するトラック2を生成し、後の1小節では伴奏シーケンストラック番号「64」を実行するトラック3を生成する。そして、この2小節の伴奏パターンを繰り返し演奏する。
【0088】
一方、図17(1)のコントロールシーケンストラック(Drum CTRL01)においては、ステップタイム「000」で、ウェイトコマンド(WAIT1 )を実行することを示している。この実行コマンドは、鍵盤から入力された演奏操作情報がコントロールシーケンスデータで設定されている演奏操作情報(Match 00)と一致したときに、サブトラックを実行するコマンドである。また、ステップタイム「000」で、伴奏シーケンストラック番号「72」をゲートタイム「192」の間だけオンにするトラック4を生成することを示している。さらに、ステップタイム「192」で、トラックエンドになることを示している。ただし、図16のフローに示したように、設定されている演奏操作情報が入力された場合でも、動作モードがウェイトのときに、サブトラックを実行する。
【0089】
したがって、図17(2)に示すように、ドラムコントロールトラック2がウェイトのときにのみ、設定されている演奏操作情報(Match 00)と一致した演奏操作情報が入力されると、伴奏シーケンストラック番号「72」の伴奏シーケンスデータを演奏する伴奏シーケンストラックを生成する。例えば、動作モードがウェイトのときに、演奏者がコードチェンジをすると、同時にサブトラックを実行する。
【0090】
このように、上記第2実施形態によれば、CPU3は、コントロールシーケンスデータの進行中における指定された範囲内に入力される演奏操作情報のみを受け付ける。したがって、演奏者の操作や装置の状態によりインタラクティブに伴奏データが変化し、多彩な伴奏演奏が所定のタイミング間において可能になる。
【0091】
次に、第3実施形態について図18を参照して説明する。この第3実施形態においても、第2実施形態と同様に、待ち対象の演奏操作情報が入力されたとき、直ちにサブトラックを実行するのではなく、動作モードがウェイトの場合にサブトラックを実行する。さらに、サブトラックの実行コマンドがワンショット実行コマンドである場合には、「一度だけ」サブトラックを実行する。
【0092】
図18は、図7のステップS48における第3実施形態のコントロールシーケンストラックの処理のフローである。この処理では、伴奏パートを指定するポインタPを「1」にセットし(ステップS121)、Pをインクリメントしながらループ処理を行う。Pで指定したパートにおいて、そのパートの複数のコントロールトラックのいずれかを指定するポインタCTを「1」にセットする(ステップS122)。そして、CTをインクリメントしながら、Pで指定したパートの各コントロールトラックの処理を行う。
【0093】
CTで指定したコントロールシーケンストラックの動作モードはアライブであるか否かを判別し(ステップS123)、アライブである場合には、コントロールシーケンストラックにおける次の実行コマンドまでの残りステップタイムは「0」であるか否かを判別する(ステップS124)。残りステップタイムが「0」でない場合には、動作モードはウェイトであるか否かを判別する(ステップS125)。動作モードがウェイトでない場合には、コントロールシーケンストラックのステップタイムをデクリメントする(ステップS126)。
【0094】
ステップS126のデクリメントの後、又は、ステップS123においてコントロールシーケンストラックの動作モードがアライブでなくデッドの場合には、ポインタCTをインクリメントして(ステップS127)、次のコントロールトラックを指定する。そして、指定したコントロールトラックがそのパートの最大トラック数を超えたか否かを判別する(ステップS128)。最大数以下である場合には、ステップS123に移行して、CTで指定したコントロールシーケンストラックの動作モードを判別する。
【0095】
コントロールシーケンストラックの動作モードがアライブの場合に、ステップS124において残りステップタイムが「0」である場合には、動作モードをアライブにする(ステップS129)。そして、次の実行コマンドを判別する(ステップS130)。実行コマンドがトラックオンである場合には、コントロールシーケンスデータ中の番号の伴奏シーケンスデータを演奏する伴奏シーケンストラックを生成する(ステップS131)。ステップS130において、実行コマンドがジャンプである場合には、コントロールシーケンスデータ中のラベルにジャンプする(ステップS132)。ステップS130において、実行コマンドがウェイトである場合には、動作モードをウェイトにする(ステップS133)。
【0096】
ステップS131において伴奏シーケンストラックを生成した後、ステップS132においてジャンプした後、又は、ステップS133において動作モードをウェイトにした後は、次のコントロールシーケンスデータを読み出し、コントロールシーケンストラックにセットするとともに、次のコントロールシーケンスデータまでのステップタイムをコントロールシーケンストラックにセットする(ステップS134)。そして、ステップS124に移行して、残りステップタイムを判別する。
【0097】
ステップS124において残りステップタイムが「0」でない場合に、ステップS125において動作モードがウェイトの場合には、入力された演奏操作情報が待ち対象の情報と一致しているか否かを判別する(ステップS135)。一致したときは、待ち対象が今回起こったので、コントロールシーケンスデータで指定したサブトラックを実行する(ステップS136)。サブトラックを実行した後、その実行コマンドがワンショットウェイトであるか否かを判別する(ステップS137)。ワンショットウェイトである場合には、動作モードをアライブにする(ステップS138)。アライブにした後、又は、ステップS135において入力された演奏操作情報が待ち対象の情報と一致していない場合、若しくは、ステップS137において実行コマンドがワンショットウェイトでない場合には、ステップS126に移行して、コントロールシーケンストラックのステップタイムをデクリメントする。そして、ステップS127において、CTをインクリメントする。
【0098】
インクリメントした結果、ステップS128において、コントロールシーケンストラックがそのパートの最大トラック数を超えた場合には、ポインタPをインクリメントして(ステップS139)、次のパートを指定する。そして、指定したパートが最大数を超えたか否かを判別する(ステップS140)。最大数以下である場合には、ステップS122に移行して、新たに指定したパートの最初のコントロールシーケンストラックからステップS123以降の処理を実行する。そして、コントロールシーケンストラックがそのパートの最大トラック数に達するたびに、ステップS139においてPをインクリメントする。ステップS140において、指定したパートが最大パート数を超えた場合には、このフローを終了する。
【0099】
このように、上記第3実施形態によれば、CPU3は、コントロールシーケンスデータの進行中における指定された範囲内に入力される演奏操作情報のみを受け付ける。さらにこの場合において、実行コマンドがワンショットウェイトの場合には、その範囲内に一度だけ演奏操作情報を受け付ける。したがって、演奏者の操作や装置の状態によりインタラクティブに伴奏データが変化し、多彩な伴奏演奏が所定のタイミング間において一度だけ可能になる。
【0100】
なお、上記第3実施形態において、所定の範囲内に一度だけ演奏操作情報を受け付けるようにしたが、任意の回数を設定することにより、その設定した回数だけサブトラックを実行することも可能である。
【0101】
また、上記各実施形態においては、図7のシーケンスタイマインタラプトの処理において、全てのパート及び全てのコントロールシーケンストラックについて処理を行う構成にしたが、処理対象のコントロールシーケンストラックの番号をレジスタ等にストアして、処理対象のコントロールシーケンストラックだけについて処理を行う構成にしてもよい。この場合には、処理対象でないコントロールシーケンストラックについては指定しないので、全てのパート及び全てのコントロールシーケンストラックについて指定して処理を行う場合に比較して、処理時間を短縮することができる。
【0102】
【発明の効果】
本発明によれば、ある伴奏パターンを自動演奏する場合には、複数の伴奏シーケンスデータを自在に組み合わせてその伴奏パターンを構築し、しかも、演奏者の特定の演奏操作に応じて、その演奏操作によって指定されている伴奏シーケンスデータを初めに構築した伴奏パターンにさらに合成する。したがって、伴奏パターンデータのためのメモリの容量を低減するとともに、音楽性豊かな伴奏演奏を実現することができる。
【図面の簡単な説明】
【図1】各実施形態における自動伴奏装置のシステムを示すブロック図。
【図2】CPUによって実行されるメイン及びタイマインタラプトのフローチャート。
【図3】図2における伴奏制御処理のフローチャート。
【図4】図3における伴奏スタート処理のフローチャート。
【図5】図3における伴奏ストップ処理のフローチャート。
【図6】図3におけるフィルイン処理のフローチャート。
【図7】図2におけるシーケンスタイマインタラプト処理のフローチャート。
【図8】第1実施形態における図7のコントロールシーケンストラック処理のフローチャート。
【図9】第1実施形態における図7の伴奏シーケンストラックのゲートタイム処理のフローチャート。
【図10】第1実施形態における図7の伴奏シーケンストラック処理のフローチャート。
【図11】ドラムパートを例に採った場合の第1実施形態におけるコントロールシーケンストラックの処理を示す図。
【図12】図11における伴奏シーケンストラックの処理を示す図。
【図13】図11における伴奏シーケンストラックの処理を示す図。
【図14】第1実施形態における図7のコントロールシーケンストラック処理のフローチャート。
【図15】ドラムパートを例に採った場合の第1実施形態におけるコントロールシーケンストラックの処理を示す図。
【図16】第2実施形態における図7のコントロールシーケンストラック処理のフローチャート。
【図17】ドラムパートを例に採った場合の第2実施形態におけるコントロールシーケンストラックの処理を示す図。
【図18】第3実施形態における図7のコントロールシーケンストラック処理のフローチャート。
【符号の説明】
1 鍵盤
2 スイッチパネル
3 CPU
4 表示回路
5 伴奏パターンメモリ
6 音源
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an automatic accompaniment apparatus that performs automatic accompaniment according to performance pattern data.
[0002]
[Prior art]
In a conventional automatic accompaniment device, a plurality of accompaniment pattern data is prepared in a memory, one accompaniment pattern data is selected in accordance with the set accompaniment pattern, and this is repeatedly performed in a loop, thereby performing automatic accompaniment. I was going.
[0003]
[Problems to be solved by the invention]
However, in the conventional automatic accompaniment apparatus, when various accompaniment patterns are required as in recent years, the capacity of a memory for storing accompaniment pattern data also increases. Further, there is a problem that a performance with rich musicality cannot be obtained because the accompaniment performance becomes monotonous only by performing a loop performance of a fixed accompaniment pattern stored in the memory.
An object of the present invention is to reduce the capacity of a memory for accompaniment pattern data and realize an accompaniment performance rich in music.
[0004]
[Means for Solving the Problems]
The present invention provides data creation means for creating accompaniment pattern data by combining a plurality of accompaniment sequence data having a predetermined time length according to control sequence data, and performance operation information identical to the performance operation information included in the control sequence data But , Within a specified period during the progress of the control sequence data When the input information discriminating means discriminates that the input information discriminating means for discriminating whether or not the performance operation information of the control sequence data and the inputted performance operation information coincide with each other, it is designated by the performance operation information. And data synthesizing means for synthesizing the accompaniment sequence data thus created with the accompaniment pattern data created by the data creating means.
According to the present invention, when an accompaniment pattern is automatically played, the accompaniment pattern is constructed by freely combining a plurality of accompaniment sequence data, and the performance operation is performed according to the specific performance operation of the performer. Is further combined with the accompaniment pattern constructed first.
[0005]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, first to third embodiments of an automatic accompaniment apparatus of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a system of an automatic accompaniment apparatus common to each embodiment. A player (hereinafter referred to as “keyboard”) 1 including a keyboard or the like inputs performance operation information in accordance with an operation. The switch panel 2 is a switch for setting conditions of musical sounds to be generated such as tone color, volume, and accompaniment pattern settings. The CPU 3 is composed of a one-chip microcomputer incorporating a ROM and a RAM (both not shown), and commands and data input from the keyboard 1 and the switch panel 2 according to the keyboard processing and switch processing of the ROM program are stored in the RAM. Temporarily store and process. The display circuit 4 displays messages about the status and operation of the device. CPU3 Displayed by the display process.
[0006]
The accompaniment pattern memory 5 stores a large number of accompaniment sequence data having a predetermined time length (for example, one measure), not the accompaniment pattern data itself for automatic performance. The CPU 3 reads out and combines a plurality of accompaniment sequence data from the accompaniment pattern memory 5 according to the setting of the accompaniment pattern from the switch panel 2, and generates control sequence data for creating, for example, accompaniment pattern data of two measures. The created accompaniment pattern is composed of a plurality of parts including a drum part, a bass part, and a chord part. In this embodiment, the control sequence data is constituted by step input for inputting data for each sound. In addition, it is not necessary for all the tracks of each part to be in the operating state, and the alive state (ALIVE) or the non-operating state dead (DEAD) is set according to the operation mode.
[0007]
In the RAM of the CPU 3, a control sequence track register corresponding to the control sequence data and an accompaniment sequence track register corresponding to accompaniment sequence data composed of a plurality of parts are provided. The processing of each track will be described later. The sound source 6 sends an accompaniment signal to an acoustic system (not shown) in accordance with the sound generation process of the CPU 3 corresponding to the accompaniment sequence track.
[0008]
Next, the operation of each embodiment will be described with reference to the flowchart of the CPU 3. 2 to 7 are flowcharts showing operations common to the embodiments. FIG. Is the flow of the main flow and timer interrupt (TICK). In the main flow, after performing the initialization process (step S1), the loop process of step S2 to step S7 is executed. That is, the keyboard process (step S2) for detecting key depression / release of the keyboard 1, the strength of the key depression, the switch process (step S3) for detecting the operation state of each switch of the switch panel 2, and the display circuit 4 are controlled. The display process (step S4), the accompaniment control process (step S5) for performing processes related to the accompaniment pattern data, the sound generation process (step S6) for controlling sound generation / mute, and the other processes (step S7) are repeated. Further, a sequence timer interrupt process is executed in response to a timer interrupt that occurs at regular intervals (step S8).
[0009]
FIG. 3 is a flow of accompaniment control processing in step S5 of the main flow of FIG. In this process, it is determined whether or not there is an event in which any switch is turned on in the switch process (step S9). If there is no event, this flow is ended. If there is an event, it is determined whether or not the start switch is turned on (step S10). When this switch is turned on, accompaniment start processing is performed (step S11). Then, this flow ends.
[0010]
In step S10, if the start switch is not on, it is determined whether or not the stop switch is turned on (step S12). When this switch is turned on, accompaniment stop processing is performed (step S13). Then, this flow ends.
[0011]
If the stop switch is not turned on in step S12, it is determined whether or not the fill-in switch is turned on (step S14). When this switch is turned on, a fill-in process is performed (step S15). Then, this flow ends.
[0012]
If the fill-in switch is not turned on in step S14, it is determined whether or not the accompaniment number value switch (ACCOMP NUMBER VALUE SW) is turned on (step S16). When this switch is turned on, accompaniment number change processing is performed (step S17).
[0013]
If the accompaniment number switch is not turned on in step S16, the other switches turned on According Processing is performed (step S18). Then, this flow ends.
[0014]
FIG. 4 is a flow of accompaniment start processing in step S11 of FIG. In this process, the pointer P for designating one of the drum part, bass part, and chord part of the accompaniment part is set to “1” (step S19), and loop processing is performed while incrementing P. In the part designated by P, the pointer CT for designating one of the control tracks of the part is set to “1” (step S20). Then, accompaniment start processing is performed for each control sequence track of the part designated by P while incrementing CT.
[0015]
In the control sequence track designated by CT, first, a control track is assigned (step S21). Next, the start address of the control sequence data of the variation (in this case, variation 1), which is the accompaniment pattern set on the switch panel, is set in the assigned control track (step S22). Then, the step time to the next command to be executed and the command to be executed are read from the sequence data and set in advance in the control track (step S23). Next, the operation mode of the control sequence track is made alive (step S24).
[0016]
Thereafter, the pointer CT is incremented (step S25), and the next control sequence track is designated. Then, it is determined whether or not the designated control sequence track exceeds the maximum number of tracks of the part (step S26). When the number is less than the maximum number, the process proceeds to step S21, and the control sequence track designated by CT is assigned. Then, the processes in steps S21 to S26 are repeated while incrementing CT until the control sequence track reaches the maximum number of tracks of the part.
[0017]
In step S26, if the control sequence track exceeds the maximum number of tracks for that part, the pointer P is incremented (step S27), and the next part is designated. And it is discriminate | determined whether the designated part exceeded the maximum number (step S28). When the number is less than the maximum number, the process proceeds to step S20, and the processes from step S21 to step S26 are repeated from the first track (CT = 1) of the part. Each time the control sequence track reaches the maximum number of tracks of the part, P is incremented in step S27.
[0018]
If the specified part exceeds the maximum number of parts in step S28, the accompaniment mode is set to accompaniment start (ACCOMP START) (step S29). Then, this flow ends.
[0019]
FIG. 5 is a flow of accompaniment stop processing in step S13 of FIG. In this process, all notes (sounds) produced by accompaniment are turned off (step S30), all control sequence tracks are initialized, and the operation mode is set to dead, that is, non-operation (step S31). Also, all accompaniment sequence tracks are initialized and the operation mode is set to dead (step S32). Next, the accompaniment mode is set to accompaniment stop (ACCOMP STOP) (step S33). Then, this flow ends.
[0020]
FIG. 6 is a flow of the fill-in process in step S15 of FIG. In this process, all notes produced by accompaniment are turned off (step S34), all control sequence tracks are initialized, and the operation mode is set to dead (step S35). Also, all accompaniment sequence tracks are initialized and the operation mode is set to dead (step S36).
[0021]
Next, the pointer P for designating the accompaniment part is set to “1” (step S37). Further, the pointer CT of the designated part control sequence track is set to “1” (step S38). Then, the fill-in process of each control sequence track of the part designated by P is performed while incrementing CT.
[0022]
In the control sequence track designated by CT, first, a control sequence track is assigned (step S39). Next, the start address of the fill-in control sequence data set on the switch panel is set in the assigned control sequence track (step S40). Next, the operation mode of the control sequence track is made alive (step S41).
[0023]
Thereafter, the pointer CT is incremented (step S42), and the next control sequence track is designated. Then, it is determined whether or not the designated control sequence track exceeds the maximum number of tracks of the part (step S43). If the number is less than the maximum number, the process proceeds to step S39, and a control sequence track designated by CT is assigned. Then, the processes in steps S39 to S43 are repeated while incrementing CT until the control sequence track reaches the maximum number of tracks of the part.
[0024]
Step S43 When the control sequence track exceeds the maximum number of tracks of the part, the pointer P is incremented (step S44), and the next part is designated. And it is discriminate | determined whether the designated part exceeded the maximum number (step S45). When the number is less than the maximum number, the process proceeds to step S38, and the processes from step S39 to step S43 are repeated from the first track (CT = 1) of the part. Each time the control sequence track reaches the maximum number of tracks of the part, P is incremented in step S44.
[0025]
In step S45, if the designated part exceeds the maximum number of parts, the control sequence data and accompaniment sequence data are forcibly advanced to the time point at which the current performance should be performed (step S46). Then, the accompaniment mode is set to fill-in (ACCOMP FILLIN) (step S47). Then, this flow ends.
[0026]
FIG. 7 is a flow of the sequence timer interrupt process in step S8 of FIG. In this processing, control sequence track processing (step S48), accompaniment sequence track gate time processing (step S49), accompaniment sequence track processing (step S50), and note gate time processing (step S51) are executed.
[0027]
Next, the operation of the sequence timer interrupt process in FIG. 7 will be described for each embodiment with reference to FIGS.
First, the first embodiment will be described with reference to FIGS. FIG. 8 is a flow of processing of the control sequence track of the first embodiment in step S48 of FIG. In this process, the pointer P for designating the accompaniment part is set to “1” (step S52), and a loop process is performed while incrementing P. In the part designated by P, a pointer CT for designating one of the plurality of control sequence tracks of the part is set to “1” (step S53). Then, each control sequence track of the part designated by P is processed while incrementing CT.
[0028]
It is determined whether or not the mode of the control sequence track designated by CT is alive (step S54). If the mode is alive, the remaining step time until the next execution command in the control sequence track is “0”. Whether or not (step S55). If the remaining step time is not “0”, the step time is decremented (step S56).
[0029]
After the decrement in step S55, or if the control sequence track is not alive but dead in step S54, the pointer CT is incremented (step S57), and the next control track is designated. Then, it is determined whether or not the designated control track exceeds the maximum number of tracks of the part (step S58). If the number is less than the maximum number, the process proceeds to step S54 to determine the operation mode of the control sequence track designated by CT.
[0030]
When the operation mode of the control sequence track is alive and the remaining step time is “0” in step S55, the next execution command is determined (step S59). If the execution command is track-on, an accompaniment sequence track for playing accompaniment sequence data of the number in the control sequence data is generated (step S60). On the other hand, if the execution command is a jump, it jumps to a label in the control sequence data (step S61).
[0031]
After generating the accompaniment sequence track in step S60 or jumping in step S61, the next control sequence data is read and set in the control sequence track, and the step time until the next control sequence data is set to the control sequence track. (Step S62). Then, the process proceeds to step S55, and the remaining step time is determined.
[0032]
Then, the processes after step S54 are repeated while incrementing CT until the control sequence track reaches the maximum number of tracks of the part. In step S58, when the control sequence track exceeds the maximum number of tracks of the part, the pointer P is incremented (step S63), and the next part is designated. And it is discriminate | determined whether the designated part exceeded the maximum number (step S64). If the number is less than the maximum number, the process proceeds to step S53, and the above process is repeated for the first control sequence track of the newly designated part. Each time the control sequence track reaches the maximum number of tracks of the part, P is incremented in step S63. In step S64, if the designated part exceeds the maximum number of parts, this flow ends.
[0033]
FIG. 9 is a flowchart of the gate time processing of the accompaniment sequence track of the first embodiment in step S49 of FIG. In this process, the pointer P for designating the accompaniment part is set to “1” (step S65), and a loop process is performed while incrementing P. In the part designated by P, a pointer ST for designating any one of the plurality of accompaniment sequence tracks of the part is set to “1” (step S66). Then, each accompaniment sequence track of the part specified by P is processed while incrementing ST.
[0034]
It is determined whether or not the operation mode of the accompaniment sequence track specified in ST is alive (step S67). If it is alive, it is determined whether or not the remaining gate time in the accompaniment sequence track is “0”. (Step S68). If the remaining gate time is not “0”, the gate time is decremented (step S69).
[0035]
After decrementing the step time in step S69, or if the accompaniment sequence track is dead in step S67, ST is incremented (step S70), and the next accompaniment sequence track is designated. Then, it is determined whether or not the designated accompaniment sequence rack exceeds the maximum number of tracks of the part (step S71). If the number is less than the maximum number, the process proceeds to step S67 to determine the operation mode of the accompaniment sequence track specified in ST. Then, the process from step S67 to step S71 is repeated while incrementing ST until the accompaniment sequence track reaches the maximum number of tracks of the part.
[0036]
If the remaining gate time becomes "0" in step S68, all notes produced by this accompaniment sequence track are turned off (step S72). Also, the accompaniment sequence track is initialized to set the operation mode to dead (step S73). Then, the process proceeds to step S70, and ST is incremented.
[0037]
In step S71, if the accompaniment sequence track exceeds the maximum number of tracks of the part, the pointer P is incremented (step S74), and the next part is designated. And it is discriminate | determined whether the designated part exceeded the maximum number (step S75). When the number is less than the maximum number, the process proceeds to step S66, and the process from step S67 onward is executed for the first accompaniment sequence track of the newly designated part. Each time the accompaniment sequence track reaches the maximum number of tracks of the part, P is incremented in step S74. In step S75, when the designated part exceeds the maximum number of parts, this flow is ended.
[0038]
FIG. 10 is a processing flow of the accompaniment sequence track of the first embodiment in step S50 of FIG. In this process, the pointer P for designating the accompaniment part is set to “1” (step S76), and a loop process is performed while incrementing P. In the part designated by P, the pointer ST for designating the accompaniment sequence track of the part is set to “1” (step S77). And increment ST while doing , P, the accompaniment sequence track of the part specified by P is processed.
[0039]
It is determined whether or not the operation mode of the accompaniment sequence track designated by ST is alive (step S78). If the operation mode is alive, the remaining step time until the next execution command in the accompaniment sequence track is “0”. It is determined whether or not there is (step S79). If the remaining step time is not “0”, the step time of the accompaniment sequence track is decremented (step S80).
[0040]
After the decrement in step S80, or if the accompaniment sequence track is not alive but dead in step S78, the pointer ST is incremented (step S81), and the next accompaniment sequence track is designated. Then, it is determined whether or not the designated accompaniment sequence track exceeds the maximum number of tracks of the part (step S82). If the number is less than the maximum number, the process proceeds to step S78 to determine the operation mode of the accompaniment sequence track designated by ST. In step S78, when the operation mode of the accompaniment sequence track is alive, if the remaining step time up to the next execution command becomes “0” in step S79, the execution command is determined (step S83).
[0041]
If the execution command is track end, the accompaniment sequence track operation mode is set to dead (step S84). In step S81, ST is incremented to specify the next accompaniment sequence track.
[0042]
On the other hand, if the execution command is a note-on command with the note number n in step S83, the note with the note number n is set and turned on with the velocity and gate time in the accompaniment sequence data (step S85). The next accompaniment sequence data is read out and set in the accompaniment sequence track, and the step time up to the next accompaniment sequence data is set in the accompaniment sequence track (step S86). Thereafter, the process proceeds to step S79 to determine the remaining step time. In step S82, the processes in steps S78 to S82 are repeated while incrementing ST until the accompaniment sequence track reaches the maximum number of tracks of the part.
[0043]
In step S82, if the accompaniment sequence track exceeds the maximum number of tracks of the part, the pointer P is incremented (step S87), and the next part is designated. And it is discriminate | determined whether the designated part exceeded the maximum number (step S88). When the number is less than the maximum number, the process proceeds to step S77, and the processes after step S78 are repeated for the first accompaniment sequence track of the newly designated part. Each time the accompaniment sequence track reaches the maximum number of tracks of that part, P is incremented in step S87. In step S88, if the designated part exceeds the maximum number of parts, this flow ends.
[0044]
FIG. 11 is a diagram illustrating a control track process in the first embodiment when a drum part is taken as an example. FIG. 11 (1) shows accompaniment sequence data set on the drum control sequence track “00”. The first line of data indicates that track 1 is generated that turns on accompaniment sequence track number “01” only during gate time “192 (one measure)” at step time “000”. Therefore, since the remaining step time is “0” in step S55 of FIG. 8 and the execution command is track on in step S59, the accompaniment sequence data of accompaniment sequence track number “01” is played immediately in step S60. Generate an accompaniment sequence track.
[0045]
The second line of the data in FIG. 11 (1) is to generate track 2 with step time “000” and accompaniment sequence track number “25” turned on only during gate time “192 (one measure)”. Is shown. Therefore, since the remaining step time is “0” in step S55 of FIG. 8 and the execution command is track on in step S59, the accompaniment sequence data of accompaniment sequence track number “25” is played immediately in step S60. Generate an accompaniment sequence track.
[0046]
The third line of the data shown in FIG. 11 (1) shows the accompaniment sequence track number “after the step time“ 192 ”(that is, after one measure). 64 ”Is generated only during the gate time“ 192 (one measure) ”. Therefore, the remaining step time is “192” in step S55 of FIG. 8, and the step time is decremented in step S56. When the remaining step time becomes “0” after the 192 steps have elapsed, the execution command is track-on in step S59. Therefore, in step S60, the accompaniment sequence track for playing the accompaniment sequence data of accompaniment sequence track number “64” is selected. Generate.
[0047]
FIG. 11 (2) shows a state of generation of an accompaniment sequence track by control of the control sequence track based on FIG. 11 (1). That is, in the first bar, track 1 for executing accompaniment sequence track number “01” and track 2 for executing accompaniment sequence track number “25” are generated, and in the subsequent one bar, accompaniment sequence track number “64” is executed. The track 3 to be generated is generated. Then, the accompaniment pattern of two measures is repeatedly played.
[0048]
FIG. 12 is a diagram showing processing of three accompaniment sequence tracks of the drum part in the case of FIG. In this case, the accompaniment sequence track number “01” is a bus, the accompaniment sequence track number “25” is a snare, and the accompaniment sequence track number “64” is a hi-hat.
[0049]
The first line of the bus track indicates that note time “36” is turned on at a velocity of 96 and a gate time of 48 steps with a step time of “000”. Therefore, since the remaining step time is “0” in step S79 of FIG. 10 and the execution command is the note number on in step S83, the note (bus) with the note number “36” is immediately set to velocity 96 in step S85. And an accompaniment sequence track which is turned on only for the gate time 48 is generated.
[0050]
The second line indicates that the note number “36” is turned on at a velocity of 85 for a gate time of 48 steps with a step time “096”. Accordingly, the remaining step time is “96” in step S79 of FIG. 10, and the step time is decremented in step S80. When the remaining step time becomes “0” after the 96 step time has elapsed, the execution command is the note number on in step S83, so in step S85, the note (bus) with the note number “36” is changed to the velocity 85 and An accompaniment sequence track that is turned on only for the gate time 48 is generated.
[0051]
The third row indicates that the track end is reached at step time “096”. Therefore, in step S79 of FIG. 10, the remaining step time is “96”, and the step time is decremented in step S80. Then, when the 96 step time has elapsed and the remaining step time becomes “0”, the execution command is a track end in step S83, so in step S84, the operation mode of this accompaniment sequence track is set to dead.
[0052]
As a result, as shown in FIG. 12 (2), the bus of track 1 forms a 2-beat accompaniment sequence with strengths at the 1 / 4th beat and the 3 / 4th beat of one bar.
[0053]
The first line of the snare track indicates that the note number “38” is turned on at the velocity 80 for the gate time of 48 steps at the step time “048”. Therefore, in step S79 of FIG. 10, the remaining step time is “48”, and the step time is decremented in step S80. Then, when the remaining step time becomes “0” after the 48 step time has elapsed, the execution command is the note number on in step S83. Therefore, in step S85, the note (snare) having the note number “38” is changed to velocity 80 and An accompaniment sequence track that is turned on only for the gate time 48 is generated.
[0054]
The second line indicates that the note number “38” is turned on at the velocity 69 for the gate time of 48 steps at the step time “144”. Therefore, in step S79 of FIG. 10, the remaining step time is “144”, and the step time is decremented in step S80. When the remaining step time becomes “0” after the 144 step time has elapsed, the execution command is the note number on in step S83. Therefore, in step S85, the note (snare) having the note number “38” is changed to velocity 69 and An accompaniment sequence track that is turned on only for the gate time 48 is generated.
[0055]
The third line indicates that the track end is reached at the step time “192”. Therefore, in step S79 of FIG. 10, the remaining step time is “192”, and the step time is decremented in step S80. When the remaining step time becomes “0” after the 192 step time has elapsed, the execution command is the track end in step S83, and therefore the operation mode of this accompaniment sequence track is set to dead in step S84.
[0056]
As a result, Track 2 As shown in FIG. 12 (2), the snare of 2 forms a 2-beat accompaniment sequence with strengths at the 2 / 4th beat and the 4 / 4th beat of one bar.
[0057]
The first line of the hi-hat track indicates that the note number “42” is turned on at a velocity of 80 for a gate time of 24 steps at a step time “000”. Therefore, since the remaining step time is “0” in step S79 of FIG. 10 and the execution command is the note number on in step S83, the note (hi-hat) of note number “42” is immediately moved to velocity 80 in step S85. And an accompaniment sequence track that is turned on only for the gate time 24.
[0058]
The second to eighth lines indicate that step times “024” to “168” and note number “42” is turned on at a velocity of 80 for a gate time of 24 steps. Therefore, in step S79 in FIG. 10, the remaining step times are “24” to “168”, and the step time is decremented in step S80. Then, when the remaining step time becomes “0” after the lapse of 24 to 168 step times, the execution command is the note number on in step S83. Therefore, in step S85, the note (hi-hat) of note number “42” is velocity-converted. An accompaniment sequence track is generated that is turned on for 80 and gate time 24.
[0059]
The ninth line indicates that the track end is reached at the step time “192”. Therefore, in step S79 of FIG. 10, the remaining step time is “192”, and the step time is decremented in step S80. When the remaining step time becomes “0” after the 192 step time has elapsed, the execution command is the track end in step S83, and therefore the operation mode of this accompaniment sequence track is set to dead in step S84.
[0060]
As a result, Track 3 As shown in FIG. 12 (2), the hi-hat forms an 8-beat accompaniment sequence of the same strength every 1 / 8th beat of one bar.
[0061]
FIG. 13 shows that only the hi-hat accompaniment sequence track is changed from the accompaniment sequence track number “64” to the accompaniment sequence track number “70” in the processing of the three accompaniment sequence tracks of the drum part in the case of FIG.
[0062]
In FIG. 13 (1), the first line of the hi-hat track indicates that the note time “42” is turned on at the velocity 80 for the gate time of 12 steps at the step time “000”. Therefore, since the remaining step time is “0” in step S79 of FIG. 10 and the execution command is the note number on in step S83, the note (hi-hat) of note number “42” is immediately moved to velocity 80 in step S85. And an accompaniment sequence track which is turned on only for the gate time 12 is generated.
[0063]
The 2nd to 16th lines indicate that the note times “42” are turned on at the velocity 80 for the gate time of 12 steps at the step times “012” to “180”. Therefore, in step S79 of FIG. 10, the remaining step times are “12” to “180”, and the step time is decremented in step S80. When the remaining step time becomes “0” after the lapse of the 12 to 180 step times, the execution command is the note number on in step S83, so in step S85, the note (hi-hat) with the note number “42” is velocity-converted. An accompaniment sequence track is generated that is turned on for 80 and gate time 12.
[0064]
The 17th line indicates that the track end is reached at the step time “192”. Therefore, in step S79 of FIG. 10, the remaining step time is “192”, and the step time is decremented in step S80. When the remaining step time becomes “0” after the 192 step time has elapsed, the execution command is the track end in step S83, and therefore the operation mode of this accompaniment sequence track is set to dead in step S84.
[0065]
As a result, Track 3 The hi-hat forms an accompaniment sequence of 16 beats of the same strength every 1 / 16th beat of a measure as shown in FIG. 13 (2).
[0066]
In this way, in the accompaniment pattern memory 5 shown in FIG. 1, not a series of accompaniment pattern data itself to be automatically played, but a large number of accompaniment sequence data of a predetermined time length constituting the accompaniment pattern data is individually stored. A series of accompaniment pattern data to be automatically played by these combinations is created each time. Therefore, the capacity of the memory for accompaniment pattern data can be reduced.
[0067]
FIG. 14 shows a modification of the processing of the control sequence shown in FIG. In this process, other accompaniment sequence data according to the input of the player's specific performance operation information is further added to the accompaniment pattern data composed of a combination of a plurality of accompaniment sequence data. Specifically, after waiting for specific performance operation information (for example, chord change information), if the target performance operation information occurs (input), the subtrack specified by the control sequence data is executed. The sub track will be described later.
[0068]
In FIG. 14, the pointer P for designating the accompaniment part is set to “1” (step S89), and loop processing is performed while incrementing P. In the part designated by P, the pointer CT for designating one of the control tracks of the part is set to “1” (step S90). Then, each control track of the part designated by P is processed while incrementing CT.
[0069]
It is determined whether or not the operation mode of the control sequence track designated by CT is alive (step S91). If it is alive, the remaining step time until the next execution command in the control sequence track is “0”. It is determined whether or not there is (step S92). If the remaining step time is not “0”, the step time is decremented (step S93).
[0070]
After the decrement in step S93, or if the control sequence track is not alive but dead in step S91, the pointer CT is incremented (step S94), and the next control track is designated. Then, it is determined whether or not the designated control track exceeds the maximum number of tracks of the part (step S95). If the number is less than the maximum number, the process proceeds to step S91 to determine the operation mode of the control sequence track designated by CT.
[0071]
When the control sequence track is alive and the remaining step time is “0” in step S92, the next execution command is determined (step S96). If the execution command is track-on, an accompaniment sequence track for playing the accompaniment sequence data of the number in the control sequence data is generated (step S97). In step S96, if the execution command is jump, jump to the label in the control sequence data (step S98). In step S96, the execution command waits for further consideration of other accompaniment sequence data in accordance with the player's input of specific performance operation information ( WAITn ; Where n is the number of the subtrack), the specific performance operation information that is the target of the wait has occurred this time Then Then, the subtrack of number n designated by the control sequence data is executed (step S99).
[0072]
After generating an accompaniment sequence track in step S97, after jumping in step S98, or after executing a subtrack in step S99, or when no waiting object has occurred, read the next control sequence data, In addition to being set in the control sequence track, the step time until the next control sequence data is set in the control sequence track (step S100). Then, the process proceeds to step S92 to determine the remaining step time.
[0073]
Then, the processes after step S92 are repeated while incrementing CT until the control sequence track reaches the maximum number of tracks of the part. In step S95, when the control sequence track exceeds the maximum number of tracks of the part, the pointer P is incremented (step S101), and the next part is designated. And it is discriminate | determined whether the designated part exceeded the maximum number (step S102). If less than the maximum number, step S90 The above process is repeated for the first control sequence track of the newly designated part. Each time the control sequence track reaches the maximum number of tracks of the part, P is incremented in step S101. In step S102, when the designated part exceeds the maximum number of parts, this flow ends.
[0074]
FIG. 15 is a diagram showing a control track process for executing a subtrack when the drum part of FIG. 11 is taken as an example. The control sequence track (Drum CTRL00) in FIG. 15 is the same as the control track in FIG. Therefore, as shown in FIG. 15 (2), under the control of the drum control track 1, in the first one measure, the track 1 that executes the accompaniment sequence track number “01” and the track 2 that executes the accompaniment sequence track number “25”. In the subsequent one measure, track 3 for executing accompaniment sequence track number “64” is generated. Then, the accompaniment pattern of two measures is repeatedly played.
[0075]
On the other hand, in the control sequence track (Drum CTRL01) of FIG. 15 (1), the first line indicates that the wait command (WAIT1) is executed at the step time “000”. This execution command is a command for executing a subtrack when the performance operation information input from the keyboard matches the performance operation information (Match 00) set in the control sequence data. The fourth line of the sub-track indicates that track 4 is generated at step time “000” and accompaniment sequence track number “72” is turned on only during gate time “192”. The fifth line of the sub-track indicates that the track end is reached at the step time “192”.
[0076]
Therefore, as shown in FIG. 15 (2), when performance operation information matching the set performance operation information (Match 00) is input, the accompaniment sequence data of accompaniment sequence track number “72” is played immediately. Generate an accompaniment sequence track. In this case, for example, chord change information can be considered as performance operation information for executing the subtrack. In this case, the subtrack is executed at the same time as the performer changes the chord.
[0077]
As described above, according to the first embodiment, the CPU 3 in FIG. 1 includes the data creation means for creating accompaniment pattern data by combining a plurality of accompaniment sequence data having a predetermined time length according to the control sequence data, and the control sequence. Input information discriminating means for discriminating whether or not the same performance operation information as the performance operation information included in the data (control sequence data) is input; performance operation information of the control sequence data; When the input information discriminating means discriminates that the two match, the data composing means for composing the accompaniment sequence data designated by the performance operation information with the accompaniment pattern data created by the data creating means is constituted.
[0078]
When an accompaniment pattern is automatically played, an accompaniment pattern is constructed by freely combining a plurality of accompaniment sequence data, and the accompaniment pattern is specified by the performance operation according to the player's specific performance operation. The additional accompaniment sequence data is further synthesized into the accompaniment pattern constructed first. Accordingly, it is possible to reduce the capacity of the memory for accompaniment pattern data and realize an accompaniment performance rich in music.
[0079]
Next, a second embodiment will be described with reference to FIGS. In the second embodiment, when the performance operation information to be waited is input, the subtrack is not immediately executed, but the subtrack is executed when the operation mode is wait.
[0080]
FIG. 16 is a flowchart of the control track process of the second embodiment in step S48 of FIG. In this process, the pointer P for designating the accompaniment part is set to “1” (step S103), and a loop process is performed while incrementing P. In the part designated by P, the pointer CT for designating one of the control tracks of the part is set to “1” (step S104). Then, each control track of the part designated by P is processed while incrementing CT.
[0081]
It is determined whether or not the operation mode of the control sequence track designated by CT is alive (step S105). If it is alive, the remaining step time until the next execution command in the control sequence track is “0”. It is determined whether or not there is (step S106). If the remaining step time is not “0”, it is determined whether or not the operation mode is a wait (step S107). If the operation mode is not wait, the step time of the control sequence track is decremented (step S108).
[0082]
After the decrement in step S108 or when the operation mode of the control sequence track is not alive but dead in step S105, the pointer CT is incremented (step S109), and the next control track is designated. Then, it is determined whether or not the designated control track exceeds the maximum number of tracks of the part (step S110). If it is equal to or less than the maximum number, the process proceeds to step S105 to determine the operation mode of the control sequence track designated by CT.
[0083]
When the operation mode of the control sequence track is alive and the remaining step time is “0” in step S106, the operation mode is made alive (step S111). Then, the next execution command is determined (step S112). If the execution command is track-on, an accompaniment sequence track for playing the accompaniment sequence data of the number in the control sequence data is generated (step S113). Step S112 If the execution command is jump, the process jumps to the label in the control sequence data (step S114). If the execution command is wait in step S112, the operation mode is set to wait (step S115).
[0084]
After generating the accompaniment sequence track in step S113, after jumping in step S114, or after setting the operation mode to wait in step S115, the next control sequence data is read and set to the control sequence track, and the next The step time up to the control sequence data is set in the control sequence track (step S116). Then, the process proceeds to step S106, and the remaining step time is determined.
[0085]
If the remaining step time is not “0” in step S106 and the operation mode is “wait” in step S107, it is determined whether or not the input performance operation information matches the information to be waited (step S117). ). If they match, the waiting target has occurred this time, so the subtrack specified by the control sequence data is executed (step S118). After executing the sub-track or when the input performance operation information does not match the information to be waited, the process proceeds to step S108, and the step time of the control sequence track is decremented. In step S109, CT is incremented.
[0086]
As a result of the increment, if the control track exceeds the maximum number of tracks of the part in step S110, the pointer P is incremented (step S119), and the next part is designated. And it is discriminate | determined whether the designated part exceeded the maximum number (step S120). When the number is less than the maximum number, the process proceeds to step S104, and the processes after step S105 are executed for the first control sequence track of the newly designated part. Each time the control sequence track reaches the maximum number of tracks of the part, P is incremented in step S119. In step S120, if the designated part exceeds the maximum number of parts, this flow ends.
[0087]
FIG. 17 is a diagram illustrating a control track process for executing a subtrack when a drum part is taken as an example. FIG. The control sequence track (Drum CTRL00) is the same as the control track in FIG. 11 of the first embodiment. Therefore, as shown in FIG. 17 (2), under the control of the drum control track 1, in the first one measure, the track 1 that executes the accompaniment sequence track number “01” and the track 2 that executes the accompaniment sequence track number “25”. In the subsequent one measure, track 3 for executing accompaniment sequence track number “64” is generated. Then, the accompaniment pattern of two measures is repeatedly played.
[0088]
On the other hand, in the control sequence track (Drum CTRL01) of FIG. 17 (1), the wait command (WAIT1) is executed at the step time “000”. This execution command is a command for executing a subtrack when the performance operation information input from the keyboard matches the performance operation information (Match 00) set in the control sequence data. Further, it is shown that a track 4 is generated in which the accompaniment sequence track number “72” is turned on only during the gate time “192” at the step time “000”. Further, it is shown that the track end is reached at the step time “192”. However, as shown in the flow of FIG. 16, even when the set performance operation information is input, the subtrack is executed when the operation mode is in the wait state.
[0089]
Accordingly, as shown in FIG. 17 (2), if performance operation information that matches the set performance operation information (Match 00) is input only when the drum control track 2 is in the wait state, the accompaniment sequence track number An accompaniment sequence track for playing accompaniment sequence data of “72” is generated. For example, when the player performs a chord change when the operation mode is wait, the subtrack is executed simultaneously.
[0090]
As described above, according to the second embodiment, the CPU 3 accepts only performance operation information input within a designated range during the progress of the control sequence data. Therefore, the accompaniment data changes interactively depending on the player's operation and the state of the apparatus, and various accompaniment performances are possible between predetermined timings.
[0091]
Next, a third embodiment will be described with reference to FIG. Also in the third embodiment, as in the second embodiment, when the performance operation information to be waited is input, the subtrack is not immediately executed, but the subtrack is executed when the operation mode is wait. . Further, if the sub-track execution command is a one-shot execution command, the sub-track is executed “only once”.
[0092]
FIG. 18 is a flowchart of processing of the control sequence track of the third embodiment in step S48 of FIG. In this process, the pointer P for designating the accompaniment part is set to “1” (step S121), and a loop process is performed while incrementing P. In the part designated by P, a pointer CT for designating one of the plurality of control tracks of the part is set to “1” (step S122). Then, each control track of the part designated by P is processed while incrementing CT.
[0093]
It is determined whether or not the operation mode of the control sequence track designated by CT is alive (step S123). If it is alive, the remaining step time until the next execution command in the control sequence track is “0”. It is determined whether or not there is (step S124). If the remaining step time is not “0”, it is determined whether or not the operation mode is a wait (step S125). If the operation mode is not wait, the step time of the control sequence track is decremented (step S126).
[0094]
After the decrement in step S126, or when the operation mode of the control sequence track is not alive but dead in step S123, the pointer CT is incremented (step S127), and the next control track is designated. Then, it is determined whether or not the designated control track exceeds the maximum number of tracks of the part (step S128). If the number is less than the maximum number, the process proceeds to step S123, and the operation mode of the control sequence track designated by CT is determined.
[0095]
When the operation mode of the control sequence track is alive and the remaining step time is “0” in step S124, the operation mode is made alive (step S129). Then, the next execution command is determined (step S130). If the execution command is track-on, an accompaniment sequence track for playing the accompaniment sequence data of the number in the control sequence data is generated (step S131). In step S130, if the execution command is jump, jump to the label in the control sequence data (step S132). If the execution command is a wait in step S130, the operation mode is set to a wait (step S133).
[0096]
After generating the accompaniment sequence track in step S131, jumping in step S132, or after setting the operation mode to wait in step S133, the next control sequence data is read and set to the control sequence track. The step time up to the control sequence data is set in the control sequence track (step S134). Then, the process proceeds to step S124, and the remaining step time is determined.
[0097]
If the remaining step time is not “0” in step S124 and the operation mode is “wait” in step S125, it is determined whether or not the input performance operation information matches the information to be waited (step S135). ). If they match, the waiting target has occurred this time, so the subtrack specified by the control sequence data is executed (step S136). After executing the subtrack, it is determined whether or not the execution command is a one-shot wait (step S137). If it is a one-shot wait, the operation mode is set to alive (step S138). After alive, or when the performance operation information input in step S135 does not match the information to be waited, or when the execution command is not one-shot wait in step S137, the process proceeds to step S126. Decrement the step time of the control sequence track. In step S127, CT is incremented.
[0098]
As a result of the increment, if the control sequence track exceeds the maximum number of tracks of the part in step S128, the pointer P is incremented (step S139), and the next part is designated. And it is discriminate | determined whether the designated part exceeded the maximum number (step S140). When the number is less than the maximum number, the process proceeds to step S122, and the processes after step S123 are executed from the first control sequence track of the newly designated part. Each time the control sequence track reaches the maximum number of tracks of that part, P is incremented in step S139. In step S140, if the designated part exceeds the maximum number of parts, this flow ends.
[0099]
As described above, according to the third embodiment, the CPU 3 accepts only performance operation information input within a designated range during the progress of the control sequence data. Furthermore, in this case, when the execution command is a one-shot wait, performance operation information is accepted only once within the range. Therefore, the accompaniment data changes interactively according to the player's operation and the state of the apparatus, and various accompaniment performances can be performed only once during a predetermined timing.
[0100]
In the third embodiment, the performance operation information is received only once within a predetermined range. However, by setting an arbitrary number of times, it is possible to execute the sub-track for the set number of times. .
[0101]
Further, in each of the above embodiments, in the sequence timer interrupt process of FIG. 7, the process is performed for all parts and all control sequence tracks. However, the numbers of control sequence tracks to be processed are stored in a register or the like. Thus, the processing may be performed only for the control sequence track to be processed. In this case, since the control sequence track that is not the processing target is not specified, the processing time can be shortened as compared with the case where the processing is specified for all the parts and all the control sequence tracks.
[0102]
【The invention's effect】
According to the present invention, when an accompaniment pattern is automatically played, the accompaniment pattern is constructed by freely combining a plurality of accompaniment sequence data, and the performance operation is performed according to the specific performance operation of the performer. Is further combined with the accompaniment pattern constructed first. Accordingly, it is possible to reduce the capacity of the memory for accompaniment pattern data and realize an accompaniment performance rich in music.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a system of an automatic accompaniment apparatus in each embodiment.
FIG. 2 is a flowchart of main and timer interrupts executed by a CPU.
FIG. 3 is a flowchart of accompaniment control processing in FIG. 2;
4 is a flowchart of accompaniment start processing in FIG. 3;
FIG. 5 is a flowchart of accompaniment stop processing in FIG. 3;
6 is a flowchart of fill-in processing in FIG. 3;
7 is a flowchart of sequence timer interrupt processing in FIG. 2;
8 is a flowchart of control sequence track processing of FIG. 7 in the first embodiment.
9 is a flowchart of gate time processing of the accompaniment sequence track of FIG. 7 in the first embodiment.
10 is a flowchart of the accompaniment sequence track processing of FIG. 7 in the first embodiment.
FIG. 11 is a diagram showing processing of a control sequence track in the first embodiment when a drum part is taken as an example.
12 is a diagram showing processing of the accompaniment sequence track in FIG. 11. FIG.
13 is a diagram showing processing of an accompaniment sequence track in FIG. 11. FIG.
14 is a flowchart of control sequence track processing of FIG. 7 in the first embodiment.
FIG. 15 is a diagram showing processing of a control sequence track in the first embodiment when a drum part is taken as an example.
16 is a flowchart of control sequence track processing of FIG. 7 in the second embodiment.
FIG. 17 is a diagram showing processing of a control sequence track in the second embodiment when a drum part is taken as an example.
18 is a flowchart of control sequence track processing of FIG. 7 in the third embodiment.
[Explanation of symbols]
1 keyboard
2 Switch panel
3 CPU
4 Display circuit
5 Accompaniment pattern memory
6 sound sources

Claims (2)

制御シーケンスデータにしたがって所定の時間長からなる伴奏シーケンスデータを複数組み合わせて伴奏パターンデータを作成するデータ作成手段と、
前記制御シーケンスデータに含まれている演奏操作情報と同一の演奏操作情報が、前記制御シーケンスデータの進行中における指定された期間内において入力されたか否かを判別する入力情報判別手段と、
前記制御シーケンスデータの演奏操作情報と入力された演奏操作情報とが一致したことを前記入力情報判別手段が判別したときは、当該演奏操作情報によって指定されている伴奏シーケンスデータを前記データ作成手段によって作成された伴奏パターンデータに合成させるデータ合成手段と、
を有することを特徴とする自動伴奏装置。
Data creating means for creating accompaniment pattern data by combining a plurality of accompaniment sequence data having a predetermined time length according to the control sequence data;
Input information determination means for determining whether or not the same performance operation information as the performance operation information included in the control sequence data is input within a specified period during the progress of the control sequence data ;
When the input information determination means determines that the performance operation information of the control sequence data matches the input performance operation information, the accompaniment sequence data specified by the performance operation information is output by the data creation means. Data synthesizing means for synthesizing the generated accompaniment pattern data;
An automatic accompaniment apparatus characterized by comprising:
前記入力情報判別手段は、前記指定された期間内において、指定された回数だけ入力される演奏操作情報を受け付けることを特徴とする請求項1記載の自動伴奏装置。2. The automatic accompaniment apparatus according to claim 1, wherein the input information determination means receives performance operation information input a specified number of times within the specified period .
JP08059098A 1998-03-13 1998-03-13 Automatic accompaniment device Expired - Fee Related JP3744190B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08059098A JP3744190B2 (en) 1998-03-13 1998-03-13 Automatic accompaniment device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08059098A JP3744190B2 (en) 1998-03-13 1998-03-13 Automatic accompaniment device

Publications (2)

Publication Number Publication Date
JPH11259074A JPH11259074A (en) 1999-09-24
JP3744190B2 true JP3744190B2 (en) 2006-02-08

Family

ID=13722564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08059098A Expired - Fee Related JP3744190B2 (en) 1998-03-13 1998-03-13 Automatic accompaniment device

Country Status (1)

Country Link
JP (1) JP3744190B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4211709B2 (en) 2004-08-04 2009-01-21 ヤマハ株式会社 Automatic performance device and computer program applied to the same
JP5228315B2 (en) * 2006-11-30 2013-07-03 ヤマハ株式会社 Program for realizing automatic accompaniment generation apparatus and automatic accompaniment generation method
JP6414164B2 (en) 2016-09-05 2018-10-31 カシオ計算機株式会社 Automatic performance device, automatic performance method, program, and electronic musical instrument

Also Published As

Publication number Publication date
JPH11259074A (en) 1999-09-24

Similar Documents

Publication Publication Date Title
US5386081A (en) Automatic performance device capable of successive performance of plural music pieces
CN106128437B (en) Electronic musical instrument
JP2616274B2 (en) Automatic performance device
US4685370A (en) Automatic rhythm playing apparatus having plurality of rhythm patterns for a rhythm sound
JP3922224B2 (en) Automatic performance device and program
JP2500528B2 (en) Electronic musical instrument
JP3744190B2 (en) Automatic accompaniment device
JP3286683B2 (en) Melody synthesis device and melody synthesis method
JPH0876758A (en) Automatic accompaniment device
JP2631722B2 (en) Automatic performance device
JP2636640B2 (en) Automatic accompaniment device
JP3844286B2 (en) Automatic accompaniment device for electronic musical instruments
JP3252181B2 (en) Electronic musical instrument
JP2958487B2 (en) An electronic musical instrument with a click status notification function
JP3555255B2 (en) Automatic accompaniment device
US5955692A (en) Performance supporting apparatus, method of supporting performance, and recording medium storing performance supporting program
JP4214845B2 (en) Automatic arpeggio device and computer program applied to the device
JP3663873B2 (en) Sound channel controller
JP4241833B2 (en) Automatic performance device and program
JP2768348B2 (en) Automatic performance device
JP2513308B2 (en) Electronic musical instrument
JP2624104B2 (en) Performance progress control device of automatic performance device
JP3883270B2 (en) Automatic performance device
JP3399629B2 (en) Electronic musical instrument characteristic change processing device
JPH11296169A (en) Automatic player

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050831

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051114

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091202

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101202

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111202

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111202

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121202

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121202

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131202

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees