JPH0652473B2 - オ−トリズム演奏装置 - Google Patents

オ−トリズム演奏装置

Info

Publication number
JPH0652473B2
JPH0652473B2 JP57111455A JP11145582A JPH0652473B2 JP H0652473 B2 JPH0652473 B2 JP H0652473B2 JP 57111455 A JP57111455 A JP 57111455A JP 11145582 A JP11145582 A JP 11145582A JP H0652473 B2 JPH0652473 B2 JP H0652473B2
Authority
JP
Japan
Prior art keywords
rhythm
pattern
timing
data
sound
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 - Lifetime
Application number
JP57111455A
Other languages
English (en)
Other versions
JPS593483A (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 JP57111455A priority Critical patent/JPH0652473B2/ja
Publication of JPS593483A publication Critical patent/JPS593483A/ja
Publication of JPH0652473B2 publication Critical patent/JPH0652473B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 この発明は、オートリズムにブレークパターンを挿入し
てリズムの単調さを解消したオートリズム演奏装置に関
する。
従来の例えば電子楽器等において、自動的にリズムを発
生するオートリズム演奏装置が用いられている。しか
し、このオートリズム演奏装置の発生するリズムはワン
パターンであり単調さを免れえなかった。この単調さを
解消する目的で4小節、8小節または16小節ごとに1
小節の間、リズムを変化させるオートリズムバリエーシ
ョンを挿入するオートリズム演奏装置も知られている
が、未だオートリズムの単調さを解消するに充分なもの
とは言えない。
この発明は、上述の従来形における問題点に鑑みてなさ
れたもので、オートリズム演奏装置特にリズムパターン
が各リズム音の発音タイミングを示すデータを含み、こ
の発音タイミングと現タイミングが一致するかどうかを
チェックしつつ一致した場合にオートリズムの当該デー
タに対する発音を行なういわゆるイベント方式のパター
ンデータを用いたオートリズム演奏装置においてノーマ
ルリズムパターン(以下ノーマルパターンという)を進
行中、任意のタイミングでブレークパターンを挿入する
ことを可能にし、リズムの単調さを解消した、特にマイ
クロコンピュータシステムを応用したオートリズム演奏
装置に好適な技術を提供することを目的とする。
この目的を達成するためにこの発明においては、テンポ
に応じた所定周期の信号を発生する周期信号発生手段
と、それぞれ各リズム音についてその発音タイミングを
示すタイミングデータと、該タイミングに発生すべきリ
ズム音を示す楽音データからなる演奏データを含む第1
パターンおよび第2パターンの少なくとも2種類のリズ
ムパターンが格納されたパターンメモリと、所定周期の
信号に基づいて現在のリズム演奏タイミングを管理する
タイミング管理手段と、この第1パターンおよび第2パ
ターンの一方のリズムパターンの中から前記タイミング
管理手段によって示される現在のリズム演奏タイミング
に対応する前記演奏データを検出する第1の検出手段で
あって、リズムパターン中における現在の読出しアドレ
スを示す第1のアドレス指定手段を有し、前記検出がな
されたときに読出しアドレスを更新するものと、この第
1パターンおよび第2パターンの他方のリズムパターン
の中から前記タイミング管理手段によって示される現在
のリズム演奏タイミングに対応する前記演奏データを検
出する第2の検出手段であって、リズムパターン中にお
ける現在の読出しアドレスを示す第2のアドレス指定手
段を有し、前記検出がなされたときに読出しアドレスを
更新するものと、前記第1パターンと第2パターンのど
ちらかを出力すべきかをリズム演奏の任意のタイミング
で選択指定する手段と、前記選択指定手段により指定さ
れたリズムパターンの楽音データを前記第1または第2
の検出手段の検出結果に基づき出力する読出手段と、こ
の読出手段の出力するリズムパターンに従ってリズム音
を形成するリズム音源とを具備したことを特徴とする。
これにより、イベント方式のパターンデータに対しても
パターンの切換えを効果的に行うことができる。すなわ
ち、イベント方式のパターンでは、例えば第1のパター
ンから第2のパターンへの切換えが指示された時点で第
2のパターンから現在発音すべきリズム音のパターンを
検出していたのでは発音が遅れてしまう。この発明によ
れば第1および第2の検出手段は一方のパターンを検出
しそれが実際の発音に用いられている場合にも、他方の
検出手段は同じように他方のパターンを検出しいわば空
送りをしている。従って、いつパターンの切換えが指示
されても即時に反応できるのである。
なお、上記の「検出」とは、イベント方式において、リ
ズムパターンの中に含まれる各リズム音の発音タイミン
グと現タイミングが一致するかどうかをチェックし、こ
れが一致するイベントデータを探し出す処理をいう。
以下図面を用いてこの発明の実施例を説明する。
(実施例の全体構成説明) 第1図はこの発明のオートリズム演奏装置を適用した電
子楽器の構成を示す。同図において、鍵盤1は図示しな
い上鍵盤(UK)、下鍵盤(LK)およびペダル鍵盤
(PK)等を備え、演奏者の押鍵操作に応じた鍵情報を
発生する。パネル10は楽音選択用操作子15とリズム部用
操作子とを備え、楽音選択およびリズム種類選択などの
操作子情報を発生する。制御部30はこれらの鍵盤1およ
びパネル10を走査して、発生した鍵情報および操作子情
報を取り込み、これらの情報に基づいて鍵盤音やリズム
音に関する各種のデータを鍵楽音インターフェースやリ
ズムインターフェース等のインターフェースを介して送
出する。鍵盤音発生回路65は制御部30からの鍵盤音に関
するデータを入力して複数(例えば10個)の時分割チ
ャンネルで鍵盤音データを形成し、これらのデータが時
分割多重化された鍵盤音信号を発生する。リズム音発生
回路70は、制御部30からのリズム音に関するデータを入
力して8個の時分割チャンネルごとに打楽器音信号を発
生し、これらの打楽器音信号が時分割多重化されたリズ
ム音信号を出力する。レジスタ85は鍵盤音信号およびリ
ズム音信号を入力し、このリズム音信号のうち中央スピ
ーカから発音する打楽器音信号と鍵盤音信号との全チャ
ンネル分のデータおよびリズム音信号の残部すなわち左
スピーカから発音する打楽器音信号の全チャンネル分の
データをそれぞれ演算し、音響的にミキシングした後、
それぞれ別個の並列データとして中央および左のサウン
ドシステムに出力する。レジスタ85からのこれら中央な
らびに左サウンドシステム用の並列データはそれぞれD
/A変換器91、増巾器92およびスピーカ93を含む中央サ
ウンドシステム90ならびにD/A変換器96、増巾器97お
よびスピーカ98を含む左サウンドシステム95を介して音
響信号に変換され発音される。
(各部の詳細説明) (1)リズム用操作子20 第2図はリズム用操作子20における各操作子の配列を示
す。同図において、ブレーク(フィルイン)スイッチ21
はノーマルパターンとバリエーションリズムパターン
(ブレークパターン)とを入れ替えるためのもので、バ
リエーション種類選択スイッチ22(22-1,22-2,22-3)
は、ブレークスイッチ21を押下したときノーマルパター
ンに代えて発生するブレークパターンをここでは3種類
のバリエーションパターンのうちから選択するものであ
る。演奏者がブレークスイッチ21を押下すると直ちにス
イッチ22で選択されているバリエーションパターンがブ
レークパターンとして切り替り、ブレークスイッチ21を
離すと小節内のリズム演奏が終了するともとのノーマル
パターンに復帰する。
イントロスイッチ23はオートリズム開始後所定の小節数
の間リズムを序奏に切り替えるためのスイッチで、通常
オートリズム開始前のリズム停止中に押下する。
オートブレークスイッチ24(24-1,24-2,24-3)は自動
的にブレークパターンを挿入するための小節周期を選択
するものである。このオートブレークの種類は4小節
(4bar )、8小節(8bar )および16小節(16ba
r )が設けられている。
リズム選択スイッチ25(25-1,25-2,…)はマーチ、ワル
ツ、…、スイング等のリズム種類を選択するためのもの
である。
スタート・ストップスイッチ26はオートリズムの発生を
開始または停止させるためのものである。
バランス設定子27はドラム系音量とシンバル(ノイズ)
系音量との音量比を設定するためのものである。
トータルボリウム28はリズム音の音量(鍵盤音とのミキ
シング比)を設定するためのものである。
テンポ設定子29はオートリズムのテンポ設定用である。
これらのバランス設定子27、トータルボリウム28および
テンポ設定子29は多段のディジタルスイッチまたは両端
に電圧を印加した可変抵抗器とこの可変抵抗器の摺動端
子電圧をA/D変換するA/D変換器とを組み合せたも
の等を使用することができる。
(2)制御部30 第1図において、制御部30は、プログラムカウンタ(P
C)、Aレジスタ(A)、Xレジスタ(X)およびYレ
ジスタ(Y)等を有する中央処理装置(CPU)31、プ
ログラムメモリ32、ワーキングメモリ33、リズムパター
ンメモリ34、パターン先頭アドレスメモリ35、対数音量
メモリ36、バスライン37、キースイッチインターフェー
ス38、パネルインターフェース39、鍵楽音インターフェ
ース40、リズムインターフェース41、およびパネルデー
タインターフェース42を具備する。
プログラムメモリ32は、リードオンリメモリ(ROM)
からなり、CPU31の制御プログラムが格納されてい
る。
ワーキングメモリ33はランダムアクセスメモリ(RA
M)からなり、その一部にCPU31が制御プログラムを
実行する際に発生する各種データを一時格納するための
ワーキングエリアが設けられている。このワーキングエ
リアは第1表に示すようなレジスタまたはフラグ等で構
成される。なお、以下の説明においては各レジスタ等お
よびその内容は同一のラベル名で表わすものとする。例
えば拍数レジスタもその内容もいずれもHKPEとな
る。また、第1表において、テンポレジスタTEMP
O、トータル音量レジスタTOTLEVおよびリズム種
類レジスタRHYPTNにはそれぞれリズム用操作子20
のテンポ設定子29、トータルボリウム28およびリズム選
択スイッチ25の操作子情報が格納され、また、ドラム系
音量比レジスタRHDLEV、およびシンバル(ノイ
ズ)系音量比レジスタRHCLEVにはバランス設定子
27からの操作子情報が設定され、さらにバリエーショ
ン種類レジスタVARIにはバリエーション種類選択ス
イッチ22によって選択されたバリエーション種類が記憶
される。さらにオートブレークレジスタAUTBRKに
はオートブレークスイッチ24による4小節、8小節、お
よび16小節の選択に応じてそれぞれ3,7および15が
設定される。
表パターンROM先頭アドレスレジスタRHYROM1
は各1バイトのRHYROM1 とRHYROM1′との
計2バイトのメモリからなり、リズムパターン読出のた
めのアドレス指定、裏パターンROM先頭アドレスレジ
スタRHYROM2 との内容入れ替え等は1バイトずつ
順次処理する。なお、裏パターンROM先頭アドレスレ
ジスタRHYROM2 (RHYROM2,RHYROM
2′)およびイントロパターンROM先頭アドレスIN
TROM(INTROM,INTROM′)も同様に2
バイトのメモリの1バイトずつ順次処理する。
リズムパターンメモリ34はROMで構成され、第3図
(a )に示すように、マーチ、ワルツ、…等の各リズム
種類ごとに1個のノーマルパターンと、3個のバリエー
ションパターンと、1個のイントロパターンが格納され
ている。これらのパターンはそれぞれ第3図(b )の拡
大図に示すように、先頭アドレスにインストラメントグ
ループナンバIGNが、続いて1拍ごとにその拍内で発
音すべきリズム音に関するイベントデータEVTと16
進法表示で「OD」(以下「$OD」と記す)のデータ
からなる拍エンドデータBEが、さらにリズムパターン
の最後にはリターンデータ(1小節パターンの場合は小
節エンドデータ)RTN($OF)が格納されている。
ここでインストラメントグループナンバIGNとは、例
えばマーチ、タンゴ等13種類のリズム音を発生するため
のシンバル、マラカス等28種類の打楽器音の中からリズ
ム音発生回路70における音源形成チャンネル数と同数の
8種類の打楽器音を抽出して形成したグループで、この
インストラメントグループごとにグループを構成してい
る打楽器音を1つずつ前記音源形成チャンネルに割り当
てることにより、第1図の電子楽器においてはリズム種
類にかかわらず最大8種類の打楽器音からなるオートリ
ズムを発生することができる。因みに従来のオートリズ
ム演奏装置において同様のリズム種類およびリズム音を
発生させようとすれば28個の音源形成チャンネルを必要
とし、また8個の音源形成チャンネルで済まそうとすれ
ば1リズム音当りの打楽器音種類を減少させる等の処理
を施す必要がある。
第1図の電子楽器は1ビートすなわち1拍の1/12を単
位とするタイミングでリズムを発音するように構成され
ており、前記のリズムパターンメモリ34内のイベントデ
ータEVTもこのビートで示される拍内タイミング順に
格納されている。このイベントデータEVTは第3図
(c )に示すように、8ビットのメモリの2バイトを用
い、第1バイトの下位4ビット(第4〜1ビット)にイ
ベントの発生する拍内タイミングHTIMING、第7
〜5ビットに音源形成チャンネルナンバCHNO、第2
バイトの上位4ビット(第8〜5ビット)にその拍内タ
イミングHTIMINGで発生する打楽器音のピッチP
ITCH、第4ビットにサステインデータS/Lおよび
第3〜1ビットにその打楽器音の楽符上のレベルLEV
ELすなわちそのタイミングで発生する打楽器音のレベ
ルがff〜ppのいずれであるかのデータが格納されてい
る。拍エンドデータBEは拍と拍との境界を示し、リタ
ーンデータRTNはリズムパターンの最後尾(リズムが
1小節パターンであるときは小節エンド)を示す。ま
た、これらの拍エンドデータおよびリターンデータは直
前のイベントデータに示された拍内タイミング以後、そ
の拍内でのイベントはないことを示す。
第1図の電子楽器においては、リズム選択スイッチ(第
2図)25によって選択されたリズム種類のノーマルパタ
ーンとさらにバリエーション種類選択スイッチ22によっ
て選択されたバリエーションパターンとをそれぞれワー
キングメモリ33内の表パターンメモリポインタRHPN
T1 と裏パターンメモリポインタRHPNT2 とで同一
タイミングのイベントを同一タイミングでサーチすると
もに、表パターンメモリポインタRHYPTN1 でサー
チした側のリズムパターンのイベントデータを読み出し
て出力する。そして通常はノーマルパターンを表パター
ンメモリポインタRHPNT1 で読み出し表パターンと
して出力するとともに、バリエーションパターンは裏パ
ターンとして裏パターンメモリポインタRHYPTN2
で同一タイミングにおけるイベントのサーチのみを行な
い空送りをする。ブレークスイッチ21が押下された後こ
のスイッチ21が解除された小節が終了するまではバリエ
ーションパターンとノーマルパターンとの表裏を入れ替
え、バリエーションパターンを表パターンメモリポイン
タRHYPTN1 で順次読み出してブレークパターンと
して出力し、ノーマルパターンは裏パターンメモリポイ
ンタRHYPTN2 により空送りする。
なお、この実施例では、表パターンメモリポインタRH
YPTN1で指し示すパターンを常に発音し、裏パター
ンメモリポインタRHYPTN2で指し示すパターンを
常に空送りし、パターンの切換えの際には表パターンメ
モリポインタRHYPTN1の内容と裏パターンメモリ
ポインタRHYPTN2の内容とを交換することとして
いるが、切換えの方式としてはこれに限られない。例え
ば、パターンメモリポインタRHYPTN1は常にノー
マルパターンを指し示し、パターンメモリポインタRH
YPTN2は常にバリエーションパターンを指し示すと
いうようにポインタとパターンとの対応を固定してお
き、切換えの際にはポインタRHYPTN1/RHYP
TN2と発音/空送りとの対応関係を入換えるというよ
うにしてもよい。
第1図において、パターン先頭アドレスメモリ35はリズ
ムパターンメモリ34に格納された各リズム種類のノーマ
ル、第1〜3バリエーション、イントロの各リズムパタ
ーンの先頭アドレスが格納されており、リズム種類レジ
スタの内容RHYPTNの入力によりこれらのパターン
先頭アドレスを出力する変換ROMである。このパター
ン先頭アドレスから読み出された先頭アドレスは、ノー
マルパターンの先頭アドレスをワーキングメモリ33内の
2バイト構成の表パターンメモリ先頭アドレスレジスタ
RHYROM1 に、また3種類のバリエーションパター
ンのうちバリエーション種類選択スイッチ22によって選
択されたバリエーションパターンの先頭アドレスを裏パ
ターンメモリ先頭アドレスレジスタRHYROM2 に、
イントロパターンの先頭アドレスをイントロパターンメ
モリ先頭アドレスレジスタINTROMにそれぞれ格納
する。
対数音量メモリ36はそれぞれトータル音量TOTLEV
およびドラム系音量比RHDLEVとノイズ系音量比R
HCLEVとを対数変換する変換ROMである。これら
の各音量および音量比は対数変換された後演算され、各
8ビットのノイズ系音量NLEVおよびドラム系音量D
LEVとしてパネルデータインターフェース42を介して
リズム音発生回路70に送出される。ここでノイズ系音量
NLEVはトータル音量TOTLEVとノイズ系音量比
RHCLEVとの積として得られるが、上述の対数音量
メモリ36において対数変換される結果、これらの対数値
の和として容易かつ速やかに演算することができる。
バスライン37はデータバス(DB)およびアドレスバス
(ADB)からなり、CPU31と各メモリ32〜36および
各インターフェース38〜42とを接続する。CPU31とこ
れらのメモリ32〜36およびインターフェース38〜42はこ
のバスライン37を介してデータの授受を行なう。
リズムインターフェース41はCPU31が出力するリズム
音源データを一時格納したり、CPU31からの指令によ
って格納しているデータをシリアルデータOPCIDA
Tに変換してリズム音発生回路70に転送したり、CPU
31からのリズムスタート信号を入力したときおよびその
後1ビートごとにCPU31にデータ転送処理を割込みで
行なわせるための割込信号RINTRPTを発生したり
する。
第4図にリズムインターフェース41の詳細ブロック図を
示す。同図において、デコーダ43は、CPU31(第1
図)がアドレスバスADBに送出するアドレス信号が、
テンポレジスタ44、リズム音源データレジスタ45、チャ
ンネルレジスタ46およびファンクションレジスタ47のい
ずれかであるとき、そのアドレス信号に応じて各レジス
タ44〜47にロード信号RHYDEC1〜4を送出する。
従ってCPU31がデータバスDBを介して送出するデー
タがCPU31がアドレスで指定するレジスタに格納され
る。
テンポレジスタ44にはテンポデータレジスタTEMPO
の内容が変更される都度、新たなテンポデータTEMP
Oが格納され、テンポROM48はテンポレジスタ44の出
力するテンポデータTEMPOをカウンタ49のプリセッ
トデータPSDに変換する。カウンタ49はロード端子L
DすなわちOR回路50の出力が“1”のときプリセット
データPSDがプリセットされ、続いてクロック発生回
路51の出力する一定周波数のクロック信号φをカウント
し、オーバーフローしたときに出力端子Cに“1”を
出力する。この出力はOR回路50の一方の入力端子に入
力され、カウンタ49はオーバーフローするたびにプリセ
ットされる。すなわち、このカウンタ49はオーバーフロ
ー値をN、プリセット値をMとするとクロック信号φの
周波数を1/(N−M)に分周してテンポ設定子29(第
2図)に設定されたテンポの出力を発生する。なお、こ
のカウンタ49としてはプリセットした後クロック信号φ
をダウンカウントしてカウント値0で出力端子C
“1”を出力し、クロック信号φを1/Mに分周するも
のでもよく、また他の周知の可変分周形のカウンタでも
よい。OR回路50の他方の入力端子はファンクションレ
ジスタ47のスタート出力端子に接続されており、ファン
クションレジスタ47が後述するスタート信号START
を発生したときにもカウンタ49をプリセットする。この
OR回路の出力はさらに割込信号RINTRPTとして
CPU31に送出され、CPU31はカウンタ49がプリセッ
トされると同時に後述の割込処理動作を開始する。クロ
ック発生回路51の出力はOR回路52の一方の入力端子に
入力され、OR回路52の出力はクロック発生回路51のリ
セット端子に接続されているので、このクロック発生回
路51は出力を発生すると直ちにリセットされ、従って短
いパルス巾のクロック信号φを発生する。また、このO
R回路52の他方の入力端子には前記スタート信号STA
RTが入力され、従ってスタート信号発生時にはカウン
タ49がプリセットされるとともにクロック発生回路51も
リセットされる。
CPU31(第1図)によってリズムパターンメモリ34か
ら読み出されたイベントデータEVTは、3ビットのレ
ベルLEVEL、1ビットのサスティンS/Lおよび4
ビットのピッチPITCHが8ビットのデータとしてリ
ズム音源データレジスタ45に格納され、チャンネルナン
バCHNOはチャンネルレジスタ46に一時格納される。
チャンネルカウンタ53はクロック信号φを分周して得ら
れるチャンネルタイミング信号Ch Tを0から7まで繰
り返しカウントし、比較器54はこのチャンネルカウンタ
53の出力とチャンネルレジスタ46の出力するチャンネル
ナンバCHNOとを比較して、これらが一致したときA
ND回路55を介してチャンネル合致信号CHEQを送出
する。フリップフロップ56はチャンネルレジスタ46のロ
ード信号RHYDEC3によってセットされ、前記チャ
ンネル合致信号CHEQによってリセットされるもの
で、チャンネル合致信号CHEQは比較器54の出力とフ
リップフロップ56のセット出力Qとの論理積として出力
することにより、チャンネルナンバCHNOをロードし
た後は1回に限りチャンネルタイミング信号Ch T前縁
の微分波形としてのチャンネル合致信号CHEQが出力
される。このチャンネル合致信号CHEQはセレクタ57
のSB端子に入力され、このチャンネル合致信号CHE
Qが発生したときのみ8ステージ8ビットのシフトレジ
スタ58にリズム音源データレジスタ45に格納されたレベ
ルLEVEL等のデータがロードされる。また、チャン
ネル合致信号CHEQはキーオン信号KONとして8ス
テージ1ビットのシフトレジスタ59に格納され、さらに
8ステージ1ビットのシフトレジスタ60にチャンネル合
致信号CHEQの反転信号“0”を入力してシフトレジ
スタ60の内容をクリアする。これらのシフトレジスタ5
8,59,60およびチャンネルカウンタ53はいずれも同一
のチャンネルタイミング信号Ch Tによって動作してい
るので、リズム音源データレジスタ45に格納されたデー
タはシフトレジスタ58〜60のチャンネルタイミングと同
期してチャンネルレジスタ46内にチャンネルナンバCH
NOに対応するチャンネルにロードされる。
ファンクションレジスタ47は、CPU31のアドレス指定
によりデコーダ43の出力RHYDEC4が“1”のとき
にCPU31からデータバスDBを介して送出されるデー
タを取り込む。このデータ値が$01のときは短い時間の
パルスのスタート信号STARTを送出した後スタート
出力を自動的にクリアする。また、データ値が$04また
は$20のときはそれぞれ8チャンネル分の全データがシ
リアルな出力として出力される時間バッファクリア信号
BUFCLR($04のとき)またはトランスファ信号T
RANS($20のとき)を出力し、後は自動的にクリア
する。データ値が$08および$10のときはそれぞれブレ
ークセット信号およびブレークリセット信号を出力す
る。なお、このブレークセット・リセット信号としては
例えばブレーク出力BREAK“1”が転送されたとき
セット、“0”が転送されたときリセットするようにし
てもよい。
P/S変換器61にはそのパラレルデータ入力端子P1〜
P11に、シフトレジスタ58,59,60に8つのチャンネル
ごとに格納されたリズムデータがチャンネルタイミング
信号Ch Tと同期してチャンネルごとに順次入力してお
り、またロード端子LDにはチャンネルタイミング信号
Ch Tが入力している。そしてファンクションレジスタ
47がトランスファ信号TRANSを発生すると、このP
/S変換器61はチャンネルタイミング信号Ch Tが
“1”の区間にP1〜11のデータを1チャンネルづつ取
り込み、この取り込んだデータをチャンネルタイミング
信号Ch Tが“0”の区間にクロック信号φでシリアル
データOPCIDATに変換してリズム音発生回路70に
送出する。
第1図において、パネルデータインターフェース42は、
CPU31がトータルボリウム28およびバランス設定子27
からそれぞれ読み込んだトータル音量TOTLEVおよ
びドラム系音量比RHDLEV、ノイズ系音量比RHC
LEVをそれぞれ対数音量メモリ36で対数変換し、かつ
演算して得た各8ビットのノイズ系音量NLEVとドラ
ム系音量DLEVを16ビットのシリアルデータLVIN
Tに変換してリズム音発生回路70に送出するとともに、
イントロパターン発生時はイントロパターンROM先頭
アドレスレジスタINTROMによりリズムパターンメ
モリ34から読み出したインストラメントグループナンバ
IGNを、また、イントロ中でないときは表裏各パター
ンメモリ先頭アドレスレジスタRHYROM1 およびR
HYROM2 によってリズムパターンメモリ34から読み
出した表および裏パターン発生用の各インストラメント
ナンバIGNをシリアルデータPANCDDに変換して
リズム音発生回路70に送出する。
(3)リズム音発生回路70 第5図はリズム音発生回路70の詳細ブロック図を示す。
このリズム音発生回路70はS/P変換器71、セレクタ7
2、8ステージ8ビットのシフトレジスタ73、S/P変
換ラッチ回路74、チャンネルカウンタ75、楽器ナンババ
ランスチャンネルROM76、リズム音信号発生回路77、
エンベロープジェネレータ78、S/P変換回路79、音量
セレクタ80、レベル制御回路81、スピーカセレクタ82お
よびP/S変換回路83を具備し、制御部30(第1図)の
リズムインターフェース41およびパネルデータインター
フェース42からシリアルに送出されるリズムに関するデ
ータOPCIDAT、LVINT、PANCDDを入力
し、8個の時分割チャンネルのそれぞれにおいて打楽器
音信号を発生し、この打楽器音を発音チャンネルごとに
時分割多重化してレジスタ85に送出する。
このリズム音発生回路70全体はクロック信号φABで駆
動され、8つのリズム音源形成チャンネルがこのクロッ
ク信号φABの1周期ごとに順次区切られるタイムスロ
ットごとに時分割で形成される。この8つのチャンネル
のそれぞれにインストラメントグループを構成する8種
類の打楽器が1つずつ割り当てられる。
S/P変換器71は、リズムインターフェース41(第1
図)から転送されるシルアルデータOPCIDATをパ
ラレルデータに変換するとともに、内蔵するバッファー
メモリに8チャンネル分のパラレルデータを一時格納
し、チャンネルカウンタ75と同期して1チャンネル分ず
つ出力端子P11〜1に出力する。
セレクタ72は、通常セレクト端子SBが“0”であるか
ら入力端子Aに入力する信号を出力する。従ってシフト
レジスタ73は一旦入力した信号をクロック信号φAB
とに順次シフトして循環させながら記憶している。この
シフトレジスタ73は、S/P変換器71の出力端P2 にキ
ーオン信号KONが発生してセレクタ72のセレクト端子
SBが“1”のときS/P変換器71の出力端P11〜P4
に発生するリズム音源データが入力される。この場合、
送出側のリズムインターフェース41(第1図)とチャン
ネルを一致させるためには、例えばファンクションレジ
スタ47(第4図)のトランスファ信号をチャンネルカウ
ンタ53のチャンネル0に同期して発生させ、必らずチャ
ンネル0から順にチャンネル7までのデータを転送する
とともに、受入側のリズム発生回路70においてはS/P
変換器71の出力をチャンネルカウンタ75の出力するチャ
ンネル番号が0のところから順にチャンネルカウンタ75
の出力またはシステムクロック信号φABと同期して出
力させる。
S/P変換ラッチ回路74はパネルデータインターフェー
ス42(第1図)から転送される表、裏およびイントロ各
パターン発生用インストラメントグループナンバIGN
を含むシリアルデータPANCDDをパラレルデータに
変換するとともにこのパラレルデータを次にシリアルデ
ータPANCDDが入力するまでラッチする。またこの
S/P変換ラッチ回路74はリズムインターフェース41
(第1図)からS/P変換器71の出力端P3 を経て入力
されるブレークセット・リセット信号BREAKによっ
てセットおよびリセットされるブレークフラグBRKF
Gを有し、ブレークセット信号が入力してブレークフラ
グBRKFGがセットされると選択されているバリエー
ションパターンのインストラメントグループナンバIG
Nを出力し、ブレークリセット信号が入力してブレーク
フラグBRKFGがリセットされるとノーマルパターン
のインストラメントグループナンバIGNを出力する。
なお、イントロ中は1つのインストラメントグループナ
ンバIGNのみが入力されるので、これを出力する。
チャンネルカウンタ75はシステムクロック信号φAB
カンウントして0〜7のチャンネルナンバCHNOを出
力する。
楽器ナンババランスチャンネルROM76は、インストラ
メントグループナンバIGNとチャンネルカウント値が
入力されると、5ビットのインストラメントナンバIN
Oすなわち楽器名と、この楽器がシンバル(ノイズ)系
とドラム系のいずれかであるかを示す1ビットの音源群
信号BALと、この楽器音を発音するスピーカが中央か
左かを示す1ビットの発音制御信号CHAとを発生する
変換ROMである。
リズム音信号発生回路77は楽器ナンババランスチャンネ
ルROM76の出力する5ビットのインストラメントナン
バINOおよびシフトレジスタ73の出力する4ビットの
ピッチデータPITCHに基づいて打楽器音波形を発生
する。このリズム音信号発生回路77としては公知の波形
メモリ方式または演算方式のものを用いることができ
る。波形メモリ方式の場合はインストラメントナンバI
NOとピッチデータPITCHでメモリのスタート・エ
ンドアドレスを指定する。演算方式の場合はピッチの決
定および音色を決定するための定数の設定をインストラ
メントナンダINOで行ない、ピッチデータPITCH
はピッチの若干の修正に用いる。
エンベロープジェネレータ78は、S/P変換器71の出力
端P2 に発生するキーオン信号KONをアタックとして
楽器ナンババランスチャンネルROM76の出力するイン
ストラメントナンバINOおよびシフトレジスタ73から
のサスティング信号S/Lで定まる波形のエンベロープ
データEGを発生する。S/P変換器71の出力端P1 に
バッファクリア信号BUFCLRが発生したときは8チ
ャンネル全部のエンベロープデータEGに直ちに0にし
てリズム音をダンプする。
S/P変換回路79はパネルデータインターフェース42の
出力するノイズ系音量NLEVおよびドラム系音量DL
EVからなるシリアルデータLVINTをパラレルデー
タに変換して一時記憶する。
音量セレクタ80は楽器ナンババランスチャンネルROM
76の発生する音源群信号BALに従いノイズ系音量NL
EVまたはドラム系音量DLEVのいずれかを選択して
レベル制御回路81に送出する。
レベル制御回路81は例えば乗算器よりなり、リズム音信
号発生回路77からの音源波形データ、音量セレクタ80か
らのノイズ系音量NLEVまたはドラム系音量DLE
V、シフトレジスタ73からのレベルデータLEVELお
よびエンベロープジェネレータ78からのエンベロープデ
ータEGをチャンネルごとに演算して時分割多重化した
打楽器音信号を発生する。
スピーカセレクタ82は楽器ナンババランスチャンネルR
OM76の発生する発音制御信号CHAに基づき、レベル
制御回路81で発生した打楽器音信号をそれぞれ中央およ
び左スピーカ向けに振り分ける。
P/S変換回路83は中央および左スピーカ向け打楽器音
信号をシリアルデータに変換して送出する。
(第1図の電子楽器の動作説明) 次に第6〜13図のフローチャートを参照しながら第1
図の電子楽器の動作を特に制御部30について説明する。
第6図を参照して、この電子楽器に電源が投入される
と、CPU31はプログラムメモリ32に格納された制御プ
ログラムに従って動作を開始する(ステップ 100)。ス
テップ 101ではCPU31、ワーキングメモリ33およびリ
ズムインターフェース41等の各レジスタ、フラグ等をク
リアして回路全体をイニシャライズし、ステップ 102で
鍵盤1およびパネル10の各操作子を走査して変更のあっ
た操作子およびその操作子情報を検出する。この検出
は、例えば各操作子ごとの操作子情報と各レジスタTE
MPO、TOTLEV、RHDLEV、RHCLEV、
RHYPTN、VARI等に格納された前回の操作子情
報との排他的論理和が0でない場合を操作子情報変更す
なわちイベント有りとして検出することができる。な
お、このステップ 102ではリズムスタート・ストップス
イッチ24がスタートまたはストップ側に押圧された場合
にもその操作子情報を検出する。操作子情報としては例
えばトータルボリウム28およびバランス設定子27による
設定値をそれぞれディジタルデータ0〜15で表わし、こ
のデータをトータル音量レジスタTOTLEV、ドラム
系音量比レジスタRHDLEVおよびノイズ系音量比レ
ジスタRHCLEVに格納する。
また、ブレークスイッチの操作に伴ってブレークチェン
ジフラグBCHNGFをセットする。
ステップ 103ではステップ 102でイベントが検出された
か否かを判定し、イベントがなければステップ 102に戻
ってさらにイベントの検出を行ない、イベント有ならば
以降のステップおいて検出されたイベントの種類に応じ
た処理を行なう。
ステップ 102で検出されたイベントが鍵の押下もしくは
解除または楽音選択用操作子15の押下による楽音変更で
あるときはステップ 110に進む。ステップ 110では、各
鍵データまたは楽音選択データを処理して鍵楽音に関す
るデータを作成し、鍵楽音インターフェース40に出力す
る。鍵楽音インターフェース40はこれらのデータをさら
に鍵盤音形成回路65に送出する。
前記イベントがスタート・ストップスイッチ26によるス
タート指令であれば、ステップ 120でワーキングメモリ
33内のリズムランフラグRHYRUNを$80(最上位ビ
ットのみ1)にセットした後、ステップ 121でリズムテ
ンポを同期させる。これはリズムインターフェース41の
ファンクションレジスタ47(第4図)にデータ$01をロ
ードしてファンクションレジスタ47にスタート信号ST
ARTを発生させ、このスタート信号によってカウンタ
49およびテンポクロック発生器51をリセットすることに
より行なう。また、このスタート信号STARTの発生
によってリズムインターフェース41からCPU31に割り
込みがかかり、CPU31は後述するステップ 200以降の
割込処理RHIRQによりリズムインターフェース41お
よびパネルデータインターフェース42を介してリズム音
発生回路70にリズム音に関するシリアルデータOPCI
DATを送出する。
ステップ 102におけるイベントがスタート・ストップス
イッチ26によるリズムストップであるときは、ステップ
130でリズムインターフェース41のファンクションレジ
スタ47にデータ$04をロードしてバッファクリア信号B
UFCLRを発生させ、シフトレジスタ60(第4図)の
全ステージ(8チャンネル分)を“1”にした後、さら
にステップ 131でデータ転送命令を出力してこのバッフ
ァクリアを含むリズムデータOPCIDATをリズムイ
ンターフェース41からリズム音発生回路70に送出する。
リズム音発生回路70ではこのバッファクリア信号BUF
CLRによってエンベロープジェネレータ78をクリア
し、リズム音をダンプする。さらにステップ 132で第1
表に示すパターン変更フラグPCHNGF、リズムラン
フラグRHYRUN等のリズム関係レジスタ、フラグを
クリアする。
ステップ 102におけるイベントがテンポ設定子29による
テンポ変更であるときは、ステップ 140でテンポデータ
TEMPOをリズムインターフェース41のテンポレジス
タ44(第4図)にロードする。このテンポレジスタ44に
格納されたテンポデータにより1ビートのピッチすなわ
ちリズムパターンを読み出すテンポが決定される。
ステップ 102におけるイベントがトータルボリウム28に
よるリズム音量の変更であるときは、ステップ 150でパ
ネルレベルデータTOTLEVをパネルデータインター
フェース41に出力する。パネルデータインタフェース41
はこのパネルレベルデータTOTLEVをシリアルなリ
ズムレベルデータLVINTに変換してリズム音発生回
路70に出力する。
ステップ 102におけるイベントがリズム選択スイッチ23
の押下によるリズム種類RHYPTNの変更であるとき
は、第7図に示すステップ 160以下のリズムセット処理
RHYSETを実行する。すなわち、ステップ 161でリ
ズムランフラグRHYRUNを検査してリズム進行中な
らばステップ 162でパターンチェンジフラグPCHNG
Fをセットした後、また、ステップ 161でリズムが進行
していなければステップ 162をスキップしてステップ 1
63に進む。ステップ 162でパターンチェンジフラグPC
HNGFをセットするのはリズム途中でリズム種類が変
ったとき前のリズム音をフォーシングダンプするため次
回の割込処理の際(ステップ 213参照)このパターン変
更フラグPCHNGFがセットされていればバッファク
リア信号BUFCLRをリズム音形成回路70に送出する
ためである。ステップ 163ではタイミングカウンタTI
MINGの内容を参照して拍数レジスタの拍数をタイミ
ングTIMINGが0〜11なら1に、12〜23なら2に、
24〜35なら3に、36〜47なら4にセットする。これは変
更後のリズムを変更前と同一のタイミングで継続させる
ためで、ステップ 167で同一拍数、同一拍内タイミング
のリズムパターンデータが格納されたアドレスにパター
ンポインタPHPNT1,2 をセットする際に用いる。ス
テップ 164では再度リズムランフラグRHYRUNを検
査しリズム進行中であればステップ 165で拍エンドフラ
グRHHEND1,2 をクリアする。これは拍エンドフラ
グRHHEND1,2 がセットされたままになっている
と、変更後のリズムが変更時のタイミング以降にイベン
トデータを有するときこれらのイベントデータの読取を
スキップしてしまうからである(ステップ 401参照)。
変更後のリズムにおいても変更時のタイミング以降にイ
ベントデータが存在しないときはリズムポインタRHP
NT1,2 をセットする際に拍エンドフラグRHHEND
1,2 をセットする。ステップ 164の判定がリズム停止中
のときはリズムストップ処理の際ステップ 132において
拍エンドフラグRHHEND1,2 は既にクリアされてい
るのでステップ 165をスキップしてステップ 166に進
む。
ステップ 166では、リズム種類レジスタの内容RHYP
TNで先頭パターンアドレスメモリ35をアドレスして選
択されたリズム種類のノーマルパターン、バリエーショ
ンパターンおよびイントロパターンの先頭アドレスを読
み出し、これらの先頭アドレスをそれぞれ表、裏および
イントロパターン先頭アドレスレジスタRHYROM1
、RHYROM2 およびINTROMに格納する。ス
テップ 167ではリズムパターンメモリ34を表および裏パ
ターンの先頭アドレスRHYROM1 およびRHYRO
M2 から順次読み出し、読み出された拍エンドの数およ
び拍内タイミングと拍数HKPEおよびタイミングTI
MINGとを比較して、それぞれ表パターンポインタR
HPNT1 および裏パターンポインタRHPNT2 をセ
ットする。ステップ 168ではリズムパターンメモリ34の
各先頭アドレスRHYROM1 およびRHYROM2 に
格納されたインストラメントグループナンバIGNを読
み出してパネルデータインターフェース41に出力する。
パネルデータインターフェース41はこれらの表パターン
および裏パターン用の、インストラメントグループナン
バIGNをシリアル信号PANCDDに変換してリズム
音発生回路70に送出する。
ステップ 169ではリズム種類RHYPTNが3拍子およ
び4拍子のいずれであるか判定し、4拍子であればステ
ップ 170で、3拍子であればステップ 171で最大テンポ
数レジスタTMPMAXにそれぞれ1小節内の最大タイ
ミング数である35および47を記憶させる。
ステップ 102におけるイベントがイントロスイッチ23の
押下であるときは第8図のイントロ処理INTRO180
を実行する。すなわち、ステップ 181でリズムランフラ
グRHYRUNを検査してリズムが進行中か否かを判定
し、リズム進行中であればイントロスイッチ23の押下は
無意味であるから、そのまま第6図ステップ 102のイベ
ント検出に戻る。ステップ 181の判定でリズム停止中で
あればイントロパターン先頭アドレスINTROMによ
りリズムパターンメモリ34の先頭アドレスを指定してそ
こに格納されているイントロ用のインストラメントグル
ープナンバIGNを読み出してパネルデータインターフ
ェース42を介してリズム音発生回路70に送出する。
ステップ 102でイベント検出後、イベントの種類ごとの
処理を終了すると、再びステップ 102に戻って新たなイ
ベントの検出を行なう。
前述したように第1図の電子楽器においてはスタート・
ストップスイッチ26をスタートにしたとき、およびカウ
ンタ48が設定されたテンポに従って1拍の1/12すなわ
ち1ビートをカウントしたときリズムインターフェース
41からCPU31に割込信号RINTPTが送出される。
従ってCPU31はリズムスタート時と以後の1ビートご
とに第9図の割込処理INTRPT200 を実行する。
先ず、ステップ 201では割込処理終了後もとの状態に復
帰できるように各レジスタ、プログラムカウンタ等をセ
ーブし、続いて第10図に示すリズム音発生データ出力
処理RHIRQ210 を実行する。
第10図を参照して、ステップ 211でリズムランフラグ
RHYRUNを検査してリズムが進行中か否かを判定す
る。RHYRUN=0すなわちリズムが停止している場
合はリズム音データを出力する必要はないからステップ
290(第9図)で直ちに割り込みを解除し、もとの第6
〜8図のルーチンに復帰する。ステップ 211でリズムが
進行中ならばステップ 212でイントロフラグINTON
を検査し、イントロフラグINTONがセットされてい
ればステップ 250以下のイントロパターン読出処理を実
行する。イントロがセットされていないか、セットされ
ていたとしてもイントロパターンを終了してイントロフ
ラグINTONがリセットされている場合は次のステッ
プ 213に進む。ステップ 213ではパターンチェンジフラ
グPCHNGFを検査し、パターンチェンジフラグが立
っていればリズム変更またはノーマルパターンとバリエ
ーションパターンとの切り替え後最初のデータ出力であ
るからステップ 214でリズムインターフェース41にバッ
ファクリア信号BUFCLRを送出する。このバッファ
クリア信号は後述のステップ 225でリズム音発生回路70
に転送され、リズム音発生回路70ではエンベローブジェ
ネレータ78をクリアして前のリズム音をクリアする。次
いでステップ 215ではパターンチェンジフラグPCHN
GFをクリアして次のステップ 216に進む。ステップ 2
13の判定でリズム変更がなければステップ 214, 215を
スキップしてステップ 216に進む。ステップ 216では小
節アップフラグRDISPFを検査して前回の割込処理
で前小節が終了したか否か、すなわち、今、小節の頭で
あるか否かを判定する。小節アップフラグRDISPが
$FFすなわち小節の頭であれば第11図の交換サブル
ーチンCHANG300 を実行する。
第11図を参照して、ステップ 301では小節数カウンタ
SYOCNTを歩進して小節アップの回数をカウントし
た後、ステップ 302でブレークフラグBRKONを検査
し、BRKON≠0すなわち前小節がブレークであった
ときはステップ 320に進み、BRKON=0すなわち前
小節がブレークでなければステップ 303に進む。
ステップ 303ではオートブレークレジスタAUTBRK
を検査してオートブレークが設定されているか否かを判
定し、オートブレークが設定されていればステップ 304
で今小節は設定されたオートブレーク種類すなわちブレ
ーク周期(4,8,16bar )の整数倍の小節か否かを
判定する。この判定は、小節数カウンタSYOCNTの
下位4ビットとオートブレークレジスタAUTBRKの
下位4ビットとの論理積によって行なう。この論理積が
0のときは今小節をブレーク周期の整数倍小節目すなわ
ちバリエーション挿入小節と判定し、ステップ 311でブ
レークフラグBRKONをセットした後、ステップ 312
で表パターンメモリポインタRHPNT1 の内容と裏パ
ターンメモリポインタRHPNT2 の内容とを交換し、
ステップ 313で表パターンメモリ先頭アドレスレジスタ
RHYROM1 の内容と裏パターンメモリ先頭アドレス
レジスタRHYROM2 の内容とを交換する。このステ
ップ 312および 313の処理により前小節ではノーマルパ
ターンを表パターン、バリエーションパターンを裏パタ
ーンとして処理していたところ、今小節ではバリエーシ
ョンパターンをブレークパターンとして表側にノーマル
パターンを裏側に入れ替えて処理を行なう。次にステッ
プ 314でブレークフラグBRKONを再度検査し、今回
はステップ 311でブレークフラグBRKONはセットさ
れているのでステップ 315に進み、ファンクションレジ
スタ47(第4図)にデータ$08をロードしてブレークセ
ット信号を発生させる。このブレークセット信号はステ
ップ 225において他のデータとともにリズム音発生回路
70(第5図)に送出され、P/S変換ラッチ回路74のブ
レークフラグBRKFGをセットし、このためP/S変
換ラッチ回路74はブレークパターン発生用のインストラ
メントグループナンバIGNを送出する。
ステップ 302の判定でBRKON≠0すなわち前小節は
ブレークであったときはステップ 320でブレークスイッ
チ21(第2図)を検査し、ブレークスイッチ21が押下さ
れていれば今小節も引き続いてブレークパターンを発生
するのであり、表ポインタRHPNT1 およびインスト
ラメントグループナンバIGN等は既にブレークパター
ン側にセットされているので、ステップ 321でブレーク
チェンジフラグBCHNGFをリセットした後もとのル
ーチン(第10図)に戻る。ステップ 320でブレークス
イッチ21(第2図)が解除されていたときは、ステップ
322でブレークチェンジフラグBCHNGFをクリア
し、ステップ 323でブレークフラグBRKONをリセッ
トした後、前述のステップ 312および 313で表ポインタ
RHPNT1 の内容と裏ポインタRHPNT1 の内容と
を交換し、ステップ 313でパターン先頭アドレスを表裏
入れ替えて表パターン等をノーマル側にセットした後、
ステップ 314でブレークフラグBRKONを再度検査す
る。今度の場合、ブレークフラグBRKONはステップ
323でリセットされているので、次にステップ 316に進
み、リズム音発生回路70(第5図)におけるインストラ
メントグループナンバIGNをノーマルパターン側に変
更するため、ファンクションレジスタ47(第4図)にブ
レークリセット用データ$10をロードした後、もとのル
ーチン(第10図)に戻る。
ステップ 303でオートブレークが設定されていなかった
場合およびオートブレークが設定されていてもステップ
304で今小節がブレークパターン挿入小節でなかった場
合は、パターン交換をすることなく、そのままもとのル
ーチン(第10図)に戻る。
第10図を参照して、交換サブルーチンCHANGを実
行した後、またはステップ 216で小節の頭でなかったと
きは、ステップ 220でブレークチェンジフラグBCHN
GFを検査する。BCHNGF≠0のときはブレークス
イッチ21が押下されたのであるから、ステップ 221でブ
レークチェンジフラグBCHNGFをリセットした後、
前記交換サブルーチンCHANGの一部を流用したCH
ANG1 ルーチン310 で表パターンをブレークパターン
に交換し、次いでステップ 223で表拍エンドフラグRH
HEND1 の内容と裏拍エンドフラグRHHEND2 の
内容とを交換する。表パターンをブレークパターンから
ノーマルパターンへの変更およびオートブレークにおけ
る表裏パターンの交換は必らず小節の切り換わり時に生
じるため拍エンドフラグRHHEND1 ,2 は必らずリ
セットされているので交換する必要はないが、フィルイ
ンによるノーマルパターンからブレークパターンへの変
更は如何なるタイミングでも起こり得るので、ステップ
223の処理が必要となる。
上述のCHANG1 サブルーチンを実行した後、および
ステップ 220においてブレークチェンジフラグBCHN
GFが0の場合は、続いてデータ出力サブルーチンRH
YCNV400 (第12図)を実行する。
第12図を参照して、ステップ 401では表拍エンドフラ
グRHHEND1 を検査し、拍エンドであれば以降拍オ
ーバーするまでの拍内タイミングTMPCNTに表パタ
ーンのイベントデータは存在しないからそのままもとの
ルーチン(第10図)に戻る。拍エンドでなければステ
ップ 402でリズムポインタRHYPNT1 の内容をYレ
ジスタにセットし、続いてステップ 403および 404で表
パターンメモリ先頭アドレスRHYROM1 Yレジスタ
の内容(すなわち表ポインタの内容RHPNT1 )との
和でリズムパターンメモリ34をアドレスして第3図(c
)の第1バイトのチャンネルデータCHNOおよび拍
内タイミングデータHTIMINGを読み出しAレジス
タおよびXレジスタに格納する。次にステップ 405でA
レジスタの内容と$OFとの論理積を求めAレジスタの
内容を下位4ビットの拍内タイミングデータHTIMI
NGだけ残し、ステップ 406でこの拍内タイミングHT
IMINGとテンポカウンタTMPCNTで示されるタ
イミングが一致するか否かを判定する。ステップ 406で
これらのタイミングが一致していればこのデータは現在
処理すべきタイミングTMPCNTのもので有効である
からステップ 407でポインタとしてのYレジスタの内容
を歩進させ、ステップ 408で第3図(c )のイベントデ
ータの第2バイトのピッチPITCHおよびレベルLE
VELデータを読み出してAレジスタに格納する。ステ
ップ 409ではAレジスタに格納されたピッチおよびレベ
ルデータをリズム音源データレジスタ45(第4図)に、
また、Xレジスタに格納されているチャンネルンバーC
HNOはチャンネルレジスタ46(第4図)に出力する。
ステップ 410ではさらに次のイベントデータEVTを読
み出すべく表ポインタとしてのYレジスタの内容をさら
に歩進する。ステップ 411〜 414ではステップ 403〜 4
06の手順を繰り返しステップ 407〜 414で現在のタイミ
ングTMPCNTと同一の拍内タイミングを有するイベ
ントデータを全て読み出す。ステップ 406または 414に
おいて同一拍内タイミングを有するイベントデータが存
在しないときは、ステップ 415に進み、ステップ 405ま
たは 413でAレジスタに残したタイミングデータが$0
D以上か否かすなわち拍エンドまたはリターンかを判定
する。拍内タイミングは必らず$0〜$Bであるので、
Aレジスタの内容Aが$0D以上になるのは拍エンドデ
ータBEかリターンデータRTNを読み取ったときであ
る。そこで上記判定でAレジスタ≧$ODのときは次に
ステップ 416でAレジスタ=$0Fが否かすなわちリタ
ーンかを判定し、Aレジスタ=$0Fすなわちリターン
であれば、ステップ 417でYレジスタをクリアし、拍エ
ンドであればステップ 417をスキップしてステップ 418
に進む。ステップ 418では表拍エンドフラグRHHEN
D1 をセットし、ステップ 419でYレジスタの内容を歩
進し、ステップ 420で表ポインタRHPNT1 にYレジ
スタの内容Yをセットしもとのルーチン(第10図ステ
ップ 225)に戻る。上記のステップ 417, 419および 4
20の処理によりリターンデータRTNが検出されたとき
表ポインタRHPNT1 は1にセットされ、また拍エン
ドデータBEが検出されたときは表ポインタRHPNT
1 はステップ 419において拍エンドデータBEが格納さ
れた番地の次の番地を示すこととなる。ステップ 415の
判定において拍内タイミングTMPCNTが$0Dより
小さく拍エンドまたはリターンでない場合はステップ 4
20に進み、表ポインタPHPNT1 にタイミングTMP
CNTと一致しない拍内タイミングを読み出したときの
番地がそのまま格納された後第10図のルーチンのステ
ップ 225に戻る。
第10図を参照して、ステップ 225ではリズムインター
フェース41にデータ転送命令を送出する。これはファン
クションレジスタ47(第4図)をアドレスで指定して$
20をロードすることによって行なう。すると、ファン
クションレジスタ47が転送信号TRANSを出力し、こ
の信号がP/S変換器61に印加され、ステップ 409でリ
ズムインターフェース41に出力され、シフトレジスタ58
にチャンネルごとに格納されているピッチPITCH、
サスティンS/LおよびレベルLEVEL、シフトレジ
スタ59に格納されているキーオンデータKON、シフト
レジスタ60に格納されているバッファクリア信号BUF
CLRならびにファンクションレジスタ47の出力するブ
レークセット・リセット信号などがP/S変換器61で11
ビットのシリアルデータOPCIDATに変換されてリ
ズム音発生回路70(第5図)に送出される。
ステップ 225の次は裏パターン進行サブルーチンRHY
PUP500 (第13図)の処理を実行する。第13図を
参照してステップ 501では裏拍エンドフラグRHHEN
D2 を検査し、拍エンドであれば以後拍オーバーするま
でのタイミングTMPCNTに裏パターンのイベントデ
ータは存在しないからそのままもとのルーチン(第10
図)に戻る。拍エンドでなければステップ 502でリズム
ポインタRHYPNT2 の内容をYレジスタにセット
し、続いてステップ 503および 504で裏パターン先頭ア
ドレスRHYROM2 とYレジスタの内容Y(すなわち
裏ポインタの内容RHYROM2 )との和でリズムパタ
ーンメモリ34をアドレスして第3図(c )の第1バイト
のチャンネルデータCHNOおよび拍内タイミングデー
タHTIMINGを読み出しAレジスタおよびXレジス
タに格納する。次にステップ 505でAレジスタの内容と
$OFとの論理積を求めAレジスタの内容を下位4ビッ
トの拍内タイミングデータだけ残し、ステップ 506でこ
の拍内タイミングとテンポカウンタTMPCNTで示さ
れるタイミングが一致するか否かを判定する。ステップ
506でこれらのタイミングが一致していれば現在のタイ
ミングTMPCNTで読み出すべきデータが存在してい
るのであるから、ステップ 507でポインタとしてのYレ
ジスタの内容に2を加える。ステップ 508〜 511ではス
テップ 503〜 506の手順を繰り返し、現在のタイミング
TMPCNTと同一の拍内タイミングを有するイベント
データを全て空送りする。ステップ 506または 511にお
いて現在と同一の拍内タイミングを有するイベントデー
タが存在しないときはステップ 512に進む。ステップ 5
12〜 517においてはステップ 415〜 420(第12図)に
おけると同様に、ステップ 505または 510でAレジスタ
に残したタイミングデータにより、次のイベントが発生
する拍内タイミングを判定し、裏ポインタRHHEND
2 を次のイベントを読み出しうるアドレスにセットした
後、もとのルーチン(第10図ステップ 230)に戻る。
第10図を参照して、ステップ 230および 231では拍小
節アップフラグをリセットし、ステップ 232ではテンポ
カウンタTMPCNTを歩進してステップ 233でテンポ
カウンタの内容TMPCNTから拍オーバーか否かを判
定する。1拍内のタイミングは0〜11の12個である
からテンポカウンタの示すタイミングTMPCNTがオ
ーバーフローしたときは拍オーバーである。ステップ 2
33で拍オーバーと判定されると、次にステップ 234でタ
イミングカウンタTIMINGを歩進する。小節オーバ
ーのときは必らず拍オーバーであり、拍オーバーは小節
オーバーでもある可能性があるから、次にステップ 235
でステップ 233の拍オーバーは小節オーバーが否かをタ
イミングカウンタの内容TIMINGが最大タイミング
数TMPMAXに達したか否かで判定する。小節オーバ
ーであれば、ステップ 236で表、裏の拍エンドフラグR
HHEND 1および 2をリセットし、ステップ 237でタ
イミングカウンタTIMINGおよびテンポカウンタT
MPCNTをリセットし、さらにステップ238 で拍・小
節アップフラグRDISPFをディクリメントして内容
を小節アップを示す$FFにした(ディクリメントする
前はステップ 231でクリアされている)後、第9図のス
テップ 290に戻る。また拍オーバーではあるが、小節オ
ーバーでないときはステップ 240および 241で表拍エン
ドフラグRHHEND1 をリセットし、ステップ 242お
よび 243で裏拍エンドフラグRHHEND2 をリセット
し、ステップ 244で拍内タイミングカウンタTMPCN
Tをリセットし、ステップ 245で拍・小節アップフラグ
RDISPFをインクリメントして拍アップを示す$01
にセットした後、第9図のステップ 290に戻る。
ステップ 233の判定が拍オーバーでないときは、ステッ
プ246 でタイミングカウンタTIMINGをインクリメ
ントした後、第9図のステップ 290に戻る。
ステップ 212の判定でイントロ開始またはイントロ中で
あればステップ 250で表パターンメモリ先頭アドレスレ
ジスタRHYROM1 の内容とイントロパターンメモリ
先頭アドレスレジスタINTROMの内容とを交換し、
ステップ 251で表ポインタRHYPNT1 の内容とイン
トロポインタINPNTの内容とを交換し、さらにステ
ップ 252で表拍エンドフラグRHHEND1 の内容とイ
ントロ拍エンドフラグINHENDの内容とを交換し、
イントロパターンの先頭アドレス、ポインタおよび拍エ
ンドフラグを表パターンにセットした後、前述のデータ
出力サブルーチンRHYCNV400 (第12図)を実行
してリズムパターンメモリ34のイントロパターンデータ
を読み出すとともにリズムインターフェース41(第4
図)に出力する。続いてステップ 255〜 257でイントロ
パターンを裏パターンに、かつノーマルパターンを表パ
ターンに入れ替えてステップ 212以前の状態に戻した
後、ステップ 258で前述のデータ出力サブルーチンRH
YCNV400 で読み出したイントロパターンデータをリ
ズム音発生回路70に転送する。続くステップ 259および
260では拍・小節アップフラグRDISPFをリセット
し、ステップ 261で拍内タイミングカウンタTMPCN
Tを歩進してステップ 262で拍内タイミングカウンタT
MPCNTの内容から拍オーバーか否かを判定する。拍
オーバーであれば、ステップ 263でタイミングカウンタ
TIMINGを歩進し、ステップ 264でタイミングカウ
ンタの内容TIMINGを検査する。TIMINGが最
大タイミング数TMPMAXに達していれば小節オーバ
ーであるからステップ 265でイントロ拍エンドフラグI
NHENDを検査する。INHEND=$OFすなわち
イントロパターンが終了していればステップ 266でイン
トロオンフラグINTONをリセットし、ステップ 267
で表および裏パターン先頭アドレスRHYROM1 およ
び 2でそれぞれノーマルおよびブレークパターン発生用
のインストラメントグループナンバIGNを読み出しパ
ネルデータインターフェース42(第1図)からシリアル
データPANCDDとしてリズム音発生回路70に送出し
た後、またステップ 265でINHEND≠$OFでイン
トロパターンが未だ終了していないときはステップ 266
および 267をスキップしてステップ 268でイントロ拍エ
ンドフラグINHENDをリセットし、ステップ268 に
ジャンプする。ステップ 237および 238では前述のよう
に小節内タイミングカウンタTIMINGおよび拍内タ
イミングカウンタTMPCNTをクリアし、かつ拍・小
節アップフラグRDISPFをディクリメントして$F
Fにセットした後、ステップ 290(第9図)に戻る。ス
テップ 264で拍オーバーではあるが小節オーバーでない
ときはステップ 270に進み、ステップ270 および 271で
イントロ拍エンドフラグINHENDをクリアしてステ
ップ244 にジャンプする。ステップ 244では拍内タイミ
ングカウンタTMPCNTをリセットし、ステップ 245
で拍・小節アップフラグRDISPFをインクリメント
して$01にセットした後、ステップ 290(第9図)に戻
る。ステップ 262で拍オーバーでないときはステップ 2
64にジャンプし、小節内タイミングカウンタTIMIN
Gを歩進した後ステップ 290(第9図)に戻る。
第9図を参照して、リズム音発生データ出力処理RHI
RQ(第10図)のステップ 211、 238、 245および 2
46からリターンした後、ステップ 290ではこの割込処理
INTRPTを実行するために待避させていたプログラ
ムカウンタおよび各レジスタ等を復帰し、割込前の第6
〜8図の処理に戻る。
以上のようにこの発明によると、リズムパターンが各リ
ズム音の発音タイミングを示すデータを含みこの発音タ
イミングと現タイミングが一致するかどうかをチェック
しつつ一致した場合にオートリズムの当該データに対す
る発音を行なういわゆるイベント方式のパターンデータ
を用いたオートリズム演奏装置において、ノーマルパタ
ーンおよびブレークパターンとなるバリエーションパタ
ーンをそれぞれ表パターンおよび裏パターンとして常時
併進させ、演奏者によるブレークスイッチの押下によっ
て如何なるタイミングからも発音が遅れることなく直ち
にバリエーションを挿入することができるため、より変
化に富んだオートリズムを発生させることができる。
【図面の簡単な説明】
第1図は、この発明の1実施例に係る電子楽器のブロッ
ク構成図、 第2図は、第1図の楽器のパネルのリズム部における各
操作子の配置図、 第3図は、第1図の楽器のリズムパターンメモリに格納
されたデータ構成図、 第4図は、第1図の楽器のリズムインターフェースの詳
細ブロック図、 第5図は、第1図の楽器のリズム音発生回路の詳細ブロ
ック図、 第6図は、第1図の電子楽器の動作を説明するためのフ
ローチャート、 第7図は、リズムセット処理のサブルーチンを示すフロ
ーチャート、 第8図は、イントロ処理のサブルーチンを示すフローチ
ャート、 第9図は、割込処理を示すフローチャート、 第10図(a )および(b )は、リズム音発生データ出
力処理のサブルーチンを示すフローチャート、 第11図は、ノーマル・ブレーク交換処理のサブルーチ
ンを示すフローチャート、 第12図は、データ出力処理のサブルーチンを示すフロ
ーチャート、 第13図は、裏パターン進行処理のサブルーチンを示す
フローチャートである。 21……ブレークスイッチ、 23……オートブレークスイッチ、 25……リズム選択スイッチ、 31:CPU、 33……ワーキングメモリ、 34……リズムパターンメモリ、 70……リズム音発生回路。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】各リズム音の発音タイミングを示すタイミ
    ングデータと、該タイミングに発生すべきリズム音を示
    す楽音データからなる演奏データを複数組み合わせて構
    成されるリズムパターンの該発音タイミングデータと現
    在の演奏タイミングとが一致するかどうかをチェック
    し、一致した場合に該楽音データに基づいた発音を行う
    イベント方式のオートリズム演奏装置において、 テンポに応じた所定周期の信号を発生する周期信号発生
    手段と、 それぞれ各リズム音についてその発音タイミングを示す
    タイミングデータと、該タイミングに発生すべきリズム
    音を示す楽音データからなる演奏データを含む第1パタ
    ーンおよび第2パターンの少なくとも2種類のリズムパ
    ターンが格納されたパターンメモリと、 所定周期の信号に基づいて現在のリズム演奏タイミング
    を管理するタイミング管理手段と、 この第1パターンおよび第2パターンの一方のリズムパ
    ターンの中から前記タイミング管理手段によって示され
    る現在のリズム演奏タイミングに対応する前記演奏デー
    タを検出する第1の検出手段であって、リズムパターン
    中における現在の読出しアドレスを示す第1のアドレス
    指定手段を有し、前記検出がなされたときに読出しアド
    レスを更新するものと、 この第1パターンおよび第2パターンの他方のリズムパ
    ターンの中から前記タイミング管理手段によって示され
    る現在のリズム演奏タイミングに対応する前記演奏デー
    タを検出する第2の検出手段であって、リズムパターン
    中における現在の読出しアドレスを示す第2のアドレス
    指定手段を有し、前記検出がなされたときに読出しアド
    レスを更新するものと、 前記第1パターンと第2パターンのどちらを出力すべき
    かをリズム演奏の任意のタイミングで選択指定する手段
    と、 前記選択指定手段により指定されたリズムパターンの楽
    音データを前記第1または第2の検出手段の検出結果に
    基づき出力する読出手段と、 この読出手段の出力するリズムパターンに従ってリズム
    音を形成するリズム音源と を具備したことを特徴とするオートリズム演奏装置。
JP57111455A 1982-06-30 1982-06-30 オ−トリズム演奏装置 Expired - Lifetime JPH0652473B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57111455A JPH0652473B2 (ja) 1982-06-30 1982-06-30 オ−トリズム演奏装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57111455A JPH0652473B2 (ja) 1982-06-30 1982-06-30 オ−トリズム演奏装置

Publications (2)

Publication Number Publication Date
JPS593483A JPS593483A (ja) 1984-01-10
JPH0652473B2 true JPH0652473B2 (ja) 1994-07-06

Family

ID=14561656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57111455A Expired - Lifetime JPH0652473B2 (ja) 1982-06-30 1982-06-30 オ−トリズム演奏装置

Country Status (1)

Country Link
JP (1) JPH0652473B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2848322B2 (ja) * 1996-03-11 1999-01-20 ヤマハ株式会社 自動伴奏装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6021400B2 (ja) * 1978-10-19 1985-05-27 株式会社河合楽器製作所 電子楽器

Also Published As

Publication number Publication date
JPS593483A (ja) 1984-01-10

Similar Documents

Publication Publication Date Title
US5119710A (en) Musical tone generator
JPH0634169B2 (ja) 発音割当て機能付電子楽器
US4467690A (en) Automatic rhythm performance device
JPH079586B2 (ja) 電子楽器の自動伴奏装置
JPH0584920B2 (ja)
JPH0654434B2 (ja) 自動リズム演奏装置
US4905561A (en) Automatic accompanying apparatus for an electronic musical instrument
US5502275A (en) Automatic accompaniment apparatus implementing smooth transition to fill-in performance
JPH0652473B2 (ja) オ−トリズム演奏装置
US4619176A (en) Automatic accompaniment apparatus for electronic musical instrument
US6777606B2 (en) Automatic accompanying apparatus of electronic musical instrument
US5125314A (en) An electronic musical instrument having switches for designating musical tone control data
KR930007833B1 (ko) 전자악기
JPS593484A (ja) 自動リズム演奏装置
US4920849A (en) Automatic performance apparatus for an electronic musical instrument
US5300726A (en) Electronic rhythm instrument with tone pitch and tone volume control
JPS59131993A (ja) 電子楽器
JP2701177B2 (ja) 楽音発生装置
JP2869970B2 (ja) 自動リズム演奏装置および方法
JPH0153799B2 (ja)
JPS593486A (ja) 自動リズム演奏装置
JPH055357B2 (ja)
JP2002215147A (ja) 電子楽器の自動伴奏装置及び自動伴奏方法
JP3097382B2 (ja) 和音検出装置
JP2619237B2 (ja) 電子楽器の自動伴奏装置