JPH01177591A - 自動演奏装置 - Google Patents

自動演奏装置

Info

Publication number
JPH01177591A
JPH01177591A JP63001081A JP108188A JPH01177591A JP H01177591 A JPH01177591 A JP H01177591A JP 63001081 A JP63001081 A JP 63001081A JP 108188 A JP108188 A JP 108188A JP H01177591 A JPH01177591 A JP H01177591A
Authority
JP
Japan
Prior art keywords
process moves
mode
channels
switch
chns
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.)
Granted
Application number
JP63001081A
Other languages
English (en)
Other versions
JPH07113829B2 (ja
Inventor
Masao Kondo
昌夫 近藤
Yasunao Abe
阿部 泰直
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 JP63001081A priority Critical patent/JPH07113829B2/ja
Priority to US07/293,375 priority patent/US4957031A/en
Publication of JPH01177591A publication Critical patent/JPH01177591A/ja
Publication of JPH07113829B2 publication Critical patent/JPH07113829B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/18Selecting circuits
    • G10H1/183Channel-assigning means for polyphonic instruments
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S84/00Music
    • Y10S84/22Chord organs

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、複数の発音チャンネルを有する自動演奏装
置に関し、特にパート毎に演奏を記録・再生する技術の
改良に関するものである。
[発明の概要〕 この発明は、パート毎にチャンネル数を指定して演奏情
報を記録する一方、再生時にはパート毎に記録時に指定
されたチャンネル数で記録演奏情報に基づく自動演奏を
行なうようにしたことにより多様な自動演奏を可能とし
たものである。
[従来の技術] 従来、パート毎に演奏を記録・再生可能な自動演奏装置
としては、パート毎に1又は複数の発音チャンネルを設
けたものが知られている(例えば、特開昭59−197
0135号公報参照)。
[発明が解決しようとする課題] 上記した従来技術によると、パート毎にチャンネル数(
同時発音可能数)が固定されているため、演奏表現が制
約される不都合があった。
−例として、コードパートが3チヤンネル、ベースパー
トが1チヤンネルとすれば、コードハートで同時に4音
発生させたり、ベースパートで同時に2音発生させたり
することは不可能であった。
このような問題点を解決するため、各パート毎にチャン
ネル数を増設することが考えられるが、このようにした
のでは、構成が複雑化するのを免れない。また、まれに
しか使わないのに、例えばコードパート専用に多数のチ
ャンネルを設けるのは得策でない。
この発明の目的は、少数の発音チャンネルを有効に利用
して多様な自動演奏を可能にすることにある。
[課題を解決するための手段] この発明による自動演奏装置は、音源手段と、入力手段
と、モード指定手段と、読み書き可能な記憶装置と、チ
ャンネル数指定手段と、記憶手段と、書込手段と、パー
ト指定手段と、読出手段と、割当手段とをそなえている
音源手段は、複数N個の発音チャンネルを有するもので
、各発音チャンネル毎に割当てられた発音制御情報に応
じて楽音信号を発生するように構成されている。
入力手段は、演奏情報を入力するためのもので、例えば
鍵盤等により構成される。
モード指定手段は、レコードモード又はプレイモードを
指定するためのもので、例えばスイッチ等により構成さ
れる。
チャンネル数指定手段は、モード指定手段によりレコー
ドモードが指定されたとき入力すべきパート毎にN個の
範囲内で所望のチャンネル数を指定するもので、例えば
N個のスイッチ等により構成される。
記憶手段は、チャンネル数指定手段で指定されたチャン
ネル数をパート毎に記憶するものである。
書込手段は、モード指定手段によりレコードモードが指
定されたとき入力手段からの演奏情報を記憶装置にパー
ト毎に書込心ものである。
パート指定手段は、モード指定手段によりプレイモード
が指定されたとき演奏すべきパートを指定するもので、
例えば上記N個のスイッチを流用するなどして構成され
る。
読出手段は、パート指定手段で指定されたパートに関す
る演奏情報を記憶装置から読出すものである。
割当手段は、パート指定手段で指定されたパートに関し
て記憶手段に記憶されているチャンネル数に対応する数
の発音チャンネルのうち少なくとも1つに対して記憶装
置から読出された演奏情報を上記発音制御情報として割
当てるものである。
[作 用] この発明の構成によれば、入力すべきパート毎にN個の
範囲内で所望のチャンネル数を指定して演奏情報を記録
し、再生時にはパート毎に記録時に指定されたチャンネ
ル数で記録演奏情報に基づ〈自動演奏を行なわせること
ができる。
−例として、N=5とすれば、コードパート用にチャン
ネル数3を指定してコード演奏情報を記・録した後、ベ
ースパート用にチャンネル数2を指定してベース演奏情
報を記録することができる。
そして、再生時には、コードパートを指定すると、3チ
ヤンネルを用いてコードの自動演奏が行なわれ、ベース
パートを指定すると、2チヤンネルを用いてベースの自
動演奏が行なわれる。この場合、コードパート及びベー
スパートを共に指定すると、コード及びベースが並行的
に自動演奏される。
これと同様の記録・再生動作は、コードパート用にチャ
ンネル数4を指定し且つベースパート用にチャンネル数
1を指定したり、あるいはコードパート用にチャンネル
数5(全チャンネル)を指定したりした場合にも可能で
ある。
従って、限られた数の発音チャンネルを有効に利用して
多様な自動演奏を行なえるものである。
[実施例] 第1図は、この発明の一実施例による自動演奏装置をそ
なえた電子楽器の構成を示すもので、この電子楽器では
、マニアル演奏音の発生、マニアル演奏情報の記録・再
生(自動演奏)等がマイクロコンピュータによって制御
されるようになっている。
電子楽器の構成(第1図) データバス10には、鍵盤12、パネル装置14、中央
処理装置(CPU)1B、プログラムメモリ18、レジ
スタ群20、オートプレイメモリ22、クロック発生器
24、トーンジェネレータ(TG)28等が接続されて
いる。
鍵盤12は、多数の鍵を有するもので、各鍵毎に押鍵情
報が検出されるようになっている。
パネル装置14は、楽音制御用乃至演奏制御用の各種操
作子並びに各種表示素子が設けられたもので、この発明
の実施に関係する操作子及び表示素子としては、第O〜
第4の5個のチャンネル数/パート指定スイッチCHN
Sと、これらのスイッチにそれぞれ対応した発光ダイオ
ード等の赤/緑点灯可能な表示素子LEDと、レコード
モード指定スイッチRECSと、スタート/ストップス
イッチSPSと、シンクロスタートスイッチ5YNSと
、その他音量調整、テンポ調整等の操作子とが設けられ
ている。
CPUIEiは、プログラムメモリー8にストアされた
プログラムに従って楽音発生、演奏記録・再生等のため
の各種処理を実行するもので、これらの処理については
第7図乃至第14図を参照して後述する。
レジスタ群20は、CPUIEIによる各種処理に際し
て利用される各種のレジスタからなるもので、この発明
の実施に関係するレジスタ類については後述する。
オートプレイメモリ22は、演奏情報を記憶するための
もので、例えばRAM (ランダム・アクセス・メモリ
)からなる。メモリ22の構成及びデータフォーマット
については第3図及び第4図を参照して後述する。
クロック発生器24は、テンポデータTDに応じて設定
テンポに対応した周波数のテンポクロック信号TCLを
発生するもので、この信号TCLの各クロックパルスは
第14図のクロック割込ルーチンを開始させるのに使用
される。
TG2Bは、第0〜第7の8つの発音チャンネルを有す
るもので、第0〜第4チヤンネルは各チャンネル独立に
自動演奏に使用可能なものであり、第5〜第7チヤンネ
ルはマニアル演奏専用のものである。なお、第0〜第4
チヤンネルのうちで自動演奏に使用しないものは、マニ
アル演奏に使用可能である。
サウンドシステム2日は、TG2Bからの楽音信号を音
響に変換するためのもので、出力アンプ、スピーカ等か
らなっている。
上記した電子楽器にあっては、音名毎のキーコードが第
2図に示すように予め定められている。
オートプレイメモリ22(第3図及び第4図)第3図は
、オートプレイメモリ22の構成を示すもので、このメ
モリ22には、第O〜第4のチャンネル数/パート指定
スイッチCHNSにそれぞれ対応した5個の記憶ブロッ
クBO−B4が設けられている。BO−B4の各記憶ブ
ロックには、1バイト(8ビツト)のデータを記憶可能
な記憶領域が1000個設けられており、BOの記憶領
域には1000〜1989、B1の記憶領域には200
0〜2989、B2の記憶領域には3000〜3889
、B3の記憶φ城には4000〜4999、B4の記憶
領域には5000〜5999のアドレスがそれぞれ与え
られている。以下の説明では、特定の記憶領域又はその
記憶データを、ADR3をアドレスとしてMMR(AD
R3)のように表わすものとする。
第4図は、メモリ22のデータフォーマットを示すもの
であり、メモリ22に記憶される演奏情報としては、同
図(A)〜(E)に示すようにキーオン情報、キーオフ
情報、小節線情報、ジャンプ情報、終了情報等がある。
(A)のキーオン情報は、各々1バイトのタイミング情
報及びキーコード情報からなるもので、タイミング情報
はMSB (最上位ビット)が0で残り7ビツトがキー
オンタイミング(テンポクロック信号TCLのカウント
値)を表わし、キーコード情報はMSBが1で残り7ビ
ツトがキーオンに係るキーコードを表わす。
(B)のキーオフ情報は、各々1バイトのタイミング情
報及びキーコード情報からなるもので、タイミング情報
はMSBがOで残り7ビツトがキーオフタイミングを表
わし、キーコード情報はMSBが0で残り7ビツトがキ
ーオフに係るキーコードを表わす。
(G)の小節線情報は、1バイトの情報であり、80H
(下付きのHは16進表記であることを表わす。以下同
じ)のデータ(10000000)からなる。
(D)のジャンプ情報は、1バイトの情報であり、マー
クピットとしての上位4ビツトがEHのデータ(111
0)からなり、下位4ビツトがジャンプの行先(記憶ブ
ロックB1〜B4のいずれか)を表わす。また、下位4
ビツトには、FHのデータ(1111)が与えられるこ
とがあり、この場合には記憶停止位置を表わす。
(E)の終了情報は、1バイトの情報であり、FFHの
データ(8ビット全部1)からなる。
モード切換動作(第5図) 次に、第5図を参照してモード切換動作の概要を述べる
設定可能なモードとしては、ノーマルモード、レコード
モード及びプレイモードの3つのモードがある。ノーマ
ルモードは、鍵盤12によるマニアル演奏は可能である
が、演奏を記録又は再生できないモードである。レコー
ドモードは、マニアル演奏に伴ってその演奏情報をオー
トプレイメモリ22に記録するモードである。プレイモ
ードは、メモリ22に記録された演奏情報に基づいて自
動演奏を行なうモードであり、このモードではマニアル
演奏も可能である。
モード切換のためのパネル操作は、後述するランフラグ
RUNがO(停止状態)又は−1(シンクロ待機状態)
のとき各チャンネル数/パート指定スイッチCHNS毎
に行なえるものであり、第0〜第4のスイッチCHNS
による設定状態としては、上記した3つのモードのうち
任意の1つを選択した状態から任意の複数のものを組合
せ選択した状態まで種々のものがありうる。第5図では
特定の1つのスイッチCHNSとレコードモード指定ス
イッチREC5とに関してモード切換動作を示しである
ノーマルモードにあっては、特定のスイッチCHNSに
対応する表示素子LEDが消灯している。この状態にお
いて、CHNSのみオンするとごプレイモードとなり、
LEDは緑色点灯する。また、ノーマルモードの状態に
おいて、RECS及びCHNSを同時にオンすると、レ
コードモードとなり、LEDは赤色点灯する。
プレイモードの状態において、RECS及びCHNSを
同時にオンすると、レコードモードとなる。また、レコ
ードモードの状態においては、CHNSのみオンすると
、ノーマルモードとなる。この場合、RECS及びCH
NSを同時にオンしても、レコードモードのままである
上記したのは、1つのスイッチCHNSに関する基本的
動作であるが、このスイッチCHNSが他のスイッチC
HNSと組であった場合には、次の(1)〜(3)のよ
うな動作となる。ここで、組とは、例えばスタート/ス
トップスイッチSPSの操作等によりRUNが1になっ
たときにレコードモードになっている複数のスイッチC
HNSにより形成されるものである。
(1)あるスイッチCHNSがレコードモードであると
き、他のスイッチCHNSをノーマルモードからプレイ
モードに変えたところ、これらのスイッチが組であった
場合、レコードモードであったスイッチはレコードモー
ドを解除されてプレイモードに移行し、結果として、組
であったすべてのスイッチがプレイモードとなる。従っ
て、例えば第2〜第4スイツチCHNSをレコードモー
ドにしだ後RUN= 1にしてコード演奏を記録し、そ
の記録の終了後第2〜第4スイツチCHNSのいずれか
1つをオンすると、このオンしたスイッチはまずノーマ
ルモードとなり、さらにこのスイッチをオンすると、こ
のスイッチはプレイモードになると共にこれと組であっ
た他のスイッチもプレイモードとなる。すなわち、記録
時には所望のチャンネル数に対応する複数のスイッチC
HNSを操作するが、再生時にはこれらのスイッチCH
NSのうちの1つを操作するだけで所望のパートを選択
可能である。
(2)あるスイッチCHNSがプレイモードであるとき
、このスイッチをレコードモードに変えたところ、該ス
イッチ及び他のスイッチCHNSが組であった場合、組
であった他のスイッチがノーマルモードに移行する。例
えば上記例のように第2〜第4スイツチCHNSをいず
れもプレイモードにした後、第2スイツチをレコードモ
ードにしたときは、第3及び第4スイツチがいずれもノ
ーマルモードに移行する。
(3)あるスイッチCHNSがプレイモードであるとき
、このスイッチをノーマルモードに変えたところ、該ス
イッチ及び他のスイッチCHNSが組であった場合、組
であった他のスイッチがノーマルモードに移行する。従
って、例えば上記例のように第2〜第4スイツチをプレ
イモードにした後、第2スイツチをノーマルモードにし
たときは、第3及び第4スイツチがいずれもノーマルモ
ードに移行する。
スタート/ストップ動作(第6図) 次に、第6図を参照してスタート/ストップ動作の概要
を述べる。
RUN= Oの停止状態において、スタート/ストップ
スイッチSPSをオンすると、RUNが1となり、走行
状態(後述する第14図のクロック割込ルーチンにより
テンポクロック信号TCLの計数が行なわれる状態)と
なる。また、RUN= 1の走行状態において、SPS
をオンすると、RUN=Oの停止状態となる。
一方、RUN= Oの停止状態か又はRUN= 1の走
行状態において、シンクロスタートスイッチ5YNSを
オンすると、RUN=−1のシンクロ待機状態となる。
そして、シンクロ待機状態において、SPSをオンする
か又は鍵盤12でキーオンイベントが生ずると、RUN
= 1の走行状態となる。
RUN= Oの停止状態にあっては、ノーマルモードの
動作が可能である。また、RUN= 1の走行状態にあ
っては、レコードモード及び/又はプレイモードの動作
が可能である。さらに、RUN=−1のシンクロ待機状
態にあっては、鍵盤12でのキーオン開始に同期してレ
コードモード及び/又はプレイモードの動作を開始させ
ることができる。
レジスタ群20 レジスタ群20に属するレジスタ類のうち、この発明の
実施に関係するものを列挙すると、次の通りである。
(1)ランフラグRUN・・・これは、1ビツトのレジ
スタであり、0ならば停止状態を、lならば走行状態を
、−1ならばシンクロ待機状態をそれぞれ表わす。
(2)レーコドモードレジスタREC・・・これは、第
0〜第4のスイッチCHNSにそれぞれ対応した第θ〜
第4の5ビツトのレジスタであって、いずれかのビット
が1であれば、それに対応するスイッチがレコードモー
ドであることを表わす。
(3)プレイモードレジスタFLY・・・これは、第O
〜第4のスイッチCHNSにそれぞれ対応した第O〜第
4の5ビツトのレジスタであって、いずれかのビットが
1であれば、それに対応するスイッチがプレイモードで
あることを表わす。
(4)クロックカウンタCLK・・・これは、テンポク
ロック信号TCLを1小節毎に反復的に計数するもので
、1小節内でO〜85のカウント値をとり、96になる
タイミングでOにリセットされる。
(5)組状態レジスタGRP (0)〜GRP(4)・
・・これらのレジスタは、それぞれ第O〜第4のスイッ
チCHNSに対応したもので、各レジスタは第O〜第4
のスイッチCHNSにそれぞれ対応した第O〜第4の5
ビツトのレジスタであり、各レジスタ毎に対応するスイ
ッチがどのスイッチと組であるか表わすようになってい
る。
−例として、第O及び第1スイツチが1つの組で且つ第
2〜第4スイツチが他の組である場合についてGRP 
(0)〜GRP (4)の内容をデータの左端をMSB
として示すと次のようになる。
レジスタ      データ GRP (0)     000011GRP (1)
     000011GRP(2)     111
100 GRP (3)     111100GRP(4) 
    111100 (6)キーコードレジスタKC・・・これは、7ビツト
のレジスタであり、鍵盤12においてキーイベント(キ
ーオン又はキーオフ)のあったキーに対応するキーコー
ド情報がストアされるものである。
(7) +−コートバッファレジスタKCBUF(0)
〜KCBUF (7)・・・これらのレジスタは、それ
ぞれTG2Bの第O〜第7発音チャンネルに対応したも
ので、各レジスタは、8ビツトのレジスタであり、MS
Hにはキーオン又はキーオフに応じたl又は0が、下位
7ビツトにはキーコード情報がそれぞれストアされるよ
うになっている。
(8)読出キーコードレジスタKEY・・・これは、オ
ートプレイメモリ22から読出したキーコード情報をス
トアするための8ビツトのレジスタであって、MSHに
はキーオン又はキーオフに応じた1又はOがストアされ
ると共に、下位7ビツトにはキーコードがストアされる
ようになっている。
(8)キーオンレジスタKON・・・これは、1ビツト
のレジスタであり、レジスタKEYのMSBがセットさ
れるものである。
(10)書込用アドレスポイジタPNTR・・・これは
、レコードモード時にオートプレイメモリ22への情報
書込みに使用されるもので、16ビツトのアドレス情報
をストア可能である。レコードモード時にあっては、記
憶ブロックBO−B4のうちの1又は複数のものをスイ
ッチCHNSで指定して1パートずつ演奏情報の書込み
を行なう。例えば第0スイツチCHNSによりBOを指
定してこれにベース演奏情報を書込む。そして、この書
込終了後、第1〜第4スイツチCHNSによりBl〜B
4を指定してこれらにコード演奏情報を書込む。この場
合、B1〜B4は、連続した1つの記憶ブロックとして
扱われる。このように1パートずつ書込処理を行なうの
で、PNTRは1つで足りるものである。
(11)読出用アドレスポインタPNTP (0)〜P
NTP (4)・・・これらのポインタは、プレイモー
ド時にオートプレイメモリ22からの情報読出しに使用
されるもので、それぞれ記憶ブロック13’0−B4に
対応している。このように5つのポインタを設けたのは
、BO−B4 を各々別のパートとして演奏情報書込み
を行なったような場合、各ブロック毎の読出しを可能に
するためである。
各ポインタは、16ビツトのアドレス情報をストア可能
である。プレイモードでないとき、PNTP(0)〜P
NTP (4)は、いずれもOである。
複数のスイッチCHNSが組の状態でプレイモードにな
っているときにプレイモードの動作を開始させると、そ
の組の中で最も若いナンバのスイッチに対応するポイン
タド、該スイッチに対応する記憶ブロックの先頭アドレ
スがセットされる。例えば、第0〜第2スイツチが組で
あった場合、PNTP (0)にBOの先頭アドレスが
セットされ、他のPNTP (1)及びPNTP (2
)については先頭アドレスセットを行なわない。これは
、BO”B2が連続した1つの記憶ブロックとして扱わ
れるからである。
(12)テンポラリレジスタTMP・・・これは、ポイ
ンタPNTP (0)〜PNTP (4)に先頭アドレ
スをセットする際レジスタFLYの内容を一時スドアす
るためのレジスタであり、FLYと同様の構成になって
いる。
(13)割当可能チャンネルレジスタASS・・・これ
は、TG2Bの第O〜第7発音チャンネルにそれぞ゛ 
れ対応した第O〜第7の8ビツトのレジスタであり、い
ずれかのビットが1であれば、それに対応するチャンネ
ルが割当可能であることを表わす。
(14)割当チャンネルレジスタCH・・・これは、実
際にキーコード情報を割当てるべきチャンネルのナンバ
がセットされるものである。
(15)ジャンプ先レジスタGT・・・これは、4ビツ
トのレジスタであって、ジャンプ先となる記憶ブロック
のナンバ(1〜4のいずれか)又はFH(記憶停止位置
情報)がストアされるものである。
メインルーチン(第7図) 第7図は、メインルーチンの処理の流れを示すもので、
このルーチンは電源投入等に応じてスタートする。
まず、ステップ30では、イニシャライズルーチンを実
行し、各種レジスタを初期セットする。例えば、RUN
、KCBUF (0)〜KCBUF(7)、GRP (
o)〜GRP (4)等にはいず  。
れもOをセットする。そして、ステップ32に移る。
ステップ32では、鍵盤12にてキーオンイベントあり
か判定する。この判定結果が肯定的(Y)であればステ
ップ34に移り、第8図について後述するようにキーオ
ンのサブルーチンを実行する。
ステップ34の処理が終ったとき又はステ・ンプ32の
判定結果が否定的(N)であったときは、ステップ36
に移る。ステップ36では、鍵盤12にてキーオフイベ
ントありか判定する。この判定結果が肯定的(Y)であ
ればステップ38に移り、第9図について後述するよう
にキーオフのサブルーチンを実行する。
ステップ38の処理が終ったとき又はステップ36の判
定結果が否定的(N)であったときは、ステップ40に
移り、スタート/ストップスイッチSPSにオンイベン
トありか判定する。この判定結果が肯定的(Y)であれ
ばステップ42に移り、第11図について後述するよう
にスタート/ストップのサブルーチンを実行する。
ステップ42の処理が終ったとき又はステップ40の判
定結果が否定的(N)であったときは、ステップ44に
移り、シンクロスタートスイッチ5YNSにオンイベン
トありか判定する。この判定結果が肯定的(Y)であれ
ばステップ48に移り、RUNが−1か(シンクロ待機
状態か)判定する。この判定結果が否定的(N)であれ
ばRUN=O又はlであったことになり、ステップ48
に移る。ステップ4日では、FLY及びRECがいずれ
もOか(スイッチCHNSのいずれもノーマルモードか
)判定する。この判定結果が否定的(N)であればプレ
イモード又はレコードモードであったことになり、ステ
ップ50に移る。ステップ50では、RUNに−1をセ
ットしてシンクロ待゛機状態とする。
ステップ46の判定結果が肯定的(Y)であったときは
、ステップ52に移り、RUNに0をセットして停止状
態とする。
ステップ50又は52の処理が終ったとき、ステップ4
4の判定結果が否定的(N)であったとき又はステップ
48の判定結果が肯定的(Y)であったときは、ステッ
プ54に移る。
ステップ54では、制御変数iをOにする。そして、ス
テップ56に移り、i番目のチャンネル数/ハート指定
スイッチCHNSi にオンイベントありか判定する。
この判定結果が肯定的(Y)であればステップ58に移
り、第13図について後述するようにCHNSオンのサ
ブルーチンを実行する。
ステップ58の処理が終ったとき又はステップ56の判
定結果が否定的(N)であったときは、ステップ60に
移り、iの値を1アツプする。そして、ステップ62に
移る。
ステップ82では、iの値がスイッチCHNSの数5よ
り小か判定する。この判定結果が肯定的(Y)であれば
ステップ56に戻り、i=5となるまでステップ56以
下の処理を繰返す。この結果、スイッチCHN S o
 ” CHN S 4のうちオンイベントがあったもの
についてCHNSオンのサブ、  ルーチンが実行され
る。
i=5となると、ステップ62の判定結果が否定的(N
)となり、ステップ64に移る。ステップ84では、そ
の他の処理(音量、テンポ等に関するもの)を行ない、
しかる後ステップ32に戻る。そして、上記したような
処理を繰返す。
キーオンのサブルーチン(第8図) 第8図のキーオンのサブルーチンにおいて、ステップ7
0では、RUN=−1か(シンクロ待機状態か)判定す
る。この判定結果が肯定的(Y)であればステップ72
に移り、第11図のスタート/ストップのサブルーチン
を実行する。
ステップ72の処理が終ったとき又はステップ70の判
定結果が否定的(N)であったときは、ステップ74に
移り、RFC=Oが(ノーマル又はプレイモードか)判
定する。この判定結果が肯定的(Y)であればステップ
76に移る。
ステップ76では、EO,とPLYの内容を各ビット毎
に反転したデータFLYとをOR演算し、その演算結果
をASSに入れる。この場合、OR演算は、割当可能な
チャンネルを検出するためのもので、例えばFLYの内
容がrlllO。
0」であったとすれば、演算結果はrllloooll
」となり、第0、第1及び第5〜第7チヤンネルが割当
可能となる。
ステップ74の判定結果が否定的(N)であったときは
、いずれかのスイッチCHNSがレコードモードであっ
たことになり、ステップ78に移る。
ステップ78では、RECの内容をASSに入れる。例
えば、RECの内容がrooollJであったとすれば
、このデータをASSに入れることによって第O及び第
1チヤンネルが割当可能となる。
ステップ76又は78の処理が終ったときは、ステップ
80に移り、ASSの中で1になっているビットに対応
するチャンネルにおいて最も楽音の減衰が進んだものの
ナンバをCHに入れる。例えば第O及び第1チヤンネル
に対応するビットが1である場合、第1チヤンネルが最
も楽音減衰が進んでいればCHにはOがセットされる。
次に、ステップ82では、CHのチャンネルナンバに対
応するレジスタKCBUF (CH)に808及びKC
の内容を加算したものを入れる。
ここで、加算は、キーオンイベントのあったキーに対応
するキーコードに第8ビツトとしてlを付加して8ビツ
トのキーコード情報を得るためのものであり、このキー
コード情報をKCBUF (CH)に入れることでCH
対応チャンネルへのキーに 8 コード情報の割当てが可能となる。ステップ82の後は
、ステップ84に移る。
ステップ84では、TG2BのCH対応チャンネルをK
Cのキーコードでキーオン処理して該キーコードに対応
する楽音信号を発生させる。そして、ステップ86に移
る。
ステップ86では、RFC=Oか(ノーマル又はプレイ
モードか)判定し、この判定結果が肯定的(Y)であれ
ば第7図のルーチンにリターンする。なお、第8図以降
に示されるrRETJは、リターンを表わす。
ステップ86の判定結果が否定的(N)であったときは
、いずれかのスイッチCHNSがレコードモードであっ
たことになり、ステップ88に移る。
ステップ88では、オートプレイメモリ22においてP
NTRで示されるアドレスの記憶領域MMR(PNTR
)にCLKの値(キーオンタイミング情報)を書込む。
そして、ステップ90に移る。
ステー/プ80テは、KCBUF (CH)c7)+−
:1−ド情報をMMR(PNTR)の次のアドレスの記
憶領域MMR(PNTR+ 1)に書込む。そして、ス
テップ92でPNTRの値を2アツプしてからステップ
94に移る。
ステップ94では、第10図について後述するようにジ
ャンプのサブルーチンを実行する。この後、第7図のル
ーチンにリターンする。
キーオフのサブルーチン(第9図) 第9図のキーオフのサブルーチンにおいて、ステップ1
00、】02.104は、前述のステップ74.76.
78とそれぞれ同様である。すなわち、ステップ100
では、REC=0か判定し、この判定結果が肯定的(Y
)であればステップ102に移り、否定的(N)であれ
ばステップ104に移る。ステップ102では、EOH
とFLYとのOR演算結果をASSに入れ、ステップ1
04では、RECの内容をASSに入れる。
ステップ102又は104の後は、ステップ10Bに移
る。ステップ10Bでは、ASSの中で1になっている
ビットに対応するチャンネルに関するKCBUFの中で
(80,+KC)のデータと等しいものをサーチする。
ここで、(80H+KC)のデータは、キーオフに係る
キーコードに第8ビツトとして1を付加したものであり
、このデータと等しいものを割当可能チャンネルに関す
るKCBUFの中から探すことは、キーオフに係るキー
コードと同じものがすでに割当てられているチャンネル
を探すことに相当する。
次に、ステップ108では、等しいものありか判定し、
この判定結果が肯定的(Y)であればステップ110に
移る。ステップ110では、発見した割当済みのチャン
ネルのナンバをCHに入れる。
そして、ステップ112に移る。
ステップ112では、KCBUF (CH)のMSBを
Oにする。この結果、KCBUF (CH)のキーコー
ド情報はキーオフ情報として書込可能になる。この後、
ステップ114では、TG2BのCH対応チャンネルを
キーオフ処理して発生中の楽音信号を消滅させる。
ステップ114の処理が終ったとき又はステップ108
の判定結果が否定的(N)であったときは、ステップ1
16に移り、前述のステップ86と同様にREC=0か
判定する。この判定結果が肯定的(Y)であれば第7図
のルーチンにリターンする。
ステップ118の判定結果が否定的(N)であったとき
は、ステップ118に移り、MMR(PNTR)にCL
Kの値(キーオフタイミング情報)を書込む。そして、
ステップ120に移る。
ステップ120では、MMR(PNTR+ 1)にKC
BUF (CH)のキーコード情報を書込む。
そして、ステップ122でPNTRの値を2アツプして
からステップ124に移る。
ステップ124では、第1θ図のジャンプのサブルーチ
ンを実行し、しかる後第7図のルーチンにリターンする
ジャンプのサブルーチン(第10図) 第10図のジャンプのサブルーチンにおいて、ステップ
130では、MMR(PNTR)のデータがEXHか判
定する。ここで、Xは下位4ビツトを表わし、その値は
問わない。従ってEXHかということは、ジャンプマー
クかということに相当する。ステップ130の判定結果
が否定的(N)であれば元のルーチンにリターンする。
ステップ130の判定結果が肯定的(Y)であればステ
ップ132に移り、上記X(下位4ビツト)がFHか(
記憶停止位置か)判定する。この判定結果が肯定的(Y
)であればステップ134でRUNにOをセットしてか
らステップ136に移り、MMR(PNTR)にFF、
(終了情報)を書込む。そして、元のルーチンにリター
ンする。
ステップ132の判定結果が否定的(N)であったとき
は、ステップ138に移る。ステップ138では、(X
+ 1)xloooなる式に従ってジャンプ先の先頭ア
ドレスを演算し、その演算結果なPNTRにセットする
。従って、例えばX=1であればPNTRに2000が
セットされ、記憶ブロックB1へのジャンプが可能とな
る。
スタート/ストップのサブルーチン(第11図)第11
図のスタート/ストップのサブルーチンにおいて、ステ
ップ140では、RUN= 1か(走行状態か)判定す
る。この判定結果が肯定的(Y)であれば走行状態でス
イッチSPSがオンされたことになり、ステップ142
でRUNにOをセットして停止状態とする。そして、ス
テップ144に移る。
ステップ144では、FLY=0か(ノーマル又はレコ
ードモードか)判定する。この判定結果が否定的(N)
であればいずれかのスイッチCHNSがプレイモードで
あったことになり、ステップ146に移る。
ステップ146では、制御変数iをOにする。そして、
ステップ148に移り、FLYの第iビットP L Y
 iが1か判定する。この判定結果が肯定的(Y)であ
ればi番目のスイッチCHNSがプレイモードであった
ことになり、ステップ150に移る。
ステップ150では、第iチャンネルに対応するレジス
タKCBUF (i)のMSBをOにする。
そして、ステップ152に移り、TG2Bの第iチャン
ネルをキーオフ処理する。
次に、ステップ154でiの値を1アツプしてからステ
ップ156に移り、i < 5か判定する。この判定結
果が肯定的(Y)であればステップ148に戻り、i=
5となるまでステップ148以下の処理を上記したと同
様に繰返す。この結果、プレイモードであったチャンネ
ルはすべてキーオフ処理されることになる。
i=5となると、ステップ156の判定結果が否定的(
N)となり、ステップ15Bに移る。ステップ158で
は、FLYにOをセットする。
ステップ158の処理が終ったとき又はステップ144
の判定結果が肯定的(Y)であったときは、ステップ1
60に移り、REC=0か(ノマルモードか)判定する
。この判定結果が肯定的(Y)であれば元のルーチンに
リターンする。
ステップ160の判定結果が否定的(N)であればいず
れかのスイッチCHNSがレコードモードであったこと
になり、ステップ1E12に移る。
ステップ1B2では、MMR(PNTR)にFF、(終
了情報)を書込み、しかる後元のルーチンにリターンす
る。
一方、ステップ140の判定結果が否定的(N)であっ
たときは、停止又はシンクロ待機状態であったことにな
り、ステップ184に移る。ステップ184では、FL
YおよびRECが共にOか(ノーマルモードか)判定し
、この判定結果が肯定的(Y)であれば元のルーチンに
リターンする。
ステップ184の判定結果が否定的(N)であったとき
は、ステップ166に移る。ステップ166では、走行
を開始すべくRUNに1を、CLKに0をそれぞれセッ
トする。そして、ステップ168に移り、第12図につ
いて後述するようにレコードチエツクのサブルーチンを
実行する。
次に、ステップ170では、FLYの内容をTMPにセ
ットする。そして、ステップ172では□、□PNTP
 (0)〜PNTP (4)にいずれもOをセットする
。この後、ステップ174に移る。
ステップ174では、制御変数iを0にする。そして、
ステップ17eに移り、TMPの第iビットTMPiが
1か判定する。この判定結果が肯定的(Y)であればi
番目のスイッチCHNSがプレイモードであったことに
なり、ステップ178に移る。
ステップ17Bでは、i番目の記憶ブロックに対応する
ポインタPNTP(i’)に先頭アドレスをセットする
。この場合、先頭アドレスは、(i+1)X100Oな
る式で求められ、例えばi=OであればPNTP (0
)に記憶ブロックBOの先頭アドレスとして1000が
セットされる。この後、ステップ180に移る。
ステップ180では、TMPの内容とi番目のスイッチ
CHNSに対応するレジスタGRP(i)の内容を各ビ
ット毎に反転したデータGRP (i)とをAND演算
し、その演算結果をTMPに入れる。この場合、AND
演算は、複数のスイッチCHNSが組になっているとき
にその組の中で最も若いナンバのスイッチに対応するポ
インタにのみ先頭アドレスをセットするために行なわれ
るもので、例えば第0及び第1スイッチCHNSをプレ
イモードとしたことによりTMPの内容がroooll
J、第O及び第2スイツチCHNSが組であったことに
よりGRP (0)及びGRP (2)の内容がいずれ
もroololJとすれば、AND演算の結果、TMP
には「00010Jがセットされる。この例では、i=
0のときステップ178によりPNTP (0)に10
00がセットされる。
ステップ180の処理が終ったとき又はステップ176
の判定結果が否定的(N)であったときは、ステップ1
82でiの値を1アツプしてからステップ184に移る
ステップ184では、i < 5か判定し、この判定結
果が肯定的(Y)であればステップ176に戻る。そし
て、i=5となるまでステップ178以下の処理を上記
したと同様に繰返す。上記例の場合、i=oのときステ
ップ180でTMPに「00010Jがセットされた後
ステップ1B2でi=1となってステップ176にくる
と、判定結果が肯定的(Y)となる。従って、ステップ
178によりPNTP (1)には2000がセットさ
れる。そして、ステップ180では、GRP (1)が
全ビット0(第1スイツチCHNSが他のスイッチCH
NSと組でなレリとすれば、TMPにroooll」が
セットされる。この後、ステップ182でiが2になっ
てからステップ17Bにくると、TMP2はOであるの
でステップ176の判定結果が否定的<N)となり、ス
テップ182に移る。従って、PNTP (2)につい
ては先頭アドレスセットが行なわれない。
i=5となると、ステップ184の判定結果が否定的(
N)となり、ステップ185に移る。ステップ185で
はiを0にする。そして、ステップ186に移る。
ステップ186では、RECの第iピッ)REC4が1
か(i番目のスイッチCHNSがレコードモードか)判
定する。この判定結果が肯定的(Y)であればステップ
187に移り、(i+1)X 1000なる式に従って
演算した先頭アドレスをPNTRにセットする。このと
きセットされるのが書込時の先頭アドレスとなる。ステ
ップ187の後は、元のルーチンにリターンする。従っ
て、RFCが複数のスイッチCHNSについてレコード
モードを指示していても、ステップ187の先頭アドレ
スセットはそれらのスイッチのうち最も若いナンバのス
イッチについて1回行なわれるだけである。
ステップ186の判定結果が否定的(N)であればステ
ップ188でiの値を1アツプしてステップ188に移
る。ステップ188では、i<5か判定し、この判定結
果が肯定的(Y)であればステップ18Bに戻り、i=
5となるまでステップ188以下の処理を上記したと同
様に繰返す。
i=5となると、ステップ189の判定結果が否定的(
N)となり、元のルーチンにリターンする。
レコードチエツクのサブルーチン(第12図)第12図
のレコードチエツクのサブルーチンにおいて、ステップ
190では、制御変数iをOとする。そして、ステップ
192に移る。
ステップ1θ2では、RFCの第iピッ)REClが1
か判定する。この判定結果が肯定的(Y)であったとき
は、いずれかのスイッチCHNSがレコードモードであ
ったことになり、ステップ194に移る。ステップ19
4では、制御変数jをiとする。そして、ステップ19
6に移る。
ステップ186では、第1スイツチCHNSに対応する
レジスタGRP (Hの第iビットが1か判定する。こ
の判定結果が肯定的(Y)であればステップ198に移
り、GRP (DにOをセットする。
ステップ198の処理が終ったとき又はステップ196
の判定結果が否定的(N)であったときは、ステップ2
00でjの値を1アツプしてステップ202に移り、j
<5か判定する。この判定結果が肯定的(Y)であれば
ステップ186に戻り、j=5となるまでステップIH
以下の処理を上記したと同様に繰返す。
j=5となると、ステップ202の判定結果が否定的(
N)となり、ステップ204に移る。ステラプ204で
は、第1スイツチCHNSに対応するレジスタGRP 
(i)にRECの内容をセットする。
ステップ204の処理が終ったとき又はステップ192
の判定結果が否定的(N)であったときは、ステップ2
06でiの値を1アツプしてからステップ20日に移り
、i<5か判定する。この判定結果が肯定的(Y)であ
ればステップ182に戻り、i=5となるまでステップ
182以下の処理を上記したと同様に繰返す。
i=5となると、ステップ208の判定結果が否定的(
N)となり、ステップ210に移る。ここまでの処理は
、すでに設定されている組を解消して新たな組を作るた
めのものである。
−例として、第O及び第2スイツチCHNSが組であっ
たことによりGRP (0)及びGRP(2)の内容が
いずれもroololJであり、第O及び第1スイツチ
CHNSをレコードモードとしたことによりRFCの内
容がrooollJであったとすれば、i=0でステッ
プ192にくると、RECO=1であるため判定結果が
肯定的(Y)となり、この後ステップ196でもGRP
(0)o =1であるため判定結果が肯定的(Y)とな
る。従って、ステップ198によりGRP(0)にOが
セットされる。この後、j=2でステップ19Elにく
ると、GRP (2)o = 1であるので、判定結果
が肯定的(Y)となり、ステップ188によりGRP 
(2)にOがセットされる。この結果、第O及び第2ス
イ・ンチCHNSの組が解消されたことになる。
この後、j=5になると、ステップ204によりGRP
 (0)にRECの内容rooo11Jがセットされる
。そして、i=1でステップ192にくると、RECI
 =1であるため判定結果が肯定的(Y)となり、ステ
ップ194でj=1となる。
これに続いてステップ196では、GRP (1)+=
0とすれば判定結果が否定的(N)となり、j=2とし
てステップ18Bに戻る。ステップ196では、GRP
 (2)I  も先に0がセットされているため判定結
果が否定的(N)となる。
この後、j=5になると、ステップ204によりGRP
 (1) にREC(7)内容ro0011Jがセット
される。そして、i=5になると、ステップ208から
ステップ210に移る。この結果、第0及び第2スイツ
チCHNSの組が解消されて、第0及び第1スイツチC
HNSの組が新たに作成されたことになる。
ステップ210以下の処理は、レコードモードでの走行
開始にあたりオートプレイメモリ22内の記憶領域MM
Rにジャンプ先や記憶停止位置を書込むためのものであ
る。
ステップ210では、iを4とし且つGTにFH’(記
憶停止位置情報)を入れる。そして、ステップ212に
移り、前述のステップ182と同様にしてRECi=1
か判定する。この判定結果が肯定的(Y)であればステ
ップ214に移る。
ステップ214テは、MMR((i + 1) X10
0O+999)及びMMR((i + 1) X100
0+99fl )の2つの記憶領域(記憶ブロック末尾
2つのもの)にいずれもEO,+GTのデータを書込む
そして、ステップ218でGTにiをセットする。
ステップ216の処理が終ったとき又はステップ212
の判定結果が否定的(N)であったときは、ステップ2
18に移り、iの値を1ダウンさせる。
そして、ステップ220に移り、i<Oか判定する。こ
の判定結果が否定的(N)であればステップ212に戻
り、1=−1となるまでステップ212以下の処理を上
記したと同様に繰返す。
1=−1となると、ステップ220の判定結果が肯定的
(Y)となり、第11図のルーチンにリターンする。
一例として、RECの内容が上記例のようにroool
lJであったとすれば、i=4でステップ212にくる
と、REC4=Oであるため判定結果が否定的(N)と
なり、ステップ218に移る。そして、ステップ218
でi=3としてステップ212に戻っても判定結果は否
定的(N)であり、i=2の場合もこれと同様である。
ステップ218でi=1としてステップ212に戻ると
、REC+=1であるので判定結果が肯定的(Y)とな
り、MMR(2999)及びMMR(298B)にはい
ずれもEOH+F、のデータが書込まれる。そして、ス
テップ216によりGTにはlがセットされた後、ステ
ップ218によりi−Oとなる。
この後、i=oでステップ212にくると、RECO=
1であるため判定結果が肯定的(Y)となり、ステップ
214によりMMR(1999)及びMMR(1898
)にいずれもEOH+1のデータ(記憶ブロックB1へ
のジャンプを指示するデータ)が書込まれる。この後、
ステップ218により1=−1となるので、ステップ2
20の判定結果が肯定的(Y)となり、第11図のルー
チンにリターンする。この結果、記憶ブロックBO及び
B1はつなぎ合されて実質上1つの記憶ブロックとして
扱われることになる。
CHNSオンのサブルーチン(第13図)第13図のC
HNSオンのサブルーチンにおいて、ステップ230で
は、RUN= 1か判定し、この判定結果が肯定的(Y
)であれば第7図のルーチンにリターンする。換言すれ
ば、走行状態のときは、以下に述べるような処理を行な
わない。
ステップ230の判定結果が否定的(N)であったとき
は、RUN=0又は−1であったことになり、ステップ
232に移る。ステップ232では、レコードモード指
定スイッチREC3が同時にオンか判定し、この判定結
果が肯定的(Y)であればステップ234に移る。
ステップ234では、RECの第iピッ)REClが1
か(操作された第iスイッチCHNSがレコードモード
か)判定し、この判定結果が肯定的(Y)であれば第7
図のルーチンにリターンする。これは、すでにレコード
モードになっているので、以下に述べるような処理が不
要だからである。
ステップ234の判定結果が否定的(N)であったとき
は、ステップ236に移り、FLYの第iピッ)PLY
iが1か(操作された第iスイッチCHNSがプレイモ
ードか)判定する。この判定結果が肯定的(Y)であれ
ばステップ238に移り、制御変数jをOにする。そし
て、ステップ240に移る。
ステップ240では、操作された第iスイッチCHNS
に対応するレジスタGRP (i)の第jピッ)GRP
(i)jが1か判定し、この判定結果が肯定的(Y)で
あればステップ242でFLYの第jピッ)PLYj 
にOをセットする。そして、ステップ244に移り、P
LYj に対応するナンバjのLEDを消灯する。この
結果、操作された第iスイッチCHNSと組であった第
jスイッチCHNSはノーマルモードとなる。
ステップ244の処理が終ったとき又はステップ240
の判定結果が否定的(N)であったときは、ステップ2
46に移り、jの値を1アツプする。そして、ステップ
248に移り、j<5か判定する。
この判定結果が肯定的(Y)であればステップ240に
戻り、j=5となるまでステップ240以下の処理を上
記したと同様に繰返す。この結果、操作された第iスイ
ッチCHNSと組であったスイッチCHNSはノーマル
モードとなる。
j=5となると、ステップ248の判定結果が否定的(
N)となり、ステップ250に移る。また、ステップ2
38の判定結果が否定的(N)であったときは、第iス
イッチCHNSがノーマルモードであったことになり、
ステップ250に移る。
ステップ250では、RE Ci に1をセットする。
そして、ステップ252に移り、操作された第iスイッ
チCHNSに対応するナンバiのLEDを赤色点灯させ
る。この結果、第iスイッチCHNSはレコードモード
となる。この後、ステップ254に移る。
ステップ254では、FLY及びRFCが共にOか判定
する。上記のようにステップ250でREC4=1とし
たときは、ステップ254の判定結果が否定的(N)と
なり、ステップ256に移る。
ステップ258では、RUNに−1をセットしてシンク
ロ待機状態とする。この後は、第7図のルーチンにリタ
ーンする。
ステップ232の判定結果が否定的(N)であつたとき
は、第iスイッチCHNSの単独操作であったことにな
り、ステップ258に移る。ステップ258では、前述
のステップ236と同様にしてPLYi=1か判定する
。この判定結果が肯定的(Y)であれば操作された第i
スイッチCHNSがプレイモードであったことになり、
ステップ260に移る。
ステップ260では、jをOとする。そして、ステップ
282に移り、前述のステップ240と同様にしてGR
P (i) ]が1か判定する。この判定結果が肯定的
(Y)であればステップ264に移り、前述のステップ
242と同様にPLYj にOをセットする。この後、
ステップ266では−PLYj に対応するナンバjの
LEDを消灯する。
ステップ266の処理が終ったとき又はステップ262
の判定結果が否定的(N)であったときは、ステップ2
68でjの値を1アツプしてからステップ270に移り
、j<5か判定する。この判定結果が肯定的(Y)であ
ればステップ262に戻り、j=5となるまでステップ
262以下の処理を繰返す。
j=5となると、ステップ270の判定結果が否定的(
N)となり、ステップ254に移る。この結果、操作さ
れた第iスイッチCHNS及びこれど組であったスイッ
チCHNSがいずれもノーマルモードとなる。
ステップ254では、FLY及びRECが共に0か判定
し、この判定結果が否定的(N)であれば上記したと同
様にステップ256を経て第7図のルーチンにリターン
する。また、ステップ254の判定結果が肯定的(Y)
であったときは、第0〜第4スイツチCHNSがいずれ
もノーマルモードであったことになり、ステップ272
に移る。
ステップ272では、RUNにOをセットして停止状態
とする。この後は、第7図のルーチンにリターンする。
ステップ258の判定結果が否定的(N)であったとき
は、ステップ274に移り、前述のステップ234と同
様にしてRECi=1か判定する。この判定結果が肯定
的(Y)であれば、操作された第iスイッチCHNSが
レコードモードであったことになり、ステップ276に
移る。
ステップ278では、RECi にOをセットする。そ
して、ステップ278に移り、RECi  に対応する
ナンバiのLEDを消灯する。この結果、第iスイッチ
CHNSはノーマルモードとなる。
この後は、ステップ254に移り、これ以降の処理を上
記したと同様に実行する。
ステップ274の判定結果が否定的(N)であったとき
は、操作された第iスイッチCHNSがノーマルモード
であったことになり、ステップ280に移る。
ステップ280では、jを0とする。そして、ステップ
282に移り、前述のステップ240と同様にGRP(
i)i=1か判定する。この判定結果が肯定的(Y)で
あればステップ284に移り、前述のステップ242と
同様にPLYj に1をセットする。そして、ステップ
28Bに移る。
ステップ286では、RECの第jピッ)RECjが1
か判定し、この判定結果が肯定的(Y)であればステッ
プ288でRECj にOをセットする。この結果、第
jスイッチCHNSのレコードモードが解除される。
ステップ288の処理が終ったとき又はステップ286
の判定結果が否定的(N)であったときは、ステップ2
80に移り、REC4に対応するナンバjのLEDを緑
色点灯させる。この結果、第jスイッチCHNSはプレ
イモードとなる。
ステップ290の処理が終ったとき又はステップ282
の判定結果が否定的(N)であったときは、ステップ2
92でjの値を1アツプしてからステップ284に移り
、j<5か判定する。この判定結果が肯定的(、Y )
であればステップ282に戻り、j=5となるまでステ
ップ282以下の処理を上記したと同様に繰返す。
j=5となると、ステップ294の判定結果が否定的(
N)となり、ステップ254に移る。この後は、ステッ
プ254以下の処理を上記したと同様に実行する。
上記したステップ280〜294め処理によれば、操作
された第iスイッチCHNSはノーマルモードからプレ
イモードになる一方、このスイッチと組であったスイッ
チCHNSはノーマルモードであったときはプレイモー
ドに、レコードモードであったときはレコードモードを
解除されてプレイモードにそれぞれ移行する。例えば、
第O〜第2スイッチCHNSが組であったことによりG
RP(0)〜GRP (2)の内容がいずれも「001
11Jであったとき、第0スイツチをオンすると、第O
−第2スイッチがいずれもノーマルモードであればj=
0〜2についてステップ282.284及び290を3
回通ることによりFLYの内容はrooolllJとな
り且つナンバ0〜2のLEDが緑色点灯し、第0スイツ
チのみならず第1及び第2スイツチもプレイモードとな
る。この場1合において、例えば第1及び第2スイツチ
がレコードモードであったことによりRECの内容がr
oolloJあったとすれば、j=1及び2については
ステップ286及び288を通ることによりRECの内
容は全ピッ)0となり、第1及び第2スイツチについて
はレコードモードが解除されてプレイモードに移行する
ことになる。
クロック割込ルーチン(第14図) 第14図は、クロック割込ルーチンを示すもので、この
ルーチンはテンポクロック信号TCLの各クロックパル
ス毎に開始される。
まず、ステップ300では、RUN= 1か判定し、こ
の判定結果が否定的(N)であれば第7図のルーチンに
リターンする。また、ステップ300の判定結果が肯定
的(Y)であればステップ302に移る。
ステップ302では、制御変数1をOとする。そして、
ステップ304に移り、i番目のポインタPNTP (
i)がOか(プレイモードでジャンプ対象又はレコード
モードか)判定する。この判定結果が否定的(N)であ
ればPNTP (i)に基づいてオートプレイメモリ2
2を参照すべくステップ306に移る。
ステップ306では、MMR(PNTP (i))のデ
ータがCLKの示すタイミングと等しいか(発音又は消
音すべきタイミングか)判定する。
この判定結果が肯定的(Y)であればステップ308に
移り、MMR(PNTP (i) +1)のデータ(キ
ーコード情報)をKEYに入れる。そして、ステップ3
10でPNTP (i)の値を2アツプしてからステッ
プ312に移る。
ステップ312では、KEYのデータと7FHのデータ
(MSBのみOで他は1のデータ)とをAND演算して
KEYからキーコードを抽出し、このキーコードをKC
にセットする。そして、ステップ314に移る。
ステップ314では、KEYのMSB (O又は1)を
KONに入れる。そして、ステップ318に移り、i番
目のレジスタGRP (i)の内容をASSにセットす
る。この結果、例えばGRP(0)の内容がroool
lJであったとすれば第O及び第1チヤンネルが割当可
能となる。
次に、ステップ318では、KON= 1か(キーオン
タイミングか)判定し、この判定結果が肯定的(Y)で
あればステップ320に移る。ステップ320では、第
8図のステップ80と同様にしてASSの中で1になっ
ているビットに対応するチャンネルにおいて最も楽音の
減衰が進んだもののナンバをCHに入れる。この後、ス
テップ322に移る。
ステップ322では、KEYのキーコード情報をCHの
チャンネルナンバに対応するレジスタKCBUF (C
H)に入れる。そして、ステップ324に移り、第8図
のステップ84と同様にしてTG2BのCH対応チャン
ネルをKCのキーコードでキーオン処理して該キーコー
ドに対応する楽音信号を発生させる。そして、ステップ
326に移る。
ステップ326では、MMR(PNTP (i))のデ
ータがEX、と等しいか(ジャンプマークか)判定する
。この判定結果が否定的(N)であればステップ308
に戻る。また、ステップ32Bの判定結果が肯定的(Y
)であればステップ328に移る。
ステップ328テは、(x+ t)xtoooなる式に
従って求めたジャンプ先の先頭アドレスをPNTP (
i)にセットする。ここで、Xはステップ326におい
てMMR(PNTP (i))のデータの下位4ビツト
の値(ジャンプ先となる記憶ブロックのナンバ)であり
、例えばPNTP (0)=1.PNTP (1)=O
とし且つX=1であればPNTP (0)には2000
がセットされ、記憶ブロックB1へのジャンプが可能と
なる。すなわち、PNTP (0)は、これ以降記憶ブ
ロックB】の演奏情報を読出すのに使用され、PNTP
(1)は使用されない。ステップ328の後は、ステッ
プ30Bに戻る。
ステップ306に戻った後は、上記したと同様の処理を
繰返す。従って、CLKのタイミングでは、GRP (
i)の中で1になっているビットの数(例えば上記例の
ようにGRP (0)=00011であれば2つ)まで
同時発音可能である。
一方、ステップ318の判定結果が否定的(N)であっ
たときは、キーオフタイミングであったことになり、ス
テップ330に移る。ステップ330では、第9図のス
テップ10Bと同様にしてASSの中で1になっている
ビットに対応するチャンネルに関するKCBUFの中で
(80+++KC)のデータと等しいもの(KCのキー
コードと同じものがすでに割当てられているチャンネル
)をサーチする。
次に、ステップ332では、等しいものありか判定し、
この判定結果が肯定的(Y)であればステップ334に
移る。ステップ334では、発見した割当済みのチャン
ネルのナンバをCHに入れる。
そして、ステップ336に移る。
ステップ336では、KCBUF (CH)のMSBI
Oにする。この結果、KCBUF (CH)のキーコー
ド情報は、MSBが1から0に変化する。この後、ステ
ップ338では、TG2BのCH対応チャンネルをキー
オフ処理して発生中の楽音信号を消滅させる。
ステップ338の処理が終ったとき又はステップ332
の判定結果が否定的(N)であったときは、ステップ3
26に移り、これ以降の処理を上記したと同様に実行す
る。
上記したのは、ステップ306の判定結果が肯定的(Y
)であった場合の処理であるが、ステップ306の判定
結果が否定的(N)であったときは、ステップ340に
移る。
ステップ340では、MMR(PNTP (i))のデ
ータがFF、か(終了情報か)判定する。この判定結果
が否定的(N)であればステップ342に移る。また、
ステップ304の判定結果が肯定的(Y)であったとき
もステップ342に移る。
ステップ342では、iの値を1アツプする。そして、
ステップ344に移り、i<5か判定する。
この判定結果が肯定的(Y)であればステップ304に
戻り、これ以降の処理をi=5となるまで上記したと同
様に繰返す。この結果、例えばPNTP (0)〜PN
TP (4)がいずれも1であったとすれば、記憶ブロ
ックBo−B4 にそれぞれ記憶された第θ〜第4パー
トの演奏情報に従って5パートの自動演奏が可能となる
。この例において、記憶ブロックBO−BAのキーオン
タイミング情報がステップ306でいずれもCLKのタ
イミングと等しいと判定されればこのタイミングで5音
が同時に発音される。
i=5となると、ステップ344の判定結果が否定的(
N)となり、ステップ346に移る。ステップ346で
は、CLKの値を1アツプする。そして、ステップ34
8に移る。
ステップ348では、CLKが86か(1小節終りか)
判定し、この判定結果が否定的(N)であれば第7図の
ルーチンにリターンする。
ステップ348の判定結果が肯定的(Y)であったとき
は、ステップ350に移り、CLKにOをセットする。
そ′して、ステップ352でiを0にしてからステップ
354に移る。
ステップ354では、PNTP (i)が0か判定する
。この判定結果が否定的(N)であればステップ356
でPNTP (i)の値を1アツプする。これは、プレ
イモード時に小節線をとばすためである。
ステップ356の処理が終ったとき又はステップ354
の判定結果が肯定的(Y)であったときは、ステップ3
58でjの値を1アツプしてからステップ360に移り
、i < 5か判定する。この判定結果が肯定的(Y)
であればステップ354に戻り、これ以降の処理をi=
5となるまで上記したと同様に繰返す。
i=5となると、ステ・ンブ360の判定結果が否定的
(N)となり、ステップ362に移る。ステップ362
では、REC=Oか(プレイモードか)判定し、この判
定結果が肯定的(Y)であれば第7図のルーチンにリタ
ーンする。
ステップ362の判定結果が否定的(N)であればレコ
ードモードであったことになり、ステップ364に移る
。ステップ364では、MMR(PNTR)に80H(
小節線情報)を書込む。そして、ステップ366でPN
TRの値を1アツプしてからステップ368に移る。
ステップ368では、第10図について前述したジャン
プのサブルーチンを実行し、しかる後第7図のルーチン
にリターンする。
上記した処理によれば、各記憶ブロック毎にCLKに基
づいて自動演奏又は演奏記録を行なうことができる。こ
の場合、つなぎ合された(組となった)複数の記憶ブロ
ックは1つの記憶ブロックとして扱われる。
ステップ340の判定結果が肯定的(Y)であったとき
は、lパート分の自動演奏の終了であり、ステップ37
0でFLYの第11、ントPLYi にOをセットする
。そして、ステップ372に移る。
ステップ372では、FLY=0か(プレイモードのパ
ートなしか)判定し、この判定結果が否定的(N)であ
れば残りのパートの自動演奏を続行すべくステップ34
2に移る。また、ステップ372の判定結果が肯定的(
Y)であればステップ374に移る。
ステップ374では、REC=0か(レコードモードの
パートなしか)判定し、この判定結果が否定的(N)で
あればレコードモードのパートの演奏記録を続行すべく
ステップ342に移る。また、ステップ374の判定結
果が肯定的(Y)であればプレイ又はレコードモードの
いずれのパートもないことになり、ステップステップ3
76でRUNに0をセットしてから第7図のルーチンに
リターンする。
変形例 この発明は、上記実施例に限定されるものではなく、種
々の改変形態で実施可能なものであり、例えば次のよう
な変更が可能である。
(1)レコードモード時にあっては、単一鍵盤を使用し
たため、あるパートの演奏と他のパートの演奏とを並行
的に記録できなかったが、複数の鍵盤を用いるか又は単
一鍵盤を複数鍵域に分割するかすれば、かような並行記
録を行なうことができる。
(2)オートプレイメモリ22のタイミング情報は、前
イベントからの相対時間情報であってもよい。このよう
にすれば、小節線は、前イベントからの時間が1小節相
当の時間を超過したときのみ記録されるので、メモリ容
量を低減できる。
(3)メモリ22の記憶ブロック数やTG2Bで自動演
奏に使用される発音チャンネルの数は実施例で示したも
のに限定されない。
(4)記録時のチャンネル数指定と再生時のパート指定
とは各々専用の操作子で行なうようにしてもよい。
[発明の効果] 以上のように、この発明によれば、記録時には各パート
毎に任意のチャンネル数を指定可能とすると共に再生時
には各パート毎に記録時に指定されたチャンネル数で自
動演奏可能としたので、少数の発音チャンネルを有効に
利用して多様な自動演奏を楽しめる効果が得られるもの
である。
【図面の簡単な説明】
第1図は、この発明の一実施例による自動演奏装置をそ
なえた電子楽器の構成を示すブロック図、 第2図は、音名毎のキーコードを示す図、第3図は、オ
ートプレイメモリ22の構成を示す図、 第4図は、オートプレイメモリ22のデータフォーマッ
トを示す図、 第5図は、モード切換動作を説明するための状態図、 第6図は、スタート/ストップ動作を説明するための状
態図、 第7図は、メインルーチンを示すフローチャート、 第8図は、キーオンのサブルーチンを示すフローチャー
ト、 第9図は、キーオフのサブルーチンを示すフローチャー
ト、 第10図は、ジャンプのサブルーチンを示すフローチャ
ート、 第11図は、スタート/ストップのサブルーチンを示す
フローチャート、 第12図は、レコードチエツクのサブルーチンを示すフ
ローチャート、 第13図は、チャンネル数/パート指定スイッチCHN
Sオンのサブルーチンを示すフローチャー第14図は、
クロック割込ルーチンを示すフローチャートである。 10・・・データバス、12・・・鍵盤、14・・・パ
ネル装置、16・・・中央処理装置、18・・・プログ
ラムメモリ、2o・・・レジスタ群、22・・・オート
プレイメモリ、24・・・クロック発生器、26・・・
トーンジェネレータ、28・・・サウンドシステム、C
HNS・・・チャンネル数/パート指定スイッチ、LE
D・・・赤/緑点灯可能な表示素子、RFe5・・・レ
コードモード指定スイッチ、SPS・・・スタート/ス
トップスイッチ、5YNS・・・シンクロスタートスイ
ッチ。

Claims (1)

  1. 【特許請求の範囲】 (a)複数N個の発音チャンネルを有する音源手段であ
    って、各発音チャンネル毎に割当てられた発音制御情報
    に応じて楽音信号を発生するように構成されたものと、 (b)演奏情報を入力するための入力手段と、(c)レ
    コードモード又はプレイモードを指定するためのモード
    指定手段と、 (d)読み書き可能な記憶装置と、 (e)前記モード指定手段によりレコードモードが指定
    されたとき入力すべきパート毎に前記N個の範囲内で所
    望のチャンネル数を指定するチャンネル数指定手段と、 (f)このチャンネル数指定手段で指定されたチャンネ
    ル数をパート毎に記憶する記憶手段と、(g)前記モー
    ド指定手段によりレコードモードが指定されたとき前記
    入力手段からの演奏情報を前記記憶装置にパート毎に書
    込む書込手段と、(h)前記モード指定手段によりプレ
    イモードが指定されたとき演奏すべきパートを指定する
    パート指定手段と、 (i)このパート指定手段で指定されたパートに関する
    演奏情報を前記記憶装置から読出す読出手段と、 (j)前記パート指定手段で指定されたパートに関して
    前記記憶手段に記憶されているチャンネル数に対応する
    数の発音チャンネルのうち少なくとも1つに対して前記
    記憶装置から読出された演奏情報を前記発音制御情報と
    して割当てる割当手段と をそなえた自動演奏装置。
JP63001081A 1988-01-06 1988-01-06 自動演奏装置 Expired - Fee Related JPH07113829B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63001081A JPH07113829B2 (ja) 1988-01-06 1988-01-06 自動演奏装置
US07/293,375 US4957031A (en) 1988-01-06 1989-01-04 Automatic music playing apparatus having plural tone generating channels separately assignable to the parts of a musical piece

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63001081A JPH07113829B2 (ja) 1988-01-06 1988-01-06 自動演奏装置

Publications (2)

Publication Number Publication Date
JPH01177591A true JPH01177591A (ja) 1989-07-13
JPH07113829B2 JPH07113829B2 (ja) 1995-12-06

Family

ID=11491547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63001081A Expired - Fee Related JPH07113829B2 (ja) 1988-01-06 1988-01-06 自動演奏装置

Country Status (2)

Country Link
US (1) US4957031A (ja)
JP (1) JPH07113829B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2522343B2 (ja) * 1988-03-08 1996-08-07 ヤマハ株式会社 自動演奏装置
JP2641605B2 (ja) * 1990-08-06 1997-08-20 株式会社河合楽器製作所 電子楽器のチャンネル割り当て装置及びチャンネル割り当て方法
US5506371A (en) * 1994-10-26 1996-04-09 Gillaspy; Mark D. Simulative audio remixing home unit
US7602309B2 (en) * 2005-04-18 2009-10-13 Sony Ericsson Mobile Communications Ab Methods, electronic devices, and computer program products for managing data in electronic devices responsive to written and/or audible user direction
WO2019140106A1 (en) * 2018-01-10 2019-07-18 Qrs Music Technologies, Inc. Musical activity system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58211191A (ja) * 1982-06-02 1983-12-08 ヤマハ株式会社 自動演奏装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3955459A (en) * 1973-06-12 1976-05-11 Nippon Gakki Seizo Kabushiki Kaisha Electronic musical instrument
JPS5635191A (en) * 1979-08-31 1981-04-07 Nippon Musical Instruments Mfg Electronic musical instrument
JPS61294499A (ja) * 1985-06-21 1986-12-25 ヤマハ株式会社 楽音信号発生装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58211191A (ja) * 1982-06-02 1983-12-08 ヤマハ株式会社 自動演奏装置

Also Published As

Publication number Publication date
US4957031A (en) 1990-09-18
JPH07113829B2 (ja) 1995-12-06

Similar Documents

Publication Publication Date Title
US5521322A (en) Tone information processing device for an electronic musical instrument for generating sounds
JPS6230635B2 (ja)
JP2522343B2 (ja) 自動演奏装置
JPS6246880B2 (ja)
US5321198A (en) Tone signal generator utilizing ancillary memories for electronic musical instrument
JPH01177591A (ja) 自動演奏装置
JPH0149958B2 (ja)
JPS59139093A (ja) 電子楽器のデータ伝送システム
JPS58220189A (ja) 自動演奏装置
JPS628797B2 (ja)
JPS62223796A (ja) 波形記憶再生装置
JPS6253839B2 (ja)
JPS61175692A (ja) 電子楽器
JPS6318759B2 (ja)
JPH0432396B2 (ja)
JPH0827624B2 (ja) 自動演奏装置
JP2692676B2 (ja) 自動演奏装置
JPH0314718Y2 (ja)
JPH012098A (ja) 自動演奏装置
JP2738359B2 (ja) リズム音発生装置およびその発音制御方注
JPH05188961A (ja) 自動伴奏装置
JP2715833B2 (ja) 楽音発生装置
JP2565152B2 (ja) 自動伴奏装置
JPS628798B2 (ja)
JPH012097A (ja) 自動演奏装置付電子楽器

Legal Events

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