JPH06289875A - 自動演奏装置 - Google Patents

自動演奏装置

Info

Publication number
JPH06289875A
JPH06289875A JP5072365A JP7236593A JPH06289875A JP H06289875 A JPH06289875 A JP H06289875A JP 5072365 A JP5072365 A JP 5072365A JP 7236593 A JP7236593 A JP 7236593A JP H06289875 A JPH06289875 A JP H06289875A
Authority
JP
Japan
Prior art keywords
measures
loop
measure
performance
bar
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.)
Pending
Application number
JP5072365A
Other languages
English (en)
Inventor
Tsutomu Saito
勉 斉藤
Masahiko Yamada
雅彦 山田
Haruo Minoura
晴夫 箕浦
Hironobu Nakagawa
博信 中川
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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing 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 Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP5072365A priority Critical patent/JPH06289875A/ja
Priority to US08/215,927 priority patent/US5478967A/en
Publication of JPH06289875A publication Critical patent/JPH06289875A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【目的】 自動伴奏メモリの無駄を抑えるとともに、リ
ズムスタイルが切り換えられた場合でも伴奏の再生を円
滑に行なうことができる自動演奏装置を提供すること。 【構成】 ステップ216では、異なるループ小節数を
有するトラックに変更されたので、次に伴奏される小節
を決める処理が行われる。つまり、累算小節数BBAC
CをTR1のループ小節数T1LBで割った余りの小節
数を求め、この余りの小節数に基づいて現在のTR1ポ
インタT1PNTを設定する。即ち余りの小節数に対応
して定まるBEAT数を、現在のTR1ポインタT1P
NTとする。これによって、ループ小節数が異なるトラ
ックに切り換えられた場合でも、容易に次に伴奏すべき
小節を求めることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、所定のループ小節に
おける伴奏パートを、繰り返して自動演奏する自動演奏
装置に関する。
【0002】
【従来の技術】従来より、電子オルガンや電子キーボー
ド等の自動演奏装置においては、例えば自動リズム,自
動ベース,自動アカンパニメントの様な伴奏パートの自
動再生を行なう自動伴奏機能を備えているものが知られ
ている。
【0003】この自動伴奏を行なうために、自動伴奏メ
モリ内に、通常はリズム,ベース,アカンパニメントの
演奏内容を、同一小節数分記憶している。具体的には、
図18に示す様に、リズムR,ベースB,アカンパニメ
ントA共通の1つのシーケンストラックに、各伴奏パー
トの音高(音色)や発音タイミングを混合して記憶して
いる。
【0004】
【発明が解決しようとする課題】ところが、上述した技
術では、次の様な問題があり、必ずしも好適ではなかっ
た。即ち、図18の様に、自動伴奏メモリである共通の
シーケンストラックに、リズムR,ベースB,アカンパ
ニメントAの伴奏データを併せて記憶するものでは、自
動伴奏メモリをアクセスするポインタは1つで済むが、
リズムR,ベースB,アカンパニメントAの最小公倍数
的な(繰り返して演奏される)ループ小節数を必要とす
るという問題があった。
【0005】例えばリズムRは2小節,ベースBは4小
節,アカンパニメントAは1小節でループさせたい場合
には、全ての伴奏パートを4小節分記憶しなければなら
ず、図18の斜線で示す小節が他の小節の内容と重複す
る(A1〜A4は同一内容となる)ので、メモリに無駄
が多かった。
【0006】特に、近年では、演奏の高品質化に伴って
ループ小節数が多くなる傾向にあり、このメモリの無駄
という問題は一層大きな問題となっている。この対策と
して、例えば各伴奏パート独立に各々トラックを設け、
ループ小節を記憶し再生する処理が考えられるが、単純
にその様に構成すると、途中でリズムスタイルが切り換
えられた時などには、各々のパートは新たなリズムスタ
イルのどの部分からスタートしてよいか分からないとい
う別な問題が生じてしまう。
【0007】特に電子オルガンにおいては、伴奏中にリ
ズムスタイルが切り換えられると、通常その続きから伴
奏が行われるので、この点は大きな問題である。本発明
は、前記課題を解決するためになされ、自動演奏メモリ
の無駄を抑えるとともに、リズムスタイル等が切り換え
られた場合でも、伴奏の再生を円滑に行なうことができ
る自動演奏装置を提供することを目的とする。
【0008】
【課題を解決するための手段】この目的を達成するため
の請求項1の発明は、図1に例示する様に、ループ小節
数の異なる複数の演奏データを記憶する演奏データ記憶
手段M1と、該演奏データ記憶手段M1に記憶された複
数の演奏データを、繰り返して読み出して演奏を行なう
ループ演奏手段M2と、該ループ演奏手段M2による演
奏の開始から、演奏される小節数を累算する累算小節数
計算手段M3と、該累算小節数計算手段M3によって累
算された累算小節数を、前記異なるループ小節数で除し
た余りに基づいて前記演奏データの再生小節を指示する
再生小節指示手段M4と、を備えたことを特徴とする自
動演奏装置を要旨とする。
【0009】また、請求項2の発明は、前記各ループ小
節数を2の累乗とし、2進数で表示される累算小節数の
所定ビットをマスクすることにより、演奏の再生小節を
指示することを特徴とする前記請求項1記載の自動演奏
装置を要旨とする。
【0010】ここで、前記自動演奏装置としては、例
えば電子オルガン,電子ピアノ,電子キーボード等が挙
げられる。 本発明は、MIDIを用いてキーボードから入力した
信号を、パーソナルコンピュータ等の汎用コンピュータ
上で処理して自動演奏を行なうものにも適用できる。
【0011】前記演奏データ記憶手段に記憶される異
なるループ小節数とは、少なくとも二つ以上の異なるル
ープ小節数を意味し、全てのループ小節数が異なるとは
限らない。 前記複数の演奏データは、(後述する実施例の様に)
各々異なるトラックに区別して記憶すると、従来の同一
ループ小節数だけ記憶する方式に比べて少ないメモリで
済み、しかも読み出し時に不要な演奏情報(1つのトラ
ックに複数パートの演奏情報を記憶して読み出す際には
対象パート以外は不要な演奏情報となる)がないので、
CPUが効率よく処理できる。
【0012】また、例えばループ小節数の異なる複数の
演奏データを1つのトラックに記憶することも可能であ
り、その場合には、上述の記憶方法(別トラックに同一
ループ小節数を記憶)以上に圧縮して記憶できる。但
し、この場合には、ループ小節数の違う演奏情報は読み
出しても捨てなければならないので、CPUは読み出し
時には不要な演奏情報を廃棄処理する時間は浪費するこ
とになる。
【0013】更に、メモリ効率とCPUの処理効率が最
も良いのは、同じループ小節数の演奏情報を1つのトラ
ックに複数記憶したいくつかのループ小節数毎のトラッ
クとしてメモリに記憶することである。こうすることに
より、読み出したポインタも全部ではなく各トラック単
位で用意すればよく、演奏情報の記憶に関しても同一ル
ープの複数の演奏情報で1小節に1つの小節マークのみ
記憶すればよいため、無駄がない。
【0014】前記複数の演奏データを読み出す場合に
は、同時に、各々の演奏データを読み出す場合が一般的
であるが、この同時とは、各演奏データをポインタ等を
用いて同様なタイミングで読み出すことを意味する。
尚、CPUの処理として、時分割で処理する場合も、こ
の同時の概念に入る。
【0015】前記異なるループ小節数で除した余りに
基づいて演奏データの再生小節を指示する再生小節指示
手段としては、実際に累算小節を除することも考えられ
るが、例えば累算小節数及びループ小節数に対応した余
りが記憶されているテーブルを参照することによって、
読み出すべき小節数を指示することもできる。
【0016】また、前記2進数で表示される累算小節
数の所定ビット(例えば上位ビット)をマスクすると
は、具体的には、例えば累算小節数の8ビットの2進カ
ウンタとマスク用に設定された8ビットの2進データの
論理積を求めることによって実現できる。
【0017】
【作用】
(1)請求項1の発明では、演奏データ記憶手段M1に
よって、ループ小節数の異なる複数の演奏データを記憶
するとともに、ループ演奏手段M2によって、このルー
プ小節の演奏データを繰り返して読み出して演奏を行な
う。そして、累算小節数計算手段M3によって、演奏の
開始からの演奏される小節数の累算を行ない、再生小節
指示手段M4によって、この累算された累算小節数を各
ループ小節数で除した余りに基づいて演奏データの再生
小節を指示する。
【0018】つまり、ループして演奏される演奏データ
の累積小節数を各々異なるループ小節数で割った余り
が、再生される小節の位置を示すことになる。これによ
り、ループ小節数が異なっている場合でも、即座に際す
べき小節を指定できるので、例えばリズムスタイルが切
り換えられた場合や(最初は再生されなくて)途中から
あるパートが再生される場合でも、違和感のない演奏を
行なうことが可能である。
【0019】しかも、この様に、例えば各リズムスタイ
ルや各トラック毎に、記憶するループ小節数を違えるこ
とが可能で、最小のループ小節数を設定することができ
るので、演奏の質を低下させることなく、メモリを低減
することが可能である。 (2)特に、請求項2の発明では、各ループ小節数を2
の累乗とし、2進数で表示される累算小節数の所定ビッ
トをマスクすると、一層容易に再生小節が分かるので好
適である。
【0020】ここで、マスクすることによって、次に再
生すべき(読み出すべき)小節数を決める手順につい
て、詳細に説明する。パネルに10進数で表示される累
算小節数と、それを2進数で積算して記憶するBARカ
ウンタとの間には、下記表1に示す関係がある。
【0021】
【表1】
【0022】また、ループ小節数が2の累乗に設定され
ている場合は、(読み出すべき小節数を決めるための)
マスクデータは、下記表2の様に設定されている。
【0023】
【表2】
【0024】従って、各伴奏において次に演奏すべき小
節は、タイマ割込等で作成されたBARカウンタと前記
マスクデータとの論理積で求められることになる。例え
ば4小節ループの伴奏において、(累算小節数を示す)
パネル表示が第30小節であるときには、BARカウン
タは00011101bであるので、このBARカウンタと第4
小節ループ(00000011b)との論理積を求めると0000000
1bとなり、これは第2小節の中をプレイしていることを
示す。ここで、リズムスタイルを切り換えるスイッチが
操作されて、例えば16小節ループの伴奏に切り換えら
れた場合には、BARカウンタ(00011101b)と第16
小節ループ(00001111b)との論理積を求めると、第1
4小節(00001111b)を示すものとなるので、即時第1
4小節の途中から再生を行なうことができる。
【0025】つまり、BARカウンタに対し、ループ小
節数に応じたマスクを施すことによって、即時にループ
小節数に好適に対応した再生小節を求めることができる
ことになる。
【0026】
【実施例】以上説明した本発明の構成・作用を一層明ら
かにするために、以下本発明の自動演奏装置の好適な実
施例について説明する。図2は、実施例としての自動演
奏装置の電気的構成を示し、図3はその操作パネルを示
している。
【0027】本実施例の自動演奏装置は、複数の鍵盤
(キーボード)を備えた電子オルガンであり、図2に示
す様に、この電子オルガンでは、CPU1,ROMA
3,ROMB5,RAM7,楽音発生器9,サウンドシ
ステム11,操作パネル13,キーボード15,MID
I入力部17,タイマー19が、バスライン21等を介
して接続されている。
【0028】以下、各構成について詳細に説明する。C
PU1は、テンポの周期の演算処理や設定されたテンポ
での伴奏等の各種の演算処理を行なう。このCPU1
は、外付け水晶23により発振し、それを分周して得ら
れたクロック信号はタイマー19に送られる。
【0029】ROMA3は、CPU1で行なう演算のた
めに、各種の制御プログラムを格納している。ROMB
5は、ワルツ,スイング等の8つのリズムスタイル毎
に、パート1(リズム),パート2(ベース),パート
3(ACC:アカンパニメント)の自動伴奏データを格
納しており、各自動伴奏データは、イントロ,フィルイ
ン,メイン,エンディングの4つのパターンからなる。
【0030】RAM7は、CPU1が各種処理を行なう
時のワーキングに使用する。尚、後述する図9に示す各
種レジスタもRAM7の一部を利用する。楽音発生器9
は、32チャンネル(CH)時分割にて楽音を発生し、
そのうち16CHをマニュアル演奏楽音、残り16CH
を自動伴奏楽音に使用する。
【0031】サウンドシステム11は、楽音発生器9か
ら送られるデジタル波形信号をD/Aして増幅し、図示
しないスピーカーから発音する。操作パネル13には、
図3に示す様に、マニュアルにてテンポを設定(内部設
定)するテンポ操作子24,設定されたテンポを表示す
るテンポ表示器25,各種のスイッチ(以下スイッチを
SWと記す)及び各SWに対応して配置されたLED3
7が設けられている。そして、この操作パネル13から
マニュアルによって指示された内容がCPU1等に送ら
れる。
【0032】前記SWとしては、伴奏の開始及び停止を
指示するスタート/ストップ(START/STOP)
SW26,伴奏の途中で所定の伴奏を挿入するフィルイ
ン(FILL IN)SW27,伴奏の開始時及び終了
時に所定の伴奏を行なうイントロ/エンディング(IN
T/END)SW28,伴奏された小節数を積算して表
示する累算小節表示器29,テンポの内部設定及び外部
設定を切り換えるクロック切換SW31,3種のループ
小節を各々記憶するトラックを指定するトラック1,
2,3(TR1〜TR3)のゲートSW32,8種類の
リズムスタイルを選択するリズムスタイルSW33,キ
ーオフ後も伴奏データを記憶するためのメモリ(MEM
ORY)SW34,ワンフィンガーによって和音を指定
するためのワンフィンガー(ONE FINGER)S
W35等のSWが設けられている。
【0033】図2に戻り、キーボード15は、上(UP
PER)鍵盤15a及び下(LOWER)鍵盤15bか
らなり、このキーボード15には各鍵の動きを検知する
図示しないSWアレイよりなるSWが設けられている。
そして、キーボード15からマニュアルによって指示さ
れた内容(伴奏及び操作を示す信号)がCPU1等に送
られる。
【0034】MIDI入力部17は、外部装置からのM
IDI入力信号を受け、パラレル変換して、後に図16
にて示すMIDI入力割込み(INT1)をCPU1に
かける。タイマー19は、2つのプリセッタブルダウン
カウンタ(TIMER1,2)で構成され、その1つ
(TIMER2)は、操作パネル13のテンポ操作子2
4の操作に対応した値をプリセットすることによりダウ
ンカウントして、ゼロになると、後に図17にて示すT
IMER2テンポ割込み(INT2)をCPU1にかけ
る。
【0035】もう1つ(TIMER1)は、MIDI入
力のタイミングクロック(以下クロックをCKと記す)
が入力された時にクリアされ、次のタイミングCKが入
力されるまでの時間(周期)を測定するのに使用され
る。次に、電子オルガンのROMB5に記憶された各自
動伴奏データのヘッダーについて、図4に基づいて説明
する。
【0036】リズムスタイルは、ワルツ(WALT
Z),スイング(SWING),バラード(BALLA
D),タンゴ(TANGO),ラテン(LATIN),
サンバ(SAMBA),8ビート(8BEAT),16
ビート(16BEAT)の8種類である。それらは各々
リズムトラック(以下トラックをTRと記す)(TR
1),ベースTR(TR2)、ACCTR(TR3)か
らなり、各TR(TR1,TR2,TR3)の中は、イ
ントロパターン,メインパターン,フィルインパター
ン,エンディングパターンから構成される。
【0037】このうちイントロパターンは、自動伴奏停
止中にINT/END SW28が操作され、対応した
LED37が点灯している時に、START/STOP
SW26を操作して、ランニング(自動伴奏再生)状
態に入った時に、最初のi小節(i=1,2,4のいず
れか)を1回限り再生するパターンであり、このパター
ン長はリズム,ベース,ACC共通である。
【0038】メインパターンは、自動伴奏再生中のノー
マルパターンであり、繰り返し再生される。この部分
は、伴奏の質の向上のために、伴奏のリズムスタイル毎
にそのパターン長(ループ小節数)が異なる様に設定さ
れて、しかもリズム,ベース,ACCによってもそのル
ープ小節数が異なる様に設定されている。また、例えば
図5に示す様に、あるリズムスタイル(例えばワルツ)
では、リズムTR(TR1)は4小節でループし、ベー
スTR(TR2)は2小節でループし、ACCTR(T
R3)は8小節でループするといった具合に、ループ小
節数が2の累乗となる様に設定されている。
【0039】フィルインパターンは、メインパターン進
行中に操作パネル13のFILLIN SW27が押さ
れた時、f小節(f=1,2,4のいずれか)を1回限
り再生するパターンであり、このパターン長(ループ小
節数)はリズム,ベース,ACC共通である。尚、フィ
ルインパターン終了後、メインパターンはフィルイン割
込みなしの場合に再生しているべき小節位置へジャンプ
する。
【0040】エンディングパターンは、自動伴奏再生中
にINT/END SW28が操作され、対応したLE
D37の点灯している時に、START/STOP S
W26を操作して、停止状態に入った時、最後のe小節
(e=1,2,4のいずれか)を1回限り再生するパタ
ーンであり、このループ小節数はリズム,ベース,AC
C共通である。
【0041】また、前記各パターンのデータは、図4に
示す様に、対応パターンデータの先頭番地である「スタ
ートアドレス」,そのパターンの全イベント数(小節マ
ークも含む)を表わす「イベントバリュー」、そのパタ
ーンの小節数を表わす「パターンレングス」、パターン
の初期音色/音量を表わす「トーンナンバ(TONEN
o.)/ボリューム(VOLUME)」からなる。尚、
トーンナンバ/ボリュームは、後述するパートA,B共
通である。
【0042】次に、前記各パターンにおける1小節内の
データの並びを、図6に表わす。まず、小節マークがあ
り、それに続いて1小節分の音符(ノート)A〜Nが並
ぶ音符データ形式であるが、これは、リズムパターン,
ベースパターン,ACCパターンも同じ形式である。従
って、リズムパターンもベース再生時に読出せば、音色
設定次第でそれなりのオートベースになるし、その逆も
言える。これによって、リズム,ベース,ACCという
異なる自動伴奏パターンデータを全く共通に管理でき
る。
【0043】次に、各伴奏データ及び小節マークの構造
を図7に示すが、ここでは全て4バイト構成となってい
る。 (a) ノートデータは、発音開始時間を示すステップタイ
ムSTEP TIME(前小節からのBEAT数),音
高を示すノートNOTE,音長を示すゲートタイムGA
TE TIME(キーオン時間に相当するBEAT
数),音の強さ(タッチ)を示すベロシティVELOC
ITY、パートゲイト(PA:パートA,PB:パート
B)からなる。尚、このパートとは、和音種類群(例え
ばメジャー系PA/マイナー系PB)を意味し、現在例
えばLOWERキーの押鍵から検出されたコードタイプ
がどちらのパート(PA/PB)に属するかを判断し、
対応するパート側音符情報のみを再生発音するためのも
のである。これにより、従来よりも効率よく和音種類群
毎に独立した符長をもつパターンを記憶できる。
【0044】(b) LED表示データは、テンポに同期し
たリズムスタイル固有の点滅パターンを記憶再生するも
ので、リズムTRのみに含むことができる。ここでのゲ
ートタイムは点灯時間を表し、L0〜L7は8つのLE
Dを表わす。 (c) 音色データは、パターン開始直後の初期音色に関し
てはへッダーに記憶されており、パターン再生途中で音
色変更する時のみこの音色データフォートマットを使用
する。尚、音色はパートA,B共通である。
【0045】(d) 音量データも、音色同様パターン再生
途中で音量変更する時のみこの音量データフォーマット
を使用する。 (e) オートベンド(BEND)データは、図8(a)及
び下記表3に示す様に、発音中の音符を一旦所定ピッチ
までずらした後、設定時間をかけて徐々に基本ピッチに
戻すものであり、パートA,B独立に設定できる。ここ
で、セント(cent)とは、基準ピッチからのずれ具合い
を意味する。
【0046】このオートベンドデータは、図8(b)に
示す様に、±(UP/DOWN),Depth(ベンドの深
さ),Release Time (戻るのにかかる時間)を自由
に設定することで任意のオートベンドを作成できる。
尚、アタック(ベンド開始からベンドMaxまで)の時間
は、固定で0.1秒とするが、変更可能とすることもで
きる。
【0047】
【表3】
【0048】このオートベンドデータを採用すること
で、ピッチ ベンド(PITCH BEND)データと
して、アナログ的に多量のイベントを記憶しなくて済
む。また、図7のオートベンドデータの2バイト目のb
it0のV=1の場合は、その音符のタッチデータVEL
OCITYとベンドの深さDEPTHを次のように乗算
し、タッチによってオートベンドの深さを変えることが
できる。
【0049】 DEPTH=DEPTH×VELOCITY /64 但し、VELOCITY=1〜127 同様にしてノートを用いてキースケールで(即ちキーボ
ードのキーの種類で)、深さ及び回復時間を変更するこ
とも容易である。
【0050】(f) 小節マークに関しては、そのSTEP
TIME=111111**Bの場合が、小節マーク
であることを示している。つまり、スタート小節マーク
111101B,途中小節マーク11111110B,
エンド小節マーク11111111Bとして使い分ける
ことで、小節マークを見ただけでCPU1はスタート/
途中/エンドのいずれかを判断できるため、次のパター
ンの読みだし制御(イントロからメインへ,メインのル
ープ,フィルインからメインへ,エンディング終了から
停止等)が容易になる。
【0051】2バイト目のEVENT VALUEは、
その小節内(次の小節まで)の各種データの総量を意味
し、この値に4を乗算することで次の小節マークを即座
に読出すことができる。3バイト目のTONE No.
や4バイト目のVOLUMEは、その小節開始時の音色
ナンバと音量を意味する。
【0052】これら小節マーク内のEVENT VAL
UE,TONE,VOLUMEは、フィルイン挿入後に
メインパターンの対応小節へ復起する場合や、メインパ
ターン再生中に突然リズムスタイルが変更され、新たな
リズムスタイルの途中から再生する必要があるときに有
効であり、処理が高速にできる。
【0053】次に、前記CPU1の使用するRAM7に
設定された各種レジスタ(メモリ)を、図9に示す。 (1) 選択リズムスタイル(RYMSTL)メモリは、操
作パネル13のリズムスタイルSW33の切り換えによ
って選択されるリズムスタイルの種類を記憶し、8リズ
ムスタイルの中で現在選択されているもののNo.を格
納する。
【0054】(2) 累算小節数(BBACC)メモリは、
小節データ(BAR)2バイトとビートデータ(BEA
T)1バイトからなり(図10(a)参照)、自動伴奏
がスタートした時点からの累算小節数とビート数を2進
数で記憶する。 (3) スタート/ストップフラグ(SSFLG)メモリ
は、自動伴奏の状態を示すフラグを記憶し、そのフラグ
は図10(b)に示す様に、ビット0,1にて、00
(イントロ),01(メイン),10(フィルイン),
11(エンディング)を示し、ビツト7にて、S/S=
1(伴奏中),S/S=0(停止)を示す。
【0055】(4) TEMPO(テンポスピード)メモリ
は、現在のテンポスピードを格納し、例えば4分音符/
120のときは2進数で120を記憶する。 (5) LOWERキー(LKEY)メモリは、LOWER
鍵盤15bに関する情報を記憶するためのメモリであ
り、8キー×2バイトの容量をもち、各1キーは図10
(c)に示す2バイトのデータを持つ。
【0056】このLKEYメモリのうち、CH NUM
BERは、0001bが(LOWERキーの)マニュア
ル操作を意味し、1001bが(LOWERキーの)M
IDI信号による操作を意味する。尚、このLKEYメ
モリに格納されるキー情報はLOWERキーに限る。
【0057】ONEFGフラグは、ワンフィンガーモー
ド(1本の指でコードタイプ、ルートを指定する)にて
付加された音符であるときに、ONEFGフラグ=1と
なる。DELAYフラグは、DELAY=1の時、LO
WERキーイベントがあってから時間がたってないの
で、コード検出のためにまだそのキー情報を使うべきで
ないことを意味する。
【0058】ON/OFFフラグは、LOWERキーの
オン/オフを意味する。つまり、操作パネル13上のM
EMORY SW34が操作され、メモリモードになっ
たときはLOWERキーオフ後もこのLKEYメモリに
キー情報が残っている。その時ON/OFFフラグが0
(オフ)となる。
【0059】尚、LKEYメモリの内容は前述の毎く、
コード検出に利用されるばかりでなく、ACCTRの伴
奏パターンを発音する音高情報としても利用される。こ
のACCTRの自動伴奏とは、LOWERで現在押され
ている音高(LKEYメモリの音高)を、パターンに記
憶されたタイミングとベロシティにて複数同時に刻む方
式であり、その最大同時発音数は8音である。
【0060】(6) 図9に戻り、ディレイタイム(DLY
TIM)メモリは、コードの検出禁止期間であるDelay
Timeを記憶するものである。このDelay Timeの値は
コードの検出禁止期間の長さを示し、この検出禁止期間
の長さは、下記表4の様に示す様に、ビート(BEA
T)数にて規定されている。
【0061】このビートは、分解能が4分音符/96と
されているので、テンポが4分音符/120のとき、6
0秒/120/96ビート=5.2ms/ビートとな
る。このことから明かな様に、Delay Timeの設定時
間、即ちコードの検出禁止期間は、本実施例ではテンポ
スピードに比例する様に設定されている。勿論、テンポ
があまり遅くなった時や、あまりに早くなった時には、
絶対時間と比較して一定範囲におさまるようにした方が
よい。
【0062】尚、前記DELAYフラグは、LOWER
キーイベントが発生した時、LKEYメモリにDELA
Yフラグ=1として書込まれる。そして、Delay Time
の値はタイマー変化に合わせてCPUメインルーチンで
減算(−1)され、この減算によってゼロになると、対
応するLKEYメモリのDELAYフラグ=0とされ
る。即ち、DELAYフラグ=0となると、コードの検
出が開始される。
【0063】
【表4】
【0064】(7) コードルート(CROOT)メモリ
は、コード(和音)の根音を記憶し、C(00h),C
#(01h)…B(OBh)等として処理する。 (8) コードタイプ(CTYPE)メモリは、コード16
種類(例えばMajorminor 7th…)を4ビットで記憶す
る。
【0065】(9) パート指定(PART)メモリは、前
記パートA,Bの指定を行なう。 (10)テンポCKフラグ(CKFLG)メモリは、テンポ
を内部又は外部のどちらの設定で行なうかを示すメモリ
であり、テンポ操作子24で指定されたテンポを採用す
るか(内部設定か)、或はMIDI入力のタイミングC
K周期から算出したテンポを採用するか(外部設定か)
を選択するフラグを記憶する。尚、この選択は操作パネ
ル13のクロック切換SW31に依存する。
【0066】(11)クロックカウント(CKCNT)メモ
リは、MIDI入力のタイミングCK間の時間を最新の
4つ分だけ格納する。 (12)クロック新平均(CKAVRN)メモリは、CKC
NTメモリの最新の4つ分の時間平均を記憶する。
【0067】(13)クロック旧平均(CKAVRO)メモ
リは、前回まで(即ち現在使用されている)の4つ分の
時間平均のデータを記憶する。尚、前記CKFLG=E
XT(外部設定)のとき、CKAVROメモリに記憶さ
れた値は、TIMER2のプリセット値算出に使用され
る。また、前記CKAVRNの値は、CKAVROの値
と一定以上の差が生じたとき、CKAVROの値をCK
AVRNの値に更新する。
【0068】(14)また、TR1(リズム)は、下記表5
に示す次のレジスタを持つ。
【0069】
【表5】
【0070】尚、TR2(ベース),TR3(ACC)
もTR1(リズム)同様のレジスタを持つ。但し、ベー
スの同時発音数は2音、ACCの同時発音数は6音であ
るが、同時に刻むのでゲートタイムは1バイトである。
次に、上述した構成を備えた本実施例の電子オルガンの
制御処理について、図11〜図17のフローチャートに
基づいて説明する。このうち、図11はメインルーチン
での処理を示し、図12及び図13はパネル処理を示
し、図14及び図15は自動伴奏の発音/消音処理を示
し、図16はMIDI入力の割込処理を示し、図17は
TIMER2のテンポ割込処理を示している。
【0071】まず、図11に基づいて、制御全体のメイ
ンルーチンについて説明する。ステップ100にて、電
源投入後の初期化を行ない、パネル表示,各種レジス
タ,音源パラメータ等のクリアを行なう。ステップ10
1にて、操作パネル13に設けられた各種のSWを走査
し、続くステップ102にて、このパネルSWからのイ
ベントの有無を判定する。ここでイベントがあれば、後
述するステップ200のパネル処理を行ない、一方イベ
ントが無ければ、そのままステップ103に進む。
【0072】ステップ103では、UPPERキーボー
ド15aのSWを走査し、続くステップ104にて、こ
のキーボードSWのイベントの有無を判定する。ここで
イベントがあれば、ステップ105のUPPERマニュ
アル発音/消音処理を行ない、一方イベントがなけれ
ば、そのままステップ106に進む。
【0073】ステップ106では、LOWERキーボー
ド15bのSWを走査し、続くステップ107にて、こ
のキーボードSWのイベントの有無を判定する。ここで
イベントあれば、ステップ108のLOWERマニュア
ル発音/消音処理と、ステップ109のLKEYメモリ
更新と、ステップ110のDelay Time設定とを行な
い、一方イベントがなければ、そのままステップ111
に進む。
【0074】ステップ111では、MIDIバッファに
MIDI入力があるか否かを調べる。ここでMIDI入
力があれば、ステップ112に進み、一方MIDI入力
がなければ、後述するステップ118に進む。ステップ
112では、MIDI入力がUPPERキーイベントか
否かを調べ、ここでUPPERキーイベントであれば、
ステップ113にてUPPERマニュアル発音/消音処
理を行なった後にステップ118に進み、一方UPPE
Rキーイベントでなければ、ステップ114にてLOW
ERキーイベントか否かを調べる。
【0075】ここでLOWERキーイベントであれば、
ステップ115のLOWERマニュアル発音/消音処理
と、ステップ116のLKEYメモリ更新と、ステップ
117のDelay Time設定とを行なう。一方LOWER
キーイベントでなければ、ステップ118に進む。
【0076】ステップ118では、BBACCメモリの
下8ビットのBEAT値が前回このステップを通った時
のBEAT値と違うか否かを調べ、ここで違わなければ
前記ステップ101に戻るが、一方違えば変化ありとし
てステップ119に進み、DLYTIMメモリの値を1
減ずる。
【0077】続くステップ120にて、DLYTIMメ
モリの値をデクリメントした結果を調べ、ここでDLY
TIM=φになれば、即ちコード検出禁止期間が終了し
たならば、ステップ121にて、CTYPE/CROO
Tメモリをチェックしてコードタイプ/コードルートの
検出を行なった後に、ステップ122に進み、一方DL
YTIM=φでなければ後述するステップ300に進
む。
【0078】ステップ122では、前記コード検出に基
づき、メジャー系かマイナー系かのパート指定を行ない
PARTメモリに格納する。そして、後に詳述するステ
ップ300にて自動伴奏の発音/消音処理を行なった後
に、ステップ101に戻る。
【0079】つまり、上述したステップ100〜300
の処理は、操作パネル13やキーボード15を走査する
とともにMIDI入力を有無を調べて、それらの入力に
応じて発音や消音の処理等を行なうものである。次に、
本実施例の要部であるメインルーチン中のステップ20
0の「パネル処理」について、図12のフローチャート
に基づいて説明する。
【0080】ステップ201にて、ONE FINGE
R SW35又はMEMORY SW343に変化がある
か否かを調べ、ここでSWオン変化がある場合には、ス
テップ202にて、対応LED37を点灯させるととも
に、リズムスタイルの変更の処理を行なう。一方、SW
オンに変化がない場合には、ステップ203に進む。
【0081】ステップ203では、UPPER/LOW
ERキーボード15a,15bの音色(尚、前記図3の
操作パネル13における音色指定SWは省略してある)
のイベントが有るか否か、即ち音色に変化があったか否
か調べ、ここで音色に変化がある場合は、ステップ20
4にて、その音色を更新し、楽音発生器9に送る。一方
音色に変化がない場合は、ステップ205に進む。
【0082】ステップ205では、テンポCKフラグC
KFLGが内部設定を示す「INT」であるか否かを調
べ、ここで「INT」であれば、ステップ206に進
み、一方「INT」でなければ、ステップ209に進
む。ステップ206では、テンポ操作子24によるテン
ポの変更を指示する信号(テンポインクリメンタ)に変
化があったか否かを調べ、ここで変化があれば、ステッ
プ207にてTEMPOメモリの値を更新し、それに基
づき操作パネル13のテンポ表示も更新する。そして、
このテンポの更新に伴って、上述したDelayTimeの値も
変更されることになる。
【0083】ステップ208にてTIMER2のプリセ
ット値を更新し、後述する割込み(INT2)同期を修
正する。続くステップ209にて、スタート/ストップ
フラグSSFLGのビット7「S/S」に変化があった
か否かを調べ、ここで変化があれば、スタートイベント
若しくはストップイベントのため、ステップ210にて
累算小節数BBACCの値をクリアし、一方変化がなけ
れば、ステップ211に進む。
【0084】ステップ211では、TR1ゲートフラグ
T1GFに変化があったか否かを調べ、ここで変化があ
ったならばステップ212に進み、一方変化がなければ
ステップ221に進む。ステップ212では、変化がO
N変化(OFF→ON)であったか否かを調べ、ここで
ON変化でなければ、TR1が発音されなくなったこと
を意味するので、ステップ213にてT1GF=φと
し、ステップ214にて現在発音中のリズム音を消去す
る。
【0085】一方、ON変化であれば、TR1が新たに
(途中から)発音されるようになったことを意味するの
で、即ち伴奏されるトラックが変更になったので、ステ
ップ215にてTR1ゲートフラグT1GF=1とし、
本実施例の要部であるステップ216に進む。
【0086】このステップ216では、異なるループ小
節数を有するトラックに変更されたので、次に伴奏され
る小節を決める処理が行われる。つまり、累算小節数B
BACCをTR1のループ小節数T1LBで割った余り
の小節数を求め、この余りの小節数に基づいて現在のT
R1ポインタT1PNTを設定する。即ち余りの小節数
に対応して定まるBEAT数を、現在のTR1ポインタ
T1PNTとする。
【0087】これによって、ループ小節数が異なるトラ
ックに切り換えられた場合でも、容易に次に伴奏すべき
小節を求めることができる。続くステップ217にて、
リズム発音処理が行われる。つまり、まず現在の小節、
BEATにおける設定音量を把握するために、現在の小
節の小節マークから読出したVOLUMEをT1VOL
に格納し、それ以降現在のBEATまでにVOLUME
(音量)データがあれば更にT1VOLEを補正する。
このT1VOLデータは楽音発生器9に送られる。その
後現在のタイミングにて発音開始するリズムがあればそ
のリズムを発音する。
【0088】そして、続くステップ221〜227のT
R2処理と、図13のステップ231〜237のTR3
処理に関しては、TR1処理とほぼ同一のため説明を省
く。但し、ステップ227,237のベース/ACC発
音処理では、ステップ217のリズム発音処理にはなか
った音色ナンバ設定がある。
【0089】つまり、ステップ227では、まず現在の
小節,BEATにおける設定音量/音色を把握するため
に、現在の小節の小節マークから読出したTONE N
o.(音色)とVOLUME(音量)をT2TON、T
2VOLにそれぞれ格納し、それ以降現在のBEATま
でにTONE No.データやVOLUMEデータがあ
れば、更にT2TON、T2VOLを補正している。
【0090】次に、図13のステップ241に進み、こ
のステップでは、(リズムスタイルSW33の操作によ
って)リズムスタイルに変更されたか否かを調べ、ここ
で変化があれば、新たなリズムスタイルNo.をRYM
STLメモリに格納するとともに、操作パネル13の対
応LED37を点灯する。
【0091】リズムスタイルの変更に伴って行われる続
くステップ243では、TR1ゲートフラグT1GF=
1か否かを調べ、ここでT1GF=1であれば、ステッ
プ244にて、次に発音すべき小節を決める処理が行わ
れる。つまり、ステップ244では、現在発音中のリズ
ムスタイルを変更し、急に別の(リズムスタイルの)伴
奏パターンの途中からの発音を再開するために、前記ス
テップ216等と同様にして、累算小節数BBACCを
(新しいリズムスタイルの)TR1のループ小節数T1
LBで割り、その余りの小節数に基づいて発音すべき小
節を決める。つまり余りの小節数に対応したBEAT数
を現在のTR1ポインタT1PNTとする。
【0092】そしてステップ245では、前記ステップ
217で行なった様なリズム発音処理を行なう。続くス
テップ246では、TR2ゲートフラグT2GF=1か
否かを調べ、そうであればステップ247、248にて
TR1と同様の処理を行なう。ステップ249では、T
R3ゲートフラグT2GF=1か否かを調べ、そうであ
ればステップ250,251にてTR1と同様の処理を
行なう。
【0093】尚、ステップ248,251にて、音量ば
かりでなく音色に関する処理も行なうのは言うまでもな
い。つまり、上述したステップ201〜251の処理
は、操作パネル13に設けられた各種のSWのマニュア
ル操作に基づいて、伴奏されるループ小節の再生位置を
指定する処理等を行なうものである。
【0094】次に、前記メインルーチン中のステップ3
00の「自動伴奏の発音/消音処理」について、図14
のフローチャートに基づいて説明する。このサブルーチ
ンでは、TIMER2割込みで行なう累算小節数、BE
AT数の歩進結果に基づき、このタイミングで読出すべ
きTR1,2,3の自動伴奏があれば読出して発音させ
る。この処理は、従来はTIMER2の割込処理として
行なわれることが多かったが、そうすると割込処理時間
が長くなり、時には割込処理中に次の割込みがはいるこ
ともあり、その結果メインルーチンでキースキャンがお
ろそかになることがあるので、この様にメインルーチン
に自動伴奏の発音処理を設けた。
【0095】まず、ステップ301にて、TR1ゲート
フラグT1GF=1か否かを調べる。ここでT1GF=
1であれば、ステップ302にて現在のポイントT1P
NTで示される番地から読出したSTEP TIMEを
T1STPメモリに格納し、一方T1GF=1でなけれ
ば、ステップ311に進む。ステップ303では、前記
STEP TIMEと現在のBEATとを比較し、BE
ATがそのSTEP TIME以上か否かを調べる。こ
こで肯定判断されると、ステップ304に進み、T1P
NT+1,+2,+3のアドレスからリズムデータを読
出し、ステップ305にて楽音発生器9に対して割当て
発音開始指令を送るとともに、その発音にかかるゲート
タイムをT1GTEの8CHのうちいずれかに格納す
る。一方否定判断されると、このループを抜けてステッ
プ307に進む。
【0096】ステップ306では、ポインタを+4して
次のリズムデータをアドレスする。その後ステップ30
2に戻り、次のリズムデータもこのタイミングで発音す
べきか否かを順次調べる。そして、(前記ステップ30
3の判定によって)このタイミングで発音すべきリズム
データを全部読出したら、ステップ307にてリズム8
CHのゲートタイムT1GTEnから1減じる。(但し
既にφのものはその必要ない。) 続くステップ308で、ゲートタイムT1GTEn
(1を減じた結果)φになったか否かを調べ、ここでT
1GTEn=φになれば、そのリズムは発音を終了して
いると見て、ステップ309にてリズム対応エンベロー
プをリリースさせ、消音する。一方T1GTEn=φで
なければ、ステップ311に進む。
【0097】ステップ311では、TR2フラグT2G
F=1か否かを調べる。ここでT2GF=1であれば、
ステップ312にて現在のポイントT2PNTで示され
る番地から読出されたSTEP TIMEをT2STP
メモリに格納し、一方T2GF=1でなければ、図15
のステップ321に進む。
【0098】ステップ313では、前記STEP TI
MEと現在のBEATとを比較し、BEATがそのST
EP TIME以上か否かを調べる。ここで肯定判断さ
れるとステップ314に進み、一方否定判断されるとス
テップ318に進む。ステップ314では、T2PNT
+2,3,4のアドレスからベースデータを読出し、ス
テップ315にて、(T2PNT+4)で読出されたP
A,PBデータとパート指定データPARTとを比較す
ることで指定パート(メジャー系/マイナー系)のデー
タであるか否かを調べる。
【0099】ここで指定パートであれば、ステップ31
6にて、まず読出した音量に、コードタイプCTYPE
特定の音名に関するアドバイスが必要ならばその分加算
し、その後コードルートCROOT分更に加算する
(尚、その結果で指定音域にない場合はオクターブの移
動が必要)。そして、このコードの情報を楽音発生器9
に対して割当てると共に、ベース用のゲートタイムT2
GTEの2バイトのいずれかに今回のゲートタイムを格
納する。一方指定パートでなければ、そのままステップ
317に進む。
【0100】ステップ317では、ポインタを+4して
次のベースデータをアドレスする。その後ステップ31
2に戻り、次のベースデータもこのタイミングで発音す
べきか否かを順次調べる。そして、(前記ステップ31
3の判定によって)このタイミングで発音すべきリズム
データを全部読出したら、ステップ318にて、ベース
2CHのゲートタイムT2GTEnから1減じる。(但
し既にφのものはその必要ない。) 続くステップ319で、ゲートタイムT2GTEn
(1を減じた結果)φになったか否かを調べ、ここでT
2GTEn=φになれば、そのベースは発音を終了して
いると見て、ステップ320にてベース対応エンベロー
プをキーオフ状態とし、消音する。一方T2GTEn
φでなければ、ステップ321に進む。
【0101】尚、図15のステップ321〜330のA
CC伴奏読出し発音処理に関しては前記ステップ311
〜320のベース伴奏とほぼ同一なので説明は省略す
る。但しステップ316ではLKEYメモリに記憶され
ている押鍵情報(最大8)全てに対し、読出したタイミ
ングとベロシティにて同時に楽音発生器9に割当て発音
させる。その時ゲートタイムの管理は、全て同じため1
つで済む。
【0102】次に、INT1の割込ルーチン、即ちMI
DI入力時の割込ルーチンについて、図16のフローチ
ャートに基づいて説明する。この割込みルーチンは、M
IDI入力情報に対応してテンポスピードを設定する部
分であり、特にキーコードに関してはMIDI INキ
ーバッファーへ格納する。また、タイミングCKに関し
ては、テンポCKフラグCKFLGが外部設定を示す
「EXT」と指定されている時に限り、その入力タイミ
ングCKの周期から算出した値で、後述する図17の様
にTIMER2を動作させる。
【0103】まず、ステップ401にてMIDI入力が
キー情報か否かを調べ、ここでキー情報であれば、ステ
ップ402にてそのキー情報をMIDI INキーバッ
ファーへ格納する。一方、キー情報でなければ、ステッ
プ403にて、MIDI入力がタイミングCKか否か調
べ、ここでタイミングCKであれば、ステップ404に
てテンポCKフラグCKFLG=EXTかを調べる。つ
まり、テンポの外部設定であるか否かを確認する。
【0104】ここで外部設定であれば、ステップ405
にて前回のタイミングCKから今回までの時間をTIM
ER1から読出し、前回と今回とのタイミングCKの時
間差(周期)CKCNTを求め、CKCNTメモリに記
憶する。続く407にて、CKCNTメモリに記憶した
今回の時間差を含む最新の4回の時間差の平均CKAV
RNを求め、CKAVRNメモリへ格納する。
【0105】続くステップ408にて、現在のテンポス
ピードを形成しているCKAVROと前記最新のCKA
VRNとを比べ、その差が一定以上か否かを調べる。こ
こで差が一定以上であれば、テンポスピードを更新する
ために、ステップ409にてCKAVRNの値をCKA
VROへ代入し、ステップ410にてCKAVROに基
づきテンポ表示を更新するとともに、ステップ411に
てTIMER2へ更新したCKAVROに基づくプリセ
ット値を入れ、ステップ412に進む。一方、差が一定
以上でなければそのままステップ412に進む。
【0106】ステップ412では、一定時間タイミング
CKの入力がないか否かを調べ、ここで入力がない場合
は、ステップ413にてTIMER2をホールドして、
一旦本処理を終了する。つまり、このステップ401〜
413の処理では、MIDI入力のうちタイミングCK
の入力があった場合には、外部設定であることを確認し
て、前回と今回とのタイミングCKの時間差を求め、更
にその最新の4回の平均を求めている。そして、所定の
条件下でこの最新の平均を用いて、テンポの更新を行な
っているので、テンポが変動した場合も適切なテンポ設
定が可能である。
【0107】次に、INT2の割込ルーチン、即ちTI
MER2のテンポ割込ルーチンについて、図17のフロ
ーチャートに基づいて説明する。この割込みルーチン
は、設定されたテンポスピードに応じて実際に伴奏のス
ピードを規定するためのもので、TIMER2のテンポ
スピードに対応したプリセッタブルダウンカウンタがゼ
ロになったときに発生する。
【0108】まず、ステップ501にて、スタート/ス
トップフラグSSFLGのビット7(S/S)=1か否
かを調べる。ここでS/S=1であれば、ステップ50
2にて累算小節数BBACCを+1し、一方S/S=1
でなければ、一旦本処理を終了する。
【0109】ステップ503では、拍子が3/4か4/
4かを調べ、3/4であればステップ504に進み、4
/4であればステップ507に進む。ステップ504で
は、3/4拍子であるので、BEATが144以上か否
かを調べる。ここで144以上であれば、ステップ50
5にてBEATから144を引き、ステップ506にて
BARを+1する。
【0110】一方、ステップ507では、4/4拍子で
あるので、BEATが192以上か否かを調べる。ここ
で192以上であればステップ508にてBEATから
192を引き、ステップ509にてBARを+1する。
そして、続くステップ510にて、前記BAR,BEA
Tを10進に変更して表示し、一旦本処理を終了する。
【0111】つまり、この処理によって、設定されたテ
ンポにて、順次発音のための処理が実施されることにな
る。以上詳述した様に、本実施例の電子オルガンでは、
各トラックに記憶された(リズムやベース等の伴奏デー
タの)ループ小節数が異なっている場合でも、累算小節
数BBACCを各ループ小節数で割った余りの小節数に
基づいて、次に伴奏すべき小節の決めることができる。
よって、ある伴奏の途中でリズムスタイルが切り換えら
れた場合やトラックが切り換えられた場合でも、迅速か
つ容易に次に伴奏すべき小節を決めることができるの
で、違和感のない伴奏を行なうことができる。
【0112】しかも、本実施例では、リズムスタイル毎
に各トラックに記憶するループ小節数を最小にすること
ができるので、伴奏の質を低下させることなく、メモリ
の使用領域を低減できるという顕著な効果がある。尚、
本発明は、上記実施例に何等限定されず、本発明の要旨
の範囲内において各種の態様で実施できることは勿論で
ある。
【0113】例えば他の実施例として、前記ステップ2
16,244等における様に、次に伴奏される小節を決
めるために、除算によって余りの小節数を求める手順で
はなく、(2進数で示される)BARカウンタ(表1参
照)の上位ビットにマスクを施す処理を行なってもよ
い。
【0114】具体的には、例えばTR1が4小節ループ
である場合には、BBACCメモリに記憶されている現
在のBARカウンタ(図10及び表1参照)と、上述し
た表2に示す4小節ループに相当するマスクデータとの
論理積を求め、この論理積に該当する小節を次に伴奏さ
れる小節とする。そして、求められた小節に基づいて、
現在のTR1ポインタT1PNTを設定する。
【0115】この様に、本実施例では、前記実施例と同
様な効果を奏するとともに、リズムスタイル及びトラッ
クが切り換えられた際には、BARカウンタにマスクを
かけることによって、即ちBARカウンタとマスクデー
タとの論理積を求めることによって、たとえリズムスタ
イルやトラック毎にループ小節数が異なっている場合で
も、一層迅速かつ容易に次に伴奏すべき小節を決めるこ
とができる。
【0116】
【発明の効果】以上詳述した様に、本発明の自動演奏装
置では、ループして演奏される演奏データの累積小節数
を、ループ小節数で割った余りに基づいて再生小節を求
めることができる。即ち、記憶されたループ小節数が異
なっていても、次に演奏すべき小節がループ小節の何番
目かを求めることができるので、この余りに基づいて容
易に演奏データの再生小節を指示することができる。従
って、この再生小節から演奏を再生すると、リズムスタ
イルが切り換えられた場合や途中から演奏が開始される
場合などでも、違和感のない演奏行なうことができる。
【0117】また、この様に、例えば各リズムスタイル
や各トラック毎に、演奏に用いられる最小のループ小節
数を違えて別個に設定することができるので、演奏の質
を低下させることなく、メモリを低減できるという顕著
な効果を奏する。特に、各ループ小節数を2の累乗と
し、2進数で表示される累算小節数の所定ビットをマス
クすると、迅速にかつ容易に再生小節が分かるので好適
である。
【図面の簡単な説明】
【図1】 請求項1の発明の構成を例示する概略構成図
である。
【図2】 実施例の電子オルガンの電気的構成を示すブ
ロック図である。
【図3】 電子オルガンの操作パネルを示す正面図であ
る。
【図4】 電子オルガンのヘッダーの並びを示す説明図
である。
【図5】 各データの小節の構造を示す説明図である。
【図6】 各小節内のデータの並びを示す説明図であ
る。
【図7】 各伴奏データ及び小節マークの構造を示す説
明図である。
【図8】 オートベンダを示し、(a)はその変化の状
態を示すグラフ,(b)はそのデータの構造を示す説明
図である。
【図9】 RAMの各種レジスタを示す説明図である。
【図10】 レジスタに格納されたデータの構造を示す
説明図である。
【図11】 CPUのメインルーチンを示すフローチャ
ートである。
【図12】 パネル処理の一部を示すフローチャートで
ある。
【図13】 パネル処理の一部を示すフローチャートで
ある。
【図14】 自動伴奏発音/消音処理の一部を示すフロ
ーチャートである。
【図15】 自動伴奏発音/消音処理の一部を示すフロ
ーチャートである。
【図16】 MIDI入力の割込処理を示すフローチャ
ートである。
【図17】 TIMER2のテンポ割込処理を示すフロ
ーチャートである。
【図18】 従来技術を示す説明図である。
【符号の説明】
M1…演奏データ記憶手段 M2…ループ演奏手段 M3…累算小節数計算手段 M4…再生小節指示手段 1…CPU 7…RAM 13…操作パネル 15…キーボード 32…ゲートスイッチ 33…リズムスタ
イルスイッチ 37…LED
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中川 博信 静岡県浜松市寺島町200番地 株式会社河 合楽器製作所内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ループ小節数の異なる複数の演奏データ
    を記憶する演奏データ記憶手段と、 該演奏データ記憶手段に記憶された複数の演奏データ
    を、繰り返して読み出して演奏を行なうループ演奏手段
    と、 該ループ演奏手段による演奏の開始から、演奏される小
    節数を累算する累算小節数計算手段と、 該累算小節数計算手段によって累算された累算小節数
    を、前記異なるループ小節数で除した余りに基づいて前
    記演奏データの再生小節を指示する再生小節指示手段
    と、 を備えたことを特徴とする自動演奏装置。
  2. 【請求項2】 前記各ループ小節数を2の累乗とし、2
    進数で表示される累算小節数の所定ビットをマスクする
    ことにより、演奏の再生小節を指示することを特徴とす
    る前記請求項1記載の自動演奏装置。
JP5072365A 1993-03-30 1993-03-30 自動演奏装置 Pending JPH06289875A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5072365A JPH06289875A (ja) 1993-03-30 1993-03-30 自動演奏装置
US08/215,927 US5478967A (en) 1993-03-30 1994-03-22 Automatic performing system for repeating and performing an accompaniment pattern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5072365A JPH06289875A (ja) 1993-03-30 1993-03-30 自動演奏装置

Publications (1)

Publication Number Publication Date
JPH06289875A true JPH06289875A (ja) 1994-10-18

Family

ID=13487219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5072365A Pending JPH06289875A (ja) 1993-03-30 1993-03-30 自動演奏装置

Country Status (1)

Country Link
JP (1) JPH06289875A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6905413B1 (en) 1999-08-10 2005-06-14 Konami Corporation Music game system
JP2010122364A (ja) * 2008-11-18 2010-06-03 Roland Corp 自動伴奏装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6905413B1 (en) 1999-08-10 2005-06-14 Konami Corporation Music game system
JP2010122364A (ja) * 2008-11-18 2010-06-03 Roland Corp 自動伴奏装置

Similar Documents

Publication Publication Date Title
US5164531A (en) Automatic accompaniment device
JPH11126074A (ja) アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録した媒体
US6911591B2 (en) Rendition style determining and/or editing apparatus and method
EP0980061B1 (en) Arrangement apparatus by modification of music data with arrangement data
JPH0997083A (ja) 自動伴奏装置
JPH09179559A (ja) 自動伴奏装置及び自動伴奏方法
US5478967A (en) Automatic performing system for repeating and performing an accompaniment pattern
JP3398554B2 (ja) 自動アルペジオ演奏装置
JP3195111B2 (ja) 自動演奏装置
JPH06289875A (ja) 自動演奏装置
JP2536596B2 (ja) 電子楽器
JP2522337B2 (ja) 自動演奏装置
JPH0631977B2 (ja) 電子楽器
JP3296182B2 (ja) 自動伴奏装置
JPH06289862A (ja) 自動演奏装置
JPH06337674A (ja) 電子楽器の自動演奏装置
JPH06274161A (ja) 自動演奏装置
JPH05188961A (ja) 自動伴奏装置
JP3033393B2 (ja) 自動伴奏装置
JP2674331B2 (ja) 自動伴奏装置
JP3499672B2 (ja) 自動演奏装置
JPH0954580A (ja) 自動演奏装置及び自動演奏方法
JP4619495B2 (ja) 自動伴奏装置及び自動伴奏方法
JP3120806B2 (ja) 自動伴奏装置
JPH0774952B2 (ja) 電子楽器