JP3252425B2 - 自動演奏装置 - Google Patents

自動演奏装置

Info

Publication number
JP3252425B2
JP3252425B2 JP00178592A JP178592A JP3252425B2 JP 3252425 B2 JP3252425 B2 JP 3252425B2 JP 00178592 A JP00178592 A JP 00178592A JP 178592 A JP178592 A JP 178592A JP 3252425 B2 JP3252425 B2 JP 3252425B2
Authority
JP
Japan
Prior art keywords
data
performance
register
flag
switch
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
JP00178592A
Other languages
English (en)
Other versions
JPH0619469A (ja
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP00178592A priority Critical patent/JP3252425B2/ja
Publication of JPH0619469A publication Critical patent/JPH0619469A/ja
Application granted granted Critical
Publication of JP3252425B2 publication Critical patent/JP3252425B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は曲の自動演奏を行う自
動演奏装置に関する。
【従来の技術】演奏データを記憶するメモリを備え、演
奏者によって指示された場合にメモリから演奏データを
逐次読み出し自動演奏を行う自動演奏装置が知られてい
る。
【0002】
【発明が解決しようとする課題】ところで、自動演奏装
置を用いて自動演奏を行う場合、メモリに記憶された曲
の演奏データを繰り返し再生し、いわゆるエンドレスな
自動演奏を行うことがある。しかしながら、繰り返し再
生される演奏データの中にイントロ部あるいはエンディ
ング部に対応したものが含まれていると、イントロ演奏
あるいはエンディング演奏が何回も行われてしまい、同
じ曲が複数回演奏される印象となってしまう。エンドレ
ス再生を利用して長い一曲を再生しようとする場合、こ
のようなことは音楽的に見て不適当であり、イントロ演
奏は曲の先頭のみにエンドレス演奏は曲の最後のみにあ
ることが望ましい。この発明は上述した事情に鑑みてな
されたものであり、エンドレスな自動演奏が可能である
と共に演奏データの中にイントロ部あるいはエンディン
グ部といった曲の特定部に対応した演奏データがある場
合においても、音楽的違和感を生じることなく自動演奏
を行うことができる自動演奏装置を提供することを目的
とする。
【0003】
【課題を解決するための手段】本発明は、曲のイントロ
部分を再生するための第1種演奏データと、イントロ部
分以外の部分を再生するための複数の第2種演奏データ
と、前記各演奏データの読み出し順を表わすシーケンス
データとを記憶した記憶手段であって、前記シーケンス
データは前記第1種演奏データと前記複数の第2種演奏
データのうちの読み出すベき演奏データを指示する指示
データが読み出し順に記録されているものと、前記シー
ケンスデータから前記指示データを順に読み出し、該指
示データで指示される前記演奏データを読み出して自動
演奏を行なう自動演奏手段と、前記指示データの読み出
しが最後に達したときに、前記シーケンスデータの先頭
の指示データが第1種演奏データを指示しているかを判
断する判断手段と、前記判断手段で第1種演奏データを
指示していると判断されたときは前記先頭の指示データ
の次に記録されている指示データが指示している演奏デ
ータを読み出すように設定し、第1種演奏データを指示
していないと判断されたときは前記先頭の指示データが
指示している演奏データを読み出すように設定する制御
手段と備えたことを特徴としている。
【0004】
【作用】上記構成によれば、記憶手段に記憶されたモー
ドデータに基づいて、第1種の演奏データか、あるいは
いずれの第2種の演奏データかを判別し、この判別結果
に基づいて、その後の第2種の演奏をエンドレスに繰り
返すことができる。
【0005】
【実施例】以下、図面を参照し、本発明の一実施例を説
明する。図1はこの発明の一実施例による自動演奏装置
の構成を示すブロック図である。この図において、1は
パッドスイッチ群、2は演奏制御に係るパラメータ設定
あるいはモード設定を指示するための操作子群、3は表
示器である。なお、これらの要素の詳細については後述
する。4はこの自動演奏装置を構成する各部を制御する
CPU(中央処理ユニット)である。5はタイマ発振器
であり、CPU4に対し一定周期間隔でタイマ割込み信
号RINTを出力する。また、6はROMであり、CP
U4が実行する各種制御プログラムの他、制御に必要な
制御情報あるいは各種演奏パターン等が記憶されてい
る。また、7はRAM(ランダムアクセスメモリ)であ
り、後述のコードシーケンス演奏のための演奏データが
記憶される他、CPU3が行う制御に使用されるレジス
タ、フラグなどが設定される。なお、RAM7に設定さ
れるレジスタ、フラグについては後述する。8はリズム
音源であり、CPU1から与えられる発音指示に従って
リズム音を形成する。また、9は音階音音源であり、C
PU1からの発音指示によって指定された音高の楽音を
形成する。これらの各音源によって形成された楽音はサ
ウンドシステム10によって発音される。Bはバスであ
り、以上説明した各要素1、2、3、4、6、7、8お
よび9によって行われる各種データの授受のための通信
経路として使用される。
【0006】次に図2はこの自動演奏装置の外観を示す
平面図である。図2において、PA1〜PAkは各々パ
ッドであり、これらの各パッドの下部に図1におけるパ
ッドスイッチ群1を構成する各パッドスイッチが設けら
れている。SPLおよびSPRは図1におけるサウンド
システム10を構成する左右のスピーカである。また、
20は操作パネル部であり、この部分に図1における操
作子スイッチ群2および表示器3が配備されている。図
3は操作パネル部20に配備された操作子群2および表
示器3を示す平面図である。この図に示すように表示器
3は7セグメント2桁の表示器によって構成されてい
る。また、操作パネル部20には、操作子群2に相当す
る主な操作子として、数値入力のためのテンキー20
1、記録あるいは再生を行う曲番号を指示するためのソ
ングスイッチ202〜204、音量調整用のボリューム
205、記録の開始を指示するためのレコードスイッチ
206、シフトスイッチ207、フィルイン部の記録/
再生の指示を行うためのフィルインスイッチ208、イ
ントロ部あるいはエンデイグ部の記録/再生の指示を行
うためのフィルインスイッチ209および自動演奏の開
始を指示するためのスタート/ストップスイッチ210
などが設けられている。また、この他、操作パネル部2
0には電源スイッチ301が配備されている。
【0007】次にROM6に記憶された主な制御データ
について説明する。 パッド番号テーブルPAD(i)(i=1〜k):この
パッド番号テーブルPAD(i)(i=1〜k)にはパ
ッドPA1〜PAkの各々のパッド番号0〜k−1が各
々記憶されている。 根音テーブルTBLRT(i)(i=0〜k−1):こ
の根音テーブルTBLRT(i)(i=0〜k−1)に
は、パッド番号0〜k−1の各々に対して割り当てられ
た根音に対応した情報が各々記憶されている。 コードタイプテーブルTBLTYP(i)(i=0〜k
−1):このコードタイプテーブルTBLTYP(i)
(i=0〜k−1)には、パッド番号0〜k−1の各々
に対して割り当てられたコードタイプに対応した情報が
各々記憶されている。
【0008】次にRAM7の記憶エリアを使用して構成
される制御用のレジスタおよびフラグ類を以下列挙し説
明する。 コードメモリエリアCRDMEM(ADR):このコー
ドメモリエリアCRDMEM(ADR)にはコードシー
ケンス演奏のための演奏データが記憶される。コードシ
ーケンス演奏とは、曲の進行に合せてコード進行と各ア
ンサンブルパートの演奏パターン進行とを記録し再生
し、それらのコードと演奏パターンとを組み合わせて演
奏音を決め、曲の自動演奏を行うものである。本実施例
においては、コードメモリエリアCRDMEM(AD
R)に3曲分の演奏データを記録することができる。図
4はコードメモリエリアCRDMEM(ADR)に記憶
される演奏データのフォーマットを示すものである。こ
の図に示すように、1個の演奏データは、モードデー
タ、根音データ、コードタイプデータおよび音長データ
からなる。ここで、モードデータは演奏データの最上位
2ビットを構成するデータであり、ROM6内に記憶さ
れた種々の演奏パターンのうち再生すべき演奏パターン
を指定する。すなわち、モードデータの内容が00B
(Bはバイナリの意)である演奏データはイントロパタ
ーンを指定するものであり、モードデータの内容が01
Bである演奏データはフィルインパターンを指定するも
のであり、モードデータの内容が10Bである演奏デー
タはエンディングパターン(1小節に固定)を指定す
る。また、モードデータの内容が11Bである演奏デー
タが根音データ、コードタイプデータおよび音長データ
に基づく通常の自動演奏パターン(以下、ノーマルパタ
ーンという)を指定する。演奏データにおけるモードデ
ータが11B以外の場合は音長データの入力は不要であ
る。根音データおよびコードタイプデータは、発音すべ
きコード(和音)を指定し、音長データはコードの時間
的な長さ、すなわち、音符長を指定する。図5〜図7は
各々コードメモリエリアCRDMEM(ADR)に記憶
された演奏データの例を楽譜のイメージで表わしたもの
である。これらの図において、上段の枠内に記載された
数字はモードデータを表わしており、下段の枠内に記載
された記号は根音データおよびコードタイプデータによ
って指定されたコードを表わしている。なお、音長デー
タは図示が省略されている。また、これらの各図におい
て下から上に向う矢印が多数示されているが、これらの
矢印は各々小節線タイミングを示している。図5は全小
節がノーマルパターンの曲の例であり、各小節毎にコー
ドがC、G7、Em、C7、…Cと進行することが示され
ている。この実施例の場合、この曲は、スタートストッ
プスイッチが押されない限り、第1小節から最後の小節
までがエンドレスに繰り返される。図6は、最後の小節
のみがエンディングパターン、他はノーマルパターンで
ある曲の例であり、コード進行は図5の場合と同様であ
る。この実施例の場合、この曲は、第1小節から順次演
奏された後、最後のエンディングパターンを演奏した
後、終了する。図7は、第1小節の前の2小節分(ファ
クトリプリセットによる固定値)がイントロパターンで
あってそれ以降がノーマルパターンである曲の例であ
り、コード進行は図5の場合と同様である。また、イン
トロパターンのコードは指定されておらず、リズム演奏
のみが行われる。何等かのコードを指定した場合にはベ
ースやコードバッキングの演奏も加えられる。この実施
例の場合、この曲は、イントロパターン2小節が演奏さ
れた後、スタートストップスイッチが押されない限り、
イントロパターンを除いた第1小節から最終小節までが
エンドレスに繰り返される。
【0009】回数レジスタCNT:この回数レジスタC
NTは、パッドが叩かれた回数を記憶するのに用いられ
る。 根音レジスタRTBUF:この根音レジスタRTBUF
には、パッド操作によって指定された根音に対応した情
報が書き込まれる。 コードタイプレジスタCRDTYP:この根音レジスタ
RTBUFには、パッド操作によって指定されたコード
タイプに対応した情報が書き込まれる。 ビートレジスタBT:このビートレジスタBTには、現
在再生中の演奏データあるいは現在書込中の演奏データ
が当該小節内における何拍目のものであるかを示す値が
記憶される。 小節番号レジスタBAR:この小節番号レジスタBAR
には、現在再生中の演奏データあるいは現在書込中の演
奏データが曲の先頭から何番目の小節であるかを示す値
が記憶される。 タイミングレジスタLN:このタイミングレジスタLN
は、表示器3の上位桁に表示される数値を記憶する上位
桁記憶エリアと下位桁に表示される数値を記憶する下位
桁記憶エリアとからなり、上位桁記憶エリアには小節番
号レジスタBARの内容が書き込まれ、下位桁記憶エリ
アにはビートレジスタBTの内容が書き込まれる。 最終小節番号レジスタSONG(i)(i=1〜3):
これらの最終小節数レジスタSONG(i)(i=1〜
3)には、コードメモリエリアCRDMEM(ADR)
に記憶された演奏データに対応した第1〜第3の曲の最
後の小節の番号が記憶される。 テンポカウンタレジスタTCL:このテンポカウンタレ
ジスタTCLは、再生中における計時を行うために用い
られるレジスタであり、タイマ5からCPU4へ割込み
信号が送られる毎にインクリメントされる。 小節線カウンタレジスタBARCTR:この小節線カウ
ンタレジスタBARCTRは、再生を終えた小節の数を
記憶のに使用される。 イントロフラグINTR:このイントロフラグINTR
は、イントロ演奏を指示する演奏データを読み出した場
合、イントロ/エンディングスイッチ209が押下され
た場合、あるいは最終小節の演奏データの再生を終えた
場合にセットされる。自動演奏中にイントロフラグIN
TRがセットされると、イントロ演奏が行われる。 フィルインフラグFI:このフィルインフラグFIは、
フィルイン演奏を指示する演奏データを読み出した場合
あるいはフィルインスイッチ208が押下された場合に
セットされる。自動演奏中にフィルインフラグFIがセ
ットされると、フィルイン演奏が行われる。 エンディングフラグEND:このエンディングフラグF
Iは、エンディング演奏を指示する演奏データを読み出
した場合あるいはイントロ/エンディングスイッチ20
9が押下された場合にセットされる。自動演奏中にエン
ディングフラグFIがセットされると、エンディング演
奏が行われ、自動演奏が終了する。 レコードフラグREC:このレコードフラグRECは、
レコードスイッチ206が押下されることにより、セッ
トされる。 ランフラグRUN:このランフラグRUNがセットされ
ることにより、自動演奏が開始される。 シフトフラグSFT:このシフトフラグSFTは、シフ
トスイッチ207が押下されている期間、セットされ
る。 オートベースモードフラグAB:このオートベースモー
ドフラグABは、図示しないオートベーススイッチが押
下され、オートベース演奏を行うモードとなった場合に
セットされる。 コードメモリフラグCMFRG:このコードメモリフラ
グCMFRGの内容により、以下に示すようにコードメ
モリエリアCRDMEMにおける記録/再生の制御が行
われる。 CMFRG=00B(ただし、Bはバイナリの意味)…
記録および再生は共に禁止。この状態において、この自
動演奏装置は、自動演奏機能を有さず、演奏操作によっ
てのみ発音する通常の電子楽器として動作する。 CMFRG=01B…再生のみ許可。 CMFRG=10B…記録のみ許可。この状態において
マニュアルステップ入力によるコード入力が行われる。 CMFRG=11B…記録および再生の両方を許可。こ
の状態において、コードメモリエリアCRDMEMから
の演奏データを再生しながらコード入力によってコード
メモリエリアCRDMEMの内容の更新とをするリアル
タイムコード入力が行われる。
【0010】以下、図8〜図17に示すフローチャート
を参照し、この電子楽器の動作を説明する。この自動演
奏装置の電源スイッチ301がオン状態にされると、C
PU4は図8にフローを示すメインルーチンを実行す
る。まず、ステップS1に進み、RAM6における制御
用レジスタ、フラグ類に初期値を設定する。次にステッ
プS2に進み、その時点においてパッドスイッチ群1に
おけるいずれかのパッドスイッチのオンイベントが検出
されている場合には図9にフローを示すパッドスイッチ
処理ルーチンを実行する。次にステップS3に進み、そ
の時点においてテンキー201におけるいずれかのキー
のオンイベントが検出されている場合には図10にフロ
ーを示すテンキーオンイベント処理ルーチンを実行す
る。次にステップS4に進み、その時点においてレコー
ドスイッチ206のオンイベントあるいはオフイベント
が検出されている場合には図11にフローを示すレコー
ドスイッチオン/オフイベント処理ルーチンを実行す
る。次にステップS5に進み、その時点においてソング
スイッチ202〜204のうちいずれかのスイッチのオ
ンイベントが検出されている場合には図12にフローを
示すソングスイッチオンイベント処理ルーチンを実行す
る。次にステップS6に進み、その時点においてイント
ロ/エンディングスイッチ209のオンイベントが検出
されている場合には図13にフローを示すイントロ/エ
ンディングスイッチオンイベント処理ルーチンを実行す
る。次にステップS7に進み、その時点においてスター
ト/ストップスイッチ210のオンイベントが検出され
ている場合には図14にフローを示すスタート/ストッ
プスイッチオンイベント処理ルーチンを実行する。次に
ステップS8に進み、その時点においてシフトスイッチ
207のオンイベントが検出されている場合には図15
にフローを示すシフトスイッチオン/オフイベント処理
ルーチンを実行する。次にステップS9に進み、その時
点においてフィルインスイッチ208のオンイベントが
検出されている場合には図16にフローを示すフィルイ
ンスイッチオン/オフイベント処理ルーチンを実行す
る。次にステップS10に進み、その時点においてオー
トベーススイッチ(図示略)のオンイベントが検出され
ている場合には図17にフローを示すオートベーススイ
ッチオンイベント処理ルーチンを実行し、オートベース
モードフラグABの内容を反転する。そして、ステップ
S2に戻り、以後、ステップS2〜S10の各処理を繰
り返す。一方、一定周期毎にタイマ5からCPU4に割
込み信号RINTが入力される。そして、CPU4は割
込み信号RINTが入力される毎にその時点において実
行中の処理を中断し、図18および19にフローを示す
リズムインタラプトルーチンを実行する。まず、ステッ
プS1001に進み、ランフラグRUNの内容が“1”
か否かを判断する。この判断結果が「YES」である場
合はステップS1002以降の処理へ進む。また、ステ
ップS1001の判断結果が「NO」の場合はリズムイ
ンタラプトルーチンを終了する。そして、CPU4は中
断していた処理を再開する。
【0011】<楽器モード(CMFRG=00B)>演
奏者がパッドPA1〜PAkのうちいずれかのパッドP
Nを叩くと、そのパッドに対応したパッドスイッチの
オンイベントがCPU4によって検出される。この結
果、メインルーチンのステップS2において以下説明す
るようにパッドスイッチオンイベント処理ルーチンが実
行される。まず、ステップS201に進み、コードメモ
リフラグCMFRGの内容が10Bであるか否かを判断
する。初期化がなされた時点においては、コードメモリ
フラグCRDFLGには通常の電子楽器としての動作モ
ードに対応したデータ00Bが書き込まれており、ステ
ップS201の判断結果は「NO」となってステップS
202に進む。そして、パッドPANに対応したパッド
番号テーブルの内容PAD(N)を音階音音源9へ送
る。この結果、音階音音源9により、パッド番号PAD
(N)に対応した音階の楽音が発音される。そして、パ
ッドオンイベント処理ルーチンを終了し、メインルーチ
ンに戻る。
【0012】<記録モード(CMFRG=10B)>演
奏者は演奏データの記録を行うに際し、演奏者はレコー
ドスイッチ206をオン状態にする。この結果、レコー
ドスイッチ206のオンイベントがCPU4によって検
知され、メインルーチンのステップS4においてレコー
ドスイッチオン/オフイベント処理ルーチンが実行され
る。まず、ステップS401に進み、検出したのがオン
イベントであるか否かを判断する。この場合、ステップ
S402の判断結果は「YES」となり、レコードフラ
グRECに“1”をセットし(ステップS402)、メ
インルーチンに戻る。次に演奏者はソングスイッチ20
2〜204のうち演奏データの記録を行おうとする曲の
番号に対応したスイッチをオン状態にする。このソング
スイッチのオンイベントがCPU4によって検知される
と、メインルーチンのステップS5においてソングスイ
ッチオンイベント処理ルーチンが実行される。まず、ス
テップS501に進み、検出したオンイベントに基づ
き、押されたソングスイッチに対応した番号を変数レジ
スタiに書き込む。次いでステップS502に進み、レ
コードフラグRECの内容が“1”であるか否かを判断
する。この場合のようにレコードフラグRECに“1”
がセットされている場合は、ステップS502の判断結
果が「YES」となってステップS503に進み、コー
ドメモリフラグCMFRGに記録モードに対応したモー
ドデータ10Bを書き込む。そして、メインルーチンに
戻る。
【0013】このようにして演奏データの記録が可能と
なり、演奏者は以下説明するようにパッドとテンキーを
操作することにより、演奏データを入力する。まず、演
奏者は記録しようとするコードの根音に対応したパッ
ド、例えばパッドPANを叩く。この結果、叩かれたパ
ッドのパッドスイッチオンイベントがCPU4によって
検出され、メインルーチンのステップS2においてパッ
ドスイッチオンイベント処理ルーチンが実行される。ま
ず、ステップS201に進み、コードメモリフラグCM
FLGの内容が10Bであるか否かを判断する。この場
合、CMFLG=10Bとなっていることからステップ
S201の判断結果は「YES」となり、ステップS2
03に進む。そして、回数レジスタCNTの内容をイン
クリメントする。今回のパッド操作が第1回目のパッド
操作である場合にはインクリメントによってCNT=
「1」となる。なお、“第1回目のパッド操作”の意味
するところについては後述する。次にステップS204
に進み、回数レジスタCNTの内容が「1」であるか否
か、すなわち、今回のパッド操作が第1回目か否かを判
断する。第1回目のパッド操作の場合はステップS20
4の判断結果が「YES」となってステップS205に
進み、ROM6における根音テーブルTBLRT(i)
(i=0〜k−1)から叩かれたパッドPANに対応し
た根音データTBLRT(PAD(N))を読み出し、
根音レジスタRTBUFに書き込む。また、根音レジス
タRTBUFの内容を音階音音源9へ送る。この結果、
パッドPANに対応した根音が音階音音源9によって発
音される。次にステップS206に進み、シフトフラグ
SFTの内容が“1”であるか否かを判断する。この時
点においてシフトスイッチ207がオフ状態である場合
はSFT=“0”となっており、ステップS206の判
断結果は「NO」となってステップS207に進む。そ
して、回数レジスタCNTの内容が「2」以上であるか
否かを判断する。この場合、ステップS207の判断結
果は「NO」となってメインルーチンに戻る。そして、
演奏者は発音された根音を確認し、根音が所望のコード
のものである場合には、所望のコードのコードタイプに
対応したパッド、例えばパッドPAMを叩く。この結
果、メインルーチンのステップS2において再びパッド
スイッチオンイベント処理ルーチンが実行される。この
場合、ステップS203に進んだ時、回数レジスタCN
Tがインクリメントされることにより、CNT=「2」
となる。このため、ステップS204に進んだ時、その
判断結果が「NO」となり、ステップS207に進む。
そして、回数レジスタCNTの内容が「2」以上である
か否か、すなわち、今回のパッド操作が第2回目以降の
パッド操作であるか否かを判断する。この場合、CNT
=「2」であるころからステップS208の判断結果は
「YES」となってステップS208に進み、シフトフ
ラグSFTの内容が“1”であるか否かを判断する。こ
の時点においてシフトスイッチ207がオフ状態である
場合はSFT=“0”となっており、ステップS208
の判断結果は「NO」となり、ステップS209に進
む。そして、ROM6におけるコードタイプテーブルT
BLTYP[i](i=0〜k−1)から叩かれたパッ
ドPAMに対応したコードタイプデータTBLTYP
(PAD(M))を読み出し、コードタイプレジスタT
YPBUFに書き込む。また、根音レジスタRTBUF
の内容およびコードタイプレジスタTYPBUFの内容
を音階音音源9へ送る。この結果、根音レジスタRTB
UFの内容に対応した根音であり、かつ、コードタイプ
レジスタTYPBUFの内容に対応したコードタイプの
コードが音階音音源9によって発音される。次にステッ
プS210に進んで回数レジスタCNTに「0」を書き
込み、メインルーチンに戻る。このようにパッド操作が
繰り返されることにより、所望のコードの根音とコード
タイプとが順次指定され、指定が完了した場合に回数レ
ジスタCNTが「0」とされる。そして、このようにし
てCNT=「0」となった後にパッド操作がなされた場
合、そのパッド操作は根音指定のための第1回目のパッ
ド操作となる。
【0014】第1回目のパッド操作によって発音された
根音が所望のものでなかった場合、演奏者はシフトスイ
ッチ207を押して別のパッド、例えばパッドPAN+1
を叩くことにより、根音指定のやり直しを行う。以下、
この場合の動作を説明する。まず、シフトスイッチ20
7のオンイベントがCPU4によって検出され、メイン
ルーチンのステップS8においてシフトスイッチオン/
オフイベント処理ルーチンが実行される。ステップS8
01において検出したのがオンイベントであるか否かを
判断する。この場合、ステップS801の判断結果は
「YES」となり、シフトフラグSFTに“1”をセッ
トし(ステップS802)、メインルーチンに戻る。次
にパッドPAN+1に対応したパッドスイッチオンイベン
トがCPU4に検知されることにより、パッドスイッチ
オンイベント処理ルーチンが実行される。この場合、第
2回目のパッド操作であるため、ステップS203を実
行することによってCNT=「2」となり、ステップS
204に進む。そして、CNT=「2」であるため、ス
テップS204の判断結果が「NO」となってステップ
S207に進む。このステップS207における判断結
果は「YES」となり、ステップS208に進み、シフ
トフラグSFTの内容が“1”であるか否かを判断す
る。この場合、SFT=“1”であることによりステッ
プS208の判断結果は「YES」となってステップS
205に進み、ROM6における根音テーブルTBLR
T[i](i=0〜k−1)から叩かれたパッドPA
N+1に対応した根音データTBLRT(PAD(N+
1))を読み出し、根音レジスタRTBUFに書き込
む。また、根音レジスタRTBUFの内容を音階音音源
9へ送る。この結果、パッドPAN+1に対応した根音が
音階音音源9によって発音される。次にステップS20
6に進み、シフトフラグSFTの内容が“1”であるか
否かを判断する。この場合、SFT=“1”であるた
め、ステップS206の判断結果は「YES」となって
メインルーチンに戻る。
【0015】そして、演奏者は新たに発音された根音を
確認する。根音が所望のコードのものである場合には、
シフトスイッチ207から指を離し、所望のコードのコ
ードタイプに対応したパッド、例えばパッドPAMを叩
く。以下。この場合の動作を説明する。まず、シフトス
イッチ207のオフイベントがCPU4によって検知さ
れ、シフトスイッチオン/オフイベント処理ルーチンが
実行される。この場合、CPU4が検知したのがオフイ
ベントであるため、ステップS801の判断結果は「N
O」となり、シフトフラグSFTに“0”を書き込み
(ステップS803)、メインルーチンに戻る。そし
て、パッドパッドPAMのパッドスイッチオンイベント
がCPU4によって検知され、パッドスイッチオンイベ
ント処理ルーチンのステップS207〜S210の処理
が実行される。この結果、新たなパッド操作によって指
定された根音およびコードタイプに対応したコードが音
階音音源9によって発音される。また、再度のパッド操
作によって指定しなおした根音が所望のコードのもので
ない場合、演奏者はさらに再びシフトスイッチ207を
押し、別のパッドを叩く。この場合も上述と同様にパッ
ドスイッチオンイベント処理ルーチンが実行され、新た
なパッドに対応した根音が発音される。
【0016】所望のコードが音階音音源9によって発音
され、記録すべき根音およびコードタイプが確定する
と、演奏者は音長データの入力を行う。4分音符に対応
した音長データを入力する場合、演奏者はテンキー部2
01における数値「6」に対応したキーを押す。この結
果、CPU4により、数値「6」に対応したテンキース
イッチオンイベントが検知され、メインルーチンのステ
ップS3においてテンキースイッチオンイベント処理ル
ーチンが実行される。まず、ステップS301に進み、
コードメモリフラグCMFRGの内容が10Bであるか
否かを判断する。この場合のようにCMFRG=10B
である場合にはステップS301の判断結果が「YE
S」となってステップS302に進み、根音レジスタR
TBUFおよびコードタイプレジスタCRDTYPにデ
ータが書き込まれているか否かを判断する。これらのレ
ジスタに既に何等かの根音データおよびコードタイプデ
ータが書き込まれている場合にはステップS302の判
断結果が「YES」となり、ステップS303に進む。
そして、検知したテンキースイッチオンイベントに基づ
き、押されたキーに対応したステップに分岐する。この
場合、数値「6」に対応したキーが押されたのであるか
らステップS304に進む。そして、アドレスレジスタ
ADRSをインクリメントし、コードメモリエリアCR
DMEM(ADR)に対し、根音データおよびコードタ
イプデータとして、根音レジスタRTBUFおよびコー
ドタイプレジスタCRDTYPの内容を書き込む。ま
た、4分音符に対応した音長データをコードメモリエリ
アCRDMEM(ADR)に対し書き込むと共にノーマ
ル演奏に対応したモードデータ11Bをコードメモリエ
リアCRDMEM(ADR)の最上位2ビットのエリア
に書き込む。次にステップS307に進み、前ステップ
(この場合はステップS304)においてコードメモリ
エリアCRDMEM(ADR)に書き込んだ音長データ
をテンポカウンタレジスタTCLに累算する。次にステ
ップS308に進み、テンポカウンタレジスタTCLの
内容が1小節の時間長に対応した最大値「96」を越え
たか否かを判断する。この判断結果が「Yes」である
場合はステップS309に進み、テンポカウンタレジス
タTCLの内容から「96」を減算し、その結果をテン
ポカウンタレジスタTCLに書き込み、小節番号レジス
タBARを「1」だけインクリメントする。そして、ス
テップS310に進む。一方、ステップS308の判断
結果が「No」である場合はステップS309を実行し
ないでステップS310に進む。次にステップS310
に進むと、テンポカウンタレジスタTCLの内容を1拍
の時間長に相当するカウント値「24」によって除した
結果に「1」を加算した結果をビート番号レジスタBT
に書き込む。次にステップS311に進み、次にステッ
プS311に進み、変数レジスタiの内容に対応した最
終小節番号レジスタSONG(i)に小節番号レジスタ
BARの内容を書き込む。次いでステップS312に進
み、タイミングレジスタLNの上位桁エリアに小節番号
レジスタBARの内容を書き込むと共に下位桁エリアに
ビート番号レジスタBTの内容を書き込み、タイミング
レジスタLNの内容を表示器3に表示させる。そして、
メインルーチンに戻る。
【0017】一方、演奏者が数値「7」に対応したキー
を押下した場合には、ステップS303からステップS
305に進む。この場合、音長データとして2分音符に
対応したデータをコードメモリエリアCRDMEM(A
DR)に書き込む。他の処理内容については上述した数
値「6」の入力の場合と同様である。また、演奏者が数
値「8」に対応したキーを押下した場合には、ステップ
S303からステップS306に進む。この場合、音長
データとして全音符に対応したデータをコードメモリエ
リアCRDMEM(ADR)に書き込む。他の処理内容
については上述した数値「6」の入力の場合と同様であ
る。演奏者が数値「6」、「7」および「8」以外の数
値を入力した場合にはステップS303の後、何も処理
を行わずにメインルーチンに戻る。なお、コードメモリ
フラグCMFRGの内容が10B以外である場合にはス
テップS301からステップS313に進み、テンキー
入力された数値に基づいた他の設定処理(例えば音色設
定)を行ってメインルーチンに戻る。
【0018】イントロ部、フィルイン部あるいはエンデ
ィング部の演奏データを作成する場合には、イントロ/
エンディングスイッチあるいはフィルインスイッチを押
すことにより、イントロパターン、フィルインパターン
あるいはエンディングパターンに対応したモードデータ
をコードメモリアリアCRDMEM[ADR]に設定
し、各パターンを構成する音符の個々の音長データの入
力を省略することができる。以下、この場合の処理につ
いて説明する。演奏者がパッド操作により、演奏データ
における最初のコードの根音およびコードタイプを入力
した後、イントロ/エンディングスイッチ209を押す
と、CPU4により、イントロ/エンディングスイッチ
オンイベントが検知され、メインルーチンのステップS
6においてイントロ/エンディングスイッチオンイベン
ト処理ルーチンが実行される。まず、ステップS601
に進み、コードメモリフラグCMFRGの内容が10B
であるか否かを判断する。この場合、CMFRG=10
Bであるため、ステップS601の判断結果は「YE
S」となり、ステップS602に進む。そして、根音レ
ジスタRTBUFおよびコードタイプレジスタCRDT
YPにデータが書き込まれているか否かを判断する。こ
れらのレジスタに既に何等かの根音データおよびコード
タイプデータが書き込まれている場合にはステップS6
02の判断結果が「YES」となってステップS603
に進み、根音レジスタRTBUFおよびコードタイプレ
ジスタCRDTYPの内容をコードメモリエリアCRD
MEM(ADR)における各々対応する記憶エリアに書
き込む。そして、ステップS604に進む。一方、レジ
スタRTBUFおよびCRDTYPに根音データおよび
コードタイプデータが書き込まれていない場合にはステ
ップS602の判断結果が「NO」となり、ステップS
603を実行しないでステップS604に進む。次にス
テップS604に進むと、小節番号レジスタBARおよ
びビート番号レジスタBTの内容が共に「1」であるか
否かを判断する。この判断結果が「YES」である場合
はステップS605に進み、イントロ演奏に対応したモ
ードデータ00BをコードメモリエリアCRDMEM
(ADR)の最上位2ビットに書き込む。次にステップ
S606に進み、アドレスレジスタADRを「1」だけ
インクリメントすると共に小節番号レジスタBARをイ
ントロ演奏に対応した小節数「2」(ファクトリプリセ
ットによる固定値)だけインクリメントする。次いでス
テップS607に進み、タイミングレジスタLNの上位
桁エリアに小節番号レジスタBARの内容(この場合、
「3」)を書き込み、下位桁エリアにビート番号レジス
タBTの内容(この場合、「1」)をセットし、タイミ
ングレジスタLNの内容を表示器3に表示され、メイン
ルーチンに戻る。このようにしてイントロ部に対応した
演奏データがコードメモリエリアCRDMEM(AD
R)に書き込まれる。以後、演奏者はパッド操作および
テンキー操作等により、第3小節第1拍以降の演奏デー
タを入力する。
【0019】演奏者がフィルィンスイッチ208を押
し、フィルインスイッチオンイベントがCPU4によっ
て検知されると、メインルーチンのステップS9におい
てフィルインスイッチオンイベント処理ルーチンが実行
される。まず、ステップS901に進み、コードメモリ
フラグCMFRGの内容が10Bであるか否かを判断す
る。この場合、CMFRG=10Bであるため、ステッ
プS901の判断結果は「YES」となり、ステップS
902に進む。そして、根音レジスタRTBUFおよび
コードタイプレジスタCRDTYPにデータが書き込ま
れているか否かを判断する。これらのレジスタに既に何
等かの根音データおよびコードタイプデータが書き込ま
れている場合にはステップS902の判断結果が「YE
S」となってステップS903に進み、根音レジスタR
TBUFおよびコードタイプレジスタCRDTYPの内
容をコードメモリエリアCRDMEM(ADR)におけ
る各々対応する記憶エリアに書き込む。そして、ステッ
プS904に進む。一方、レジスタRTBUFおよびC
RDTYPに根音データおよびコードタイプデータが書
き込まれていない場合にはステップS902の判断結果
が「NO」となり、ステップS903を実行しないでス
テップS904に進む。次にステップS904に進む
と、ビート番号レジスタBTの内容が「1」であるか否
かを判断する。この判断結果が「YES」である場合は
ステップS905に進み、「NO」である場合、すなわ
ち、フィルイン演奏の開始タイミングが小節線タイミン
グに対応していない場合にはビートレジスタBTに強制
的に「1」をセットし(ステップS906)、ステップ
S905に進む。次にステップS905に進むと、フィ
ルインパターンに対応したデータ01Bをコードメモリ
エリアCRDMEM(ADR)の最上位2ビットに書き
込む。次にステップS907に進み、アドレスレジスタ
ADRを「1」だけインクリメントすると共に小節番号
レジスタBARをフィルイン演奏に対応した小節数
「1」だけインクリメントする。次いでステップS90
8に進み、タイミングレジスタLNの上位桁エリアに小
節番号レジスタBARの内容を書き込むと共に下位桁エ
リアにビート番号レジスタBTの内容を書き込み、タイ
ミングレジスタLNの内容を表示器3に表示させ、メイ
ンルーチンに戻る。このようにしてフィルイン部に対応
した演奏データがコードメモリエリアCRDMEM(A
DR)に書き込まれる。
【0020】以上のようにしてエンディング部よりも前
の部分の演奏データが作成された後、演奏者によってイ
ントロ/エンディングスイッチ209が押されると、イ
ントロ/エンディグスイッチオンイベント処理ルーチン
が実行される。この場合、ステップS601〜S603
を実行してステップS604まで進んだ時、小節番号レ
ジスタBARの内容が「1」より大きくなっているた
め、ステップS604の判断結果は「NO」となってス
テップS608に進む。そして、ビート番号レジスタB
Tの内容が「1」であるか否かを判断する。この判断結
果が「YES」である場合はステップS609に進み、
「NO」である場合、すなわち、エンディング演奏の開
始タイミングが小節線タイミングに対応していない場合
にはビートレジスタBTに強制的に「1」をセットし
(ステップS610)、ステップS609に進む。次に
ステップS609に進むと、エンディング演奏に対応し
たモードデータ10BをコードメモリエリアCRDME
M(ADR)の最上位2ビットのエリアに書き込む。次
にステップS611に進み、アドレスレジスタADRを
「1」だけインクリメントすると共に小節番号レジスタ
BARをエンディングパターンに対応した小節数「1」
だけインクリメントする。次いでステップS612に進
み、タイミングレジスタLNの上位桁エリアに小節番号
レジスタBARの内容を書き込むと共に下位桁エリアに
ビート番号レジスタBTの内容を書き込み、タイミング
レジスタLNの内容を表示器3に表示させ、メインルー
チンに戻る。このようにしてエンディング部に対応した
演奏データがコードメモリエリアCRDMEM(AD
R)に書き込まれる。
【0021】<再生モード>演奏者がスタート/ストッ
プスイッチを押下すると、CPU4はステップS7にお
いてスタート/ストップ処理ルーチンを実行する。ま
ず、ステップS701に進み、コードメモリフラグCM
FRGの内容が10Bであるか否かを判断する。この判
断結果が「No」の場合はステップS702に進み、ラ
ンフラグRUNの内容を反転する。そして、メインルー
チンに戻る。また、演奏者がマニュアルステップ入力モ
ードにおいてスタート/ストップスイッチを押下した場
合は、ステップS701の判断結果は「Yes」となっ
てステップS703に進み、楽器モードに対応したデー
タ00BをコードメモリフラグCMFRGに書き込む。
そして、メインルーチンに戻る。すなわち、マニュアル
ステップ入力モードにおいてスタート/ストップスイッ
チが押下されると、同モードが解除される。
【0022】演奏者がスタート/ストップスイッチを操
作することによってランフラグRUNの内容が“1”に
なると、CPU4がリズムインタラプトルーチンを実行
した場合にステップS1001における判断結果が「Y
es」となってステップS1002に進む。そして、そ
の時点におけるテンポカウンタレジスタTCLの内容が
「0」であると共に小節カウンタレジスタBARCTR
の内容が「0」であり、さらにその時点におけるアドレ
スレジスタADRによって指定されるコードメモリエリ
アCRDMEM(ADR)の上位2ビットが00Bであ
るか否かを判断する。この判断結果が「YES」である
場合はステップS1020に進んでイントロフラグIN
TRに“1”を書き込んだ後、ステップS1003に進
み、「NO」である場合はステップS1020を実行し
ないでステップS1003に進む。ここで、図5および
図6に示すように、モードデータが00Bである演奏デ
ータがコードメモリエリアCRDMEM(ADR)に全
く記憶されていない場合は、リズムインタラプトルーチ
ンが実行される時、ステップS1002の判断結果は常
に「NO」となる。一方、図7に示すように、イントロ
パターンに対応したモードデータ00Bを含む演奏デー
タがコードメモリエリアCRDMEM(0)に記憶され
ている場合は、ADR=「0」の状態でリズムインタラ
プトルーチンが実行された時にステップS1020が実
行され、INTR=“1”となる。この結果、以後、2
小節相当の期間、リズムインタラプトルーチンが実行さ
れる際、後述するステップS1021以降の処理により
イントロ演奏が行われる。次にステップS1003へ進
むと、テンポカウンタレジスタTCLの内容が「96」
であるか否か、すなわち、現在が小節の終了タイミング
であるか否かを判断する。この判断結果が「No」の場
合にはステップS1021へ進む。そして、小節線カウ
ンタレジスタBARCTRの内容に「1」を加算した結
果を小節番号レジスタBARに書き込み、テンポカウン
タレジスタTCLの内容を「24」によって除した結果
の整数部に「1」を加算した結果をビート番号レジスタ
BTへ書き込む。そして、小節番号レジスタBARおよ
びビート番号レジスタBTの内容を表示用タイミングレ
ジスタLNに書き込み、このレジスタLNの内容を表示
器3に表示させる。演奏者は表示器3の表示を見ること
により、現在、何小節目の何拍目を演奏しているかを確
認することができる。
【0023】次にステップS1022に進み、その時点
におけるイントロフラグINTR、フィルインフラグF
IおよびエンディングフラグENDの状態に基づいてリ
ズム音の再生処理を行う。すなわち、イントロフラグF
Iが“1”である場合は、ROM6内のリズムパターン
エリアに記憶された各リズムパターンの中から、操作パ
ネルのリズムスイッチ(図示略)によって指定されたリ
ズム種類(ロック、ワルツ等)に対応したリズムのイン
トロパターンを選択し、そのイントロパターンを構成す
る各データのうちその時点におけるテンポカウントレジ
スタTCLの値に対応したデータを読み出し、リズム音
源8へ供給する。また、フィルインフラグFIあるいは
エンディングフラグENDが“1”である場合はフィル
インパターン、エンディングパターンのうちフラグによ
って指定されたパターンを選択し、イントロフラグIN
TR、フィルインフラグFIおよびエンディングフラグ
ENDの内容がすべて“0”である場合はノーマルパタ
ーンを選択し、INTR=“1”である場合と同様な処
理を行う。次にステップS1023に進み、オートベー
スモードフラグABの内容が“1”であるか否かを判断
する。この判断結果が「Yes」である場合はステップ
S1025へ進み、「No」の場合はステップS102
4に進む。次にステップS1024に進むと、コードメ
モリフラグCRDFRGの内容が01Bか否かを判断す
る。この判断結果が「Yes」の場合はステップS10
25に進み、「No」の場合はステップS1026へ進
む。
【0024】次にステップS1025に進むと、その時
点におけるイントロフラグINTR、フィルインフラグ
FIおよびエンディングフラグENDの状態に基づいて
ベース音の再生処理を行う。すなわち、イントロフラグ
FIが“1”である場合は、ROM6内のオートベース
パターンエリアに記憶された各オートベースパターンの
中から、操作パネルのリズムスイッチ(図示略)によっ
て指定されたリズム種類(ロック、ワルツ等)に対応し
たオートベースのイントロパターンを選択し、そのイン
トロパターンを構成する各データのうちその時点におけ
るテンポカウントレジスタTCLの値に対応したデータ
を読み出し、音階音源9へ供給する。また、フィルイン
フラグFIあるいはエンディングフラグENDが“1”
である場合はフィルインパターン、エンディングパター
ンのうちフラグによって指定されたパターンを選択し、
イントロフラグINTR、フィルインフラグFIおよび
エンディングフラグENDの内容がすべて“0”である
場合はノーマルパターンを選択し、INTR=“1”で
ある場合と同様な処理を行う。次にステップS1026
に進むと、コードメモリフラグCMFRGの内容が01
Bであるか否かを判断する。この判断結果が「YES」
の場合はステップS1027に進み、「NO」の場合は
ステップS1028に進む。
【0025】次にステップS1027に進むと、その時
点におけるイントロフラグINTR、フィルインフラグ
FIおよびエンディングフラグENDの状態に基づいて
コードバッキング音の再生処理を行う。すなわち、イン
トロフラグFIが“1”である場合は、ROM6内のコ
ードパターンエリアに記憶された各コードパターンの中
から操作パネルのリズムスイッチによって指定されたリ
ズム種類に対応したコードバキングのイントロパターン
を選択し、そのイントロパターンを構成する各データ
(コード音を発音するか否かを指定するデータ)のうち
その時点におけるテンポカウントレジスタTCLの値に
対応したデータを読み出し、コードバッキング音の発音
を指示するデータを読み出した場合にはコードメモリエ
リアCRDMEM(ADR)内の根音データおよびコー
ドタイプデータを音階音音源9へ供給する。また、フィ
ルインフラグFIあるいはエンディングフラグENDが
“1”である場合はフィルインパターン、エンディング
パターンのうちフラグによって指定されたパターンを選
択し、INTR=“1”である場合と同様な処理を行
う。また、イントロフラグINTR、フィルインフラグ
FIおよびエンディングフラグENDの内容がすべて
“0”である場合は、上述の場合と異なってROM6内
のコードパターンエリアは参照されない。この場合、そ
の時点におけるテンポカウンタレジスタTCLの内容と
当該小節内における再生済みの演奏データにおける音長
データの累算値と一致した場合にアドレスレジスタAD
Rをインクリメントし、コードメモリエリアCRDME
M(ADR)内の根音データおよびコードタイプデータ
を音階音音源9に送り、コードメモリエリアCRDME
M(ADR)から新たな音長データを読み出してそれま
での音長データの累算値に加算する。ここで、音長デー
タの累算値が「96」を越えた場合には累算値から「9
6」を減算する。次にステップS1028に進み、テン
ポカウンタレジスタTCLの内容をインクリメントしリ
ズムインタラプトルーチンを終了する。
【0026】以後、所定時間が経過する毎に上述のよう
にリズムインタラプトルーチンが実行される。そして、
CPU4がリズムインタラプトルーチンを実行した際、
テンポカウンタレジスタTCLの内容が「96」である
と、ステップS1003の判断結果が「Yes」となっ
てステップS1004に進む。次にステップS1004
に進むと、テンポカウンタレジスタTCLに「0」を書
き込み、小節線カウンタレジスタBARCTRの内容を
インクリメントする。次にステップS1005に進み、
イントロフラグINTRが“1”であり、かつ、小節線
カウンタレジスタBARCTRの内容が「2」であるか
否かを判断する。この判断結果が「YES」である場合
はステップS1006に進んでINTR=“0”とす
る。そして、ステップS1006が終るとステップS1
007に進む。一方、ステップS1005の判断結果が
「NO」である場合はステップS1006を実行しない
でステップS1007に進む。図5および図6に示すよ
うにイントロ演奏に対応したモードデータがコードメモ
リエリアに記憶されていない場合は、ステップS100
5の判断結果は常に「NO」となる。これに対し、図7
に示すように、イントロ演奏に対応したモードデータ0
0Bがコードメモリエリアに記憶されている場合は、そ
のモードデータが読み出された時点でINTR=“1”
とされ(ステップS1020)、以後、2小節に相当す
る期間、リズムインタラプトルーチンのステップS10
21以降の処理が行われることによってイントロ演奏が
行われる。リズムインタラプトルーチンが実行されて2
小節あるイントロ部の再生が終了すると、INTR=
“1”かつBARCTR=「2」となり、ステップS1
005における判断結果が「YES」となり、INTR
=“0”とされ(ステップS1006)、イントロ演奏
が終了する。
【0027】次にステップS1007に進み、小節線カ
ウンタレジスタBARCTRの内容が最終小節番号レジ
スタSONG(i)に記憶された小節番号より「1」だ
け小さい値であるか否かを判断する。この判断結果が
「NO」である場合はステップS1010に進む。一
方、ステップS1007の判断結果が「Yes」である
場合はステップS1008に進み、現時点のアドレスレ
ジスタADRによって指定されるコードメモリエリアC
RDMEM(ADR)内にエンデイングパターンに対応
したモードデータ10Bがあるか否かを判断する。この
判断結果が「Yes」である場合はステップS1009
に進んでエンディングフラグENDに“1”を書き込
み、ステップS1010に進む。この結果、以後、1小
節に相当する期間、リズムインタラプトルーチンのステ
ップS1021以降の処理が行われることによってエン
ディング演奏が行われる。一方、ステップS1008の
判断結果が「No」である場合はステップS1009を
実行しないでステップS1010に進む。このように、
最終小節に対応する演奏データとしてエンディングパタ
ーンに対応するモードデータ10Bを含んだ演奏データ
がコードメモリエリアに記憶されている場合は、その演
奏データよりも1小節前の演奏データが読み出された時
点でEND=“1”とされる。
【0028】次にステップS1010に進むと、小節線
カウントレジスタBARCTRの内容が最終小節番号レ
ジスタSONG(i)の内容と一致しているか否かを判
断する。この判断結果が「No」である場合はステップ
S1015に進む。一方、ステップS1010の判断結
果が「Yes」である場合はステップS1011に進
み、小節線カウンタレジスタBARCTRおよびアドレ
スレジスタADRに「0」を書き込む。次にステップS
1012に進み、コードメモリフラグCMFRGの内容
が01Bであるか否かを判断する。この判断結果が「N
O」である場合はステップS1015に進む。一方、ス
テップS1012の判断結果が「YES」である場合は
ステップS1013に進み、アドレスレジスタADRに
よって指定されるコードメモリエリアCRDMEM(A
DR)、すなわち、この場合はCRDMEM(0)にイ
ントロパターンに対応したモードデータ00Bが記憶さ
れているか否かを判断する。この判断結果が「NO」で
ある場合はステップS1015に進む。一方、ステップ
S1013の判断結果が「YES」である場合はステッ
プS1014に進み、小節線カウンタレジスタBACT
Rに「2」を書き込み、アドレスレジスタADRを
「1」だけインクリメントし、ステップS1015に進
む。このように、イントロ演奏に対応した演奏データが
コードメモリエリアCRDMEM(0)に記憶されてい
る場合は、最終小節の演奏データの再生を終えた後、A
DR=「1」とされ、イントロ演奏に対応した演奏デー
タの次の演奏データから再生が行われる。すなわち、イ
ントロ演奏をバイパスして演奏が繰り返される。
【0029】次にステップS1015に進むと、エンデ
ィグフラグENDの内容が“1”であるか否かを判断す
る。この判断結果が「NO」の場合は上述したステップ
S1021以降の処理を実行してリズムインタラプトル
ーチンを終了する。一方、ステップS1015の判断結
果が「YES」の場合にはステップS1016に進み、
エンディングフラグENDおよびランフラグRUNに
“0”を書き込むと共に小節線カウンタレジスタBAR
CTRに「0」を書き込む。そして、リズムインタラプ
トルーチンを終了する。このように最終小節に対応する
演奏データとしてエンディング演奏に対応するモードデ
ータ10Bを含んだ演奏データがコードメモリエリアに
記憶されている場合は、その演奏データによる1小節の
エンディング演奏を開始する前にEND=“1”とされ
る(ステップS1009)。そして、END=“1”と
なってエンディング演奏が終ると、RUN=“0”とな
り(ステップS1016)、自動演奏が停止する。これ
に対し、エンディング演奏に対応するモードデータ10
Bを含んだ演奏データがコードメモリエリアに記憶され
ていない場合、エンディングフラグENDに対する
“1”の書込(ステップS1009)は実行されない。
従って、最終小節に相当する演奏データの再生が終わっ
た場合にADR=「0」とされ(ステップS101
1)、再び、コードメモリエリアにおける最初の演奏デ
ータから順に再生される。
【0030】また、上記の通り、各小節線タイミングに
おいて、当該小節において再生すべき演奏データがエン
ディングパターンに対応したものであるかを判断し(ス
テップS1008)、この判断結果が「Yes」である
場合に当該小節タイミングにおいてエンデイング演奏の
開始の指示を行っている(ステップS1009)。従っ
て、エンディング部以前の音長データの総和が1小節の
時間長の整数倍でない場合であっても、最終小節の小節
線タイミングにおいてエンディング演奏が開始される。
例えば、最終小節より1つ前の第4拍目に相当する演奏
データとして、2拍相当の音長データを有する演奏デー
タを誤って記録した場合、その演奏データは再生時にお
いて1拍の音長でしか発音されず、最終小節の小節線タ
イミングにおいてエンディング演奏が開始される。これ
により、誤って不合理な変拍子演奏にならずに済む。
【0031】次に自動演奏が行われている期間にフィル
インスイッチが押下された場合の動作を説明する。この
場合、CPU4がフィルインスイッチオンイベント処理
ルーチンを実行する際、コードメモリフラグCMFRG
には10B以外のデータが書き込まれているため、ステ
ップS901の判断結果が「NO」となってステップS
911に進み、ランフラグRUNが“1”であるか否か
を判断する。この判断結果が「YES」となり、ステッ
プS912に進んでフィルインフラグFIに“1”をセ
ットする。この結果、リズムインタラプトルーチンのス
テップS1022およびS1025において、ROM6
からフィルインパターンが読み出され、フィルインパタ
ーンによるリズム伴奏およびオートベース伴奏が行われ
る。
【0032】次に自動演奏が行われている期間にイント
ロ/エンディングスイッチが押下された場合の動作を説
明する。この場合も、CPU4がイントロ/エンディン
グスイッチオンイベント処理ルーチンを実行する際、コ
ードメモリフラグCMFRGには10B以外のデータが
書き込まれているため、ステップS601の判断結果が
「NO」となってステップS621に進み、ランフラグ
RUNが“1”であるか否かを判断する。この場合、ス
テップS621の判断結果が「YES」となり、ステッ
プS623に進んでエンディングフラグENDに“1”
をセットする。この結果、リズムインタラプトルーチン
のステップS1022およびS1025において、RO
M6からエンディングパターンが読み出され、エンディ
ング演奏が行われ、その後、自動演奏が終了する。
【0033】自動演奏を行っておらず、コードメモリエ
リアに対する書き込みも行っていない場合(CMFRG
が10B以外の値)にイントロ/エンディングスイッチ
が押下された場合の動作を説明する。この場合、イント
ロ/エンディングスイッチオンイベント処理ルーチンの
ステップS601、S621を介しステップS624が
実行され、INTR=“1”、RUN=“1”とされ
る。この結果、リズムインタラプトルーチンが実行され
る際、ステップS1002以降の処理が実行される。こ
こで、INTR=“1”であるため、ステップS102
2およびS1025において、ROM6からイントロパ
ターンが読み出され、イントロ演奏が行われる。なお、
上記実施例では、イントロパターンを2小節に、エンデ
ィングパターンを1小節に固定した場合を説明したが、
これらの各パターンの長さはこれに限定されるものでは
なく、任意に設定することが可能である。
【0034】
【発明の効果】以上説明したように、この発明によれ
ば、エンドレスな自動演奏が可能であると共にエンドレ
スな自動演奏を行う場合に演奏データの中にイントロ部
あるいはエンディング部といった曲の特定部に対応した
演奏データがある場合においても、音楽的違和感を生じ
ることなく自動演奏を行うことができるという効果が得
られる。
【図面の簡単な説明】
【図1】 この発明の一実施例による自動演奏装置の構
成を示すブロック図である。
【図2】 同実施例の外観を示す平面図である。
【図3】 同実施例のパネル面に配備された操作子およ
び表示器を示す平面図である。
【図4】 同実施例のRAM7に記憶された演奏データ
のフォーマットを説明する図である。
【図5】 同実施例のRAM7に記憶された演奏データ
を例示する図である。
【図6】 同実施例のRAM7に記憶された演奏データ
を例示する図である。
【図7】 同実施例のRAM7に記憶された演奏データ
を例示する図である。
【図8】 同実施例の動作を説明するフローチャートで
ある。
【図9】 同実施例の動作を説明するフローチャートで
ある。
【図10】 同実施例の動作を説明するフローチャート
である。
【図11】 同実施例の動作を説明するフローチャート
である。
【図12】 同実施例の動作を説明するフローチャート
である。
【図13】 同実施例の動作を説明するフローチャート
である。
【図14】 同実施例の動作を説明するフローチャート
である。
【図15】 同実施例の動作を説明するフローチャート
である。
【図16】 同実施例の動作を説明するフローチャート
である。
【図17】 同実施例の動作を説明するフローチャート
である。
【図18】 同実施例の動作を説明するフローチャート
である。
【図19】 同実施例の動作を説明するフローチャート
である。
【符号の説明】
1……パッドスイッチ群、2……操作子スイッチ群、4
……CPU、5……タイマ、8……リズム音源、9……
音階音音源。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 曲のイントロ部分を再生するための第1
    種演奏データと、イントロ部分以外の部分を再生するた
    めの複数の第2種演奏データと、前記各演奏データの読
    み出し順を表わすシーケンスデータとを記憶した記憶手
    段であって、前記シーケンスデータは前記第1種演奏デ
    ータと前記複数の第2種演奏データのうちの読み出すベ
    き演奏データを指示する指示データが読み出し順に記録
    されているものと、 前記シーケンスデータから前記指示データを順に読み出
    し、該指示データで指示される前記演奏データを読み出
    して自動演奏を行なう自動演奏手段と、 前記指示データの読み出しが最後に達したときに、前記
    シーケンスデータの先頭の指示データが第1種演奏デー
    タを指示しているかを判断する判断手段と、 前記判断手段で第1種演奏データを指示していると判断
    されたときは前記先頭の指示データの次に記録されてい
    る指示データが指示している演奏データを読み出すよう
    に設定し、第1種演奏データを指示していないと判断さ
    れたときは前記先頭の指示データが指示している演奏デ
    ータを読み出すように設定する制御手段とを備えた自動
    演奏装置。
JP00178592A 1992-01-08 1992-01-08 自動演奏装置 Expired - Fee Related JP3252425B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00178592A JP3252425B2 (ja) 1992-01-08 1992-01-08 自動演奏装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00178592A JP3252425B2 (ja) 1992-01-08 1992-01-08 自動演奏装置

Publications (2)

Publication Number Publication Date
JPH0619469A JPH0619469A (ja) 1994-01-28
JP3252425B2 true JP3252425B2 (ja) 2002-02-04

Family

ID=11511232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00178592A Expired - Fee Related JP3252425B2 (ja) 1992-01-08 1992-01-08 自動演奏装置

Country Status (1)

Country Link
JP (1) JP3252425B2 (ja)

Also Published As

Publication number Publication date
JPH0619469A (ja) 1994-01-28

Similar Documents

Publication Publication Date Title
US4539882A (en) Automatic accompaniment generating apparatus
JPH045995B2 (ja)
US4448104A (en) Electronic apparatus having a tone generating function
JPH05224668A (ja) 作編曲アシスト装置
JPS6157640B2 (ja)
JPS5913291A (ja) 電子楽器
JP4134945B2 (ja) 自動演奏装置及びプログラム
JP3252425B2 (ja) 自動演奏装置
US4763554A (en) Automatic rhythm performing apparatus for electronic musical instrument
JP3245916B2 (ja) 自動演奏装置
JPH0125994Y2 (ja)
JP2522337B2 (ja) 自動演奏装置
US5283388A (en) Auto-play musical instrument with an octave shifter for editing phrase tones
GB2091470A (en) Electronic Musical Instrument
JP3752956B2 (ja) 演奏ガイド装置および演奏ガイド方法並びに演奏ガイドプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3909677B2 (ja) 自動演奏装置
JP2660471B2 (ja) 自動演奏装置
JP2572317B2 (ja) 自動演奏装置
JPH08314456A (ja) 自動伴奏装置
JPH0535268A (ja) 自動演奏装置
JP2674454B2 (ja) 自動伴奏装置
JP3479141B2 (ja) 自動演奏装置
JPH04240893A (ja) 自動伴奏装置
JP3752940B2 (ja) 自動作曲方法、自動作曲装置及び記録媒体
JP2670944B2 (ja) 電子鍵盤楽器

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010703

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011023

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20071122

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees