JPH0241758B2 - - Google Patents

Info

Publication number
JPH0241758B2
JPH0241758B2 JP57166158A JP16615882A JPH0241758B2 JP H0241758 B2 JPH0241758 B2 JP H0241758B2 JP 57166158 A JP57166158 A JP 57166158A JP 16615882 A JP16615882 A JP 16615882A JP H0241758 B2 JPH0241758 B2 JP H0241758B2
Authority
JP
Japan
Prior art keywords
data
rhythm
signal
circuit
register
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
JP57166158A
Other languages
Japanese (ja)
Other versions
JPS5955492A (en
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 filed Critical
Priority to JP57166158A priority Critical patent/JPS5955492A/en
Publication of JPS5955492A publication Critical patent/JPS5955492A/en
Publication of JPH0241758B2 publication Critical patent/JPH0241758B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

(発明の分野) この発明は、演奏音量データに基づく音色また
は音量の制御を楽器種類に応じて行ない、演奏の
強弱に対する楽器音特性を実際のものにより近付
けてより豊かなリズム音を発生するようにした自
動リズム演奏装置に関する。 (発明の背景) 従来の自動リズム演奏装置として、リズムパタ
ーンデータとそれに対応するアクセントまたは打
楽器音の強弱等の音量データを記憶するパターン
メモリを有し、リズム選択に応じて自動的に打楽
器音を発生するものは知られている。 ところでこのような装置にあつては、楽器種類
にかかわらず、単に入力された音量データにより
複数の楽器音の音量を一律に制御しており、発生
するリズム音は、楽器ごとに演奏の強弱に対する
発音音量や音色が異なる実際の楽器音と比べ、貧
弱であつた。 (発明の目的) この発明は上述の従来形における問題点に鑑
み、自動リズム演奏装置において、演奏の強弱を
示す共通レベルデータを基に、楽器(音源)ごと
に音色音量を補正するという構想に基づき、実際
の楽器音により近い、より豊かなリズム音を得る
ことを目的とする。 [発明の構成] この目的を達成するために、この発明に係る自
動リズム演奏装置は、リズム音ごとの発音タイミ
ングデータおよび複数種類の前記リズム音に対し
て共通に設定され複数段階あるレベル制御態様の
うちの所望の段階を表す共通レベルデータを含む
リズムパターンデータを記憶しているパターンメ
モリと、このパターンメモリを前記発音タイミン
グデータに従い所定のテンポで読み出して前記リ
ズムパターンデータに基づく複数のリズム音を発
生するリズム音読出発生手段と、前記共通レベル
データに対応する前記各リズム音毎の補正データ
を記憶するレベル記憶手段とを備え、前記リズム
音と読出発生手段は、前記レベル記憶手段から読
み出された補正データに基づいて、発生するリズ
ム音の楽音パラメータを補正制御することを特徴
とする。 補正データに基づいて補正制御されるリズム音
の楽音パラメータとしては、音量または音色が代
表的である。 (実施例の説明) 第1図はこの発明の1実施例による自動リズム
演奏装置を備えた電子楽器の全体構成を示す。同
図において、鍵盤10は図示しない上鍵盤UK、
下鍵盤LKおよびペダル鍵盤PK等を備え、演奏者
の押鍵に応じた鍵情報を発生する。パネル12は
楽音選択用操作子14とリズム用操作子16とを
備え、楽音選択およびリズム種類選択などの操作
子情報を発生する。リズム用操作子16は、例え
ば第2図に示すように、マーチ、ワルツ等のリズ
ム種類を選択するリズム選択スイツチ18,18
−1,18−2,…、リズムの開始および停止を
制御するスタート・ストツプスイツチ20、リズ
ム音量調節用のトータルボリウム22、リズムの
テンポ設定用のテンポ設定子24等を含む。な
お、トータルボリウム22およびテンポ設定子2
4は、多段のデイジタルスイツチ、または可変抵
抗器とA/D変換器とを組み合せたもの等からな
り、設定位置に応じた音量およびテンポのデイジ
タルデータを発生する。 鍵盤10およびパネル12はそれぞれキースイ
ツチインターフエース30およびパネルインター
フエース32を介してアドレスバスADBとデー
タバスDBとからなるバスライン34に接続され
ており、このバスライン34には中央処理装置
(CPU)36が接続されている。 CPU36は、プログラムカウンタPC、Aレジ
スタA、XレジスタX、YレジスタY等を有する
マイクロプロセツサ等で構成され、キースイツチ
インターフエース30およびパネルインターフエ
ース32を介して鍵盤10およびパネル12を走
査し、発生した鍵情報および操作子情報を取り込
むとともに、これらの情報に基づいて鍵盤音やリ
ズム音に関する各種の制御データを発生するなど
第1図の電子楽器全体の動作を制御する。 バスライン34には、さらに、プログラムメモ
リ38、ワーキングメモリ40、リズムパターン
メモリ42およびパターン先頭アドレスメモリ4
4、ならびにCPU36で発生する制御データ送
出用の各インターフエースが接続されている。 プログラムメモリ38は、CPU36の制御プ
ログラムが格納されたリードオンメモリROMで
ある。 ワーキングメモリ40はランダムアクセスメモ
リRAMよりなり、その一部にCPU36が制御プ
ログラムを実行する際に発生する各種データを一
時格納するためのワーキングエリアが設けられて
いる。このワーキングエリアは第1表に示すよう
なレジスタまたはフラグ等で構成される。
(Field of the Invention) The present invention controls the timbre or volume based on performance volume data according to the type of musical instrument, and generates richer rhythmic sounds by bringing the instrument sound characteristics in response to the strength of the performance closer to the actual ones. This invention relates to an automatic rhythm performance device. (Background of the Invention) A conventional automatic rhythm performance device has a pattern memory that stores rhythm pattern data and corresponding volume data such as accents or percussion instrument sounds, and automatically plays percussion instrument sounds according to rhythm selection. What occurs is known. By the way, in such devices, regardless of the type of instrument, the volume of multiple musical instrument sounds is uniformly controlled simply by inputted volume data, and the rhythm sound generated depends on the strength and weakness of the performance for each instrument. Compared to actual musical instrument sounds, which have different pronunciation volumes and tones, the sounds were poor. (Object of the Invention) In view of the above-mentioned problems with the conventional type, the present invention is based on the concept of correcting the tone volume for each instrument (sound source) based on common level data indicating the strength and weakness of the performance in an automatic rhythm performance device. The aim is to obtain richer rhythmic sounds that are closer to actual musical instrument sounds. [Structure of the Invention] In order to achieve this object, an automatic rhythm performance device according to the present invention provides sound generation timing data for each rhythm sound and a level control mode having a plurality of levels that are commonly set for a plurality of types of the rhythm sounds. a pattern memory storing rhythm pattern data including common level data representing a desired stage of the sound generation timing data; and a pattern memory storing rhythm pattern data including common level data representing a desired stage of the sound generation timing data; and a level storage means for storing correction data for each of the rhythm sounds corresponding to the common level data, and the rhythm sound and readout generation means read out data from the level storage means. The present invention is characterized in that the musical tone parameters of the rhythm tones to be generated are corrected and controlled based on the corrected data. Volume or timbre is typical of musical sound parameters of rhythm sounds that are corrected and controlled based on correction data. (Description of Embodiments) FIG. 1 shows the overall configuration of an electronic musical instrument equipped with an automatic rhythm performance device according to an embodiment of the present invention. In the figure, the keyboard 10 is an upper keyboard UK (not shown);
It is equipped with a lower keyboard LK, a pedal keyboard PK, etc., and generates key information according to the keys pressed by the performer. The panel 12 includes a musical tone selection operator 14 and a rhythm operator 16, and generates operator information such as musical tone selection and rhythm type selection. The rhythm operator 16 includes, for example, rhythm selection switches 18 and 18 for selecting the type of rhythm such as march and waltz, as shown in FIG.
-1, 18-2, . . . , a start/stop switch 20 for controlling the start and stop of the rhythm, a total volume 22 for adjusting the rhythm volume, a tempo setter 24 for setting the rhythm tempo, and the like. In addition, total volume 22 and tempo setter 2
Reference numeral 4 is composed of a multi-stage digital switch or a combination of a variable resistor and an A/D converter, and generates digital data of the volume and tempo according to the set position. The keyboard 10 and panel 12 are connected to a bus line 34 consisting of an address bus ADB and a data bus DB via a key switch interface 30 and a panel interface 32, respectively, and this bus line 34 is connected to a central processing unit (CPU). ) 36 are connected. The CPU 36 is composed of a microprocessor having a program counter PC, an A register A, an X register , takes in the generated key information and operator information, and controls the overall operation of the electronic musical instrument shown in FIG. 1, such as by generating various control data regarding keyboard sounds and rhythm sounds based on this information. The bus line 34 further includes a program memory 38, a working memory 40, a rhythm pattern memory 42, and a pattern start address memory 4.
4 and each interface for sending control data generated by the CPU 36 are connected. The program memory 38 is a read-on memory ROM in which a control program for the CPU 36 is stored. The working memory 40 is composed of a random access memory RAM, and a part thereof is provided with a working area for temporarily storing various data generated when the CPU 36 executes a control program. This working area is composed of registers, flags, etc. as shown in Table 1.

【表】 なお、以下の説明においては各レジスタ等の内
容とこれらのレジスタ等とは同じ記号で示す。例
えば拍数レジスタも拍数レジスタの内容もいずれ
もHKPEで示す。 テンポデータレジスタTEMPO、音量データレ
ジスタTOTLEVおよびリズム種類レジスタ
RHYPTNにはそれぞれリズム用操作子16のテ
ンポ設定子24、トータルボリウム22およびリ
ズム選択スイツチ18の操作子情報が格納され
る。 リズムパターンメモリ42は、ROMで構成さ
れ、第3図aに示すように、マーチ、ワルツ等の
各リズム種類ごとのリズムパターンが格納されて
いる。これらのリズムパターンは、それぞれ第3
図bの拡大図に示すように、先頭アドレスに格納
された楽器グループナンバIGN、ならびに続く
各アドレスに格納された各拍内タイミングにおけ
るイベントデータEVT、拍エンドデータBE(16
進法表示で「OD」(以下$OD)と記す)のデー
タ)およびリターンデータRTN($OF)からな
る。 ここで楽器グループとは、マーチ、ワルツ等の
リズム音を発生するための楽器音を後述のリズム
音発生回路60における音源形成チヤンネル数の
8種類ずつ抽出して形成した楽器グループで、こ
の楽器グループごとにグループを形成する楽器を
各音源形成チヤンネルに割り当てている。この実
施例においては、マーチ、タンゴのリズム音発生
用に0、ワルツ、バラード用に1というように0
〜7の楽器グループナンバIGNに対応する8つ
の楽器グループが設けられており、例えば楽器グ
ループハナンバIGNの値が1の場合はチヤンネ
ル番号0〜7で表わされる各チヤンネルに対しチ
ヤンネル0はトツプシンバルTCY、チヤンネル
1はハイトツトHH、…、チヤンネル5はスネア
ドラムブラツシユロールSDB、…というように
ワルツおよびバラードのリズム音を発生するため
の8種類の楽器が割り当てられている。この楽器
グループの概念を導入することにより、この電子
楽器においては各リズム種類ごとに最大8種類の
楽器音からなるオートリズムを発生することがで
きる。因みに従来のオートリズム演奏装置におい
ては全種類のリズム音で用いられる楽器が音源形
成チヤンネル数、例えば8種類であつて、1つの
リズム音に用いられる楽器は音源形成チヤンネル
数より少ないのが通常であるが、この実施例によ
ると、例えばリズム種類ごとに所望の8種類、全
リズム種類では任意数の楽器音を用いてリズム音
を形成することも容易である。 この電子楽器は、1ビートすなわち1拍の1/12
を単位とするタイミングでリズムを発音するよう
に構成されており、リズムパターンメモリ42内
には発生すべき楽音の楽音要素をデータとして含
むイベントデータEVTがそのイベントの発生す
る拍数および12個の拍内タイミング順に格納され
ている。このイベントデータEVTは、第3図c
に示すように、8ビツトを1バイトとするメモリ
の2バイトを用いて第1バイトの下位4ビツト
(第4〜1ビツト)にイベントの発生する拍内タ
イミングHTIM、第7〜5ビツトに音源形成チ
ヤンネルナンバCHN、第2バイトの上位4ビツ
ト(第8〜5ビツト)にその拍内タイミングで発
生する楽器音のピツチ制御データPITおよび第3
〜1ビツトにその楽器演奏の強弱すなわち各タイ
ミングで発生する楽器音のレベルが楽譜上でフオ
ルテシモff〜ピアニシモppのいずれであるかを示
す共通レベルデータLEVが格納されている。拍
エンドデータBEは拍と拍との境界を示し、リタ
ーンデータRTNはリズムパターンの最後尾を示
す。また、これらの拍エンドデータBEおよびリ
ターンデータRTNは直前のイベントデータEVT
に示された拍内タイミング以後、その拍内でのイ
ベントはないことを示す。 パターン先頭アドレスメモリ44はリズムパタ
ーンメモリ42における各リズム音のリズムパタ
ーン先頭アドレスが格納されており、リズム種類
レジスタの内容RHYPTNを入力すると対応する
リズムパターンメモリの先頭アドレスを出力する
変換ROMである。 鍵盤音形成回路48は、鍵楽音インターフエー
ス50を介してCPU36からの鍵盤音に関する
データを入力し、複数(例えば10個)の時分割チ
ヤンネルで鍵盤音データを形成してこれらのデー
タを時分割多重化した鍵盤音信号を出力する。 この鍵盤音信号は、D/A変換器52において
後述するリズム音信号RTSとともに全チヤンネ
ル分のデータが音響的にミキシングされ、アナロ
グ楽音信号に変換された後、増幅器54およびス
ピーカ56を介して音響として発音される。 リズムインターフエース58は、CPU36が
リズムパターンメモリ42から読み出して出力す
るピツチ制御データPITおよび共通レベルデータ
LEVなどのイベントデータEVTやこのイベント
データEVTが読み出されたことを示す発音命令
信号NKONを一時記憶したり、CPU36からの
指令によつて記憶しているデータを第4図に示す
ような9ビツトのシリアルデータOPCに変換し
てリズム音発生回路60に転送したりする。 なお、このデータOPCの最上位ビツトは常時
“1”のアベイラブル信号Avとなつており、
CPU36の割込処理においてデータOPCの転送
が生じると“0”連続入力データが“1”に変化
するので例えデータOPCの全ビツトが“0”で
あつてもデータ転送の有無を判別することができ
る。また、このリズムインターフエース58はテ
ンポ設定子22に設定されたテンポデータに従つ
て動作するテンポカウンタを含み、CPU36か
らリズムスタート信号が入力したときおよびその
後1ビートごとにCPU36にデータ転送処理を
割り込みで行なわせるための割込信号RINTを発
生することにより、この電子電器における自動リ
ズム演奏のテンポを設定している。 リズム音発生回路60は、CPU36からリズ
ムインターフエース58およびパネルデータイン
ターフエース62を介して入力するOPC、TLV
およびPANなどのリズム音に関するデータに基
づき8個の時分割チヤンネルごとに楽器音信号を
発生し、これらの楽器音信号を時分割多重化した
リズム音信号RTSを出力する。なお、このリズ
ム音発生回路60は楽器種類ごとに共通レベルデ
ータLEVに基づき音量または音色等、楽音特性
を制御する楽音特性制御回路を含んでいる。 このリズム音信号RTSは、後述のようにD/
A変換器52、増巾器54およびスピーカ56を
介して音響に変換される。 パネルデータインターフエース62は、CPU
36がリズム用操作子16のトータルボリウム2
2から読み取つた音量データTOTLEV(または
これを対数変換したデータ)およびCPU36が
リズムパターンメモリ42から読み出した楽器グ
ループナンバIGNをそれぞれ第4図に示すよう
なシリアルデータTLVおよびPANに変換してリ
ズム音発生回路60に送出する。 (第1図の電子楽器の動作説明) 次に第5〜9図のフローチヤートを参照しなが
ら第1図の電子楽器の動作を説明する。第5図を
参照して、この電子楽器に電源が投入されると、
CPU36はプログラムメモリ38に格納された
制御プログラムに従つて動作を開始する(ステツ
プ100)。ステツプ101ではCPU36、ワーキング
メモリ40およびリズムインターフエース58等
に含まれる各レジスタ、フラグ等をクリアして回
路全体をイニシヤライズし、ステツプ102では鍵
盤10およびパネル12の各操作子を操作して変
更のあつた操作子およびその操作子情報を検出す
る。この検出は、例えば各操作子ごとの操作子情
報と各レジスタTEMPO、TOTLEV、
RHYPTN等に格納された前回の操作子情報との
排他的論理和が0でない場合を操作子情報変更す
なわちイベント有りとして検出することができ
る。なお、このステツプ102ではスタート・スト
ツプスイツチ24がスタートまたはストツプ側に
押圧された場合にもその操作子情報を検出する。
またトータルボリウム22またはテンポ設定子2
4の操作子情報は、例えばこれらのボリウムの位
置を0〜15の16ステツプのデイジタルデータで表
わし、このデータをそのままトータルボリウムレ
ジスタTOTLEVおよびオートリズムテンポレジ
スタTEMPOに格納する。 ステツプ103ではステツプ102でイベントが検出
されたか否かを判定し、イベントがなければステ
ツプ102に戻つてさらにイベントの検出を行ない、
イベント有りならば以降のステツプで検出された
イベントの種類に応じた処理を行なう。 ステツプ102で検出されたイベントが鍵盤10
における鍵の押下もしくは解除または楽音選択用
操作子14の押下による楽音変更であるときはス
テツプ110に進む。ステツプ110では、各鍵データ
または楽音選択データを処理して鍵楽音インター
フエース50に出力する。鍵楽音インターフエー
ス50はこれらのデータをさらに鍵盤音形成回路
48に送出する。 前記イベントがスタート・ストツプスイツチ2
0によるリズムスタートであれば、ステツプ120
でワーキングメモリ40内のリズムランフラグ
RHYRUNをセツトした後、ステツプ121でリズ
ムテンポを同期させる。 ステツプ102におけるイベントがスタート・ス
トツプスイツチ20によるリズムストツプである
ときは、ステツプ130で第1表に示すパターン変
更フラグPCHNGF、リズムランフラグ
RHYRUN等のリズム関係レジスタ、フラグをク
リアする。 ステツプ102におけるイベントがテンポ設定子
24によるテンポ変更であるときは、ステツプ
140でテンポデータTEMPOをリズムインターフ
エース58にロードする。リズムインターフエー
ス58においてはこのテンポデータにより1ビー
トのピツチすなわちCPU36が後述する割込処
理INTRPT200によつてリズムパターンを読
み出すテンポが決定される。 ステツプ102におけるイベントがトータルボリ
ウム22によるリズム音量の変更であるときは、
ステツプ150で音量データTOTLEVをパネルデ
ータインターフエース62に出力する。パネルデ
ータインターフエース62はこの音量データ
TOTLEVをシリアルな音量制御信号TLVに変換
してリズム音発生回路60に出力する。 ステツプ102におけるイベントがリズム選択ス
イツチ26の押下によるリズム種類RHYPTNの
変更であるときは、リズムセツト処理RHYSET
160(第6図)を実行する。すなわち、ステツ
プ161で小節内タイミングカウンタTIMINGの内
容を参照して拍数レジスタの拍数をタイミング
TIMINGが0〜11なら1に、12〜23なら2に、
24〜35なら3に、36〜47なら4にセツトする。こ
れは変更後のリズムを変更前の同一のタイミング
で継続させるためで、ステツプ165で同一拍数、
同一拍内タイミングのリズムパターンデータが格
納されたアドレスにパターンポインタRHPNT
をセツトする際に用いる。ステツプ162では再び
リズムランフラグRHYRUNを検査しリズム進行
中であればステツプ163で拍エンドフラグ
RHHENDをクリアする。これは拍エンドフラグ
RHHENDがセツトされままになつていると、変
更後のリズム時変更時のタイミング以降にイベン
トデータを有するときこれらのイベントデータの
読み取りをスキツプしてしまうからである(ステ
ツプ401参照)。変更後のリズムにおいても変更時
のタイミング以降にイベントデータが存在しない
ときは、リズムポインタRHPNTをセツトする
際に拍エンドフラグRHHENDがセツトされる。
ステツプ162の判定がリズム停止中のときはリズ
ムストツプ処理の際ステツプ130において拍エン
ドフラグRHHENDは既にクリアされているので
ステツプ165をスキツプしてステツプ166に進む。 ステツプ164では、リズム種類レジスタの内容
RHYPTNで先頭パターンアドレスメモリ44を
アドレスして選択されたリズム種類の先頭アドレ
スを読み出し、ワーキングメモリ40内のリズム
パターン先頭アドレスレジスタRHYROMに格納
する。ステツプ165ではリズムパターンメモリ4
2を先頭アドレスRHYROMとパターンポインタ
の内容RHPNTとの和で示されるアドレスで先
頭アドレスから順次読み出し、読み出された拍エ
ンドデータBEの数および拍内タイミングHTIM
と、拍数HKPEおよび小節内タイミング
TIMINGとを比較してパターンポインタ
RHPNTをセツトする。このセツトにより、先
頭アドレスRHYROMとパターンポインタの内容
PHPNTとの和で示されるアドレスは、エンドデ
ータBEの数が拍数HKPEの値より1少なく、か
つ拍内タイミングHTIMが小節内タイミング
TIMING以上になる最初のアドレスを示すよう
になる。ステツプ166ではリズムパターンメモリ
42の先頭アドレスに格納された楽器グループナ
ンバIGNを読み出してパネルデータインターフ
エース62に出力する。パネルデータインターフ
エース62は楽器グループナンバIGNをシリア
ル信号PANに変換してリズム音発生回路60に
送出する。 ステツプ167ではリズム種類RHYPTNが3拍
子および4拍子のいずれであるかを判定し、3拍
子であればステツプ168で、4拍子であればステ
ツプ169で最大タイミングレジスタTMPMAXに
1小節内の最大タイミング数である35および47を
記憶させる。 ステツプ102でイベント検出後、イベントの種
類ごとにステツプ110〜169の処理を終了するとス
テツプ102に戻つて新たなイベントの検出を行な
う。 前述したように第1図の電子楽器においては、
スタート・ストツプスイツチ20をスタートにし
たとき、およびリズムインターフエース58に含
まれるテンポカウンタが設定されたテンポに従つ
て1拍の1/12すなわち1ビートをカウントしたと
きリズムインターフエース58からCPU36に
割込信号RINTが送出される。従つてCPU36
はリズムスタート時と以後の1ビートごとに第7
図の割込処理INTRPT200を実行する。 先ず、ステツプ201では割込処理終了後もとの
状態に復帰できるように各レジスタ、プログラム
カウンタ等をセーブし、続いて第8図に示すリズ
ム音発生データ出力処理RHIRQ210を実行す
る。 第8図を参照して、ステツプ211でリズムラン
フラグRHYRUNを検査してリズムが進行中は否
かを判定する。この判断が「ノー」すなわちリズ
ムが停止している場合は、リズム音データを出力
する必要はないからステツプ260(第7図)でセー
ブしていた各レジスタを復帰させて直ちに割り込
みを解除し、もとのルーチンに復帰する。ステツ
プ211でリズムが進行中ならばデータ出力サブル
ーチンRHYCNV400(第9図)を実行する。 第9図を参照して、ステツプ401で拍エンドフ
ラグRHHENDを検査し、拍エンドであれば以後
拍アツプするまでの拍内タイミングTMPCNTに
イベントデータは存在しないからそのままもとの
ルーチン(第8図)に戻る。拍エンドでなけれ
ば、ステツプ402でリズムポインタRHPNTの内
容をYレジスタにセツトし、続いてステツプ403
および404でリズムパターン先頭アドレス
RHYROMとYレジスタの内容Y(すなわちリズ
ムポインタの内容RHPNT)との和でリズムパ
ターンメモリ42をアドレスして第3図cに示す
イベントデータEVTの第1バイトのチヤンネル
ナンバCHNおよび拍内タイミングデータHTIM
を読み出し、AレジスタおよXレジスタに格納す
る。次にステツプ405でAレジスタの内容と$OF
との論理和を求めAレジスタの内容を下位4ビツ
トの拍内タイミングデータHTIMだけ残し、ス
テツプ406でこの拍内タイミングデータHTIMと
テンポカウンタTMPCNTで示されるタイミング
とが一致するか否かを判定する。ステツプ406で
これらのタイミングが一致していればこのデータ
は現在処理すべきタイミングTMPCNTのもので
有効であるからステツプ407でポインタとしての
Yレジスタの内容を歩進させ、ステツプ408でイ
ベントデータEVTの第2バイトのピツチ制御デ
ータPITおよび共通レベルデータLEVを読み出
してAレジスタに格納する。ステツプ409ではA
レジスタに格納されたピツチ制御データPITおよ
び共通レベルデータLEVならびにXレジスタに
格納されているチヤンネルナンバCHNをリズム
インターフエース62に出力する。 ステツプ410ではさらに次のイベントデータ
EVTを読み出すべくリズムパターンメモリポイ
ンタとしてのYレジスタの内容をさらに歩進す
る。ステツプ411〜414ではステツプ403〜406の手
順を繰り返しステツプ407〜414で現在の拍内タイ
ミングTMPCNTと同一の拍内タイミングデータ
HTIMを有するイベントデータをすべて読み出
す。ステツプ406または414において同一拍内タイ
ミングを有するイベントデータが存在しないとき
はステツプ415に進み、ステツプ405または413で
Aレジスタに残したタイミングデータが$OD以
上か否かすなわち拍エンドまたはリターンかを判
定する。拍内タイミングは必らず$OO〜$OB
であり、Aレジスタの内容Aが$OD以上になる
のは拍エンドデータBE($OD)かリターンデー
タRTN($OF)を読み取つたときである。そこ
で上記判定でAレジスタ≧$ODのときは次にス
テツプ416でリターンか否か判定する。リターン
($OF)であればステツプ417でYレジスタをク
リアし、拍エンド($OD)であればステツプ
417をスキツプしてステツプ48に進む。ステツプ
418では拍エンドフラグRHHENDをセツトし、
ステツプ419でYレジスタの内容を歩進し、ステ
ツプ420でリズムポインタRHPNTにYレジスタ
の内容Yをセツトしもとのルーチン(第8図ステ
ツプ240)に戻る。上記のステツプ417,419およ
び420の処理によりリターンデータRTNが検出さ
れたときはリズムポインタRHPNTは1にセツ
トされ、また拍エンドデータBEが検出されたと
きはリズムポインタRHPNTはステツプ419にお
いて拍エンドデータBEが格納された番地の次の
番地を示すこととなる。ステツプ415の判定にお
いて拍エンドまたはリターンでない場合はステツ
プ420に進み、ステツプ420でリズムポインタ
RHPNTにタイミングTMPCNTと一致しない拍
内タイミングを読み出したときの番地がそのまま
格納された後、第8図のルーチンのステツプ240
に戻る。 第8図を参照して、ステツプ240ではリズムイ
ンターフエース58にデータ転送指令を送出す
る。すると、リズムインターフエース58は、ス
テツプ409で入力し記憶しているピツチ制御デー
タPITおよび共通レベルデータLEVなどからな
る10ビツトのシリアルデータOPCをリズム音発
生回路60に送出する。 ステツプ241では拍内タイミングカウンタ
TMPCNTを歩進し、ステツプ242で拍オーバー
か否かを判断する。ステツプ242で拍オーバーと
判定されると、次にステツプ243で小節内タイミ
ングカウンタTIMINGを歩進する。拍オーバー
のときは小節オーバーである可能性があるから、
次にステツプ244でステツプ243の拍オーバーは小
節オーバーか否かを小節内タイミングカウンタの
内容TIMINGが最大タイミングTMPMAXに達
したか否かで判定する。小節オーバーであれば、
ステツプ245で拍エンドフラグRHHENDをリセ
ツトし、ステツプ246で小節内タイミングカウン
タTIMINGおよび拍内タイミングカウンタ
TMPCNTをリセツトした後、第7図のステツプ
260に戻る。また拍オーバーではあるが、小節オ
ーバーでないときはステツプ247で拍エンドフラ
グRHHENDをリセツトし、ステツプ248で拍内
タイミングカウンタTEMPCNCをリセツトした
後、第7図のステツプ260に戻る。 ステツプ242の判定が拍オーバーでないときは
ステツプ249で拍内タイミングカウンタTIMING
をインクリメントした後、第7図のステツプ260
に戻る。 第7図を参照して、リズム音発生データ出力処
理RHIRQ210(第8図)のステツプ211,
246,248および249からリターンした後、ステツ
プ260ではこの割込処理INTRPTのために待避さ
せていたプログラムカウンタ、各レジスタ等を復
帰し、割込前の状態に戻る。 次に第10図を参照してリズムインターフエー
ス58の詳細動作を述べる。このインターフエー
ス58は、デコーダ70、テンポレジスタ72、
リズム音源データレジスタ74、チヤンネルレジ
スタ76およびフアンクシヨンレジスタ78等を
具備し、図示しないタイミング信号発生器からの
タイミング信号φ、ChT等で駆動されるように
なつている。 デコーダ70は、CPU36(第1図)がアド
レスバスに送出するアドレス信号が、テンポレジ
スタ72、リズム音源データレジスタ74、チヤ
ンネルレジスタ76およびフアンクシヨンレジス
タ78のいずれかであるとき、そのアドレス信号
に応じて各レジスタ72〜78にロード信号
RHYDEC1〜4を送出する。従つてCPU36が
データバスDBを介して送出するデータはCPU3
6がアドレス指定するレジスタに供給され格納さ
れる。 CPU36(第1図)は、テンポ設定子24
(第2図)が操作されると、このテンポ設定子2
4からテンポデータTEMPOを取り込むとともに
リズムインターフエース58のテンポレジスタ7
2をアドレスしてテンポデータTEMPOを送出す
る。デコーダ70は、アドレスバスADBに送出
されたテンポレジスタ72を指定するアドレデー
タに基づいてテンポレジスタ72のロード端子に
デコード出力RHYDEC1を供給し、このため、
テンポレジスタ72はこのときデータバスDBに
送出されているデータすなわちテンポデータ
TEMPOを記憶する。このテンポデータはテンポ
ROM80に供給される。ROM80は、データ
TEMPOをカウンタ82のプリセツトデータPSD
に変換してカウンタ82に供給する。 カウンタ82は、ロード端子LDすなわちOR回
路84の出力が“1”のときプリセツトデータ
PSDをプリセツトされ、続いてクロツク発生回
路86の出力する一定周波数のクロツク信号φを
カウントし、オーバーフローしたときにキヤリア
出力端子Coに“1”を出力する。この出力はOR
回路84の第1の入力端子に入力され、カウンタ
82はオーバーフローするたびにプリセツトされ
ることになる。すなわち、このカウンタ82はオ
ーバーフロー値をN、プリセツト値をMとする
と、クロツク信号φの周波数を1/(N−M)に
分周してテンポ設定子24(第2図)に設定され
たテンポの出力を発生する。なお、このカウンタ
82としてはプリセツトした後クロツク信号φを
ダウンカウントしてカウント値0で端子Coに
“1”を出力し、クロツク信号φを1/Mに分周
するものでもよく、また他の周知の可変分周形の
カウンタでもよい。OR回路84の出力はさらに
割込信号RINTとしてCPU36が送出され、
CPU36はカウンタ82がプリセツトされると
同時に後述の割込処理動作を開始する。また、ク
ロツク発生回路86の出力は別のOR回路88の
第1の入力端子に供給される。OR回路88の出
力はクロツク発生回路86のリセツト端子に接続
されているので、このクロツク発生回路86は出
力を発生すると直ちにリセツトされ、従つて短い
パルス幅のクロツク信号φを発生している。 前述のように、CPU36(第1図)は、スタ
ート・ストツプスイツチ20(第2図)がスター
ト側に押圧されたことを検出すると、フアンクシ
ヨンレジスタ78をアドレスしてデータバスDB
にスタート指令($01)を送出する。すると、デ
コーダ70はそのアドレスデータに基づきデコー
ド出力RHYDEC4をフアンクシヨンレジスタ7
8のロード端子に供給する。このため、フアンク
シヨンレジスタ78には、スタート指令($01)
がロードされ、レジスタ78は、短い時間“1”
のパルスをスタート信号START=“1”として
送出した後自動的にクリアされる。 このスタート信号START=“1”は、OR回路
84および88それぞれの第2の入力端子に供給
される。このため、OR回路84はカウンタ82
をプリセツトすると同時にCPU36に割込信号
RINTを供給し、OR回路88はクロツク発生回
路86をリセツトする。従つて、これらのカウン
タ82、クロツク発生回路86およびCPU36
相互におけるリズムテンポが同期する。 自動リズム演奏開始後、CPU36(第1図)
によつてリズムパターンメモリ42(第1図)か
ら読み出されたイベントデータEVTは、3ビツ
トの共通レベルデータLEVおよび4ビツトのピ
ツチ制御データPITが7ビツトのデータとしてリ
ズム音源データレジスタ74に供給され、チヤン
ネルナンバCHNはチヤンネルレジスタ76に格
納される。 チヤンネルカウンタ90は、チヤンネルタイミ
ング信号ChTを0から7まで繰り返しカウント
し、比較器92はこのチヤンネルカウンタ90の
出力とチヤンネルレジスタ74の出力するチヤン
ネルナンバCHNとを比較して、これらが一致し
たとき一致信号EQをAND回路94の第1の入力
端子に供給する。 フリツプフロツプ96はチヤンネルレジスタ7
6のロード信号RHYDEC3によつてセツトさ
れ、AND回路94の出力CHEQ=“1”によつて
リセツトされるもので、チヤンネルナンバCHN
がロードされた後信号CHEQ=“1”が発生する
までAND回路94の第2の入力端子に信号“1”
を供給し、それ以外では“0”を供給する。この
ため、AND回路94は、比較器92の出力EQと
フリツプフロツプ96のセツト出力Qとの論理積
としてのチヤンネル合致信号CHEQ=“1”をチ
ヤンネルナンバCHNをロードした後の1回に限
りチヤンネルタイミング信号ChT前縁の微分波
形として出力する。 この信号CHEQ=“1”はセレクタ98に入力
Bを選択するための信号SBとして供給される。
このため、8ステージ7ビツトのシフトレジスタ
100には、リズム音源データレジスタ74から
3ビツトの共通レベルデータLEVおよび4ビツ
トのピツチ制御データPITが供給される。シフト
レジスタ100はタイミング信号ChTに応じて
これらのデータを取り込み、順次シフトする。ま
た、信号CHEQは発音指令信号NKON=“1”と
して8ステージ1ビツトのシフトレジスタ102
にOR回路104を介して供給され、タイミング
信号ChTに応じて取り込まれる。 なお、シフトレジスタ100,102およびチ
ヤンネルカウンタ90はいずれも同一のチヤンネ
ルタイミング信号ChTによつて同期的に動作し
ており、この結果、シフトレジスタ100,10
2には、データLEVおよびPITならびに信号
NKON=“1”がチヤンネルレジスタ76に格納
されたチヤンネルナンバCHNに対応するステー
ジに書き込まれる。 セレクタ98には、信号CHEQが“0”の間、
インバータ106を介して入力Aを選択するため
の信号SAが供給される。このため、シフトレジ
スタ100の出力はセレクタ98を介して入力側
に帰還され、シフトレジスタ100に書き込まれ
たデータLEVおよびPITは循環的に記憶される。
同様に、シフトレジスタ102に書き込まれた信
号NKON=“1”もAND回路108およびOR回
路104を介して循環的に記憶される。 CPU36(第1図)は、前述のように、リズ
ムパターンメモリ42(第1図)からイベントデ
ータEVTを読み出した後、フアンクシヨンレジ
スタ78をアドレスしてデータバスDBに転送指
令($20)を送出する。すると、デコーダ70は
そのアドレスデータに基づきデコード出力
RHYDEC4をフアンクシヨンレジスタ78のロ
ード端子に供給し、このため、フアンクシヨンレ
ジスタ78に転送指令($20)がロードされる。 レジスタ78は、シフトレジスタ100,10
2に格納された8チヤンネル分の全データおよび
信号がシリアルデータOPCに変換され、出力さ
れるチヤンネルタイミング信号ChT約8個分の
時間転送信号TRANS=“1”を送出し、後は自
動的にクリアする。 信号TRANS=“1”は、P/S変換器110
の転送端子Sに供給される。P/S変換器110
には、そのパラレルデータ入力端子P1〜P9
に、シフトレジスタ100,102に8つのチヤ
ンネルごとに格納されたデータおよび信号がチヤ
ンネルタイミング信号ChTと同期してチヤンネ
ルごとに順次入力しており、またロード端子LD
にはチヤンネルタイミング信号ChTが入力して
いる。そして、フアンクシヨンレジスタ78が転
送信号TRANS=“1”を発生すると、このP/
S変換器110はチヤンネルタイミング信号
ChTが“1の期間にP1〜9のデータをチヤン
ネル毎に取り込み、その取り込んだデータをチヤ
ンネルタイミング信号ChTが“0”の期間にク
ロツク信号φのタイミングでシリアルなデータ
OPCとしてリズム発生回路60に送出する。こ
の動作が8回繰り返されることにより、全8チヤ
ンネル分のデータが送出される。 転送信号TRANS=“1”は、また、インバー
タ112を介してAND回路108の第2の入力
端子に信号“0”として供給される。このため、
シフトレジスタ102を含む循環路は遮断され、
シフトレジスタ102は全ステージがクリアされ
る。 (リズム音発生回路60の動作説明) 第11図は、リズム音発生回路60(第1図)
の機能を理解するための概略ブロツク図である。
次に第11図を参照してリズム音発生回路60の
動作を述べる。この回路60は、リズム制御回路
130、基本ピツチ・音色・エンベロープデータ
ROM132、音源回路134、音色制御回路1
36および音量制御回路138を含んでおり、図
示しないタイミング信号発生器から第12図に示
すようなタイミング信号φ,φAB等を受信して動
作するようになつている。ただし、第11図でタ
イミング信号φの記入は省略してある。 前述したようにリズムセツトの処理がなされる
と、パネルデータインターフエース62からリズ
ム制御回路130には3ビツトの楽器グループナ
ンバ信号IGNを含むリズム音制御信号PANが供
給される。S/P変換回路140はこの信号
IGNをパラレル信号に変換するとともにロード
信号LDを付加して楽器グループナンバレジスタ
142に供給する。このため、レジスタ142は
ロード信号LDに応じて楽器グループナンバ信号
IGNを記憶し、楽器ナンバROM144に供給す
る。 ROM144は、各楽器グループ毎に8つの楽
器に対応した楽器名データGSを記憶するもので、
これらのデータは、レジスタ142からの3ビツ
トの楽器グループナンバ信号IGNと、タイミン
グ信号φABを計数するチヤンネルカウンタ146
の3ビツトの計数出力とをアドレス信号として
ROM144から読み出されるようになつてい
る。 例えば楽器グループナンバ信号IGNの値が1
で、ワルツ、バラードのリズム種類を指定したと
すると、ROM144からはカウンタ146のカ
ウント値(チヤンネルナンバCHN)が0のとき
楽器名トツプシンバルを示す5ビツトのデータが
読み出され、このようなデータ読出はカウンタ1
46のカウント値が1,2,3…7と変化するに
つれて他の7つの楽器名についても同様に行なわ
れる。そして、カウンタ146が8チヤンネル
(8楽器)分の計数動作をくりかえすのに伴つて
ROM144からのデータ読み出しもくりかえさ
れる。 このROM144から読み出された楽器名デー
タGSは、レジスタ148のチヤンネルナンバ
CHNに対応するステージに書き込まれ、カウン
タ146の計数するチヤンネルナンバCHNと同
期して送出される。 リズムインターフエース58(第10図)か
ら、発音命令信号NKONを含む8楽器分のシリ
アルデータOPCがリズム制御回路130に供給
されると、このデータOPCはS/P変換・ラツ
チ回路150においてS/P変換され、一時記憶
される。 このS/P変換・ラツチ回路150に記憶され
た3ビツトの共通レベルデータLEVおよびピツ
チ制御データPITは、リズムインターフエース5
8からデータOPCとともに送出される同期信号
およびタイミング信号φABに応じてそれぞれレジ
スタ152の各チヤンネルナンバCHNに対応す
るステージに書き込まれ、カウンタ146の計数
動作と同期してチヤンネルごとに送出される。ま
た、発音命令信号NKONは、データOPCがS/
P変換・ラツチ回路150に記憶された後、カウ
ンタ146が最初に対応するチヤンネルナンバ
CHNを計数したとき回路150から送出される。 ROM132は、各楽器名毎にピツチ指定デー
タPIT0、音色指定データCLDおよびエンベロー
プ値データENVを記憶するもので、これらのデ
ータは、レジスタ148からの5ビツトの楽器名
データGSをアドレス信号としてROM132から
読み出されるようになつている。 音源回路134は、ROM132からの14ビツ
トのピツチ指定データPIT0にレジスタ152か
らの4ビツトのピツチ制御データPITを加算して
若干修正を加えたピツチに相当する周波数の正弦
波、三角波、矩形波または鋸歯状波等比較的単純
な音源波形のデータを発生する。 音色制御回路136において、音色補正データ
発生回路154は、レジスタ152からの3ビツ
トの共通レベルデータLEVとレジスタ148か
らの5ビツトの楽器名データGSとに基づき音色
補正データを出力する。 音色付加回路156は、ROM132からの音
色指定データCLDを音色補正データ発生回路1
4からの音色補正データで修正したデータによつ
て、音源回路134からの音源波形データを例え
ばFM変調して発音すべき打楽器音の周波数分布
を変化させる。 音量制御回路138において、エンベロープジ
エネレータ定数修正ROM158は、レジスタ1
48からの楽器名データGSとレジスタ152か
らの共通レベルデータLEVとをアドレス信号と
して音量修正データを出力する。 エンベロープジエネレータ160は、S/P変
換・ラツチ回路150から発音命令信号NKON
が入力したときクリアされるとともに、ROM1
32からのエンベロープ定数ENVをROM158
からの修正データに従つて修正したデータに基づ
いてエンベロープ値を演算する。 音量指定回路162は、例えば音色付加回路1
56からの音源波形データに音色を加味したデー
タとジエネレータ160からのエンベロープデー
タとS/P変換・ラツチ回路163に記憶された
音量制御信号TLVとと乗算することにより、音
源波形にエンベロープを付与するとともに打楽器
音の音量を決定する。 なお、上記音色補正データ発生回路154およ
びエンベロープジエネレータ定数修正ROM15
8は、第13図に示すような複数の共通レベルデ
ータLEV対音色・音量補正量ADJ特性のうち楽
器ごとに選定された特性に(例えば、同図のグラ
フのAまたはBのような特性)に従つた補正また
は修正データを発生するようになつている。 以上のように、このリズム音発生回路60にお
いては、楽器ごとに共通レベルデータLEVに基
づく音量レベルを補正するとともに、さらに音色
も共通レベルデータLEVに基づき補正している。 第14図は、リズム音発生回路60のさらに具
体的な回路例を示す。次にこのリズム音発生回路
60の詳細動作を説明する。 (リズム音発生回路60の具体例の動作説明) 第14図のリズム音発生回路60は、いわゆる
FM音源で、基本式 E(t)=A(t)sin{ωct +S・I(t)sinωmt} …(1) 但し、E(t):楽器音波形データ (サンプルデータ) A(t):振幅係数 ωc:搬送波各周波数 S:帰還係数 I(t):変調指数 ωm:変調波各周波数 で表わされる演算を音源種類(楽器名)ごとに設
定されているオペレーシヨンシーケンスに基づい
て6回行ない、上式中のS・I(t)sinωmtや
ωmtとして前回までの演算結果や定数等を適宜
選択して代入することにより種々のFM変調波形
を得るものである。 この実施例においては1つの打楽器音瞬時値に
ついて6回の演算を行ない、例えばスネアドラム
シヨツト音、スネアドラムブラツシユロール音等
を形成する場合は、 E0(t)=A4(t)sin[ω4t+A3(t)sin{ω3t+
A2(t)sin(ω2t +A1 *(t)sinω1t)}]+A6(t)sin(ω6t+A
5(t)sinω5t)…(2) また、クラベス音、カスタネツト音を形成する
場合は、 E0(t)=A6(t)sin[ω6t+A1 *(t)sinω1t±A
3(t)sin{ω3t +A2(t)sinω2t}+A5(t)sin{ω5t+A4(t
)sinω4t}]…(3) 但し、A1 *(t)sinω1tは自己帰還(すなわち
前回の演算結果を利用するので無限ネステイング
と同等の演算を行なうことができる) などの式で表わされる演算を行ない、各種の打楽
器音波形に相当するFM変調波形を得ている。 この回路60は、リズム制御回路170、演算
制御ROM172、角度データ演算部174、振
幅係数演算部176およびFM演算部178を含
んでおり、第11図の説明図におけると同様、図
示しないタイミング信号発生器から第12図に示
すようなタイミング信号φ、φAB等を受信して動
作するようになつている。但し、第14図でこれ
らのタイミング信号の記入は省略してある。な
お、このリズム音発生回路60においては、リズ
ム制御回路170内のチヤンネルカウンタ180
がタイミング信号φABのタイミングで発生する計
数値(チヤンネルナンバCHN)に対応してタイ
ミング信号φの1周期の時間(以下1ビツトタイ
ムという)幅で順次区切られるタイムスロツトご
とに8つの音源形成チヤンネルが時分割して形成
されるようになつている。また、オペレーシヨン
カウンタ182は、カウンタ180の発生するキ
ヤリア出力C0をカウントし、0〜7の8個のチ
ヤンネルナンバCHNが発生する8ビツトタイム
分の時間(以下1ワードタイムという)幅のワー
ドナンバWDNを発生する。そして、このリズム
音発生回路60は、チヤンネルナンバCHNに対
応する音源形成チヤンネルごとにワードナンバ
WDN0〜5に対応して6回の演算を行ない、6
ワードタイム(48ビツトタイム、以下1処理時間
という)ごとに1つの波形データを発生するよう
になつている。 前述したようにリズムセツトの処理がなされる
と、パネルデータインターフエース62からリズ
ム制御回路170には3ビツトの楽器グループナ
ンバ信号IGNを含むリズム音制御信号PANが供
給される。この信号IGNは、S/P変換回路1
84でパラレル信号に変換された後レジスタ18
6に記憶され、レジスタ186から楽器ナンバ
ROM188に供給される。 ROM188は、レジスタ186からの3ビツ
トの楽器グループナンバ信号IGNとタイミング
信号φABを計数するチヤンネルカウンタ180の
3ビツトの計数出力(チヤンネルナンバ)とでア
ドレスされ、各楽器グループ毎に8つの楽器に対
応した楽器名データGSを各チヤンネルナンバ0
〜7に対応して順次出力する。 リズムインターフエース58(第10図)か
ら、発音命令を含む8楽器分のシリアルデータ
OPCがリズム制御回路170に供給されると、
このデータOPCはS/P変換・ラツチ回路19
0においてS/P変換され、一時記憶される。 ここで、簡単のため、この8楽器分のシリアル
データOPCが前述の楽器グループナンバ1のス
ネアドラムブラツシユロールSDB(チヤンネルナ
ンバ5)についてのみ発音命令を含んでいるもの
とすると、S/P変換・ラツチ回路190からは
チヤンネルナンバ5のタイミングで発音命令信号
NKON=“1”が送出され、チヤンネルナンバ0
〜4および6〜7のタイミングでは信号NKON
としていずれも“0”が送出される。 この信号NKONは、セレクタ192および1
94に入力Aを選択するための信号SAとして供
給される。このため、8ステージ/5ビツトのシ
フトレジスタ196にはROM188から5ビツ
トの楽器名データGSが、8ステージ/7ビツト
のシフトレジスタ198にはS/P変換・ラツチ
回路190から7ビツトのピツチ・レベル制御デ
ータがそれぞれ供給される。シフトレジスタ19
6および198はそれぞれタイミング信号φAB
応じてチヤンネルナンバ5に対応したステージに
供給データを取り込み、順次シフトする。 セレクタ192および194はそれぞれシフト
レジスタ196および198へのデータ供給の後
信号NKON=“0”によりそれぞれ入力Bを選択
する状態になり、シフトレジスタ196および1
98の内容はそれぞれセレクタ192および19
4を介して循環的に記憶される。 シフトレジスタ196から時分割的に送出され
る各チヤンネルナンバに対応した5ビツトの楽器
名指定信号GSは演算制御ROM172に供給され
る。 ROM172は、各楽器名毎にオペレーシヨン
カウンタ182の計数出力(ワードナンバ
WDN)0〜5にそれぞれ対応する各6個のピツ
チ指定データPIT0、エンベロープジエネレータ
定数データEG、アベレージヤデータAVE、結線
制御データGC1〜GC7およびレベルアジヤスト
データLVADを記憶するもので、これらのデー
タは、シフトレジスタ196からの5ビツトの楽
器名指定信号GSと、カウンタ182からのワー
ドナンバWDNとをアドレス信号としてROM1
72から読み出されるようになつている。例え
ば、シフトレジスタ196からチヤンネルナンバ
5に対応した5ビツトのスネアドラムブラツシユ
ロールSDBを表わす信号GSが入力すると、その
たびにROM172からFM演算部178におい
てスネアドラムブラツシユロールの波形を演算出
力するのに必要なデータPIT0、EG、AVE、CG
1〜7およびLVADがカウンタ182のカウン
トするワードナンバWDNに応じて順次読み出さ
れる。 ROM172からの14ビツトのピツチ指定デー
タPIT0は、加算回路200においてシフトレジ
スタ198からの4ビツトのピツチ制御データ
PITを加算され、若干修正される。このため、加
算器200からは1音毎に音の高低を加味したピ
ツチ指定データが位相データROM202にアド
レス信号として供給される。ROM202は、こ
のピツチ指定データを角周波数データωに変換す
る。 アキユムレータ204は、(チヤンネル数)×
(ワード数)=48個の演算回路を含み、各演算回路
毎に各チヤンネルナンバCHN毎、ワードナンバ
WDN毎の角度データωtが演算されるようになつ
ており、リズム制御回路170が信号NKON=
“1”を送出すると、チヤンネルナンバ5に対応
する6個の演算回路に初期値π/2が設定され、
以後、カウンタ180がチヤンネルナンバ5を計
数するたびに、これら6個の演算回路のうちその
時のカウンタ182の計数するワードナンバ
WDNに対応する回路で角周波数ωと信号NKON
=“1”発生後の経過時間tとの積としての角度
データωtを算出してFM演算部178に供給す
る。 振幅係数演算部176は、FM演算部178で
演算すべき楽器音のアタツク、デイケイおよびリ
リースなどの各時点における振幅係数(または変
調指数)A(t)を、ROM172から各楽器名
について各ワード毎に供給されるエンベロープジ
エネレータ定数データEGに基づいて発生する。 前述のようにリズム制御回路170が信号
NKON=“1”を送出すると、状態制御回路20
6は、48ステージ2ビツトのシフトレジスタ20
8にアタツク状態を示すデータ01を該当するチヤ
ンネルの6つのステツプに対応して1ワードタイ
ムごとに1ビツトタイムずつ6回送出する。この
ため、シフトレジスタ208は、タイミング信号
φABに応じてチヤンネルナンバ5に対応する6つ
のステージに状態データADR=01を取り込み、
順次シフトする。この状態データADRはセレク
タ210に供給される。 セレクタ210は、演算制御ROM172から
アタツクA、デイケスDおよびリリースRの3つ
の状態の傾斜および最終レベルを示す各3ワード
分のレートデータRATEおよびレベルデータ
LEV0からなるエンベロープデータEGが供給され
ており、シフトレジスタ208から選択入力端子
に供給される状態データADR=01に従いアタツ
ク時用のデータRATEおよびLEV0を出力する。 比較器212は、セレクタ210の出力データ
LEV0(A)と48ステージ/6ビツトシフトレジ
スタ214の出力データ(B)とを比較してA>
Bのときレベル“1”、A<Bのときレベル“0”
の比較信号を発生するとともに、A=Bのとき等
値信号EQを発生する。 シフトレジスタ214は演算回路216の出力
を1つの波形データE(t)を演算するのと同じ
時間すなわち6ワードタイム(1処理時間)遅延
して出力し、演算回路216は、比較器212の
出力する比較信号が“1”か“0”かに従つてシ
フトレジスタ214の出力にセレクタ210の出
力するレートデータRATEを順次加算(比較信
号=“1”)または減算(比較信号=“0”)する。
このため、シフトレジスタ214の各ステージに
は楽器名およびワードナンバごとにレートデータ
RATEの累算値が一時記憶される。そして、ア
タツク状態においてはA>Bであるから、シフト
レジスタ214のチヤンネルナンバ5に対応する
8ステージごとに6つのステージにそれぞれワー
ドナンバWDNに対応してROM172から供給
されるアタツクレートデータが順次加算される。 シフトレジスタ214の出力(B)が、セレク
タ210の出力LEV0(A)と等しくなると、比
較器212は等値信号EQ=“1”を状態制御回路
206に送出する。このため回路206は、シフ
トレジスタ208のチヤンネルナンバ5に対応す
る6つのステージの内容を歩進し、次のデイケイ
状態を示すデータADR=10に変更する。従つて
セレクタ210はデイケイレートデータおよびデ
イケイレベルデータを送出し、今度はA<Bであ
るから比較器212は比較信号“0”を送出し、
演算回路216はシフトレジスタ214の出力か
らデイケイレートデータを減産してシフトレジス
タ214に送出する。次にシフトレジスタ214
の出力データ値(B)が減少してセレクタ210
の出力するデイケイレベルデータ値(A)に等し
くなると、比較器212は再び等値信号EQを発
生し、このため、状態制御回路206は、シフト
レジスタ208のチヤンネルナンバ5に対応する
6つのステージの内容を歩進し、シフトレジスタ
208はリリース状態を示す状態データADR=
11を発生する。以下、同様にして、セレクタ21
0はリリースレートデータとリリースレベルデー
タを送出し、演算回路216は、比較器212の
出力“0”に基づいて、シフトレジスタ214の
出力がリリースレートデータを減産し、シフトレ
ジスタ214の出力がリリースレベルデータに等
しくなると比較器212が等値信号EQを発発生
し、シフトレジスタ208の内容は更に歩進され
て楽音停止状態を示すデータADR=00が書き込
まれる。 以上のようにして演算回路216で演算され、
シフトレジスタ214の各ステージごとに書き込
まれたデータは48ビツトタイムごとに加算回路2
18に送出される。 ダイナミツクレベル特性ROM220は楽器種
類ごと、6つのワードナンバWDNごとに共通レ
ベルデータLEVに対応する振幅係数(音量)ま
たは変調係数(音色)補正データが格納されてい
るもので、ROM172からの楽器種類および演
算ステツプごとのレベルアジヤストデータ
LVADとシフトレジスタ198からの共通レベ
ルデータLEVをアドレス入力として第13図に
示すような複数種類の補正特性のうち楽器ごとに
設定された特性に基づく補正データADJが読み
出されるようになつている。この補正データ
ADJは加算回路218に供給される。 S/P変換・ラツチ回路222はパネルデータ
インターフエース62(第1図)からの音量制御
信号TLVをS/P変換し、一時記憶するととも
に、この音量制御信号TLVを加算回路218に
供給するようになつている。 加算回路218はシフトレジスタ214からの
エンベロープデータと、ROM220からの音
量・音色補正データADJとS/P変換・ラツチ
回路222からの音量制御信号TLVとを加算す
るもので、これによつて共通レベルデータLEV
と楽器音量との関係を楽器種類ごとに調整するこ
とが可能となる。また、この加算回路222にお
いては、ボリユーム22によるトータル音量制御
も行なわれる。この加算回路222からの楽器ご
とワードナンバごとの振幅係数A(t)は、FM
演算部178に供給される。 FM演算部178は、ROM172の出力する
結線制御信号CG1〜CG7等で指定される演算式
に従い角度データ演算部174の出力する角度デ
ータωtと振幅係数演算部176の出力する振幅
係数A(t)とを用いて楽器音波形データ(サン
プル値)E(t)を演算する。加算回路228は、
A,B2個の入力端子を有し角度データ演算部1
74からA端子に入力する角度データωtとセレ
クタ230からB端子に帰還される帰還データG
(t)とを加算する。サインテーブル232は加
算回路228の出力ωt+G(t)をsin{ωt+G
(t)}(対数値)に変換する。加算回路234は
それぞれ対数値で入力するsin{ωt+G(t)}と振
幅係数A(t)とを加算し、対数−真数変換
ROM236は加算回路234の出力を真数に変
換して演算データ E(t)=A(t)sin{ωt+G(t)} …(4) を出力する。遅延回路238はROM236の出
力すなわち演算データE(t)を次回の演算に供
するために1ワードタイム遅延させる。ゲート回
路240,242、加算回路244および遅延回
路246はダイナミツクメモリを構成し、ゲート
240および242がオフのときは記憶内容がク
リアされ、ゲート242のみがオンのときは記憶
はそのまま保持され、ゲート240および242
の双方共オンのときは記憶内容にさらにゲート2
40を介して入力する新たな演算データE(t)
を加算して記憶する。またゲート240のみがオ
ンのときは記憶内容は新たな演算データE(t)
により更新される。 ゲート248、遅延回路250、加算回路25
2およびシフタ254は帰還回路を構成し、セレ
クタ230で加算回路228のB端子への帰還入
力としてこの帰還回路の出力Fが選択されたと
き、このFM演算部178は、自己帰還による無
限ネステイングの演算回路として動作する。遅延
回路250は48ステージ10ビツトのシフトレジス
タよりなり演算データを1処理時間遅延して出力
する。加算回路252およびシフタ254は1処
理時間前の演算データと各瞬時の演算データとを
平均して自己帰還時のハンチングを防止してい
る。また、シフタ254は演算制御ROM172
の出力するアベレージヤーデータAVEに基づき
1桁以外のシフトも行ない、自己帰還量すなわち
演算式の帰還係数Sの指定も行なつている。 アキユームレータ256は、演算制御ROM1
74が“1”レベルのゲート制御信号GC7を発
生したとき演算データE(t)を取り込み、ワー
ドナンバ0、チヤンネルナンバ0からワードナン
バ5、チヤンネルナンバ7までの各1処理時間内
に入力する演算データをチヤンネルごとに加算す
る。 なお、上記の遅延回路238,246,250
における遅延ビツト数は、加算回路228,23
4等に時間遅れがないものと仮定した場合のもの
であり、実際には加算回路等の遅延があるため、
この遅延ビツト数を減少することにより遅延時間
を調節している。 第15図aおよびbはそれぞれ式(2)および(3)の
演算を図解したものである。同図において、OP
はサインテーブル236を読み出して演算するこ
とを示し、付番は演算が行なわれるワードナンバ
を示す。Xは自己帰還による演算を示し、+は演
算データを加算することを示す。 [例 1] 前述のように、このリズム音発生回路60にス
ネアドラムブラツシユロールSDB音の発音命令
信号NKONが入力すると、このSDB音は(2)式の
FM演算より合成される。なお、チヤンネル0〜
4および6〜7のA(t)は0であり、従つて波
形データE(t)も0であるから、以下において
はチヤンネルナンバCHN=5のタイムスロツト
についてのみ説明する。また、ワードナンバ
WDNに対応する演算ステツプn=WDN+1に
おける位相データω、振幅係数A(t)および演
算データE(t)をそれぞれωn、An(t)および
En(t)で表わすものとする。 第1ステツプにおいてROM172はレベル
“1”の結線制御信号GC3,GC6を発生し、シ
フタ252の出力Fを加算回路228のB端子に
帰還する。従つてFM演算部178は加算回路2
28、サインテーブル232、加算回路234、
ROM236、加算回路252、シフタ254お
よびセレクタ230を介して加算器232に至る
リアルタイムの閉ループが構成され、自己帰還に
よつて E1(t)=A1 *(t)sinω1t=A1(t)sin(ω1t+A
1sin (ω1t+A″1sin(ω1t+……)…) …(5) なる無限ネステイングと同等の演算を行なう。な
お、この閉ループにおいては加算回路252とシ
フタ254とにより第1ステツプ内の各瞬時演算
データと1処理時間前の演算データとの平均値を
得るとともにこの平均値をさらにシフタ254で
レベル調整したデータを帰還することによつて自
己帰還時のFM演算部178のハンチングを防止
している。 次に第2ステツプにおいては結線制御信号GC
4のみを“1”にして遅延回路238の出力Qす
なわち1ワードタイム前の演算データE1(t)を
加算回路228のB端子に帰還する。従つて(4)式
においてG(t)=E1(t)を代入した E2(t)=A2(t)sin{ω2t +A1 *(t)sinω1t} …(6) が得られる。 第3ステツプにおいても同様に結線制御信号
GC4のみを“1”にしてG(t)=E2(t)を帰還
し、 E3(t)=A3(t)sin{ω3t+A2(t)sin(ω2t+
A1 *(t)sinω1t)}…(7) を得、第4ステツプにおいては同様に結線制御信
号GC4を“1”にしてG(t)=E3(t)を帰還
し、 E4(t)=A4(t)sin[ω4t+A3(t)sin{ω3t+
A2(t)sin(ω2t +A1 *(t)sinω1(t))}] …(8) を得るとともに結線制御信号GC7を“1”にし
てこの演算データE4(t)をアキユームレータ2
56に格納する。 第5ステツプにおいては結線制御信号GC1〜
7全部を“0”にする。従つて帰還データG(t)
=0となり、演算データE5(t)は(4)式にG(t)
=0を代入した。 E5(t)=A5sinω5t …(9) が得られる。第6ステツプにおいては結線制御信
号GC4を“1”にしてG(t)=E5(t)を帰還し
て E6(t)=A6(t)sin(ω6t +A5(t)sinω5t) …(10) を得るとともに、結線制御信号GC7を“1”に
してこの演算データE6(t)をアキユームレータ
256に入力し、第4ステツプにおいて格納され
た演算データE4(t)と加算した値E4(t)+E6
(t)すなわち式(2)の演算データE0(t)を算出
する。このデータE0(t)はリズム音信号RTSと
してD/A変換器52(第1図)に供給される。 上記したのは、最初の発音タイミングにおける
1音の波形データ算出・音量制御動作であるが、
同時に複数の発音命令信号が発生した場合や、1
ないし複数音の発生中にさらに1ないし複数の発
音命令信号が発生した場合にも同様にして複数音
(最大で8音)の波形データ算出・音量制御動作
がなされる。この場合、各演算装置およびROM
等は各チヤンネルナンバに対応するタイムスロツ
トごとに時分割的に共用される。 [例 2] 次に(3)式を実現する場合について説明する。 第1ステツプにおいては例1の第1ステツプと
同様に結線制御信号GC6を“1”にして E1(t)=A1 *(t)sinwit …(11) を得るとともに結線制御信号GC1を“1”にし
てこの演算データE1(t)を加算回路244、遅
延回路246およびゲート回路242からなるダ
イナミツクメモリに格納する。 第2および第3ステツプにおいては例1の第5
および第6ステツプと同様にして E3(t)=A3(t)sin(ω3t +A2(t)ω2t …(12) を得るとともにこの第3ステツプにおいてはさら
に結線制御信号GC1およびGC2を“1”にして
上記ダイナミツクメモリに格納されている演算デ
ータE1(t)にさらに第3ステツプで得られた演
算データE3(t)を加算する。なお、第1ステツ
プで格納された演算データを上記ダイナミツクメ
モリに記憶させておくため第2ステツプにおいて
は結線制御信号GC2を1”にする。 第4および第5ステツプにおいても上記第2お
よび第3ステツプの手順を繰り返して演算データ E5(t)=A5(t)sin(ω5t +A4(t)sinω4t) …(13) を得るとともにこの演算データE5(t)を上記ダ
イナミツクメモリに加算する。 第6ステツプにおいては結線制御信号GC5を
“1”にして加算回路228のB端子に上記ダイ
ナミツクメモリの出力Mを帰還する。従つて(4)式
においてG(t)=E1(t)+E3(t)+E5(t)を代
入した演算データ E6(t)=sin[ω6t+A1 *(t)sinω1t±A3(t)s
in{ω3t +A2(t)sinω2t}+A5(t)sin{ω5t+A4(t
)sinω4t}]…(14) すなわち式(3)が得られる。この第6ステツプにお
いてはさらに結線制御信号GC7を“1”にして
おり、上記演算データE6(t)は、アキユームレ
ータ256を介してリズム音信号RTSとして
D/A変換器52(第1図)に送出される。 なお、このリズム音発生回路60においては音
色および音量の制御動作は渾然としてなされるも
のであり、第11図の説明図におけるように必ず
しも明確に区別することはできないが、目安とし
て、例2の第6ステツプにおいては音量制御動
作、例1の第4および6ステツプにおいては音量
および音色制御動作、例1および例2の他のステ
ツプにおいては音色制御動作がなされるものと考
えてよいであろう。 なお、この実施例においてはROM188から
楽器名のみを読み出すようにしているが、さらに
楽器のノイズ系、ドラム系の別を示すバランスデ
ータBAL、その楽器の発音スピーカが中央か左
かを区別するスピーカチヤンネルデータCHA等
を読み出すようにすることもできる。バランスデ
ータBALは、例えば、パネル12にバランスボ
リウムを追加し、このバランスボリウムからのノ
イズ系音量データまたはドラム系音量データと組
み合わせることによりノイズ系楽器とドラム系楽
器のバランスを設定するために用いられる。 以上のようにこの発明によると、共通レベルデ
ータに基づいてリズム音(楽器音)の音量や音色
などの楽音パラメータを補正制御するとともにこ
れらの楽音パラメータの補正量をリズム音ごと
(楽器音ごと)に設定しているため、リズム音ご
と細かい音量データや音色データをもつ必要がな
くパターン記憶用のメモリ量は少なくてすみメモ
リ効率が極めて良い。また、リズム音の各音源種
類ごとの細かに制御が可能であり、演奏の強弱に
よる音量や音色などの楽音特性の変化を、より実
際の楽器演奏に近付けることができ、より豊かな
リズム音を発生することができる。
[Table] In the following explanation, the contents of each register, etc. and these registers, etc. are indicated by the same symbol. For example, both the beat number register and the contents of the beat number register are expressed in HKPE. Tempo data register TEMPO, volume data register TOTLEV and rhythm type register
RHYPTN stores operator information for the tempo setter 24, total volume 22, and rhythm selection switch 18 of the rhythm operator 16, respectively. The rhythm pattern memory 42 is comprised of a ROM, and as shown in FIG. 3a, rhythm patterns for each rhythm type, such as march and waltz, are stored. Each of these rhythm patterns
As shown in the enlarged view of Figure b, the instrument group number IGN stored at the first address, event data EVT at each timing within a beat stored at each subsequent address, and beat end data BE (16
It consists of "OD" (hereinafter referred to as $OD) data in decimal notation) and return data RTN ($OF). Here, the musical instrument group is a musical instrument group formed by extracting eight types of musical instrument sounds for generating rhythm sounds such as marches and waltzes, each corresponding to the number of sound source formation channels in the rhythm sound generation circuit 60, which will be described later. The instruments that form each group are assigned to each sound source forming channel. In this embodiment, 0 is used to generate rhythm sounds for march and tango, 1 is used for waltz and ballad, and so on.
There are eight instrument groups corresponding to instrument group numbers IGN of ~7. For example, if the value of instrument group number IGN is 1, channel 0 is the top cymbal for each channel represented by channel numbers 0 to 7. Eight types of instruments are assigned to generate the rhythm sounds of waltzes and ballads: TCY, channel 1 is a high pitch HH, channel 5 is a snare drum brush roll SDB, and so on. By introducing the concept of musical instrument groups, this electronic musical instrument can generate autorhythms consisting of up to eight types of instrument sounds for each rhythm type. Incidentally, in conventional autorhythm performance devices, the number of sound source forming channels for all types of rhythm sounds is eight, for example, and the number of instruments used for one rhythm sound is usually less than the number of sound source forming channels. However, according to this embodiment, it is also easy to form rhythm sounds using, for example, eight desired types of musical instrument sounds for each rhythm type, and any number of musical instrument sounds for all rhythm types. This electronic musical instrument has 1 beat, or 1/12 of a beat.
The rhythm pattern memory 42 contains event data EVT that includes the musical tone elements of the musical tone to be generated as data, and the number of beats at which the event occurs and the 12 rhythms. Stored in order of intra-beat timing. This event data EVT is shown in Figure 3c.
As shown in the figure, using 2 bytes of memory where 1 byte is 8 bits, the lower 4 bits (4th to 1st bits) of the 1st byte contain the in-beat timing HTIM when the event occurs, and the 7th to 5th bits contain the sound source. The formation channel number CHN, the upper 4 bits (8th to 5th bits) of the 2nd byte contain pitch control data PIT of the instrument sound generated at the timing within that beat, and the 3rd byte.
~1 bit stores common level data LEV indicating whether the strength of the musical instrument performance, that is, the level of the musical instrument sound generated at each timing, is from fortissimo ff to pianissimo pp on the musical score. The beat end data BE indicates the boundary between beats, and the return data RTN indicates the end of the rhythm pattern. Also, these beat end data BE and return data RTN are the previous event data EVT.
Indicates that there is no event within a beat after the intra-beat timing shown in . The pattern start address memory 44 stores the rhythm pattern start address of each rhythm sound in the rhythm pattern memory 42, and is a conversion ROM that outputs the start address of the corresponding rhythm pattern memory when the content RHYPTN of the rhythm type register is input. The keyboard sound forming circuit 48 inputs data related to keyboard sounds from the CPU 36 via the keyboard sound interface 50, forms keyboard sound data in a plurality of (for example, 10) time-division channels, and time-divisions these data. Outputs multiplexed keyboard sound signals. This keyboard sound signal is acoustically mixed with data for all channels together with a rhythm sound signal RTS, which will be described later, in a D/A converter 52 and converted into an analog musical sound signal. pronounced as The rhythm interface 58 receives pitch control data PIT and common level data that the CPU 36 reads out from the rhythm pattern memory 42 and outputs.
The event data EVT such as LEV and the sound command signal NKON indicating that the event data EVT has been read out can be temporarily stored, and the stored data can be stored in response to a command from the CPU 36 as shown in FIG. The data is converted into bit serial data OPC and transferred to the rhythm sound generation circuit 60. Note that the most significant bit of this data OPC is always “1” as the available signal Av.
When a transfer of data OPC occurs in the interrupt processing of the CPU 36, continuous input data of “0” changes to “1”, so even if all bits of data OPC are “0”, it is not possible to determine whether or not data is transferred. can. The rhythm interface 58 also includes a tempo counter that operates according to tempo data set in the tempo setter 22, and interrupts data transfer processing to the CPU 36 when a rhythm start signal is input from the CPU 36 and every beat thereafter. The tempo of the automatic rhythm performance in this electronic appliance is set by generating an interrupt signal RINT to cause the automatic rhythm performance to be performed. The rhythm sound generation circuit 60 receives OPC and TLV input from the CPU 36 via the rhythm interface 58 and panel data interface 62.
Based on data related to rhythm sounds such as PAN and PAN, musical instrument sound signals are generated for each of eight time-division channels, and these musical instrument sound signals are time-division multiplexed to output a rhythm sound signal RTS. Note that this rhythm sound generation circuit 60 includes a musical tone characteristic control circuit that controls musical tone characteristics such as volume or timbre based on common level data LEV for each type of musical instrument. This rhythm sound signal RTS is D/
The signal is converted into sound via the A converter 52, the amplifier 54, and the speaker 56. The panel data interface 62 is a CPU
36 is the total volume 2 of the rhythm controller 16
The volume data TOTLEV (or data obtained by logarithmically converting this data) read from the rhythm pattern memory 42 and the instrument group number IGN read from the rhythm pattern memory 42 by the CPU 36 are converted into serial data TLV and PAN as shown in FIG. The signal is sent to the generation circuit 60. (Explanation of the operation of the electronic musical instrument shown in FIG. 1) Next, the operation of the electronic musical instrument shown in FIG. 1 will be explained with reference to the flowcharts shown in FIGS. 5 to 9. Referring to FIG. 5, when the power is turned on to this electronic musical instrument,
The CPU 36 starts operating according to the control program stored in the program memory 38 (step 100). In step 101, the entire circuit is initialized by clearing the registers, flags, etc. included in the CPU 36, working memory 40, rhythm interface 58, etc., and in step 102, changes are made by operating the controls on the keyboard 10 and panel 12. Detects a hot controller and its controller information. This detection includes, for example, the control information for each control and the registers TEMPO, TOTLEV,
If the exclusive OR with the previous control information stored in RHYPTN or the like is not 0, it can be detected as a change in control information, that is, an event has occurred. In this step 102, the operation information is also detected when the start/stop switch 24 is pressed to the start or stop side.
Also, total volume 22 or tempo setter 2
The operator information No. 4 represents, for example, the positions of these volumes as digital data of 16 steps from 0 to 15, and this data is stored as it is in the total volume register TOTLEV and the autorhythm tempo register TEMPO. In step 103, it is determined whether or not an event was detected in step 102, and if there is no event, the process returns to step 102 to further detect an event.
If an event is detected, processing is performed in accordance with the type of event detected in subsequent steps. The event detected in step 102 is the keyboard 10
If the musical tone is changed by pressing or releasing a key or pressing the musical tone selection operator 14, the process advances to step 110. In step 110, each key data or tone selection data is processed and output to the key tone interface 50. The key tone interface 50 further sends these data to the keyboard tone forming circuit 48. The above event starts/stop switch 2
If the rhythm starts with 0, step 120
Rhythm run flag in working memory 40
After setting RHYRUN, synchronize the rhythm tempo in step 121. When the event at step 102 is a rhythm stop by the start/stop switch 20, the pattern change flag PCHNGF and rhythm run flag shown in Table 1 are set at step 130.
Clear rhythm-related registers and flags such as RHYRUN. When the event at step 102 is a tempo change by the tempo setter 24, the step
140, the tempo data TEMPO is loaded into the rhythm interface 58. In the rhythm interface 58, this tempo data determines the pitch of one beat, that is, the tempo at which the CPU 36 reads out the rhythm pattern by interrupt processing INTRPT200, which will be described later. When the event in step 102 is a change in rhythm volume by the total volume 22,
At step 150, the volume data TOTLEV is output to the panel data interface 62. The panel data interface 62 uses this volume data.
TOTLEV is converted into a serial volume control signal TLV and output to the rhythm sound generation circuit 60. If the event in step 102 is a change in rhythm type RHYPTN due to the rhythm selection switch 26 being pressed, rhythm set processing RHYSET is performed.
160 (FIG. 6). In other words, in step 161, the beat number in the beat number register is set to timing by referring to the contents of the in-measure timing counter TIMING.
If TIMING is 0-11, set it to 1, if it is 12-23, set it to 2,
If it is 24-35, set it to 3, and if it is 36-47, set it to 4. This is to ensure that the rhythm after the change continues at the same timing as before the change, so at step 165, the same number of beats,
Pattern pointer RHPNT is placed at the address where rhythm pattern data of the same beat timing is stored.
Used when setting. At step 162, the rhythm run flag RHYRUN is checked again, and if the rhythm is progressing, the beat end flag is set at step 163.
Clear RHHEND. This is the beat end flag
This is because if RHHEND remains set, reading of event data will be skipped if there is event data after the rhythm time change timing after the change (see step 401). Even in the rhythm after the change, if there is no event data after the timing of the change, the beat end flag RHHEND is set when setting the rhythm pointer RHPNT.
If it is determined in step 162 that the rhythm is stopped, the beat end flag RHHEND has already been cleared in step 130 during rhythm stop processing, so step 165 is skipped and the process proceeds to step 166. In step 164, the contents of the rhythm type register are
The head pattern address memory 44 is addressed with RHYPTN to read the head address of the selected rhythm type and stored in the rhythm pattern head address register RHYROM in the working memory 40. In step 165, rhythm pattern memory 4
2 is sequentially read from the first address at the address indicated by the sum of the first address RHYROM and the content RHPNT of the pattern pointer, and the number of read beat end data BE and intra-beat timing HTIM are read out sequentially from the first address.
, beat count HKPE and intra-bar timing
Compare pattern pointer with TIMING
Set RHPNT. This set allows the start address RHYROM and the contents of the pattern pointer to be
The address indicated by the sum with PHPNT is one where the number of end data BE is 1 less than the value of beat number HKPE, and the intra-beat timing HTIM is the intra-measure timing.
It will now show the first address that is equal to or greater than TIMING. At step 166, the musical instrument group number IGN stored at the leading address of the rhythm pattern memory 42 is read out and output to the panel data interface 62. The panel data interface 62 converts the musical instrument group number IGN into a serial signal PAN and sends it to the rhythm sound generation circuit 60. In step 167, it is determined whether the rhythm type RHYPTN is 3 beats or 4 beats.If it is 3 beats, step 168 is in effect, and if it is 4 beats, in step 169, the maximum timing register TMPMAX is set to the maximum number of timings within one measure. 35 and 47 are memorized. After detecting an event in step 102, after completing the processing in steps 110 to 169 for each type of event, the process returns to step 102 to detect a new event. As mentioned above, in the electronic musical instrument shown in Figure 1,
An interrupt is sent from the rhythm interface 58 to the CPU 36 when the start/stop switch 20 is turned to the start position and when the tempo counter included in the rhythm interface 58 counts 1/12 of a beat, that is, 1 beat, according to the set tempo. The signal RINT is sent out. Therefore CPU36
is the 7th beat at the start of the rhythm and every subsequent beat.
The interrupt process INTRPT200 shown in the figure is executed. First, in step 201, each register, program counter, etc. are saved so that the original state can be restored after the interrupt processing is completed, and then rhythm sound generation data output processing RHIRQ 210 shown in FIG. 8 is executed. Referring to FIG. 8, in step 211, the rhythm run flag RHYRUN is checked to determine whether or not a rhythm is in progress. If this judgment is "no", that is, the rhythm has stopped, there is no need to output the rhythm sound data, so restore each register saved in step 260 (Figure 7) and immediately cancel the interrupt. Return to original routine. If the rhythm is in progress at step 211, a data output subroutine RHYCNV400 (FIG. 9) is executed. Referring to FIG. 9, the beat end flag RHHEND is checked in step 401, and if it is the beat end, there is no event data at the intra-beat timing TMPCNT until the beat goes up, so the original routine (see FIG. 8) is continued. ). If it is not the beat end, the content of the rhythm pointer RHPNT is set in the Y register in step 402, and then in step 403.
and 404 to start rhythm pattern address
The rhythm pattern memory 42 is addressed by the sum of RHYROM and the content Y of the Y register (that is, the content RHPNT of the rhythm pointer), and the channel number CHN and intra-beat timing data HTIM of the first byte of the event data EVT shown in FIG.
is read and stored in the A register and the X register. Next, in step 405, the contents of the A register and $OF
The logical sum is calculated and only the lower 4 bits of the intra-beat timing data HTIM are left in the contents of the A register, and in step 406 it is determined whether or not this intra-beat timing data HTIM matches the timing indicated by the tempo counter TMPCNT. . If these timings match in step 406, this data is valid for the current timing TMPCNT to be processed, so the contents of the Y register as a pointer are incremented in step 407, and the event data EVT is incremented in step 408. The pitch control data PIT and common level data LEV of the second byte are read and stored in the A register. A at step 409
The pitch control data PIT and common level data LEV stored in the register and the channel number CHN stored in the X register are output to the rhythm interface 62. In step 410, the next event data is
In order to read the EVT, the contents of the Y register as a rhythm pattern memory pointer are further incremented. In steps 411 to 414, the steps 403 to 406 are repeated, and in steps 407 to 414, the intrabeat timing data that is the same as the current intrabeat timing TMPCNT is
Read all event data with HTIM. If there is no event data having the same intra-beat timing in step 406 or 414, proceed to step 415, and determine whether the timing data left in the A register in step 405 or 413 is greater than or equal to $OD, that is, whether it is the end of the beat or return. do. In-beat timing is always $OO~$OB
The content A of the A register becomes greater than $OD when the beat end data BE ($OD) or the return data RTN ($OF) is read. Therefore, if the above judgment shows that A register≧$OD, then in step 416, it is judged whether or not to return. If it is a return ($OF), clear the Y register at step 417, and if it is a beat end ($OD), clear the Y register at step 417.
Skip 417 and proceed to step 48. step
418 sets the beat end flag RHHEND,
In step 419, the contents of the Y register are incremented, and in step 420, the contents Y of the Y register are set in the rhythm pointer RHPNT, and the process returns to the original routine (step 240 in FIG. 8). When the return data RTN is detected by the processing in steps 417, 419 and 420 described above, the rhythm pointer RHPNT is set to 1, and when the beat end data BE is detected, the rhythm pointer RHPNT is set to the beat end data in step 419. This indicates the address next to the address where BE was stored. If it is determined at step 415 that it is not a beat end or return, the process advances to step 420, where the rhythm pointer is
After the address at which the intra-beat timing that does not match the timing TMPCNT is read is stored in RHPNT, step 240 of the routine in FIG.
Return to Referring to FIG. 8, in step 240, a data transfer command is sent to the rhythm interface 58. Then, the rhythm interface 58 sends the 10-bit serial data OPC, which includes the pitch control data PIT and the common level data LEV, inputted and stored in step 409, to the rhythm sound generation circuit 60. In step 241, the intra-beat timing counter
TMPCNT is stepped, and in step 242 it is determined whether the beat has exceeded. If it is determined in step 242 that the beat has exceeded, then in step 243 the in-measure timing counter TIMING is incremented. When the beat is over, there is a possibility that the measure is over, so
Next, in step 244, it is determined whether the overbeat in step 243 is over the measure or not based on whether the content TIMING of the in-measure timing counter has reached the maximum timing TMPMAX. If the bar is over,
In step 245, the beat end flag RHHEND is reset, and in step 246, the intra-bar timing counter TIMING and the intra-beat timing counter are reset.
After resetting TMPCNT, follow the steps in Figure 7.
Return to 260. If the beat is over, but not over the bar, the beat end flag RHHEND is reset in step 247, the within-beat timing counter TEMPCNC is reset in step 248, and then the process returns to step 260 in FIG. If the judgment in step 242 is that the beat is not over, the within-beat timing counter TIMING is executed in step 249.
After incrementing , step 260 in Figure 7
Return to Referring to FIG. 7, step 211 of rhythm sound generation data output processing RHIRQ210 (FIG. 8),
After returning from steps 246, 248, and 249, in step 260, the program counter, each register, etc. that were saved for this interrupt processing INTRPT are restored, and the state before the interrupt is returned. Next, the detailed operation of the rhythm interface 58 will be described with reference to FIG. This interface 58 includes a decoder 70, a tempo register 72,
It includes a rhythm sound source data register 74, a channel register 76, a function register 78, etc., and is driven by timing signals φ, ChT, etc. from a timing signal generator (not shown). When the address signal that the CPU 36 (FIG. 1) sends to the address bus is one of the tempo register 72, rhythm sound source data register 74, channel register 76, and function register 78, the decoder 70 responds to that address signal. Load signals are sent to each register 72 to 78 accordingly.
Send RHYDEC1 to 4. Therefore, the data sent by the CPU 36 via the data bus DB is
6 is provided and stored in the register addressed. The CPU 36 (Figure 1) uses the tempo setter 24
(Figure 2) is operated, this tempo setter 2
In addition to importing the tempo data TEMPO from 4, the tempo register 7 of the rhythm interface 58
2 and sends tempo data TEMPO. The decoder 70 supplies the decode output RHYDEC1 to the load terminal of the tempo register 72 based on the address data specifying the tempo register 72 sent to the address bus ADB, and therefore,
The tempo register 72 stores the data being sent to the data bus DB at this time, that is, the tempo data.
Remember TEMPO. This tempo data is the tempo
It is supplied to the ROM80. ROM80 is data
TEMPO as counter 82 preset data PSD
is converted into and supplied to the counter 82. The counter 82 receives preset data when the load terminal LD, that is, the output of the OR circuit 84 is "1".
After the PSD is preset, the clock signal φ of a constant frequency output from the clock generation circuit 86 is counted, and when an overflow occurs, "1" is output to the carrier output terminal Co. This output is OR
It is input to a first input terminal of circuit 84, and counter 82 will be preset each time it overflows. That is, when the overflow value is N and the preset value is M, this counter 82 divides the frequency of the clock signal φ by 1/(NM) to set the tempo set in the tempo setter 24 (FIG. 2). generates the output of Note that this counter 82 may be one that presets the clock signal φ, down-counts it, outputs "1" to the terminal Co when the count value is 0, and divides the frequency of the clock signal φ by 1/M. A well-known variable frequency division type counter may also be used. The output of the OR circuit 84 is further sent to the CPU 36 as an interrupt signal RINT.
The CPU 36 starts an interrupt processing operation to be described later at the same time as the counter 82 is preset. Further, the output of the clock generation circuit 86 is supplied to the first input terminal of another OR circuit 88. Since the output of the OR circuit 88 is connected to the reset terminal of the clock generating circuit 86, the clock generating circuit 86 is reset immediately after generating an output, and therefore generates a short pulse width clock signal φ. As mentioned above, when the CPU 36 (FIG. 1) detects that the start/stop switch 20 (FIG. 2) is pressed to the start side, it addresses the function register 78 and sets the data bus DB.
Sends a start command ($01) to Then, the decoder 70 sends the decoded output RHYDEC4 to the function register 7 based on the address data.
8 load terminal. Therefore, the function register 78 contains a start command ($01).
is loaded and the register 78 is set to “1” for a short time.
It is automatically cleared after sending the pulse as the start signal START = “1”. This start signal START="1" is supplied to the second input terminals of OR circuits 84 and 88, respectively. Therefore, the OR circuit 84
At the same time as presetting, an interrupt signal is sent to the CPU 36.
RINT is supplied, and OR circuit 88 resets clock generation circuit 86. Therefore, these counter 82, clock generation circuit 86 and CPU 36
Their rhythm tempos are synchronized. After the automatic rhythm performance starts, the CPU36 (Figure 1)
The event data EVT read from the rhythm pattern memory 42 (FIG. 1) by 3-bit common level data LEV and 4-bit pitch control data PIT is supplied to the rhythm sound source data register 74 as 7-bit data. and the channel number CHN is stored in the channel register 76. The channel counter 90 repeatedly counts the channel timing signal ChT from 0 to 7, and the comparator 92 compares the output of the channel counter 90 with the channel number CHN output from the channel register 74, and determines a match when they match. The signal EQ is supplied to the first input terminal of the AND circuit 94. Flip-flop 96 is channel register 7
It is set by the load signal RHYDEC3 of 6 and reset by the output CHEQ="1" of the AND circuit 94.
After being loaded, the signal “1” is applied to the second input terminal of the AND circuit 94 until the signal CHEQ="1" is generated.
otherwise, "0" is supplied. Therefore, the AND circuit 94 outputs the channel matching signal CHEQ="1" as the AND of the output EQ of the comparator 92 and the set output Q of the flip-flop 96 at the channel timing only once after loading the channel number CHN. Output as a differential waveform of the leading edge of signal ChT. This signal CHEQ="1" is supplied to the selector 98 as a signal SB for selecting input B.
Therefore, the 8-stage 7-bit shift register 100 is supplied with 3-bit common level data LEV and 4-bit pitch control data PIT from the rhythm sound source data register 74. The shift register 100 takes in these data in response to the timing signal ChT and sequentially shifts them. In addition, the signal CHEQ is set to the sound generation command signal NKON=“1” and the 8-stage 1-bit shift register 102
is supplied via the OR circuit 104 and taken in according to the timing signal ChT. Note that the shift registers 100, 102 and the channel counter 90 are all operated synchronously by the same channel timing signal ChT, and as a result, the shift registers 100, 10
2 includes data LEV and PIT and signal
NKON="1" is written to the stage corresponding to the channel number CHN stored in the channel register 76. While the signal CHEQ is “0”, the selector 98 has
A signal SA for selecting input A is supplied via inverter 106. Therefore, the output of the shift register 100 is fed back to the input side via the selector 98, and the data LEV and PIT written to the shift register 100 are stored cyclically.
Similarly, the signal NKON="1" written in the shift register 102 is also stored cyclically via the AND circuit 108 and the OR circuit 104. As described above, the CPU 36 (Fig. 1) reads the event data EVT from the rhythm pattern memory 42 (Fig. 1), then addresses the function register 78 and issues a transfer command ($20) to the data bus DB. Send out. Then, the decoder 70 decodes output based on the address data.
RHYDEC4 is applied to the load terminal of function register 78, so that function register 78 is loaded with the transfer command ($20). The register 78 is a shift register 100, 10.
All the data and signals for 8 channels stored in 2 are converted to serial data OPC, and the time transfer signal TRANS = "1" for about 8 channel timing signals ChT is output, and the rest is automatically clear. Signal TRANS="1" indicates P/S converter 110
is supplied to the transfer terminal S of. P/S converter 110
, its parallel data input terminals P1 to P9
The data and signals stored in the shift registers 100 and 102 for each of the eight channels are sequentially input to each channel in synchronization with the channel timing signal ChT, and the load terminal LD
The channel timing signal ChT is input to. Then, when the function register 78 generates the transfer signal TRANS="1", this P/
The S converter 110 receives the channel timing signal.
Data from P1 to P9 is captured for each channel during the period when ChT is "1", and the captured data is converted into serial data at the timing of the clock signal φ during the period when the channel timing signal ChT is "0".
It is sent to the rhythm generation circuit 60 as OPC. By repeating this operation eight times, data for all eight channels is sent out. The transfer signal TRANS="1" is also supplied as a signal "0" to the second input terminal of the AND circuit 108 via the inverter 112. For this reason,
The circulation path including the shift register 102 is cut off,
All stages of the shift register 102 are cleared. (Explanation of operation of rhythm sound generation circuit 60) FIG. 11 shows the rhythm sound generation circuit 60 (FIG. 1)
1 is a schematic block diagram for understanding the function of the
Next, the operation of the rhythm sound generation circuit 60 will be described with reference to FIG. This circuit 60 includes a rhythm control circuit 130, basic pitch, tone, and envelope data.
ROM132, sound source circuit 134, tone control circuit 1
36 and a volume control circuit 138, and operates by receiving timing signals φ, φAB, etc. as shown in FIG. 12 from a timing signal generator (not shown). However, in FIG. 11, the timing signal φ is omitted. When the rhythm set processing is performed as described above, the rhythm control circuit 130 is supplied with the rhythm sound control signal PAN including the 3-bit musical instrument group number signal IGN from the panel data interface 62. The S/P conversion circuit 140 receives this signal.
It converts IGN into a parallel signal, adds a load signal LD, and supplies it to the musical instrument group number register 142. Therefore, the register 142 receives the instrument group number signal in response to the load signal LD.
IGN is stored and supplied to the instrument number ROM 144. The ROM 144 stores instrument name data GS corresponding to eight instruments for each instrument group.
These data are sent to the channel counter 146 that counts the 3-bit instrument group number signal IGN from the register 142 and the timing signal φ AB .
The 3-bit count output of
The data is read from the ROM 144. For example, the value of the instrument group number signal IGN is 1.
If the rhythm type of waltz or ballad is specified, 5-bit data indicating the instrument name and top cymbal is read from the ROM 144 when the count value of the counter 146 (channel number CHN) is 0. Reading is from counter 1
As the count value of 46 changes from 1, 2, 3, . . . 7, the same process is performed for the other seven musical instrument names. Then, as the counter 146 repeats the counting operation for 8 channels (8 instruments),
Data reading from the ROM 144 is also repeated. The instrument name data GS read from this ROM 144 is the channel number of the register 148.
It is written in the stage corresponding to CHN and sent out in synchronization with the channel number CHN counted by the counter 146. When serial data OPC for eight instruments including the sound generation command signal NKON is supplied from the rhythm interface 58 (FIG. 10) to the rhythm control circuit 130, this data OPC is converted to S/P in the S/P conversion/latch circuit 150. P-converted and temporarily stored. The 3-bit common level data LEV and pitch control data PIT stored in this S/P conversion/latch circuit 150 are transmitted to the rhythm interface 5.
In response to the synchronization signal and timing signal φ AB sent from 8 together with the data OPC, the signals are written to the stages corresponding to each channel number CHN of the register 152, and are sent out for each channel in synchronization with the counting operation of the counter 146. In addition, the sound generation command signal NKON is output when the data OPC is S/
After being stored in the P conversion/latch circuit 150, the counter 146 first records the corresponding channel number.
Sent from circuit 150 when CHN is counted. The ROM 132 stores pitch designation data PIT 0 , tone designation data CLD, and envelope value data ENV for each instrument name. These data are sent to the ROM 132 using the 5-bit instrument name data GS from the register 148 as an address signal. It is now read out from The sound source circuit 134 generates a sine wave, triangular wave, or square wave of a frequency corresponding to the pitch, which is obtained by adding the 4-bit pitch control data PIT from the register 152 to the 14-bit pitch specification data PIT 0 from the ROM 132 and slightly modifying the pitch control data PIT. Or generate data of a relatively simple sound source waveform such as a sawtooth wave. In the timbre control circuit 136, the timbre correction data generation circuit 154 outputs timbre correction data based on the 3-bit common level data LEV from the register 152 and the 5-bit instrument name data GS from the register 148. The timbre addition circuit 156 converts the timbre designation data CLD from the ROM 132 into the timbre correction data generation circuit 1.
The sound source waveform data from the sound source circuit 134 is subjected to, for example, FM modulation using the data corrected with the timbre correction data from 4 to change the frequency distribution of the percussion instrument sound to be generated. In the volume control circuit 138, the envelope generator constant correction ROM 158 has register 1
Volume correction data is output using instrument name data GS from register 158 and common level data LEV from register 152 as address signals. The envelope generator 160 receives the sound generation command signal NKON from the S/P conversion/latch circuit 150.
is cleared when input, and ROM1
Envelope constant ENV from 32 to ROM158
An envelope value is calculated based on the modified data according to the modified data from. The volume designation circuit 162 is, for example, the timbre addition circuit 1.
An envelope is added to the sound source waveform by multiplying the sound source waveform data from 56 with timbre added, the envelope data from the generator 160, and the volume control signal TLV stored in the S/P conversion/latch circuit 163. This also determines the volume of the percussion instrument sound. Note that the timbre correction data generation circuit 154 and envelope generator constant correction ROM 15
8 is a characteristic selected for each instrument among the multiple common level data LEV vs. timbre/volume correction amount ADJ characteristics as shown in FIG. 13 (for example, a characteristic like A or B in the graph in the same figure). It is designed to generate correction or correction data according to the following. As described above, in this rhythm sound generation circuit 60, the volume level is corrected for each musical instrument based on the common level data LEV, and the timbre is also corrected based on the common level data LEV. FIG. 14 shows a more specific circuit example of the rhythm sound generation circuit 60. Next, the detailed operation of this rhythm sound generation circuit 60 will be explained. (Operation description of a specific example of the rhythm sound generation circuit 60) The rhythm sound generation circuit 60 in FIG.
With an FM sound source, the basic formula is E(t) = A(t) sin {ωct + S・I(t) sinωmt} ...(1) However, E(t): Instrument sound waveform data (sample data) A(t): Amplitude coefficient ωc: Carrier wave Each frequency S: Feedback coefficient I(t): Modulation index ωm: Modulation wave The calculation represented by each frequency is performed six times based on the operation sequence set for each sound source type (instrument name). , various FM modulation waveforms are obtained by appropriately selecting and substituting the previous calculation results, constants, etc. as S·I(t) sinωmt and ωmt in the above equation. In this embodiment, six calculations are performed on the instantaneous value of one percussion instrument sound. For example, when creating a snare drum shot sound, snare drum brush roll sound, etc., E 0 (t) = A 4 (t) sin[ω 4 t+A 3 (t)sin{ω 3 t+
A 2 (t) sin (ω 2 t + A 1 * (t) sinω 1 t)}] + A 6 (t) sin (ω 6 t + A
5 (t) sinω 5 t)…(2) Also, when forming claves and castanet sounds, E 0 (t)=A 6 (t) sin [ω 6 t+A 1 * (t) sinω 1 t± A
3 (t) sin {ω 3 t + A 2 (t) sin ω 2 t} + A 5 (t) sin {ω 5 t + A 4 (t
)sinω 4 t}]…(3) However, A 1 * (t)sinω 1 t is a formula such as self-feedback (that is, since the previous calculation result is used, the calculation equivalent to infinite nesting can be performed). The calculations shown are performed to obtain FM modulated waveforms corresponding to various percussion instrument sound waveforms. This circuit 60 includes a rhythm control circuit 170, an arithmetic control ROM 172, an angle data calculation section 174, an amplitude coefficient calculation section 176, and an FM calculation section 178, and generates a timing signal (not shown) as in the explanatory diagram of FIG. It operates by receiving timing signals φ, φAB, etc. as shown in FIG. 12 from the device. However, in FIG. 14, these timing signals are omitted. Note that in this rhythm sound generation circuit 60, the channel counter 180 in the rhythm control circuit 170
Eight sound source forming channels are created for each time slot that is sequentially separated by the width of one period of the timing signal φ (hereinafter referred to as 1 bit time), corresponding to the count value (channel number CHN) that occurs at the timing of the timing signal φ AB. It is now being formed in a time-divided manner. In addition, the operation counter 182 counts the carrier output C0 generated by the counter 180, and calculates a word number with a width of 8 bit time (hereinafter referred to as 1 word time) in which 8 channel numbers CHN from 0 to 7 are generated. Generate WDN. The rhythm sound generation circuit 60 generates a word number for each sound source forming channel corresponding to the channel number CHN.
Perform 6 calculations corresponding to WDN0 to 5, and
One waveform data is generated every word time (48 bit time, hereinafter referred to as one processing time). When the rhythm set processing is performed as described above, the rhythm control circuit 170 is supplied with the rhythm sound control signal PAN including the 3-bit musical instrument group number signal IGN from the panel data interface 62. This signal IGN is the S/P conversion circuit 1
After being converted into a parallel signal at 84, the register 18
6, and the instrument number is stored in register 186.
It is supplied to the ROM 188. The ROM 188 is addressed by the 3-bit instrument group number signal IGN from the register 186 and the 3-bit count output (channel number) of the channel counter 180 that counts the timing signal φ AB , and is used to control the eight instruments for each instrument group. Corresponding instrument name data GS for each channel number 0
-7 are sequentially output. From the rhythm interface 58 (Figure 10), serial data for 8 instruments including sound generation instructions
When OPC is supplied to the rhythm control circuit 170,
This data OPC is S/P conversion/latch circuit 19
S/P conversion is performed at 0 and temporarily stored. Here, for the sake of simplicity, let us assume that the serial data OPC for these eight instruments includes sound generation instructions only for the snare drum brush roll SDB (channel number 5) of the aforementioned instrument group number 1.・The latch circuit 190 outputs a sound generation command signal at the timing of channel number 5.
NKON="1" is sent and channel number 0
~4 and 6~7 timings signal NKON
"0" is sent in both cases. This signal NKON is connected to selector 192 and 1
94 as a signal SA for selecting input A. Therefore, the 8-stage/5-bit shift register 196 receives 5-bit instrument name data GS from the ROM 188, and the 8-stage/7-bit shift register 198 receives 7-bit pitch data from the S/P conversion/latch circuit 190. Level control data is provided respectively. shift register 19
6 and 198 each take in the supplied data to the stage corresponding to channel number 5 in accordance with the timing signal φ AB and sequentially shift it. After the selectors 192 and 194 supply data to the shift registers 196 and 198, respectively, the signal NKON="0" causes the selectors 192 and 194 to become in a state where they select input B, respectively.
The contents of 98 are selectors 192 and 19, respectively.
4 is stored cyclically. A 5-bit instrument name designation signal GS corresponding to each channel number sent out in a time-division manner from the shift register 196 is supplied to the arithmetic control ROM 172. The ROM 172 stores the count output (word number) of the operation counter 182 for each instrument name.
WDN) It stores six pitch specification data PIT 0 corresponding to 0 to 5, envelope generator constant data EG, average data AVE, connection control data GC1 to GC7, and level adjust data LVAD. The data is stored in the ROM 1 using the 5-bit instrument name designation signal GS from the shift register 196 and the word number WDN from the counter 182 as address signals.
72. For example, when a signal GS representing a 5-bit snare drum brush roll SDB corresponding to channel number 5 is input from the shift register 196, the FM calculation section 178 calculates and outputs the snare drum brush roll waveform from the ROM 172 each time. Data required for PIT 0 , EG, AVE, CG
1 to 7 and LVAD are sequentially read out according to the word number WDN counted by the counter 182. The 14-bit pitch designation data PIT 0 from the ROM 172 is used as the 4-bit pitch control data from the shift register 198 in the adder circuit 200.
PIT has been added and some corrections have been made. For this reason, the adder 200 supplies pitch designation data, which takes into account the pitch of each note, to the phase data ROM 202 as an address signal. The ROM 202 converts this pitch designation data into angular frequency data ω. The accumulator 204 is (number of channels)×
(Number of words) = 48 arithmetic circuits included, each channel number CHN, word number for each arithmetic circuit
The angle data ωt for each WDN is calculated, and the rhythm control circuit 170 outputs the signal NKON=
When "1" is sent, the initial value π/2 is set to the six arithmetic circuits corresponding to channel number 5,
Thereafter, each time the counter 180 counts channel number 5, the word number counted by the counter 182 at that time among these six arithmetic circuits is
Angular frequency ω and signal NKON in a circuit compatible with WDN
The angle data ωt as a product of the elapsed time t after the occurrence of =“1” is calculated and supplied to the FM calculation unit 178. The amplitude coefficient calculation unit 176 obtains the amplitude coefficient (or modulation index) A(t) at each time point such as attack, decay, and release of the instrument sound to be calculated by the FM calculation unit 178 from the ROM 172 for each word for each instrument name. Generated based on envelope generator constant data EG supplied to EG. As mentioned above, the rhythm control circuit 170 receives the signal
When NKON="1" is sent, the state control circuit 20
6 is a 48-stage 2-bit shift register 20
At 8, data 01 indicating the attack state is transmitted six times at one bit time per word time, corresponding to the six steps of the corresponding channel. Therefore, the shift register 208 takes in the state data ADR=01 into the six stages corresponding to channel number 5 in accordance with the timing signal φ AB , and
Shift sequentially. This status data ADR is supplied to selector 210. The selector 210 receives three words of rate data RATE and level data from the arithmetic control ROM 172, each indicating the slope and final level of the three states Attack A, Dekes D, and Release R.
Envelope data EG consisting of LEV 0 is supplied, and data RATE and LEV 0 for attack are output in accordance with state data ADR=01 supplied from the shift register 208 to the selection input terminal. Comparator 212 outputs data from selector 210.
Comparing LEV 0 (A) and the output data (B) of the 48 stage/6 bit shift register 214, A>
Level “1” when B, level “0” when A<B
It generates a comparison signal of , and also generates an equal value signal EQ when A=B. The shift register 214 delays the output of the arithmetic circuit 216 by the same time as calculating one waveform data E(t), that is, 6 word times (1 processing time), and outputs the output of the comparator 212. The rate data RATE output from the selector 210 is sequentially added (comparison signal = "1") or subtracted (comparison signal = "0") to the output of the shift register 214 according to whether the comparison signal to be output is "1" or "0". do.
Therefore, each stage of the shift register 214 has rate data for each instrument name and word number.
The accumulated value of RATE is temporarily stored. Since A>B in the attack state, attack data is sequentially supplied from the ROM 172 to each of the 8 stages corresponding to the channel number 5 of the shift register 214 and to the 6 stages corresponding to the word number WDN. will be added. When the output (B) of the shift register 214 becomes equal to the output LEV 0 (A) of the selector 210, the comparator 212 sends an equal value signal EQ="1" to the state control circuit 206. Therefore, the circuit 206 increments the contents of the six stages corresponding to channel number 5 of the shift register 208 and changes the data to ADR=10 indicating the next decay state. Therefore, the selector 210 sends out decay rate data and decay level data, and since A<B this time, the comparator 212 sends out a comparison signal "0".
The arithmetic circuit 216 reduces the decay rate data from the output of the shift register 214 and sends it to the shift register 214 . Next, shift register 214
The output data value (B) of selector 210 decreases.
When the decay level data value (A) outputted by The shift register 208 increments the contents of ADR=
Generate 11. Hereinafter, in the same manner, the selector 21
0 sends out release rate data and release level data, and based on the output "0" of the comparator 212, the arithmetic circuit 216 reduces the output of the shift register 214 to release rate data, and the output of the shift register 214 reduces the release rate data. When it becomes equal to the level data, the comparator 212 generates an equal value signal EQ, and the contents of the shift register 208 are further incremented to write data ADR=00 indicating a musical tone stop state. Calculated by the calculation circuit 216 as described above,
The data written in each stage of the shift register 214 is sent to the adder circuit 2 every 48 bit times.
Sent on 18th. The dynamic level characteristic ROM 220 stores amplitude coefficient (volume) or modulation coefficient (timbre) correction data corresponding to the common level data LEV for each instrument type and each of the six word numbers WDN. and level adjustment data for each calculation step
By using the common level data LEV from the LVAD and the shift register 198 as an address input, correction data ADJ based on characteristics set for each musical instrument among a plurality of types of correction characteristics as shown in FIG. 13 are read out. This correction data
ADJ is supplied to adder circuit 218. The S/P conversion/latch circuit 222 performs S/P conversion on the volume control signal TLV from the panel data interface 62 (FIG. 1), temporarily stores it, and supplies the volume control signal TLV to the addition circuit 218. It's getting old. The adder circuit 218 adds the envelope data from the shift register 214, the volume/timbre correction data ADJ from the ROM 220, and the volume control signal TLV from the S/P conversion/latch circuit 222, thereby achieving a common level. DataLEV
It becomes possible to adjust the relationship between the volume and the instrument volume for each type of instrument. Further, in this adder circuit 222, total volume control by the volume 22 is also performed. The amplitude coefficient A(t) for each musical instrument and each word number from this adding circuit 222 is FM
The signal is supplied to the calculation unit 178. The FM calculation unit 178 calculates the angle data ωt output from the angle data calculation unit 174 and the amplitude coefficient A(t) output from the amplitude coefficient calculation unit 176 according to the calculation formula specified by the connection control signals CG1 to CG7 output from the ROM 172. The musical instrument sound waveform data (sample value) E(t) is calculated using The addition circuit 228 is
Angle data calculation unit 1 with two input terminals A and B
Angle data ωt input from 74 to A terminal and feedback data G fed back from selector 230 to B terminal
(t). The sine table 232 converts the output ωt+G(t) of the adder circuit 228 into sin{ωt+G
(t)} (logarithmic value). The adder circuit 234 adds sin {ωt+G(t)} and the amplitude coefficient A(t), each input as a logarithm value, and performs logarithm-antilog conversion.
The ROM 236 converts the output of the adder circuit 234 into an antilog number and outputs calculation data E(t)=A(t) sin {ωt+G(t)} (4). The delay circuit 238 delays the output of the ROM 236, that is, the operation data E(t) by one word time in order to use it for the next operation. Gate circuits 240, 242, adder circuit 244, and delay circuit 246 constitute a dynamic memory, and when gates 240 and 242 are off, the memory contents are cleared, and when only gate 242 is on, the memory is retained as is. Gates 240 and 242
When both are on, gate 2 is added to the memory contents.
New calculation data E(t) input via 40
Add and store. Furthermore, when only the gate 240 is on, the stored content is new calculation data E(t).
Updated by. Gate 248, delay circuit 250, addition circuit 25
2 and the shifter 254 constitute a feedback circuit, and when the selector 230 selects the output F of this feedback circuit as the feedback input to the B terminal of the adder circuit 228, the FM calculation section 178 calculates infinite nesting due to self-feedback. Operates as an arithmetic circuit. The delay circuit 250 is composed of a 48-stage 10-bit shift register and outputs the calculated data with a delay of one processing time. The adder circuit 252 and the shifter 254 average the calculated data one processing time before and the calculated data at each instant to prevent hunting during self-feedback. In addition, the shifter 254 is connected to the arithmetic control ROM 172.
Based on the average data AVE output by , a shift other than one digit is also performed, and the self-feedback amount, that is, the feedback coefficient S of the calculation formula is specified. The storage unit 256 is an arithmetic control ROM1.
74 generates the gate control signal GC7 of "1" level, the calculation data E(t) is taken in, and the calculation is input from word number 0 and channel number 0 to word number 5 and channel number 7 within one processing time each. Add data for each channel. Note that the above delay circuits 238, 246, 250
The number of delay bits in addition circuits 228, 23
This is assuming that there is no time delay in the 4th grade, and in reality there is a delay in the adding circuit, etc.
The delay time is adjusted by reducing the number of delay bits. Figures 15a and 15b illustrate the calculations of equations (2) and (3), respectively. In the same figure, OP
indicates that the signature table 236 is read out and the calculation is performed, and the numbering indicates the word number on which the calculation is performed. X indicates computation by self-feedback, and + indicates addition of computed data. [Example 1] As mentioned above, when the snare drum brush roll SDB sound generation command signal NKON is input to the rhythm sound generation circuit 60, this SDB sound is generated according to equation (2).
Synthesized by FM calculation. In addition, channel 0~
Since A(t) of channels 4 and 6 to 7 is 0, and therefore the waveform data E(t) is also 0, only the time slot with channel number CHN=5 will be described below. Also, word number
The phase data ω, amplitude coefficient A(t) and calculation data E(t) at calculation step n=WDN+1 corresponding to WDN are ωn, An(t) and
Let it be expressed as En(t). In the first step, the ROM 172 generates connection control signals GC3 and GC6 of level "1" and feeds back the output F of the shifter 252 to the B terminal of the adder circuit 228. Therefore, the FM calculation section 178 is the adder circuit 2.
28, sign table 232, addition circuit 234,
A real-time closed loop reaching the adder 232 via the ROM 236, the adder circuit 252, the shifter 254, and the selector 230 is configured, and self-feedback provides E 1 (t)=A 1 * (t) sinω 1 t=A 1 ( t) sin(ω 1 t+A
1 sin (ω 1 t+A″ 1 sin (ω 1 t+…)…) …(5) An operation equivalent to infinite nesting is performed. In this closed loop, the adder circuit 252 and shifter 254 perform the first step Hunting of the FM calculation section 178 during self-feedback is obtained by obtaining the average value of each instantaneous calculation data and the calculation data one processing time before, and feeding back data whose level has been adjusted by the shifter 254. Next, in the second step, the connection control signal GC
4 is set to "1" and the output Q of the delay circuit 238, that is, the operation data E 1 (t) of one word time ago, is fed back to the B terminal of the adder circuit 228. Therefore, E 2 (t) = A 2 (t) sin {ω 2 t + A 1 * (t) sinω 1 t} by substituting G(t)=E 1 (t) in equation (4)...(6) is obtained. Similarly, in the third step, the connection control signal is
Set only GC4 to “1” and return G(t)=E 2 (t), E 3 (t)=A 3 (t) sin {ω 3 t+A 2 (t) sin(ω 2 t+
A 1 * (t) sinω 1 t)}...(7) is obtained, and in the fourth step, the connection control signal GC4 is similarly set to "1" and G(t)=E 3 (t) is returned, and E 4 (t)=A 4 (t) sin[ω 4 t+A 3 (t) sin{ω 3 t+
A 2 (t) sin (ω 2 t + A 1 * (t) sinω 1 (t))}] …(8) is obtained, and the connection control signal GC7 is set to “1” to convert this calculation data E 4 (t) Accumulator 2
56. In the fifth step, the connection control signals GC1 to
Set all 7 to “0”. Therefore, the feedback data G(t)
= 0, and the calculation data E 5 (t) is expressed as G(t) in equation (4).
=0 was assigned. E 5 (t)=A 5 sinω 5 t (9) is obtained. In the sixth step, the connection control signal GC4 is set to "1" and G(t)=E 5 (t) is returned to E 6 (t)=A 6 (t) sin(ω 6 t +A 5 (t) sinω 5 t) ...(10), set the connection control signal GC7 to "1", input this calculated data E 6 (t) to the accumulator 256, and input the calculated data E 4 stored in the fourth step. (t) and added value E 4 (t) + E 6
(t), that is, the calculation data E 0 (t) of equation (2) is calculated. This data E 0 (t) is supplied to the D/A converter 52 (FIG. 1) as a rhythm sound signal RTS. The above is the waveform data calculation and volume control operation for one note at the first sound generation timing.
If multiple sound command signals are generated at the same time, or if one
Even if one or more sound production command signals are generated while a plurality of sounds are being generated, waveform data calculation and volume control operations for the plurality of sounds (up to eight sounds) are performed in the same manner. In this case, each arithmetic unit and ROM
etc. are shared in a time-division manner for each time slot corresponding to each channel number. [Example 2] Next, the case of realizing equation (3) will be explained. In the first step, as in the first step of Example 1, the connection control signal GC6 is set to "1" to obtain E 1 (t) = A 1 * (t) sinwit (11), and the connection control signal GC1 is set to "1". 1'' and stores the calculated data E 1 (t) in a dynamic memory consisting of an adder circuit 244, a delay circuit 246, and a gate circuit 242. In the second and third steps, the fifth
Similarly to the sixth step, E 3 (t) = A 3 (t) sin (ω 3 t + A 2 (t) ω 2 t (12) is obtained, and in this third step, the connection control signal GC1 is also obtained. Then, GC2 is set to "1" and the calculation data E 3 (t) obtained in the third step is further added to the calculation data E 1 (t) stored in the dynamic memory. In order to store the stored calculation data in the dynamic memory, the connection control signal GC2 is set to 1" in the second step. In the fourth and fifth steps, the procedures of the second and third steps are repeated. Then, obtain the calculation data E 5 (t) = A 5 (t) sin (ω 5 t + A 4 (t) sinω 4 t) ...(13) and add this calculation data E 5 (t) to the above dynamic memory. In the sixth step, the connection control signal GC5 is set to "1" and the output M of the dynamic memory is fed back to the B terminal of the adder circuit 228. Therefore, in equation (4), G(t)=E 1 ( Calculated data by substituting t) + E 3 (t) + E 5 (t) E 6 (t) = sin[ω 6 t + A 1 * (t) sinω 1 t±A 3 (t) s
in {ω 3 t +A 2 (t) sinω 2 t} + A 5 (t) sin {ω 5 t + A 4 (t
) sinω 4 t}]...(14) In other words, equation (3) is obtained. In this sixth step, the connection control signal GC7 is further set to "1", and the above calculation data E 6 (t) is passed through the accumulator 256 as the rhythm sound signal RTS to the D/A converter 52 (first (Figure). Note that in this rhythm sound generation circuit 60, the tone color and volume control operations are performed in a unified manner, and cannot necessarily be clearly distinguished as shown in the explanatory diagram of FIG. It may be considered that the sixth step is a volume control operation, the fourth and sixth steps of Example 1 are volume and timbre control operations, and the other steps of Examples 1 and 2 are timbre control operations. In this embodiment, only the instrument name is read from the ROM 188, but in addition, balance data BAL indicating whether the instrument is noise-based or drum-based, and a speaker that distinguishes whether the instrument's sounding speaker is the center or left. Channel data CHA etc. can also be read out. The balance data BAL is used, for example, to set the balance between noise-based instruments and drum-based instruments by adding a balance volume to the panel 12 and combining it with noise-based volume data or drum-based volume data from the balance volume. . As described above, according to the present invention, musical sound parameters such as the volume and timbre of rhythm sounds (instrumental sounds) are corrected and controlled based on common level data, and the amount of correction of these musical sound parameters is adjusted for each rhythm sound (each instrument sound). Since it is set to , it is not necessary to have detailed volume data and timbre data for each rhythm sound, and the amount of memory for pattern storage is small, resulting in extremely high memory efficiency. In addition, it is possible to finely control each type of rhythm sound source, making it possible to make changes in musical sound characteristics such as volume and timbre due to the strength of the performance closer to those of an actual musical instrument performance, making it possible to create richer rhythm sounds. can occur.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は、この発明の1実施例による自動リズ
ム演奏装置を備えた電子楽器のブロツク図、第2
図は、第1図の楽器のパネルにおけるリズム用操
作子の配置図、第3図は、第1図の電子楽器にお
けるリズムパターンメモリに格納されたデータの
フオーマツトを示す図、第4図は、第1図の楽器
におけるシリアルリズムデータのフオーマツトを
示す図、第5図は、第1図の電子楽器の動作を説
明するためのフローチヤート、第6図は、リズム
セツト処理のサブルーチンを示すフローチヤー
ト、第7図は、割込処理を示すフローチヤート、
第8図は、リズム音発生データ出力処理のサブル
ーチンを示すフローチヤート、第9図は、データ
出力処理のサブルーチンを示すフローチヤート、
第10図は、第1図におけるリズムインターフエ
ースの詳細ブロツク構成図、第11図は、第1図
におけるリズム音発生回路の動作を説明するため
のブロツク図、第12図は、第11図のリズム音
発生回路を動作させるためのタイミング信号のタ
イムチヤートを示す図、第13図は、この発明に
おける共通レベルデータ対音色・音量補正特性を
表わすグラフ、第14図は、この発明に用いられ
るリズム音発生回路のさらに具体的なブロツク構
成図、第15図は、第14図の回路におけるFM
演算部の演算処理チヤート図である。 36…CPU、42…リズムパターンメモリ、
60…リズム音発生回路、130…リズム制御回
路、132…基本ピツチ・音色・エンベロープデ
ータROM、134…音源回路、136…音色制
御回路、138…音量制御回路、154…音色補
正データ発生回路、156…エンベロープジエネ
レータ定数修正ROM、170…リズム制御回
路、172…演算制御ROM、174…角度デー
タ演算部、176…振幅係数演算部、178…
FM演算部、220…ダイナミツクレベル特性
ROM。
FIG. 1 is a block diagram of an electronic musical instrument equipped with an automatic rhythm playing device according to one embodiment of the present invention, and FIG.
The figure shows the arrangement of rhythm controls on the panel of the musical instrument shown in FIG. 1, FIG. 3 shows the format of data stored in the rhythm pattern memory of the electronic musical instrument shown in FIG. 1, and FIG. FIG. 5 is a flow chart for explaining the operation of the electronic musical instrument shown in FIG. 1; FIG. 6 is a flow chart showing a subroutine for rhythm set processing; FIG. 7 is a flowchart showing interrupt processing;
FIG. 8 is a flowchart showing a subroutine of rhythm sound generation data output processing, and FIG. 9 is a flowchart showing a subroutine of data output processing.
10 is a detailed block diagram of the rhythm interface in FIG. 1, FIG. 11 is a block diagram for explaining the operation of the rhythm sound generation circuit in FIG. 1, and FIG. 12 is a detailed block diagram of the rhythm interface in FIG. A diagram showing a time chart of a timing signal for operating a rhythm sound generation circuit, FIG. 13 is a graph representing common level data versus timbre/volume correction characteristics in this invention, and FIG. A more specific block diagram of the sound generation circuit, Figure 15, shows the FM in the circuit of Figure 14.
FIG. 2 is a calculation processing chart of the calculation unit. 36...CPU, 42...Rhythm pattern memory,
60... Rhythm sound generation circuit, 130... Rhythm control circuit, 132... Basic pitch/tone/envelope data ROM, 134... Sound source circuit, 136... Tone control circuit, 138... Volume control circuit, 154... Tone correction data generation circuit, 156 ...Envelope generator constant correction ROM, 170...Rhythm control circuit, 172...Arithmetic control ROM, 174...Angle data calculation section, 176...Amplitude coefficient calculation section, 178...
FM calculation section, 220...Dynamic level characteristics
ROM.

Claims (1)

【特許請求の範囲】 1 複数種類のリズム音ごとの発音タイミングデ
ータ、および前記複数種類のリズム音に対して共
通に設定され複数段階あるレベル制御態様のうち
の所望の段階を表す共通レベルデータを含むリズ
ムパターンデータを記憶しているパターンメモリ
と、 このパターンメモリを前記発音タイミングデー
タに従い所定のテンポで読み出して、前記リズム
パターンデータに基づく複数のリズム音を発生す
るリズム音読出発生手段と、 前記共通レベルデータに対応する、前記各リズ
ム音ごとの補正データを記憶するレベル記憶手段
と、 を備え、前記リズム音読出発生手段は、前記レ
ベル記憶手段から読み出された補正データに基づ
いて、発生するリズム音の楽音パラメータを補正
制御することを特徴とする自動リズム演奏装置。 2 前記補正データにより補正制御されるリズム
音の楽音パラメータが、音量あるいは音色である
特許請求の範囲第1項記載の自動リズム演奏装
置。
[Scope of Claims] 1. Sound generation timing data for each of a plurality of types of rhythm tones, and common level data representing a desired level among a plurality of level control modes commonly set for the plurality of types of rhythm tones. a pattern memory storing rhythm pattern data including; a rhythm sound reading generation means for reading out the pattern memory at a predetermined tempo according to the sound generation timing data and generating a plurality of rhythm sounds based on the rhythm pattern data; level storage means for storing correction data for each of the rhythm sounds corresponding to the common level data; An automatic rhythm performance device characterized by correcting and controlling musical sound parameters of rhythm sounds. 2. The automatic rhythm performance device according to claim 1, wherein the musical sound parameter of the rhythm sound that is corrected and controlled by the correction data is volume or timbre.
JP57166158A 1982-09-24 1982-09-24 Automatic rhythm performer Granted JPS5955492A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57166158A JPS5955492A (en) 1982-09-24 1982-09-24 Automatic rhythm performer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57166158A JPS5955492A (en) 1982-09-24 1982-09-24 Automatic rhythm performer

Publications (2)

Publication Number Publication Date
JPS5955492A JPS5955492A (en) 1984-03-30
JPH0241758B2 true JPH0241758B2 (en) 1990-09-19

Family

ID=15826137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57166158A Granted JPS5955492A (en) 1982-09-24 1982-09-24 Automatic rhythm performer

Country Status (1)

Country Link
JP (1) JPS5955492A (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS516525A (en) * 1974-07-05 1976-01-20 Sony Corp
JPS6025100Y2 (en) * 1977-10-26 1985-07-27 ブラザー工業株式会社 automatic rhythm playing device

Also Published As

Publication number Publication date
JPS5955492A (en) 1984-03-30

Similar Documents

Publication Publication Date Title
JPS6367193B2 (en)
JPH0584920B2 (en)
JPH0634170B2 (en) Automatic musical instrument accompaniment device
US4619176A (en) Automatic accompaniment apparatus for electronic musical instrument
JPH0769698B2 (en) Automatic accompaniment device
US4920849A (en) Automatic performance apparatus for an electronic musical instrument
JP2572318B2 (en) Automatic performance device
JPH0559438B2 (en)
JP2518356B2 (en) Automatic accompaniment device
JPH021316B2 (en)
JP3609045B2 (en) Automatic performance device
JP2972362B2 (en) Musical control information processing device, musical control information processing method, performance pattern selection device, and performance pattern selection method
JP2943560B2 (en) Automatic performance device
JP2513003B2 (en) Electronic musical instrument
JP3064738B2 (en) Accompaniment pattern selection device
JPH0581915B2 (en)
JP2619237B2 (en) Automatic accompaniment device for electronic musical instruments
JP3097382B2 (en) Chord detector
JP3324881B2 (en) Automatic performance device
JPH07104753A (en) Electronic musical instrument automatic tuning device
JP2005010458A (en) Automatic arpeggio device and computer program applied to the device
JP2964498B2 (en) Envelope waveform generator for electronic musical instruments
JPH01319794A (en) Electronic musical instrument
JPH073639B2 (en) Autorhythm device
JPH037959B2 (en)