JP2760398B2 - 自動演奏装置 - Google Patents

自動演奏装置

Info

Publication number
JP2760398B2
JP2760398B2 JP63155629A JP15562988A JP2760398B2 JP 2760398 B2 JP2760398 B2 JP 2760398B2 JP 63155629 A JP63155629 A JP 63155629A JP 15562988 A JP15562988 A JP 15562988A JP 2760398 B2 JP2760398 B2 JP 2760398B2
Authority
JP
Japan
Prior art keywords
data
key
performance
flag
mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP63155629A
Other languages
English (en)
Other versions
JPH01321481A (ja
Inventor
貴史 平形
伸悟 川崎
卓也 中田
仁 牧田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP63155629A priority Critical patent/JP2760398B2/ja
Publication of JPH01321481A publication Critical patent/JPH01321481A/ja
Priority to US07/776,675 priority patent/US5113744A/en
Application granted granted Critical
Publication of JP2760398B2 publication Critical patent/JP2760398B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
「産業上の利用分野」 この発明はメモリに記憶された演奏データを読み出
し、自動演奏を行う自動演奏装置に係わり、特に、演奏
データを記憶する記憶領域(以下、エリアという)を複
数個有し、複数の曲あるいはパートの自動演奏を同時に
行うことができるようにした自動演奏装置に関する。 「従来の技術」 従来、この種の自動演奏装置においては、各エリア内
の演奏データの読み出しが同時に開始されて各演奏デー
タに基づく自動演奏が行なわれるようになっていた。 「発明が解決しようとする課題」 ところで、この種の自動演奏装置においては、各エリ
ア内の演奏データを同時に再生し、1つのエリア内の演
奏データに従ってハープシコードの音を、他のエリア内
の演奏データに従ってホルンの音を各々発生することが
行なわれる。しかしながら、ハープシコードの音は立ち
上がりが速く、一方、ホルンの音は立ち上がりが遅いた
め、2つのエリアの演奏データを同時に再生すると、ホ
ルンの音が僅かに遅れて発音されているように聞こえ、
聞き苦しい欠点があった。 この発明は上述した事情に鑑みてなされたもので、各
エリア内の演奏データに基づく楽音の発生タイミングを
制御できるようにした自動演奏装置を提供することを目
的としている。 「課題を解決するための手段」 この発明は、押鍵データ及び離鍵データからなるキー
データを含む演奏データを記憶する複数の記憶手段と、
複数の演奏データに基づく楽音を並行して発生する楽音
発生手段と、前記複数の記憶手段のそれぞれに対し、任
意に遅延時間を設定する遅延時間設定手段と、前記キー
データを一時記憶する複数の一時記憶手段と、発生楽音
のテンポの基となるテンポクロックを発生するテンポク
ロック発生手段と、所定の間隔でクロック信号を発生す
るクロック発生手段と、前記テンポクロックに基いて前
記記憶手段内のキーデータを読み出し、前記一時記憶手
段へ記憶する読み出し手段と、前記クロック信号に基づ
き、キーデータ毎に、当該キーデータが一時記憶手段に
記憶された時点からの経過時間を計測する計測手段と、
該計測手段が前記遅延時間を計測した時に、当該一時記
憶手段に記憶されているキーデータを前記楽音発生手段
へ出力する出力手段とを具備することを特徴としてい
る。 「作用」 この発明によれば、キーデータを一時記憶する複数の
一時記憶手段と、テンポクロックに基いて記憶手段内の
キーデータを読み出し、一時記憶手段へ記憶する読み出
し手段と、クロック信号に基づき、キーデータ毎に、当
該キーデータが一時記憶手段に記憶された時点からの経
過時間を計測する計測手段と、計測手段が遅延時間を計
測した時に、当該一時記憶手段に記憶されているキーデ
ータを楽音発生手段へ出力する出力手段とを有している
ので、例えば第1の記憶手段内の演奏データに基づきハ
ープシコードの音を、また第2の記憶手段内の演奏デー
タに基づきホルンの音を発生させた場合において、ハー
プシコードの音をホルンの音より僅かに遅く発音させる
ことが可能となり、したがって、従来の聞き苦しい問題
を解決することができる。また、1つの記憶手段内の演
奏データを他の記憶手段内にコピーし、いずれか一方の
演奏データに基づく楽音を僅かに遅延させて発生させれ
ば、残響がかかったような効果を発生楽音に付与するこ
とができる。さらにまた、いずれか一方の楽音の発音タ
イミングを遅らせると共に、音量を僅かに下げて(ある
いは、上げて)発音させるようにすれば、近ずいてくる
音(遠ざかる音)のようなイメージを作ることができ
る。この場合、記憶手段を多数設け、それぞれの発音タ
イミングを少しずつずらし、かつ、音量を少しずつ変え
るようにすればより効果的である。 「実施例」 以下、図面を参照してこの発明の一実施例について説
明する。
【構成】
第1図は同実施例による自動演奏装置を適用した電子
楽器の構成を示すブロック図である。この電子楽器は、
自動演奏装置1に対し、鍵盤ユニット10、鍵盤用楽音信
号発生回路52、さらに外部サウンドシステムとしてアン
プ54およびスピーカ55が接続されて構成される。 鍵盤ユニット10において、10aは複数の鍵を有する鍵
盤であり、各鍵の下部には鍵操作検出用の鍵スイッチが
設けられている。鍵スイッチ回路10bは、各鍵スイッチ
のオン/オフ状態を検出し、この検出結果に基づいて鍵
の押鍵および離鍵を示す押離鍵情報を受信端10cを介し
て自動演奏装置1のバスBへ供給する。また、鍵盤用楽
音信号発生回路52は、ピアノ、バイオリン等の楽器に対
応した楽音信号を形成する複数の楽音信号形成チャネル
を備えており、鍵盤10aにおける押離鍵操作に応じて楽
音信号を形成出力する。この鍵盤用楽音信号発生回路52
が出力する楽音信号は、自動演奏装置1内のリズム音信
号発生回路51および自動演奏用楽音信号発生回路53から
の楽音信号と混合されてアンプ54に供給される。アンプ
54にはスピーカ55が接続されており、このスピーカ55は
アンプ54から供給される楽音信号に対応した楽音を発音
する。 次に、自動演奏装置1の内部構成を説明する。この自
動演奏装置1は、操作パネル20、リズム音信号発生回路
51、自動演奏用楽音信号発生回路53、テンポ発振器40、
タイマクロック発振器41,データ記憶回路60およびマイ
クロコンピュータ70が、バスBによって相互接続されて
なる。 操作パネル20は、表示器20aおよび各種操作子(テン
キー、アップ/ダウンキー等)20cが設けられており、
さらにマウス20bが接続されてなる。また、操作パネル2
0には操作子群スイッチ回路21が設けられている。この
操作子群スイッチ回路21では、操作子20cおよびマウス2
0bが操作された場合に、例えば、8ビート、サンバ等の
リズム選択、ピアノ、フルート等の音色選択、発生楽音
の音量調整、発生楽音のテンポ調整、自動演奏の開始ま
たは演奏データの記録開始の指示、自動演奏の停止また
は演奏データ記録の停止の指示等の操作情報が検出さ
れ、バスBに出力される。また、表示器20aには表示制
御回路22が設けられている。この表示制御回路22は、バ
スBを介して供給される表示情報を取り込み、これに基
づいて表示器20aに表示を行う。 テンポ発振器40は、発生楽音のテンポの基となるテン
ポクロックを発生し、このテンポクロックをリズムイン
タラプト信号としてバスBを介してマイクロコンピュー
タ70へ出力する。タイマクロック発振器41は、上述した
テンポクロックと独立したタイマクロックを発生する回
路であり、このタイマクロックもタイマインタラプト信
号としてマイクロコンピュータ70へ供給される。リズム
音信号発生回路51は、シンバル、バスドラム等の打楽器
に対応した打楽器音信号を形成する複数の打楽器音信号
形成回路を有し、マイクロコンピュータ70からバスBを
介して供給されるリズムパターンデータに応じて打楽器
音信号を形成出力する。自動演奏用楽音信号発生回路53
は、ピアノ、バイオリン等の楽器に対応した楽音信号を
形成する複数の楽音信号形成チャネルを備えており、マ
イクロコンピュータ70からバスBを介して供給される演
奏データに基づく楽音信号を形成する。 データ記憶回路60はバスBに各々接続されたリズムパ
ターンデータメモリ61、演奏データメモリ62およびバッ
ファレジスタ63からなる。リズムパターンデータメモリ
61はROMで構成されており、リズム音信号発生回路51に
おける各打楽器音信号の形成出力を指示するリズムパタ
ーンデータをリズム種類毎に1小節長に渡って時系列的
に記憶している。演奏データメモリ62はRAMで構成され
ており、第2図に示すように、同容量の記憶エリア(記
憶手段)I,IIと、ヘッドデータエリアHDEとを有してい
る。そして、ヘッドデータエリアHDEには、エリアIの
先頭アドレスHEADAD(I)およびエリアIIの先頭アドレ
スHEADAD(II)が記憶されている。また、エリアI,II
は、後述するアドレスADRによりアドレス指定される多
数の記憶位置APM(ADR)を有する。各記憶位置APM(AD
R)には、次のような各種自動演奏用データが第3図に
示すようなデータフォーマットで記憶されるようになっ
ている。 ◇タイミングデータ・・・タイミングデータであること
を示す識別マークと、小節の頭からの経過時間を表す時
間データTIMDとからなる。 ◇押鍵データ・・・鍵盤10aにおける押鍵イベントデー
タであることを示す識別マークと、押鍵された鍵を表す
キーコードKCとからなる。 ◇離鍵データ・・・鍵盤10aにおける離鍵イベントデー
タであることを示す識別マークと、離鍵された鍵を表す
キーコードKCとからなる。 ◇音色データ・・・音色データであることを示す識別マ
ークと、選択された音色を示す音色データとからなる。 ◇小節コード・・・自動演奏の進行タイミングが小節線
に対応したタイミングであることを示すコード。 ◇終了コード・・・自動演奏の終了タイミングであるこ
とを示すコード。 バッファレジスタ63はRAMによって構成されており、
次の各レジスタが予め設定されている。 ◇キーバッファレジスタKYB1(P1),KYB2(P2) 自動演奏モードにおいては、演奏データメモリ62のエ
リアIから読み出された演奏データがキーバッファレジ
スタKYB1(P1)に一旦書き込まれる。そして、一定時間
(遅延時間)が経過後、このキーバッファレジスタKYB1
(P1)から読み出され、自動演奏用楽音信号発生回路53
へ出力される。同様に、エリアIIから読み出された演奏
データは一旦キーバッファレジスタKYB2(P2)に書き込
まれる。これらのキーバッファレジスタKYB1(P1),KYB
2(P2)は各々、第1図右部に示すように、K個のレジ
スタからなる。 ◇時間計測レジスタtm1,tm2 上述した遅延時間を計測するためのレジスタである。
第1図に示すように、キーバッファレジスタKYB1(P1)
にレジスタtm1が、キーバッファレジスタKYB2(P2)に
レジスタtm2が各々対応し、各K個のレジスタからな
る。 ◇ポインタレジスタP1,P2 キーバッファレジスタKYB1(P1),KYB2(P2)を各々
指示するためのレジスタである。 ◇タイマレジスタTM1,TM2 上述した遅延時間が設定されるレジスタであり、レジ
スタTM1にキーバッファレジスタKYB1(P1)内のデータ
の遅延時間が設定され、レジスタTM2内にキーバッファ
レジスタKYB2(P2)内のデータの遅延時間が設定され
る。 ◇ソースレジスタFROM エリアI(またはII)内の演奏データをエリアII(ま
たはI)内にコピーする場合に、コピー元のエリア番号
が設定されるレジスタである。 ◇コピーレジスタTO エリア1(またはII)内の演奏データをエリアII(ま
たはI)内にコピーする場合に、コピー先のエリア番号
が設定されるレジスタである。 マイクロコンピュータ70はバスBに各々接続されたプ
ログラムメモリ71、CPU72及びワーキングメモリ73から
なる。プログラムメモリ71はROMで構成され、メインプ
ログラム、リズムインタラプトプログラム、タイマイン
タラプトプログラム及びそれらのサブプログラムを記憶
している。CPU72は電源スイッチ(図示しない)の投入
によりメインプログラムの実行を開始するとともに同プ
ログラムを電源スイッチ・オフまで繰返し実行し、テン
ポ発振器40からのテンポクロックの到来時には前記メイ
ンプログラムの実行を中断してリズムインタラプトプロ
グラム(第9図)を実行し、また、タイマクロック発振
器41からのタイマクロックの到来時にはメインプログラ
ムの実行を中断してタイマインタラプトプログラム(第
12図)を実行する。ワーキングメモリ73はRAMで構成さ
れ、前記プログラムの実行に必要な複数のデータ及びフ
ラグを一時的に記憶する。これらのデータ及びフラグの
うち、主なものを列挙すると次の通りである。 ◇リズムランフラグRUN・・・このフラグRUNを“1"にす
るとリズム音が発生し、“0"にするとリズム音が停止す
る。 ◇プレイフラグPLY1,PLY2・・・フラグPLY1を“1"にす
ると、演奏データメモリ62のエリアI内の演奏データに
基づく自動演奏可能状態となる。このフラグPLY1を“1"
とし、次いでスタートスイッチを押すと、自動演奏が開
始される。同様に、フラグPLY2を“1"にすると、エリア
II内の演奏データに基づく自動演奏可能状態となる。 ◇レコードフラグREC1,REC2・・・フラグREC1を“1"に
すると、演奏データメモリ62のエリアIのデータ書込み
可能状態となる。このフラグREC1を“1"とした後、スタ
ートスイッチを押すか、あるいは鍵盤10のキーをオンと
すると、エリアIの書込みが開始される。同様に、フラ
グREC2を“1"にすると、 エリアIIのデータ書込み可能状態となる。 ◇シンクロスタートフラグSST・・・このフラグSSTを
“1"とすると、演奏データの書込み開始時において、鍵
盤キーを操作すると同時にリズム音がスタートする。す
なわち、リズム音の同期スタートが可能となる。 ◇レコードチェックフラグDTARI1,DTARI2・・・演奏デ
ータメモリ62のエリアIに演奏データが書込まれると、
フラグDTARI1が“1"とされ、エリアIIに演奏データが書
込まれると、フラグDTARI2が“1"とされる。 ◇アドレスデータADR1,ADR2・・・これらのアドレスデ
ータは共に演奏データメモリ62のアドレス端子へ出力さ
れるデータであり、アドレスデータADR1によってエリア
Iのアドレスが、また、アドレスデータADR2によってエ
リアIIのアドレスが指定される。 ◇モードデータM1,M2・・・このモードデータM1,M2に応
じて、次のように動作モードが決まる。 M1=1…エリアIの自動演奏モード、 M1=2…エリアIのデータ書込みモード M1=0…通常演奏モード M2=1…エリアIIの自動演奏モード、 M2=2…エリアIIのデータ書込みモード M2=0…通常演奏モード ◇テンポカウントデータTCNT・・・テンポ発振器40がテ
ンポクロック信号を出力する毎にインクリメントされる
データであり、「96」になると「0」にリセットされ
る。すなわち、このテンポカウントデータTCNTは、
「0」〜「95」の値をとる。このテンポカウントデータ
TCNTが1小節の進行タイミングを示しており、このデー
タTCNTが「96」(=0)になると小節線のタイミングと
なる。 ◇リードデータRDDT1,RDDT2・・・リードデータRDDT1
は、演奏データメモリ62のエリアIから読み出されたデ
ータであり、リードデータRDDT2はエリアIIから読み出
されたデータである。 ◇リードタイミングデータRDTIM1,RDTIM2・・・リード
タイミングデータRDTIM1はエリアIから読み出されたデ
ータの内のタイミングデータであり、リードタイミング
データRDTIM2はエリアIIから読み出されたデータの内の
タイミングデータである。 ◇スルーフラグTHROU・・・このスルーフラグTHROUを
“1"とすると、受信端10cを介して供給される演奏デー
タが送信端52aから出力され、“0"とすると、上記出力
が行なわれない。
【動作】
次に、上記構成による電子楽器の動作を第4図〜第13
図に示すフローチャートを参照して説明する。 (1)通常演奏モード このモードにおいては、第1図に示す電子楽器が通常
の電子オルガンとして機能する。 すなわち、まず、電源スイッチ(図示しない)が投入
されると、CPU72は第4図のステップ100にてメインプロ
グラムの実行を開始し、ステップ101にてバッファレジ
スタ63内の各レジスタ、ワーキングメモリ73内の各デー
タおよびフラグをクリアすることにより、装置を初期状
態に設定する。この初期設定後、CPU72はステップ102に
て、鍵盤10aの押離鍵情報,操作パネル20の各操作子の
操作情報およびマウス20bの操作情報をバスBを介して
読み込み、ワーキングメモリ73に書き込む。ここで、鍵
盤10aの押離鍵情報は鍵スイッチ回路10bの出力に基づい
て検出し、また、操作パネル20の操作子およびマウス20
bの操作情報は操作子群スイッチ回路21の出力に基づい
て検出する。次に、ステップ103へ進み、ステップ102に
てワーキングメモリ73内に読込んだ押離鍵情報及び操作
情報に基づき、鍵盤10aにおける押離鍵イベントまたは
操作パネル20の各操作子の操作イベントまたはマウス20
bの操作イベントの有無を判断する。 いま、鍵盤10aにおいていずれの鍵も押離鍵されず、
かつ操作パネル20の操作子,マウス20bのいずれも操作
されなければ、ステップ103の判断結果が「NO」とな
り、ステップ102に戻り、以後、ステップ102,103からな
る循環処理を実行し続ける。 ここで、操作者は、「通常演奏モード」を選択すべ
く、マウス20bを移動してカーソルを「モード選択I」
に合わせ、そして、マウス20bのクリックスイッチを操
作して「通常演奏モード」に設定する。マウス20bが移
動されると、ステップ103の判断結果が「YES」となり、
ステップ104へ進む。ステップ104では、イベントの種類
が判別される。そして、この場合、マウス20bの移動イ
ベントであることから、ステップ105の処理へ進む。ス
テップ105では、表示器20aに表示されているカーソルが
移動される。そして、ステップ102へ戻る。以後、マウ
ス20bが移動されている間、ステップ102〜105の処理が
繰り返し行なわれる。次に、カーソルが表示器20aに表
示されている「モード選択I」の位置に到達した状態
で、マウス20bのクリックスイッチをオンとすると、ス
テップ104を介してルーチン106の処理へ進む。 第5図はこのルーチン106の処理のフローチャートで
あり、まず、ステップ150においてモードデータM1がイ
ンクリメントされる。次にステップ151へ進むと、モー
ドデータM1が「1」か否かが判断される。そして、この
判断結果が「YES」の場合はステップ152へ進み、「NO」
の場合はステップ154へ進む。ステップ152では、レコー
ドチェックフラグDTARI1が“1"か否かが判断される。そ
して、この判断結果が「YES」の場合はステップ153へ進
み、「NO」の場合はステップ150へ戻る。 ステップ153では、プレイフラグPLY1に“1"が、レコ
ードフラグREC1に“0"が各々セットされ、また、表示器
20aに「I−自動演奏」なるモード表示が行なわれる。
そして、ステップ154へ進む。ステップ154では、モード
データM1が「2」か否かが判断される。そして、この判
断結果が「YES」の場合はステップ155へ進み、「NO」の
場合はステップ157へ進む。ステップ155では、モードデ
ータM2が「2」か否かが判断される。そして、この判断
結果が「YES」の時はステップ150へ戻り、「NO」の場合
はステップ156へ進む。ステップ156では、プレイフラグ
PLY1が“0"に、レコードフラグREC1およびシンクロスタ
ートフラグSSTが各々“1"にセットされ、また、表示器2
0aに「I−データ書込」なるモード表示が行なわれる。
そして、ステップ157へ進む。ステップ157では、モード
データM1が「3」か否かが判断される。そして、この判
断結果が「NO」の場合は第4図のステップ102へ戻り、
「YES」の場合はステップ158へ進む。ステップ158で
は、モードデータM1が「0」とされ、また、プレイフラ
グPLY1,レコードフラグREC1,シンクロスタートフラグSS
Tが各々クリアされ、また、表示器20aに「通常演奏」な
るモード表示が行なわれる。そして、ステップ102へ戻
る。 以上の処理から明らかなように、カーソルをモード選
択Iに設定した状態において、クリックスイッチを押す
と、押す毎にモードデータM1がインクリメントされ(ス
テップ150)、該モードデータM1が「3」になると、ス
テップ158において「0」に戻される。すなわち、クリ
ックスイッチを押す毎に、モードデータM1が0→1→2
→0→…と順次変化する。また、モードデータM1の値に
応じて、フラグの設定およびモード表示が行なわれ(ス
テップ153,156,158)、動作モードが決定される。 但し、モードデータM1が「1」(自動演奏モード)と
なった場合において、メモリ62のエリアIに未だ演奏デ
ータが書き込まれていない場合は、ステップ152の判断
結果が「NO」となり、ステップ150へ戻り、モードデー
タM1が「2」となる。すなわち、エリアIに演奏データ
が書き込まれていない場合は、モードデータM1が「0」
から、「1」をジャンプして「2」へ変化し、したがっ
て、モードデータM1を「1」に設定することができな
い。また、モードデータM1が「2」(データ書込みモー
ド)となった場合において、モードデータM2が既に
「2」であった場合は、ステップ155の判断結果が「YE
S」となり、ステップ150へ戻り、モードデータM1が再び
インクリメントされる。すなわち、モードデータM2が
「2」の場合は、モードデータM1を「2」に設定するこ
とができないようになっている。これは、エリアI,IIに
重複して同じデータを書込むことを防ぐためである。 次に、カーソルがモード選択IIに設定された状態にお
いてクリックスイッチがオンとされた時は第4図のステ
ップ104からルーチン107へ進む。第6図にこのステップ
107の処理を示す。なお、この処理は、上述した第5図
の処理と全く同様である(但し、M1→M2のように添字1
が2になる)ので説明を省略する。 さて、マウス20bによってモード選択I,IIを共に「通
常演奏」モードとすると、プレイフラグPLY1,PLY2,レコ
ードフラグREC1,REC2が共に“0"となる(第5図のステ
ップ158、第6図のステップ168参照)。次に、演奏者
は、スルーフラグTHROUの設定を行う。すなわち、この
電子楽器は、スルーフラグTHROUが“1"の時は受信端10c
において受信された演奏データが送信端52aから鍵盤用
楽音信号発生回路52へ出力され、鍵盤楽音が発生する
が、“0"の時は受信端10cにおいて受信された演奏デー
タが鍵盤用楽音信号発生回路52へ出力されないようにな
っている。したがって、演奏に先だってスルーフラグTH
ROUを設定しておく必要がある。 スルーフラグTHROUを設定する場合、演奏者はマウス2
0bによってカーソルを「スルーフラグ設定」に合わせ
る。これにより、CPU72の処理が第4図のステップ115へ
進む。ここで、演奏者がマウス20bまたは操作パネル20
のテンキーによって「1」または「0」を入力すると、
CPU72が入力された値をワーキングメモリ73内に設定す
る。ここで、演奏者が「1」を入力したとする。 次に、演奏者が鍵盤10aを使用して演奏を行うと、そ
の楽音がスピーカ55から発生する。 すなわち、まず、鍵盤10aのいずれかのキーがオンと
されると、第4図のステップ103の判断結果が「YES」と
なり、ステップ104を介してステップ108の鍵・音色・効
果処理ルーチンへ進む。第7図はこの鍵・音色・効果イ
ベントルーチンのフローチャートであり、まず、ステッ
プ200では、受信端10cを介して同時に受信したイベント
データがバッファレジスタ63内に取り込まれる。この場
合、オンとされたキーのキーコードKCおよび識別マーク
からなる押鍵データ(第3図参照)がバッファレジスタ
63内に取り込まれる。次に、ステップ200aへ進み、スル
ーフラグTHROUが“1"か否かが判断される。そしてこの
判断結果が「YES」の場合は、ステップ201へ進む。ステ
ップ201ではバッファレジスタ63内の総てのイベントデ
ータが送信端子52aへ出力される。これにより、操作さ
れたキーに対応する楽音信号が鍵盤用楽音信号発生回路
52において形成され、スピーカ55へ供給される。一方、
ステップ200aの判断結果が「NO」の場合、すなわち、ス
ルーフラグTHROUが“0"の場合は上述したステップ201を
ジャンプしてステップ202へ進む。このように、スルー
フラグTHROUが“1"の場合はイベントデータが送信端子5
2aを介して鍵盤用楽音信号発生回路52へ送られるが、ス
ルーフラグTHROUが“0"の場合はイベントデータが鍵盤
用楽音信号発生回路52へ送られない。 次に、ステップ202へ進むと、レコードフラグREC1ま
たはREC2が“1"か否かが判断される。この場合、判断結
果は「NO」となり、ステップ203へ進む。ステップ203で
は、イベントバッファレジスタ63内のイベントデータが
クリアされる。そして、第4図のステップ102へ戻る。 次に、鍵盤10のキーがオフとされた場合は、上記と同
様に、ステップ103からステップ104を介してステップ20
0(第7図)へ進み、オフとされたキーのキーコードKC
および識別マークからなる離鍵データがバッファレジス
タ63内に取り込まれ、次いでステップ201において鍵盤
用楽音信号発生回路52へ出力される。これにより、オフ
とされたキーの楽音が停止する。次いで、ステップ202,
203を介してステップ102へ戻る。 次に、マウス20bまたは操作子20cによって音色が選択
された場合は、ステップ200において、選択された音色
を示すイベントデータがバッファレジスタ63内に書き込
まれ、次いで、ステップ200aを介してステップ201へ進
むと、同データが鍵盤用楽音信号発生回路52へ出力され
る。これにより、選択された音色が鍵盤用楽音信号発生
回路52内に設定される。効果が選択された場合も同様で
ある。 次に、リズム音を発生させる場合は、操作パネル20の
スタートスイッチを押す。スタートスイッチが押される
と、ステップ103の判断結果が「YES」となり、ステップ
104を介してスタート処理ルーチン109へ進む。 第8図はこのスタート処理ルーチンを示すフローチャ
ートであり、まず、ステップ251においてプレイフラグP
LY1またはPLY2が“1"か否かが判断され、この場合、判
断結果が「NO」となることから、ステップ252へ進む。
ステップ252では、レコードフラグREC1が“1"か否かが
判断され、この場合、判断結果が「NO」となり、ステッ
プ253へ進む。ステップ253では、レコードフラグREC2が
“1"か否かが判断され、この場合、判断結果が「NO」と
なることから、ステップ254へ進む。ステップ254では、
リズムランフラグRUNが“1"にセットされ、また、テン
ポカウントデータTCNTがクリアされる。そして、ステッ
プ102(第4図)へ戻る。 このように、通常演奏モードにおいてスタートスイッ
チが押されると、リズムランフラグRUNが“1"にセット
されると共にテンポカウントデータTCNTがクリアされ
る。そして、フラグRUNが“1"にセットされると、以
後、テンポ発振器40から出力されるテンポクロックに基
づいてリズム音が形成され、発音される。 すなわち、テンポ発振器40からテンポクロックが出力
されると、CPU72に割込みがかかり、CPU72の処理が第9
図のリズムインタラプト処理ルーチンへ進む。このルー
チンでは、まず、ステップ300において、「レコードフ
ラグREC1またはREC2が“1"で、かつ、シンクロスタート
フラグSSTが“1"」か否かが判断される。そして、この
場合、判断結果が「NO」となることから、ステップ301
へ進む。ステップ301では、リズムランフラグRUNが“1"
か否かが判断される。そして、この判断結果が「NO」の
場合は第4図のメインルーチンへ戻るが、「YES」の場
合はステップ302へ進む。ステップ302では、現在ワーキ
ングメモリ73内に設定されているリズム種類を示すデー
タおよびテンポカウントデータTCNTに基づいてリズムパ
ターンデータメモリ61からリズムパターンデータが読み
出され、この読み出されたリズムパターンデータがリズ
ム音信号発生回路51へ出力される。このリズムパターン
データに基づいてリズム音信号発生回路51内の各打楽器
音信号形成回路が駆動され、これによりリズム音が発生
する。 次に、ステップ303へ進むと、プレイフラグPLY1また
はPLY2が“1"か否かが判断される。そして、この場合、
判断結果が「NO」であることから、ステップ304へ進
む。ステップ304では、テンポカウントデータTCNTがイ
ンクリメントされる。次いで、ステップ305へ進むと、
テンポカウントデータTCNTが小節エンド値「96」か否か
が判断される。そして、この場合、判断結果が「NO」と
なることから、メインルーチンへ戻る。 以後、テンポクロックが発生する毎に、上述したステ
ップ302が実行されてリズム音が発生し、また、ステッ
プ304が実行されてテンポカウントデータTCNTがインク
リメントされる。そして、テンポカウントデータTCNTが
「96」になると、ステップ305の判断結果が「YES」とな
り、ステップ306へ進む。ステップ306では、レコードフ
ラグREC1またはREC2が“1"か否かが判断される。この場
合、判断結果は「NO」であり、ステップ308へ進む。ス
テップ308では、テンポカウントデータTCNTがクリアさ
れる。そして、メインルーチンへ戻る。 以上がリズム音発生の過程である。次に、この通常演
奏モードにおいて、リズム音を停止する場合は、操作パ
ネル20のリズムストップスイッチを押す。このストップ
スイッチが押されると、第4図のステップ103から、ス
テップ104を介してステップ110へ進む。ステップ110で
は、リズムランフラグRUNが“0"にリセットされる。こ
れにより、以後第9図のステップ301の判断結果が「N
O」となり、リズム音が停止する。 次に、演奏途中においてリズムを変えたい場合は、マ
ウス20bによってカーソルを「リズム設定」に合わせ
る。これにより、CPU72の処理がステップ103からステッ
プ104を介してステップ111へ進む。このステップ111で
は、まず、表示器20aにリズム種類が表示される。そし
て、演奏者がこの表示を見ながらテンキー,アップ/ダ
ウンキーあるいはマウス20bによってリズム種類を選択
すると、選択されたリズム種類を示すデータがワーキン
グメモリ73内に設定される。以後、この設定されたデー
タに基づいてリズムパターンデータメモリ61の読み出し
が行なわれる。 (2)データ書込みモード このモードは、演奏データメモリ62のエリアIまたは
IIに演奏データを書き込むモードである。エリアIに演
奏データを書き込む場合は、まず、マウス20bによって
モード選択IIを通常演奏モードに、また、モード選択I
をデータ書込モードとし、そして、鍵盤10aおよび操作
パネル20を使用して演奏を行うと、その演奏に対応する
演奏データが逐次エリアI内に書き込まれる。 ここで、スタートの仕方が2種類ある。1つは、スタ
ートスイッチを操作しない仕方であり、この場合、最初
に鍵盤キーを操作した時点からデータ書込みおよびリズ
ム音の発生が同時に開始される。他の1つはスタートス
イッチを操作する仕方であり、この場合、スタートスイ
ッチを押すと同時にデータ書込みおよびリズム音の発生
が開始される。 また、エリアIIに演奏データを書き込む場合は、ま
ず、モード選択Iを通常演奏モードに、モード選択IIを
データ書込モードに各々設定し、そして、鍵盤10aおよ
び操作パネル20を使用して演奏を行う。 以下、このデータ書込みモードにおけるCPU72の処理
を説明する。 まず、モード選択IIによって通常演奏モードが設定さ
れると、第6図のステップ168から明らかなように、モ
ードデータM2が「0」となり、また、プレイフラグPLY
2,レコードフラグREC2,シンクロスタートフラグSSTが各
々“0"とされる。次に、モード選択Iによってデータ書
込モードが設定されると、第5図のステップ154,156か
ら明らかなように、モードデータM1が「2」に設定さ
れ、プレイフラグPLY1が“0"、レコードフラグREC1が
“1"、シンクロスタートフラグSSTが“1"にセットされ
る。また、「I−データ書込」なる表示が行なわれる。 レコードフラグREC1およびシンクロスタートフラグSS
Tが共に“1"にセットされると、以後、4分音符のタイ
ミングでメトロノーム音が発生し、演奏者にテンポを知
らせる。すなわち、テンポ発振器40からテンポクロック
が出力され、CPU72の処理が第9図の割込み処理へ進む
と、まず、ステップ300の判断が行なわれる。そして、
この場合、判断結果が「YES」となることから、ステッ
プ320へ進む。ステップ320では、4分音符のタイミング
毎にリズムパターンメモリ61からメトロノーム音のリズ
ムパターンが読み出され、リズム音信号発生回路51へ出
力される。これにより、4分音符のタイミングでメトロ
ノーム音が発生する。 次に、鍵盤キーが操作されると、ステップ103(第4
図)の判断結果が「YES」となり、ステップ104を介して
第7図の鍵・音色・効果処理ルーチンへ進む。このルー
チンでは、まず、ステップ200へ進み、受信端子10bを介
して同時に受信したイベントデータをバッファレジスタ
63に取り込む。次に、ステップ200aへ進み、スルーフラ
グTHROUが“1"か否かが判断される。そしてこの判断結
果が「YES」の場合は、ステップ201へ進む。ステップ20
1ではイベントバッファレジスタ63内の総てのイベント
データが送信端子52aへ出力される。これにより、操作
されたキーに対応する楽音信号が鍵盤用楽音信号発生回
路52において形成され、スピーカ55へ供給される。一
方、ステップ200aの判断結果が「NO」の場合は上述した
ステップ201をジャンプしてステップ202へ進む。 次に、ステップ202へ進むと、フラグREC1またはREC2
が“1"か否かが判断される。この場合、フラグREC1が
“1"であることから、ステップ204へ進む。ステップ204
では、シンクロスタートフラグSSTが“1"か否かが判断
される。この場合、判断結果が「YES」となり、ステッ
プ205へ進む。ステップ205では、シンクロスタートフラ
グSSTが“0"に、リズムランフラグRUNが“1"に各々セッ
トされ、また、テンポカウントデータTCNTがクリアされ
る。シンクロスタートフラグSSTが“0"になると、以
後、メトロノーム音が停止し、また、リズムランフラグ
RUNが“1"にセットされると、以後リズム音が発生す
る。次に、ステップ206へ進むと、レコードフラグREC1
が“1"か否かが判断される。そして、この場合、判断結
果が「YES」となることから、ステップ207へ進む。ステ
ップ207では、レコードチェックフラグDTARI1が“1"に
セットされ、また、ヘッドアドレスデータHEADAD(I)
(第2図参照)がアドレスデータADR1として設定され
る。そして、ステップ209へ進む。なお、ステップ206の
判断結果が「NO」の場合、すなわち、レコードフラグRE
C2が“1"の場合(エリアIIの書込みの場合)はステップ
208へ進み、レコードチェックフラグDTARI2が“1"にセ
ットされ、また、ヘッドアドレスデータHEADAD(II)が
アドレスデータADR1として設定される。 次に、ステップ209へ進むと、識別マークおよび時間
データTIMDから構成されるタイミングデータ(第3図参
照)を、アドレスデータADR1が示すメモリ62の記憶位置
APM(ADR1)に書き込む。ここで、時間データTIMDとし
てはテンポカウントデータTCNTが設定される。したがっ
て、この時点においては「0」である(ステップ205参
照)。次に、ステップ210へ進むと、アドレスデータADR
1がインクリメントされる。次にステップ211へ進むと、
バッファレジスタ63内の第1番目のイベントデータを読
み出し、識別マークを付けてメモリ62の記憶位置APM(A
DR1)に書き込む。次にステップ212へ進むと、バッファ
レジスタ63内の上記第1番目のイベントデータをクリア
する。次いで、ステップ213へ進むと、バッファレジス
タ63内にイベントデータがあるか否かが判断される。そ
して、この判断結果が「YES」の場合は、再びステップ2
10〜212の処理が行なわれる。一方、ステップ213の判断
結果が「NO」の場合は、ステップ214へ進み、アドレス
データADR1がインクリメントされ、次いでステップ215
へ進むと、レコードフラグREC1が“1"か否かが判断され
る。そして、この判断結果が「YES」の場合はステップ2
16へ進む。ステップ216では、アドレスデータADR1がエ
リアIの最終アドレスか否かが判断される。そして、こ
の判断結果が「NO」の場合はステップ102(第4図)に
戻り、「YES」の場合はステップ217へ進む。ステップ21
7では、レコードフラグREC1がリセットされ、表示器20a
に「エリアI・MAX」なる表示が行なわれ、また、メモ
リ62の記憶位置APM(ADR1)に終了コードが書き込まれ
る。そしてステップ102へ戻る。一方、ステップ215の判
断結果が「NO」の場合、すなわち、レコードフラグREC2
が“1"の場合は、ステップ218の判断が行なわれ、この
判断結果が「YES」の場合はステップ219の処理が行なわ
れる。 このように、モードデータM1が「2」、M2が「0」と
され、そして、鍵盤キーが操作されると、リズムランフ
ラグRUNが“1"にセットされ(ステップ205)、したがっ
て、リズム音の発生が開始され、また、操作されたキー
に係るイベントデータがエリアIに書き込まれる。以
後、鍵盤キーが操作され、あるいは、操作パネル20のス
イッチ類あるいはマウス20bが操作される毎に、上述し
た第7図の処理が実行されてエリアIに演奏データが書
き込まれる。 また、小節線のタイミングになると、第9図のステッ
プ305の判断結果が「YES」となり、ステップ306へ進
み、この場合、このステップ306の判断結果が「YES」と
なることから、ステップ309へ進む。ステップ309では、
小節コードが演奏データメモリ62の記憶位置APM(ADR
1)に書き込まれ、次いでアドレスデータADR1がインク
リメントされる。 次に、アドレスデータADR1がエリアIの最終アドレス
に達すると、ステップ217が実行されてデータ書込みモ
ードが終了する。また、その前にデータ書込みを終了す
る場合は、操作パネル20の書込ストップスイッチを押
す。 この書込ストップスイッチが押されると、第4図のス
テップ103,104を介してステップ112へ進む。ステップ11
2では、リズムランフラグRUNが“0"とされると共に、終
了コードがメモリ62の記憶位置APM(ADR1)に書き込ま
れる。 以上が演奏データ書込みの過程である。なお、上記の
過程においては、モード設定の後、鍵盤キーを押すこと
によってデータ書込みおよびリズム音の発生を開始した
が、モード設定の後スタートスイッチ28を押すことによ
ってデータ書込み,リズム音の発生を開始してもよい。 すなわち、例えばモードデータM1を「2」(M2を
「0」)に設定した後スタートスイッチを押すと、第8
図のステップ251,252の判断が順次行なわれ、そして、
ステップ255へ進む。ステップ255では、アドレスデータ
ADR1としてヘッドアドレスデータHEADAD(I)が設定さ
れる。次いでステップ256へ進むと、テンポカウントデ
ータTCNTがクリアされ、リズムランフラグRUNがセット
され、シンクトスタートフラグSSTがリセットされ、ま
た、「自動演奏」なる表示が行なわれる。次いでステッ
プ257,258を介してメインルーチンへ戻る。 このように、モードデータM1を「2」に設定した後、
スタートスイッチを押すと、アドレスデータADR1がエリ
アIのヘッドアドレスに設定されると共に、リズムラン
フラグRUNが“1"となってリズム音の発生が開始され
る。以後、鍵盤キーを操作して演奏を行うと、前述した
場合と同様にしてエリアI内に演奏データが順次書き込
まれる。 以上、エリアIの書込みの場合を例にとって説明した
が、エリアIIの書込みの場合も全く同様である。 (3)自動演奏モード このモードは演奏データメモリ62内の演奏データを読
み出し、自動演奏を行うモードである。 演奏データメモリ62には、2個のエリアI,IIが設けら
れており、2曲あるいは2パートが記録できるようにな
っている。そして、1曲(1パート)だけの自動演奏も
可能であり、また、2曲(2パート)同時に自動演奏す
ることも可能である。すなわち、モードデータM1を
「1」,M2を「0」に設定し、スタートスイッチを押せ
ば、エリアI内の演奏データのみに基づく自動演奏(以
下、自動演奏Iという)が行なわれ、モードデータM1を
「0」,M2を「1」に設定し、スタートスイッチを押せ
ば、エリアII内の演奏データのみに基づく自動演奏(以
下、自動演奏IIという)が行なわれ、また、モードデー
タM1,M2を共に「1」に設定すれば、エリアI,IIの双方
の演奏データに基づく自動演奏、すなわち、自動演奏I,
IIが共に行なわれる。 以下、モードデータM1,M2を共に「1」に設定した場
合について説明する。なお、エリアI,IIには各々、演奏
データが既に書き込まれているものとする(DTARI1=
“1",DTADI2=“1")。 この電子楽器は、自動演奏Iの発音タイミングと自動
演奏IIの発音タイミングとの間に時間的ずれを設けるこ
とができるようなっている。そして、操作者は、自動演
奏I,IIを共に行う場合は、まず、発音タイミングの設定
を行う。すなわち、まず、マウス20bによってカーソル
を「TM(タイマ)設定」に合わせる。これにより、CPU7
2の処理が第4図のルーチン113へ進む。第10図はこのル
ーチン113の処理を示すフローチャートであり、まず、
ステップ601では、表示器20aに TM1=00 TM2=00 なる表示が行なわれる。ここで、TM1,TM2は各々自動
演奏I,IIの発音タイミングであり、具体的には、スター
トスイッチが押された時刻から自動演奏I,IIが各々開始
されるまでの時間(sec)である。次に、ステップ602へ
進むと、操作パネル20のアップ/ダウンキー,テンキー
またはマウス20bが操作されたか否かが判断される。そ
して、この判断結果が「NO」の場合は、ステップ603へ
進む。ステップ603では操作パネル20のエンター操作子
がオンとされたか否かが判断される。そして、この判断
結果が「NO」の場合はステップ601へ戻り、以後、上記
のステップ601〜603が繰り返される。 次に、操作者がアップ/ダウンキー,テンキーまたは
マウス20bによって自動演奏I,IIの発音タイミングTM1,T
M2を各々入力すると、ステップ602の判断結果が「YES」
となり、ステップ604へ進む。ステップ604では、入力さ
れた値がタイマレジスタTM1,TM2に各々セットされる。
次にステップ605へ進むと、「OKか?」(セットされた
発音タイミングでよいか?)なる表示が行なわれる。次
に、ステップ603を介してステップ601へ進むと、タイマ
レジスタTM1,TM2内にセットされた値が表示器20aに表示
される。次いで、ステップ602,603,601の処理が繰り返
えされる。 操作者は、表示された発音タイミングを見て、さらに
変更したい場合は、再びアップ/ダウンキー等によって
発音タイミングを入力する。また、変更の必要がない場
合は、エンター操作子をオンとする。エンター操作子が
オンとされると、ステップ603の判断結果が「YES」とな
り、第4図のメインルーチンへ戻る。以上が、発音タイ
ミング設定の過程である。 さて、上述した発音タイミングの設定が終了すると、
操作者は、次にマウス20bによってモードデータM1,M2を
共に「1」に設定し、そして、スタートスイッチを押
す。モードデータM1,M2が「1」に設定されると、第5
図のステップ153の処理および第6図のステップ163の処
理が各々実行される。これにより、プレイフラグPLY1,P
LY2が共に“1"に、レコードフラグREC1,REC2が共に“0"
とされ、また、「I−自動演奏」,「II−自動演奏」な
る表示が行なわれる。 次に、スタートスイッチが押されると、第8図のステ
ップ251へ進み、プレイフラグPLY1またはPLY2が“1"か
否かが判断される。そして、この場合、判断結果が「YE
S」となり、ステップ259へ進む。ステップ259では、ア
ドレスデータADR1としてヘッドアドレスデータHEADAD
(I)が、また、アドレスデータADR2としてヘッドアド
レスデータHEADAD(II)が各々設定される。次に、ステ
ップ256の処理が行なわれた後、ステップ257へ進み、プ
レイフラグPLY1が“1"か否かが判断される。そして、こ
の場合、判断結果が「YES」となることから、ステップ2
60へ進む。ステップ260では、アドレスデータADR1{こ
の場合、ヘッドアドレスデータHEADAD(I)}が示すメ
モリ62の記憶位置APM(ADR1)内のデータが読み出さ
れ、リードタイミングデータRDTIM1として設定される。
次に、ステップ258へ進むと、プレイフラグPLY2が“1"
か否かが判断される。そして、この場合、判断結果が
「YES」となることから、ステップ261へ進み、アドレス
データADR2が示す記憶位置APM(ADR2)内のデータが読
み出され、リードタイミングデータRDTIM2として設定さ
れる。そして、メインルーチンへ戻る。 以上の処理が自動演奏I,IIの準備段階であり、これら
の準備が終了すると、以後、テンポ発振器40から出力さ
れるテンポクロックおよびタイマクロック発振器41から
出力されるタイマクロックに基づいて、自動演奏I,IIが
行なわれると共に、自動リズム音が発生する。この場
合、タイマクロックは上述した発音タイミング(遅延時
間)を計測するために用いられる。 以下、自動演奏の過程を詳述する。テンポクロックが
発生すると、CPU72に割込みがかかり、第9図のリズム
インタラプト処理が行なわれる。この場合、まず、ステ
ップ300,301を介してステップ302へ進み、リズム音の発
生が行なわれる。次いで、ステップ303へ進み、その判
断結果が「YES」となることから、自動演奏データ読み
出しルーチン313へ進む。第11図は、この自動演奏デー
タ読み出しルーチン313の詳細を示す流れ図である。こ
のルーチン313は、演奏データメモリ62のエリアI内の
演奏データを読み出す読出ルーチンRIと、エリアII内の
演奏データを読み出す読出ルーチンR IIとからなる。な
お、ルーチンR I,R IIの処理内容は全く同じであり、フ
ラグまたはデータが異なるだけである。 このルーチン313へ進むと、まず、ステップ501におい
てレコードチェックフラグDTARI1が“1"か否かが判断さ
れる。そして、この判断結果が「NO」の場合、すなわ
ち、エリアI内に演奏データがない場合は、ルーチンR
IをジャンプしてルーチンR IIへ進む。また、ステップ5
01の判断結果が「YES」の場合は、ステップ502へ進む。
ステップ502では、テンポカウントデータTCNTがリード
タイミングデータRDTIM1に等しいか否かが判断される。
そして、この判断結果が「NO」の場合は、ルーチンR I
を出て、ルーチンR IIへ進む。また、「YES」の場合は
ステップ503へ進む。ステップ503では、アドレスデータ
ADR1がインクリメントされる。次いで、メモリ62の記憶
位置APM(ADR1)内のデータが読み出され、リードデー
タRDDT1として設定される。次に、ステップ504へ進む
と、リードデータRDDT1が小節コードか否かが判断され
る。そして、この判断結果が「YES」の場合はステップ5
05aへ進む。ステップ505aおよび次のステップ505bで
は、上記ステップ503,504と同様の処理を行なってメモ
リ62の次の記憶位置APM(ADR1)内のデータを読み出し
て該データが小節コードか否かが判断される。そして、
ステップ505bの判断結果が「YES」の場合は505cに進
み、「NO」の場合はステップ505dに進む。ステップ505c
では、小節エンド値「96」から「1」を減算した値「9
5」がリードタイミングデータRDTIM1として設定され、
ステップ505dに進む。ステップ505dではアドレスデータ
ADR1がデクリメントされてステップ503の状態に戻され
る。 一方、ステップ504の判断結果が「NO」の場合は、ス
テップ506へ進む。ステップ506では、リードデータRDDT
1がタイミングデータか否かが判断される。そして、こ
の判断結果が「YES」の場合は、ステップ507へ進み、そ
のリードデータRDDT1がリードタイミングデータRDTIM1
として設定される。また、ステップ506の判断結果が「N
O」の場合は、ステップ508へ進む。ステップ508では、
リードデータRDDT1が終了コードか否かが判断される。
そして、この判断結果が「YES」の場合は、ステップ509
へ進む。ステップ509では発音終了処理が行なわれる。
すなわち、現在発音中の楽音の発音停止を指示する離鍵
データが自動演奏用楽音信号発生回路53へ出力される。
これにより、楽音が停止する。次に、ステップ510へ進
むと、プレイフラグPLY1がクリアされ、「I−自動演
奏」なる文字が表示器20aから消去され、また、リズム
ランフラグRUNがリセットされる。そして、ルーチンR I
を出る。また、ステップ508の判断結果が「NO」の場合
は、ステップ511へ進む。ステップ511では、ポインタレ
ジスタP1内のデータが指示するキーバッファレジスタKY
B1(P1)に演奏データが既に書き込まれているか否かが
判断される。そして、この判断結果が「YES」の場合は
ステップ512へ進み、ポインタレジスタP1内のデータが
インクリメントされ、そして、ステップ511へ戻る。な
お、ポインタレジスタP1内のデータが「K+1」{キー
バッファレジスタKYB1(P1)の総数Kより1多い数}と
なった場合は、同データが「1」に戻される。次に、ス
テップ511の判断結果が「NO」になると、ステップ513へ
進む。ステップ513では、リードデータRDDT1が、ポイン
タレジスタP1が示すキーバッファKYB1(P1)に書き込ま
れ、また、ポインタレジスタP1が示す時間計測レジスタ
tml(P1)がクリアされ、また、ポインタレジスタP1が
インクリメントされる。なお、この場合も、ポインタレ
ジスタP1内のデータが「K+1」となった場合は、同デ
ータが「1」に戻される。そして、ステップ503へ戻
る。 このように、自動演奏データ読出しルーチン313へ進
むと、まず、ステップ501を介してステップ502へ進む。
そして、このステップ502の判断結果が「NO」の場合は
ルーチンR Iを出る。すなわち、テンポカウントデータT
CNTとリードタイミングデータRDTIM1とが一致するま
で、発音処理は全く行なわれない。次に、データTCNTと
RDTIM1とが一致すると、次の演奏データがエリアIから
読み出される(ステップ503)。そして、この演奏デー
タが例えばキーオンイベントの演奏データであった場合
は、K個のキーバッファレジスタKYB1のうち空のレジス
タを探し(ステップ511,512)、ステップ513において空
のキーバッファレジスタKYB1(P1)内に書き込まれると
ともに、該レジスタKYB1(P1)に対応する時間計測レジ
スタtm1(P1)がクリアされる。次に、ステップ503へ進
み、再びデータ読出しが行なわれる。そして、読出され
たデータがタイミングデータであった場合は、ステップ
507の処理が行なわれる。以後、テンポカウントデータT
CNTがこのステップ507によって設定されたリードタイミ
ングデータRDTIM1に一致するまで、発音処理は行なわれ
ない。そして、両データTCNTとRDTIM1が再び一致する
と、上記と同様の処理が行なわれる。また、エリアIか
ら読出されたデータが小節コードであった場合は、エリ
アIの当該小節コードが記憶されているアドレスの次の
アドレスに記憶されているデータが小節コードであるか
否かをチェックし(ステップ505a,505b)、小節コード
のとき(すなわち、小節コードが連続して記憶されてい
たとき)には、リードタイミングデータRDTIM1が「95」
に設定される。この結果、次の小節線のタイミングま
で、発音処理は行なわれない。そして、次の小節線タイ
ミングになると、エリアIのデータ読出しが行なわれ
る。また、エリアIから読出されたデータが終了コード
であった場合は、ステップ509,510の処理が行なわれ、
これにより、自動演奏Iが終了する。 以上がルーチンR Iの処理である。上述した処理は、
特殊データ(小節コード,タイミングデータ,終了コー
ド)の処理を除くと、エリアIから押鍵/離鍵/音色に
関する演奏データが読み出されるごとに、この演奏デー
タをキーバッファレジスタKYB1(P1)に順次書き込むと
ともに、該レジスタKYB1(P1)に対応する時間計測レジ
スタtm1(P1)を初期設定する処理であると言える。こ
のキーバッファKYB1(P1)に書き込まれた演奏データ
は、書き込まれた時刻からタイマレジスタTM1内に設定
されている時間が経過した時点で自動演奏用楽音信号発
生回路53へ出力され、これにより、自動演奏Iの楽音が
発生する。以下、この過程を説明する。 タイマクロック発振器41からタイマクロックが出力さ
れると、CPU72に割込みがかかり、CPU72の処理が第12図
に示すタイマインタラプト処理へ進む。この処理は、キ
ーバッファレジスタKYB1(P1)内の演奏データの処理を
行うルーチンRT1と、キーバッファレジスタKYB2(P2)
内の演奏データの処理を行うルーチンRT2とからなる。
そして、これらのルーチンRT1,RT2の処理内容は、処理
の対象とされるレジスタが相違するだけで、実質的には
同じである。 まず、ステップ651では、ポインタレジスタP1にデー
タ「1」が書き込まれる。次に、ステップ652へ進む
と、キーバッファレジスタKYB1(P1)に演奏データが書
き込まれているか否かが判断される。そして、この判断
結果が「NO」の場合はステップ653へ進む。ステップ653
では、ポインタレジスタP1内のデータが「K+1」か否
か(すなわち、K個の全てのキーバッファレジスタKYB1
に関して処理が終了したか否か)が判断される。そし
て、この判断結果が「NO」の場合はステップ654へ進
む。ステップ654では、ポインタレジスタP1内のデータ
がインクリメントされ、そして、ステップ652へ戻る。
ステップ652では、再び次のキーバッファレジスタKYB
(P1)内に演奏データが書き込まれているか否かが判断
される。そして、この判断結果が「YES」の場合は、ス
テップ655へ進む。ステップ655では、該キーバッファレ
ジスタKYB(P1)に対応する時間計測レジスタtm1(P1)
内のデータがインクリメントされる。次いで、ステップ
656へ進むと、時間計測レジスタtm1(P1)内のデータが
タイマレジスタTM1内のデータ(遅延時間)に等しいか
否かが判断される。そして、この判断結果が「NO」の場
合は、ステップ654を実行した後、ステップ652へ戻る。
また、ステップ656の判断結果が「YES」の場合は、ステ
ップ657へ進む。ステップ657では、キーバッファレジス
タKYB(P1)内の演奏データが自動演奏用楽音信号発生
回路53へ出力される。これにより、自動演奏楽音が発生
する(その演奏データがキーオンを示す押鍵データであ
った場合)。次にステップ658へ進むと、キーバッファK
YB(P1)がクリアされる。そして、ステップ654を実行
した後、ステップ652へ戻る。以下、上記の処理が繰り
返えされる。そして、ポインタレジスタP1内のデータが
「K+1」になると、ステップ653の判断結果が「YES」
となり、ルーチンRT1を出てルーチンRT2へ進む。このよ
うに、ルーチンRT1では、K個の各キーバッファレジス
タKYB1内の演奏データを、それぞれ該演奏データを書き
込んだ時からタイマレジスタTM1内のデータが示す時間
だけ遅延させて、自動演奏用楽音信号発生回路53へ出力
する。これにより、自動演奏Iが行なわれる。 ルーチンRT2では、上記と同様に、各キーバッファKYB
2内の演奏データを、それぞれタイマレジスタTM2内のデ
ータが示す時間だけ遅延させて、自動演奏用楽音信号発
生回路53へ出力する。これにより、自動演奏IIが行なわ
れる。 このように、第1図の電子楽器においては、テンポク
ロックに基づいて演奏データメモリ62のエリアI,II内の
演奏データが順次読み出されと、該演奏データはそれぞ
れキーバッファレジスタKYB1(P1)およびKYB2(P2)内
に書き込まれる。そして、この書き込まれた時(すなわ
ち、メモリ62から読み出された時)からがタイマレジス
タTM1,TM2内に設定されている遅延時間が経過すると、
この書き込まれた演奏データが読み出されて、自動演奏
用楽音発生回路53へ出力される。したがって、この電子
楽器においては、自動演奏IおよびIIを任意の時間差を
もって行うことができる。 ◇コピー機能 この電子楽器は、演奏データメモリ62のエリアI内の
演奏データをエリアII内にコピーし、あるいは、エリア
II内の演奏データをエリアI内にコピーすることができ
るようになっている。以下、この機能について説明す
る。 マウス20bによってカーソルを移動し、コピー機能を
選択すると、第4図のステップ103,104を介してルーチ
ン114へ進む。第13図はこのルーチン114の詳細を示すフ
ローチャートであり、まず、ステップ701では、 1・・・エリアI 2・・・エリアII なる表示が行なわれる。この表示は、「数字1がエリ
アIを、数字2がエリアIIを示す」ということを意味し
ている。次に、ステップ702へ進むと、 FROM←1 TO ←2 なる表示が行なわれる。この表示は、「エリアI内の
演奏データをエリアII内にコピーする」ということを意
味している。次に、ステップ703へ進むと、操作パネル2
0のアップ/ダウンキー,テンキーまたはマウス20bが操
作されたか否かが判断される。そして、この判断結果が
「NO」の場合は、ステップ704へ進む。ステップ704では
操作パネル20のエンター操作子がオンか否かが判断され
る。そして、この判断結果が「NO」の場合は、ステップ
701へ戻り、以後、ステップ701〜704が繰り返し実行さ
れる。 ここで、操作者がアップ/ダウンキー,テンキーまた
はマウス20bによってステップ702の表示における数字を
新たに設定すると、ステップ703の判断結果がYESとな
り、ステップ705へ進む。ステップ705では、ソースレジ
スタFROMおよびコピーレジスタTOに各々、新たに設定さ
れた数字が書き込まれる。次に、ステップ706へ進む
と、「OK?」なる表示が行なわれる。次に、ステップ704
を介してステップ701へ戻り、以後、再びステップ701〜
704が繰り返し実行される。ここで、操作者がコピー元
およびコピー先を再び変えようと考えた場合は、テンキ
ー等を操作する。これにより、再びステップ705,706が
実行される。また、操作者がコピー元,コピー先につい
てOKであると考えた場合はエンター操作子を押す。この
エンター操作子が押されると、ステップ704の判断結果
が「YES」となり、ステップ707へ進む。ステップ707で
は、ソースレジスタFROM内のデータが示すヘッドアドレ
スデータHEADAD(FROM)がアドレスADR1として、また、
コピーレジスタTO内のデータが示すヘッドアドレスデー
タHEADAD(TO)がアドレスADR2として各々設定される。
次に、ステップ708へ進むと、まず、アドレスADR1が示
す演奏データメモリ62の記憶位置APM(ADR1)の演奏デ
ータが読み出され、アドレスADR2が示す演奏データメモ
リ62の記憶位置APM(ADR2)へ転送される。次いで、ア
ドレスADR1,ADR2が各々インクリメントされる。次に、
ステップ709へ進むと、ステップ708において記憶位置AP
M(ADR2)へ転送された演奏データが終了コードである
か否かが判断される。そして、この判断結果が「NO」の
場合はステップ708へ戻り、再び、演奏データの転送お
よびアドレスADR1,ADR2のインクリメントが行なわれ
る。以下、上述したステップ708および709が繰り返し実
行されて、エリアI→IIまたはII→Iのコピーが行なわ
れる。そして、終了コードが転送されると、ステップ70
9の判断結果が「YES」となり、コピーを終了してメイン
ルーチンへ戻る。 なお、上記実施例では、各自動演奏I,IIの遅延を、メ
モリ62から読み出された演奏データをキーバッファレジ
スタKYB1、KYB2に一時記憶して遅延させてから自動演奏
用楽音信号発生回路53に供給することにより行なうよう
にしたが、これに代えて、メモリ62のエリアI,IIからの
演奏データの読み出しを直接遅延させるようにしてもよ
い。すなわち、自動演奏I,IIの開始が指示されても直ち
にエリアI,IIの読み出しを開始するのではなく、タイマ
レジスタTM1,TM2に設定された遅延時間を経過してから
エリアI,IIの読み出しをスタートさせるようにしてもよ
い。 また、上述した実施例においては、演奏データメモリ
62への演奏データの書込みは鍵盤で実際に曲を演奏する
ことにより行なうようにしたが、これに代えて、音符の
音高を指定入力するキーおよび音符の符長を指定入力す
るキーを設け、曲の各音符に関する演奏データ(音高デ
ータ、符長データ)を上記キーを操作して入力するよう
にしてもよい。 さらに、上述した実施例においては、演奏データメモ
リ62に対して各音符の演奏データを曲の進行に従って順
番に記憶するようにしたが、この発明はこれに限定され
ず、演奏データの記憶フォーマットは任意の方式を採用
してもよいものである。例えば、特開昭58-2890号公報
に示されているような記憶フォーマットを採用してもよ
く、演奏される曲に出てくる各音符(音高+符長)の種
類毎にそれぞれ当該音符が演奏される各タイミングを記
憶しておくような方式でもよい。 「発明の効果」 以上説明したように、この発明によれば、キーデータ
を一時記憶する複数の一時記憶手段と、テンポクロック
に基いて記憶手段内のキーデータを読み出し、一時記憶
手段へ記憶する読み出し手段と、クロック信号に基づ
き、キーデータ毎に、当該キーデータが一時記憶手段に
記憶された時点からの経過時間を計測する計測手段と、
計測手段が遅延時間を計測した時に、当該一時記憶手段
に記憶されているキーデータを楽音発生手段へ出力する
出力手段とを有しているので、例えば第1の記憶手段内
の演奏データに基づきハープシコードの音を、また第2
の記憶手段内の演奏データに基づきホルンの音を発生さ
せた場合において、ハープシコードの音をホルンの音よ
り僅かに遅く発音させることが可能となり、したがっ
て、従来の聞き苦しい問題を解決することができる。さ
らに、遅延時間を設定操作子によって設定するようにし
ているので、聞き手の好みの曲調となるように遅延時間
を微調整することが可能である。また、演奏者が自動演
奏の設定を変更したときにも、演奏者が適切だと思う遅
延時間によって自動演奏を行うことができる。例えば、
実施例のように複数の音色からなる曲を自動演奏させる
場合、それぞれの音色を演奏者が選択設定したときで
も、それらに対応する適切な遅延時間を設定して全体の
バランスをとって演奏を行うことができるという効果を
有する。また、1つの記憶手段内の演奏データを他の記
憶手段内にコピーし、いずれか一方の演奏データに基づ
く楽音を僅かに遅延させて発生させれば、残響がかかっ
たような効果を発生楽音に付与することができる。さら
にまた、いずれか一方の楽音の発音タイミングを遅らせ
ると共に、音量を僅かに下げて(あるいは、上げて)発
音させるようにすれば、近ずいてくる音(遠ざかる音)
のようなイメージを作ることができる。この場合、記憶
手段を多数設け、それぞれの発音タイミングを少しずつ
ずらし、かつ、音量を少しずつ変えるようにすればより
効果的である。 また、一時記憶手段が演奏データ中のキーデータを記
憶するので、遅延を発生させるために必要な記憶容量を
少なくすることができる。 また、計測手段がクロック信号に基づいて、キーデー
タ毎に当該キーデータが一時記憶手段に記憶された時点
から、遅延時間を計測するようにしているので、楽音の
再生中に遅延時間の設定を変更したとしても、それによ
って楽音のピッチが変化してしまうということがない。
【図面の簡単な説明】
第1図はこの発明の一実施例の構成を示すブロック図、
第2図は同実施例における演奏データメモリ63の記憶エ
リアを示す図、第3図は演奏データのフォーマットを示
す図、第4図〜第13図は同実施例におけるCPU72の処理
過程を示すフローチャートである。 41……タイマクロック発振器、53……自動演奏用楽音信
号発生回路、62……演奏データメモリ、63……バッファ
レジスタ、71……プログラムメモリ、72……CPU、73…
…ワーキングメモリ、I,II……エリア、KYB1(P1),KYB
2(P2)……キーバッファレジスタ。
フロントページの続き (72)発明者 中田 卓也 静岡県浜松市中沢町10番1号 ヤマハ株 式会社内 (72)発明者 牧田 仁 静岡県浜松市中沢町10番1号 ヤマハ株 式会社内 (56)参考文献 特開 昭55−17103(JP,A) 特開 昭63−138398(JP,A) 実開 昭58−109793(JP,U)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】押鍵データ及び離鍵データからなるキーデ
    ータを含む演奏データを記憶する複数の記憶手段と、 複数の演奏データに基づく楽音を並行して発生する楽音
    発生手段と、 前記複数の記憶手段のそれぞれに対し、任意に遅延時間
    を設定する遅延時間設定手段と、 前記キーデータを一時記憶する複数の一時記憶手段と、 発生楽音のテンポの基となるテンポクロックを発生する
    テンポクロック発生手段と、 所定の間隔でクロック信号を発生するクロック発生手段
    と、 前記テンポクロックに基いて前記記憶手段内のキーデー
    タを読み出し、前記一時記憶手段へ記憶する読み出し手
    段と、 前記クロック信号に基づき、キーデータ毎に、当該キー
    データが一時記憶手段に記憶された時点からの経過時間
    を計測する計測手段と、 該計測手段が前記遅延時間を計測した時に、当該一時記
    憶手段に記憶されているキーデータを前記楽音発生手段
    へ出力する出力手段と を具備することを特徴とする自動演奏装置。
JP63155629A 1988-01-14 1988-06-23 自動演奏装置 Expired - Fee Related JP2760398B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63155629A JP2760398B2 (ja) 1988-06-23 1988-06-23 自動演奏装置
US07/776,675 US5113744A (en) 1988-01-14 1991-10-10 Automatic performance apparatus having plural memory areas

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63155629A JP2760398B2 (ja) 1988-06-23 1988-06-23 自動演奏装置

Publications (2)

Publication Number Publication Date
JPH01321481A JPH01321481A (ja) 1989-12-27
JP2760398B2 true JP2760398B2 (ja) 1998-05-28

Family

ID=15610172

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63155629A Expired - Fee Related JP2760398B2 (ja) 1988-01-14 1988-06-23 自動演奏装置

Country Status (1)

Country Link
JP (1) JP2760398B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5517103A (en) * 1978-07-11 1980-02-06 Suwa Seikosha Kk Electronic sound maker
JPS58109793U (ja) * 1982-01-20 1983-07-26 ロ−ランド株式会社 音声信号遅延装置
JPS63138398A (ja) * 1986-12-01 1988-06-10 セイコーエプソン株式会社 メロデイ発生回路

Also Published As

Publication number Publication date
JPH01321481A (ja) 1989-12-27

Similar Documents

Publication Publication Date Title
JPH01321482A (ja) 自動演奏装置
JP2560372B2 (ja) 自動演奏装置
US7314993B2 (en) Automatic performance apparatus and automatic performance program
JP3239411B2 (ja) 自動演奏機能付電子楽器
JPH04234090A (ja) 電子楽器
JP2000206968A (ja) 電子楽器の設定制御装置
JP2760398B2 (ja) 自動演奏装置
JP3649014B2 (ja) 演奏データファイルの再生設定制御装置
JPH07109553B2 (ja) 自動演奏装置
JPH07111629B2 (ja) 電子楽器
JP2643277B2 (ja) 自動演奏装置
JP2692539B2 (ja) 自動伴奏装置
JP3120487B2 (ja) 自動伴奏機能付電子楽器
JP2570411B2 (ja) 演奏装置
JP2625800B2 (ja) 自動演奏装置
JP2518340B2 (ja) 自動演奏装置
JP2518341B2 (ja) 自動演奏装置
JPH08211865A (ja) 自動演奏装置
JP3345453B2 (ja) 自動演奏装置
JP2601039B2 (ja) 電子楽器
JP2556040B2 (ja) 自動演奏装置
JP2621276B2 (ja) 自動演奏装置
JP2621371B2 (ja) 自動演奏装置
JPH08106285A (ja) 自動演奏装置
JPH0827627B2 (ja) 自動演奏装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees