JPH07113829B2 - 自動演奏装置 - Google Patents

自動演奏装置

Info

Publication number
JPH07113829B2
JPH07113829B2 JP63001081A JP108188A JPH07113829B2 JP H07113829 B2 JPH07113829 B2 JP H07113829B2 JP 63001081 A JP63001081 A JP 63001081A JP 108188 A JP108188 A JP 108188A JP H07113829 B2 JPH07113829 B2 JP H07113829B2
Authority
JP
Japan
Prior art keywords
mode
determination result
chns
switch
process proceeds
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
JP63001081A
Other languages
English (en)
Other versions
JPH01177591A (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 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)

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、複数の発音チャンネルを有する自動演奏装
置に関し、特にパート毎に演奏を記録・再生する技術の
改良に関するものである。
[発明の概要] この発明は、パート毎にチャンネル数を指定して演奏情
報を記録する一方、再生時にはパート毎に記録時に指定
されたチャンネル数で記録演奏情報に基づく自動演奏を
行なうようにしたことにより多様な自動演奏を可能とし
たものである。
[従来の技術] 従来、パート毎に演奏を記録・再生可能な自動演奏装置
としては、パート毎に1又は複数の発音チャンネルを設
けたものが知られている(例えば、特開昭59−197095号
公報参照)。
[発明が解決しようとする課題] 上記した従来技術によると、パート毎にチャンネル数
(同時発音可能数)が固定されているため、演奏表現が
制約される不都合があった。
一例として、コードパートが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)16、プログラムメモリ18、レジスタ群20、オ
ートプレイメモリ22、クロック発生器24、トーンジェネ
レータ(TG)26等が接続されている。
鍵盤12は、多数の鍵を有するもので、各鍵毎に押鍵情報
が検出されるようになっている。
パネル装置14は、楽音制御用乃至演奏制御用の各種操作
子並びに各種表示素子が設けられたもので、この発明の
実施に関係する操作子及び表示素子としては、第0〜第
4の5個のチャンネル数/パート指定スイッチCHNSと、
これらのスイッチにそれぞれ対応した発光ダイオード等
の赤/緑点灯可能な表示素子LEDと、レコードモード指
定スイッチRECSと、スタート/ストップスイッチSPS
と、シンクロスタートスイッチSYNSと、その他音量調
整、テンポ調整等の操作子とが設けられている。
CPU16は、プログラムメモリ18にストアされたプログラ
ムに従って楽音発生、演奏記録・再生等のための各種処
理を実行するもので、これらの処理については第7図乃
至第14図を参照して後述する。
レジスタ群20は、CPU16による各種処理に際して利用さ
れる各種のレジスタからなるもので、この発明の実施に
関係するレジスタ類については後述する。
オートプレイメモリ22は、演奏情報を記憶するためのも
ので、例えばRAM(ランダム・アクセス・メモリ)から
なる。メモリ22の構成及びデータフォーマットについて
は第3図及び第4図を参照して後述する。
クロック発生器24は、テンポデータTDに応じて設定テン
ポに対応した周波数のテンポクロック信号TCLを発生す
るもので、この信号TCLの各クロックパルスは第14図の
クロック割込ルーチンを開始させるのに使用される。
TG26は、第0〜第7の8つの発音チャンネルを有するも
ので、第0〜第4チャンネルは各チャンネル独立に自動
演奏に使用可能なものであり、第5図〜第7チャンネル
はマニアル演奏専用のものである。なお、第0〜第4チ
ャンネルのうちで自動演奏に使用しないものは、マニア
ル演奏に使用可能である。
サウンドシステム28は、TG26からの音楽信号を音響に変
換するためのもので、出力アンプ、スピーカ等からなっ
ている。
上記した電子楽器にあっては、音名毎のキーコードが第
2図に示すように予め定められている。
オートプレイメモリ22(第3図及び第4図) 第3図は、オートプレイメモリ22の構成を示すもので、
このメモリ22には、第0〜第4のチャンネル数/パート
指定スイッチCHNSにそれぞれ対応した5個の記憶ブロッ
クB0〜B4が設けられている。B0〜B4の各記憶ブロックに
は、1バイト(8ビット)のデータを記憶可能な記憶領
域が1000個設けられており、B0の記憶領域には1000〜19
99、B1の記憶領域には2000〜2999、B2の記憶領域には30
00〜3999、B3の記憶領域には4000〜4999、B4の記憶領域
には5000〜5999のアドレスがそれぞれ与えられている。
以下の説明では、特定の記憶領域又はその記憶データ
を、ADRSをアドレスとしてMMR(ADRS)のように表わす
ものとする。
第4図は、メモリ22のデータフォーマットを示すもので
あり、メモリ22に記憶される演奏情報としては、同図
(A)〜(E)に示すようにキーオン情報、キーオフ情
報、小節線情報、ジャンプ情報、終了情報等がある。
(A)のキーオン情報は、各々1バイトのタイミング情
報及びキーコード情報からなるもので、タイミング情報
はMSB(最上位ビット)が0で残り7ビットがキーオン
タイミング(テンポクロック信号TCLのカウント値)を
表わし、キーコード情報はMSBが1で残り7ビットがキ
ーオンに係るキーコードを表わす。
(B)のキーオフ情報は、各々1バイトのタイミング情
報及びキーコード情報からなるもので、タイミング情報
はMSBが0で残り7ビットがキーオフタイミングを表わ
し、キーコード情報はMSBが0で残り7ビットがキーオ
フに係るキーコードを表わす。
(C)の小節線情報は、1バイトの情報であり、80
H(下付きのHは16進表記であることを表わす。以下同
じ)のデータ(10000000)からなる。
(D)のジャンプ情報は、1バイトの情報であり、マー
クビットとしての上位4ビットがEHのデータ(1110)か
らなり、下位4ビットがジャンプの行先(記憶ブロック
B1〜B4のいずれか)を表わす。また、下位4ビットに
は、FHのデータ(1111)が与えられることがあり、この
場合には記憶停止位置を表わす。
(E)の終了情報は、1バイトの情報であり、FFHのデ
ータ(8ビット全部1)からなる。
モード切換動作(第5図) 次に、第5図を参照してモード切換動作の概要を述べ
る。
設定可能なモードとしては、ノーマルモード、レコード
モード及びプレイモードの3つのモードがある。ノーマ
ルモードは、鍵盤12によるマニアル演奏は可能である
が、演奏を記録又は再生できないモードである。レコー
ドモードは、マニアル演奏に伴ってその演奏情報をオー
トプレイメモリ22に記録するモードである。プレイモー
ドは、メモリ22に記録された演奏情報に基づいて自動演
奏を行なうモードであり、このモードではマニアル演奏
も可能である。
モード切換のためのパネル操作は、後述するランフラグ
RUNが0(停止状態)又は−1(シンクロ待機状態)の
とき各チャンネル数/パート指定スイッチCHNS毎に行な
えるものであり、第0〜第4のスイッチCHNSによる設定
状態としては、上記した3つのモードのうち任意の1つ
を選択した状態から任意の複数のものを組合せ選択した
状態まで種々のものがありうる。第5図では特定の1つ
のスイッチCHNSとレコードモード指定スイッチRECSとに
関してモード切換動作を示してある。
ノーマルモードにあっては、特定のスイッチCHNSに対応
する表示素子LEDが消灯している。この状態において、C
HNSのみオンすると、プレイモードとなり、LEDは緑色点
灯する。また、ノーマルモードの状態において、RECS及
びCHNSを同時にオンすると、レコードモードとなり、LE
Dは赤色点灯する。
プレイモードの状態において、RECS及びCHNSを同時にオ
ンすると、レコードモードとなる。また、レコードモー
ドの状態においては、CHNSのみオンすると、ノーマルモ
ードとなる。この場合、RECS及びCHNSを同時にオンして
も、レコードモードのままである。
上記したのは、1つのスイッチCHNSに関する基本的動作
であるが、このスイッチCHNSが他のスイッチCHNSと組で
あった場合には、次の(1)〜(3)のような動作とな
る。ここで、組とは、例えばスタート/ストップスイッ
チSPSの操作等によりRUNが1になったときにレコードモ
ードになっている複数のスイッチCHNSにより形成される
ものである。
(1)あるスイッチCHNSがレコードモードであるとき、
他のスイッチCHNSをノーマルモードからプレイモードに
変えたところ、これらのスイッチが組であった場合、レ
コードモードであったスイッチはレコードモードを解除
されてプレイモードに移行し、結果として、組であった
すべてのスイッチがプレイモードとなる。従って、例え
ば第2〜第4スイッチCHNSをレコードモードにした後RU
N=1にしてコード演奏を記録し、その記録の終了後第
2〜第4スイッチCHNSのいずれか1つをオンすると、こ
のオンしたスイッチはまずノーマルモードとなり、さら
にこのスイッチをオンすると、このスイッチはプレイモ
ードになると共にこれと組であった他のスイッチもプレ
イモードとなる、すなわち、記録時には所望のチャンネ
ル数に対応する複数のスイッチCHNSを操作するが、再生
時にはこれらのスイッチCHNSのうちの1つを操作するだ
けで所望のパートを選択可能である。
(2)あるスイッチCHNSがプレイモードであるとき、こ
のスイッチをレコードモードに変えたところ、該スイッ
チ及び他のスイッチCHNSが組であった場合、組であった
他のスイッチがノーマルモードに移行する。例えば上記
例のように第2〜第4スイッチCHNSをいずれもプレイモ
ードにした後、第2スイッチをレコードモードにしたと
きは、第3及び第4スイッチがいずれもノーマルモード
に移行する。
(3)あるスイッチCHNSがプレイモードであるとき、こ
のスイッチをノーマルモードに変えたところ、該スイッ
チ及び他のスイッチCHNSが組であった場合、組であった
他のスイッチがノーマルモードに移行する。従って、例
えば上記例のように第2〜第4スイッチをプレイモード
にした後、第2スイッチをノーマルモードにしたとき
は、第3及び第4スイッチがいずれもノーマルモードに
移行する。
スタート/ストップ動作(第6図) 次に、第6図を参照してスタート/ストップ動作の概要
を述べる。
RUN=0の停止状態において、スタート/ストップスイ
ッチSPSをオンすると、RUNが1となり、走行状態(後述
する第14図のクロック割込ルーチンによりテンポクロッ
ク信号TCLの計数が行なわれる状態)となる。また、RUN
=1の走行状態において、SPSをオンすると、RUN=0の
停止状態となる。
一方、RUN=0の停止状態か又はRUN=1の走行状態にお
いて、シンクロスタートスイッチSYNSをオンすると、RU
N=−1のシンクロ待機状態となる。そして、シンクロ
待機状態において、SPSをオンするか又は鍵盤12でキー
オンイベントが生ずると、RUN=1の走行状態となる。
RUN=0の停止状態にあっては、ノーマルモードの動作
が可能である。また、RUN=1の走行状態にあっては、
レコードモード及び/又はプレイモードの動作が可能で
ある。さらに、RUN=−1のシンクロ待機状態にあって
は、鍵盤12でのキーオン開始に同期してレコードモード
及び/又はプレイモードの動作を開始させることができ
る。
レジスタ群20 レジスタ群20に属するレジスタ類のうち、この発明の実
施に関係するものを列拳すると、次の通りである。
(1)ランフラグRUN…これは、1ビットのレジスタで
あり、0ならば停止状態を、1ならば走行状態を、−1
ならばシンクロ待機状態をそれぞれ表わす。
(2)レコードモードレジスタREC…これは、第0〜第
4のスイッチCHNSにそれぞれ対応した第0〜第4の5ビ
ットのレジスタであって、いずれかのビットが1であれ
ば、それを対応するスイッチがレコードモードであるこ
とを表わす。
(3)プレイモードレジスタPLY…これは、第0〜第4
のスイッチCHNSにそれぞれ対応した第0〜第4の5ビッ
トのレジスタであって、いずれかのビットが1であれ
ば、それに対応するスイッチがプレイモードであること
を表わす。
(4)クロックカウンタCLK…これは、テンポクロック
信号TCLを1小節毎に反復的に計数するもので、1小節
内で0〜95のカウント値をとり、96になるタイミングで
0にリセットされる。
(5)組状態レジスタGRP(0)〜GRP(4)…これらの
レジスタは、それぞれ第0〜第4のスイッチCHNSに対応
したもので、各レジスタは第0〜第4のスイッチCHNSに
それぞれ対応した第0〜第4の5ビットのレジスタであ
り、各レジスタ毎に対応するスイッチがどのスイッチと
組であるか表わすようになっている。一例として、第0
及び第1スイッチが1つの組で且つ第2〜第4スイッチ
が他の組である場合についてGRP(0)〜GRP(4)の内
容をデータの左端をMSBとして示すと次のようになる。レジスタ データ GRP(0) 00011 GRP(1) 00011 GRP(2) 11100 GRP(3) 11100 GRP(4) 11100 (6)キーコードレジスタKC…これは、7ビットのレジ
スタであり、鍵盤12においてキーイベント(キーオン又
はキーオフ)のあったキーに対応するキーコード情報が
ストアされるものである。
(7)キーコードバッファレジスタKCBUF(0)〜KCBUF
(7)…これらのレジスタは、それぞれTG26の第0〜第
7発音チャンネルに対応したもので、各レジスタは、8
ビットのレジスタであり、MSBにはキーオン又はキーオ
フに応じた1又は0が、下位7ビットにはキーコード情
報がそれぞれストアされるようになっている。
(8)読出キーコードレジスタKEY……これは、オート
プレイメモリ22から読出したキーコード情報をストアす
るための8ビットのレジスタであって、MSBにはキーオ
ン又はキーオフに応じた1又は0がストアされると共
に、下位7ビットにはキーコードがストアされるように
なっている。
(9)キーオンレジスタKON…これは、1ビットのレジ
スタであり、レジスタKEYのMSBがセットされるものであ
る。
(10)書込用アドレスポインタPNTR…これは、レコード
モード時にオートプレイメモリ22へ情報書込みに使用さ
れるもので、16ビットのアドレス情報をストア可能であ
る。レコードモード時にあっては、記憶ブロックB0〜B4
のうちの1又は複数のものをスイッチCHNSで指定して1
パートずつ演奏情報の書込みを行なう。例えば第0スイ
ッチCHNSによりB0を指定してこれにベース演奏情報を書
込む。そして、この書込終了後、第1〜第4スイッチCH
NSによりB1〜B4を指定してこれらにコード演奏情報を書
込む。この場合、B1〜B4は、連続した1つの記憶ブロッ
クとして扱われる。このように1パートずつ書込処理を
行なうので、PNTRは1つで足りるものである。
(11)読出用アドレスポインタPNTP(0)〜PNTP(4)
…これらのポインタは、プレイモード時にオートプレイ
トメモリ22からの情報読出しに使用されるもので、それ
ぞれ記憶ブロックB0〜B4に対応している。このように5
つのポインタを設けたのは、B0〜B4を各々別のパートと
して演奏情報書込みを行なったような場合、各ブロック
毎の読出しを可能にするためである。各ポインタは、16
ビットのアドレス状態をストア可能である。プレイモー
ドでないとき、PNTP(0)〜PNTP(4)は、いずれも0
である。複数のスイッチCHNSが組の状態でプレイモード
になっているときにプレイモードの動作を開始させる
と、その組の中で最も若いナンバのスイッチに対応する
ポインタに、該スイッチに対応する記憶ブロックの先頭
アドレスがセットされる。例えば、第0〜第2スイッチ
が組であった場合、PNTP(0)にB0の先頭アドレスがセ
ットされ、他のPNTP(1)及びPNTP(2)については先
頭アドレスセットを行なわない。これは、B0〜B2が連続
した1つの記憶ブロックとして扱われるからである。
(12)テンポラリレジスタTMP…これは、ポインタPNTP
(0)〜PNTP(4)に先頭アドレスをセットする際レジ
スタPLYの内容を一時ストアするためのレジスタであ
り、PLYと同様の構成になっている。
(13)割当可能チャンネルレジスタASS…これは、TG26
の第0〜第7発音チャンネルにそれぞれ対応した第0〜
第7の8ビットのレジスタであり、いずれかのビットが
1であれば、それに対応するチャンネルが割当可能であ
ることを表わす。
(14)割当チャンネルレジスタCH…これは、実際にキー
コード情報を割当てるべきチャンネルのナンバがセット
されるものである。
(15)ジャンプ先レジスタGT…これは、4ビットのレジ
スタであって、ジャンプ先となる記憶ブロックのナンバ
(1〜4のいずれか)又はFH(記憶停止位置情報)がス
トアされるものである。
メインルーチン(第7図) 第7図は、メインルーチンの処理の流れを示すもので、
このルーチンは電源投入等に応じてスタートする。
まず、ステップ30では、イニシャライズルーチンを実行
して、各種レジスタを初期セットする。例えば、RUN、K
CBUF(0)〜KCBUF(7)、GRP(0)〜GRP(4)等に
はいずれも0をセットする。そして、ステップ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に移り、
シンクロスタートスイッチSYNSにオンイベントありか判
定する。この判定結果が肯定的(Y)であればステップ
46に移り、RUNが−1か(シンクロ待機状態か)判定す
る。この判定結果が否定的(N)であればRUN=0又は
1であったことになり、ステップ48に移る。ステップ48
では、PLY及びRECがいずれも0か(スイッチCHNSのいず
れもノーマルモードか)判定する。この判定結果が否定
的(N)であればプレイモード又はレコードモードであ
ったことになり、ステップ50に移る。ステップ50では、
RUNに−1をセットしてシンクロ待機状態とする。
ステップ46の判定結果が肯定的(Y)であったときは、
ステップ52に移り、RUNに0をセットして停止状態とす
る。
ステップ50又は52の処理が終ったとき、ステップ44の判
定結果が否定的(N)であったとき又はステップ48の判
定結果が肯定的(Y)であったときは、ステップ54に移
る。
ステップ54では、制御変数iを0にする。そして、ステ
ップ56に移り、i番目のチャンネル数/パート指定スイ
ッチCHNSiにオンイベントありか判定する。この判定結
果が肯定的(Y)であればステップ58に移り、第13図に
ついて後述するようにCHNSオンのサブルーチンを実行す
る。
ステップ58の処理が終ったとき又はステップ56の判定結
果が否定的(N)であったときは、ステップ60に移り、
iの値を1アップする。そして、ステップ62に移る。
ステップ62では、iの値がスイッチCHNSの数5より小か
判定する。この判定結果が肯定的(Y)であればステッ
プ56に戻り、i=5となるまでステップ56以下の処理を
繰返す。この結果、スイッチCHNS0〜CHNS4のうちオンイ
ベントがあったものについてCHNSオンのサブルーチンが
実行される。
i=5となると、ステップ62の判定結果が否定的(N)
となり、ステップ64に移る。ステップ64では、その他の
処理(音量、テンポ等に関するもの)を行ない、しかる
後ステップ32に戻る。そして、上記したような処理を繰
返す。
キーオンのサブルーチン(第8図) 第8図のキーオンのサブルーチンにおいて、ステップ70
では、RUN=−1か(シンクロ待機状態か)判定する。
この判定結果が肯定的(Y)であればステップ72に移
り、第11図のスタート/ストップのサブルーチンを実行
する。
ステップ72の処理が終ったとき又はステップ70の判定結
果が否定的(N)であったときは、ステップ74に移り、
REC=0か(ノーマル又はプレイモードか)判定する。
この判定結果が肯定的(Y)であればステップ76に移
る。
ステップ76では、E0HとPLYの内容を各ビット毎に反転し
たデータ▲▼とをOR演算し、その演算結果をASS
に入れる。この場合、OR演算は、割当可能なチャンネル
を検出するためのもので、例えばPLYの内容が「11100」
であったとすれば、演算結果は「1110011」となり、第
0、第1及び第5〜第7チャンネルが割当可能となる。
ステップ74の判定結果が否定的(N)であったときは、
いずれかのスイッチCHNSがレコードモードであったこと
になり、ステップ78に移る。ステップ78は、RECの内容
をASSに入れる。例えば、RECの内容が「00011」であっ
たとすれば、このデータをASSに入れることによって第
0及び第1チャンネルが割当可能となる。
ステップ76又は78の処理が終ったときは、ステップ80に
移り、ASSの中で1になっているビットに対応するチャ
ンネルにおいて最も楽音の減衰が進んだもののナンバを
CHに入れる。例えば第0及び第1チャンネルに対応する
ビットが1である場合、第0チャンネルが最も楽音減衰
が進んでいればCHには0がセットされる。
次に、ステップ82では、CHのチャンネルナンバに対応す
るレジスタKCBUF(CH)に80H及びKCの内容を加算したも
のを入れる。ここで、加算は、キーオンイベントのあっ
たキーに対応するキーコードに第8ビットとして1を付
加して8ビットのキーコード情報を得るためのものであ
り、このキーコード情報をKCBUF(CH)に入れることでC
H対応チャンネルへのキーコード情報の割当てが可能と
なる。ステップ82の後は、ステップ84に移る。
ステップ84では、TG26のCH対応チャンネルをKCのキーコ
ードでキーオン処理して該キーコードに対応する楽音信
号を発生させる。そして、ステップ86に移る。
ステップ86では、REC=0か(ノーマル又はプレイモー
ドか)判定し、この判定結果が肯定的(Y)であれば第
7図のルーチンにリターンする。なお、第8図以降に示
される「RET」は、リターンを表わす。
ステップ86の判定結果が否定的(N)であったときは、
いずれかのスイッチCHNSがレコードモードであったこと
になり、ステップ88に移る。ステップ88では、オートプ
レイメモリ22においてPNTRで示されるアドレスの記憶領
域MMR(PNTR)にCLKの値(キーオンタイミング情報)を
書込む。そして、ステップ90に移る。
ステップ90では、KCBUF(CH)のキーコード情報をMMR
(PNTR)の次のアドレスの記憶領域MMR(PNTR+1)に
書込む。そして、ステップ92でPNTRの値を2アップして
からステップ94に移る。
ステップ94では、第10図について後述するようにジャン
プのサブルーチンを実行する。この後、第7図のルーチ
ンにリターンする。
キーオフのサブルーチン(第9図) 第9図のキーオフのサブルーチンにおいて、ステップ10
0、102、104は、前述のステップ74、76、78とそれぞれ
同様である。すなわち、ステップ100では、REC=0か判
定し、この判定結果が肯定的(Y)であればステップ10
2に移り、否定的(N)であればステップ104に移る。ス
テップ102では、E0Hと▲▼とのOR演算結果をASS
に入れ、ステップ104では、RECの内容をASSに入れる。
ステップ102又は104の後は、ステップ106に移る。ステ
ップ106では、ASSの中で1になっているビットに対応す
るチャンネルに関するKCBUFの中で(80H+KC)のデータ
と等しいものをサーチする。ここで、(80H+KC)のデ
ータは、キーオフに係るキーコードに第8ビットとして
1を付加したものであり、このデータと等しいものを割
当可能チャンネルに関するKCBUFの中から探すことは、
キーオフに係るキーコードと同じものがすでに割当てら
れているチャンネルを探すことに相当する。
次に、ステップ108では、等しいものありか判定し、こ
の判定結果が肯定的(Y)であればステップ110に移
る。ステップ110では、発見した割当済みのチャンネル
のナンバをCHに入れる。そして、ステップ112に移る。
ステップ112では、KCBUF(CH)のMSBを0にする。この
結果、KCBUF(CH)のキーコード情報はキーオフ情報と
して書込可能になる。この後、ステップ114では、TG26
のCH対応チャンネルをキーオフ処理して発生中の楽音信
号を消滅させる。
ステップ114の処理が終ったとき又はステップ108の判定
結果が否定的(N)であったときは、ステップ116に移
り、前述のステップ86と同様にREC=0か判定する。こ
の判定結果が肯定的(Y)であれば第7図のルーチンに
リターンする。
ステップ116の判定結果が否定的(N)であったとき
は、ステップ118に移り、MMR(PNTR)にCLKの値(キー
オフタイミング情報)を書込む。そして、ステップ120
に移る。
ステップ120では、MMR(PNTR+1)にKCBUF(CH)のキ
ーコード情報を書込む。そして、ステップ122でPNTRの
値を2アップしてからステップ124に移る。
ステップ124では、第10図のジャンプのサブルーチンを
実行し、しかる後第7図のルーチンにリターンする。
ジャンプのサブルーチン(第10図) 第10図のジャンプのサブルーチンにおいて、ステップ13
0では、MMR(PNTR)のデータがEXHか判定する。ここ
で、Xは下位4ビットを表わし、その値は問わない。従
ってEXHかということは、ジャンプマークかということ
に相当する。ステップ130の判定結果が否定的(N)で
あれば元のルーチンにリターンする。
ステップ130の判定結果が肯定的(Y)であればステッ
プ132に移り、上記X(下位4ビット)がFHか(記憶停
止位置か)判定する。この判定結果が肯定的(Y)であ
ればステップ134でRUNに0をセットしてからステップ13
6に移り、MMR(PNTR)にFFH(終了情報)を書込む。そ
して、元のルーチンにリターンする。
ステップ132の判定結果が否定的(N)であったとき
は、ステップ138に移る。ステップ138では、(X+1)
×1000なる式に従ってジャンプ先の先頭アドレスを演算
し、その演算結果をPNTRにセットする。従って、例えば
X=1であればPNTRに2000がセットされ、記憶ブロック
B1へのジャンプが可能となる。
スタート/ストップのサブルーチン(第11図) 第11図のスタート/ストップのサブルーチンにおいて、
ステップ140では、RUN=1か(走行状態か)判定する。
この判定結果が肯定的(Y)であれば走行状態でスイッ
チSPSがオンされたことになり、ステップ142でRUNに0
をセットして停止状態とする。そして、ステップ144に
移る。
ステップ144では、PLY=0か(ノーマル又はレコードモ
ードか)判定する。この判定結果が否定的(N)であれ
ばいずれかのスイッチCHNSがプレイモードであったこと
になり、ステップ146に移る。
ステップ146では、制御変数iを0にする。そして、ス
テップ148に移り、PLYの第iビットPLYiが1か判定す
る。この判定結果が肯定的(Y)であればi番目のスイ
ッチCHNSがプレイモードであったことになり、ステップ
150に移る。
ステップ150では、第iチャンネルに対応するレジスタK
CBUF(i)のMSBを0にする。そして、ステップ152に移
り、TG26の第iチャンネルをキーオフ処理する。
次に、ステップ154でiの値を1アップしてからステッ
プ156に移り、i<5か判定する。この判定結果が肯定
的(Y)であればステップ148に戻り、i=5となるま
でステップ148以下の処理を上記したと同様に繰返す。
この結果、プレイモードであったチャンネルはすべてキ
ーオフ処理されることになる。
i=5となると、ステップ156の判定結果が否定的
(N)となり、ステップ158に移る。ステップ158では、
PLYに0をセットする。
ステップ158の処理が終ったとき又はステップ144のへ判
定結果が肯定的(Y)であったときは、ステップ160に
移り、REC=0か(ノーマルモードか)判定する。この
判定結果が肯定的(Y)であれば元のルーチンにリター
ンする。
ステップ160の判定結果が否定的(N)であればいずれ
かのスイッチCHNSがレコードモードであったことにな
り、ステップ162に移る。
ステップ162では、MMR(PNTR)にFFH(終了情報)を書
込み、しかる後元のルーチンにリターンする。
一方、ステップ140の判定結果が否定的(N)であった
ときは、停止又はシンクロ待機状態であったことにな
り、ステップ164に移る。ステップ164では、PLYおよびR
ECが共に0か(ノーマルモードか)判定し、この判定結
果が肯定的(Y)であれば元のルーチンにリターンす
る。
ステップ164の判定結果が否定的(N)であったとき
は、ステップ166に移る。ステップ166では、走行を開始
すべくRUNに1を、CLKに0をそれぞれセットする。そし
て、ステップ168に移り、第12図について後述するよう
にレコードチェックのサブルーチンを実行する。
次に、ステップ170では、PLYの内容をTMPにセットす
る。そして、ステップ172では、PNTP(0)〜PNTP
(4)にいずれも0をセットする。この後、ステップ17
4に移る。
ステップ174では、制御変数iを0にする。そして、ス
テップ176に移り、TMPの第iビットTMPiが1か判定す
る。この判定結果が肯定的(Y)であればi番目のスイ
ッチCHNSがプレイモードであったことになり、ステップ
178に移る。
ステップ178では、i番目の記憶ブロックに対応するポ
インタPNTP(i)に先頭アドレスをセットする。この場
合、先頭アドレスは、(i+1)×1000なる式で求めら
れ、例えばi=0であればPNTP(0)に記憶ブロックB0
の先頭アドレスとして1000がセットされる。この後、ス
テップ180に移る。
ステップ180では、TMPの内容とi番目のスイッチCHNSに
対応するレジスタGRP(i)の内容を各ビット毎に反転
したデータ▲()▼とをAND演算し、その演算
結果をTMPに入れる。この場合、AND演算は、複数のスイ
ッチCHNSが組になっているときにその組の中で最も若い
ナンバのスイッチに対応するポインタにのみ先頭アドレ
スをセットするために行なわれるもので、例えば第0及
び第1スイッチCHNSをプレイモードとしたことによりTM
Pの内容が「00011」、第0及び第2スイッチCHNSが組で
あったことによりGRP(0)及びGRP(2)の内容がいず
れも「00101」とすれば、AND演算の結果、TMPには「000
10」がセットされる。この例では、i=0のときステッ
プ178によりPNTP(0)に1000がセットされる。
ステップ180の処理が終ったとき又はステップ176の判定
結果が否定的(N)であったときは、ステップ182でi
の値を1アップしてからステップ184に移る。
ステップ184では、i<5か判定し、この判定結果が肯
定的(Y)であればステップ176に戻る。そして、i=
5となるまでステップ176以下の処理を上記したと同様
に繰返す。上記例の場合、i=0ときステップ180でTMP
に「00010」がセットされた後ステップ182でi=1とな
ってステップ176にくると、判定結果が肯定的(Y)と
なる。従って、ステップ178によりPNTP(1)には2000
がセットされる。そして、ステップ180では、GRP(1)
が全ビット0(第1スイッチCHNSが他のスイッチCHNSと
組でない)とすれば、TMPに「00011」がセットされる。
この後、ステップ182でiが2になってからステップ176
にくると、TMP2は0であるのでステップ176の判定結果
が否定的(N)となり、ステップ182に移る。従って、P
NTP(2)については先頭アドレスセットが行なわれな
い。
i=5となると、ステップ184の判定結果が否定的
(N)となり、ステップ185に移る。ステップ185ではi
を0にする。そして、ステップ186に移る。
ステップ186では、RECの第iビットRECiが1か(i番目
のスイッチCHNSがレコードモードか)判定する。この判
定結果が肯定的(Y)であればステップ187に移り、
(i+1)×1000なる式に従って演算した先頭アドレス
をPNTRにセットする。このときセットされるのが書込時
の先頭アドレスとなる。ステップ187の後は、元のルー
チンにリターンする。従って、RECが複数のスイッチCHN
Sについてレコードモードを指示していても、ステップ1
87の先頭アドレスセットはそれらのスイッチのうち最も
若いナンバのスイッチについて1回行なわれるだけであ
る。
ステップ186の判定結果が否定的(N)であればステッ
プ188でiの値を1アップしてステップ189に移る。ステ
ップ189では、i<5か判定し、この判定結果が肯定的
(Y)であればステップ186に戻り、i=5となるまで
ステップ186以下の処理を上記したと同様に繰返す。
i=5となると、ステップ189の判定結果が否定的
(N)となり、元のルーチンにリターンする。
レコードチェックのサブルーチン(第12図) 第12図のレコードチェックのサブルーチンにおいて、ス
テップ190では、制御変数iを0とする。そして、ステ
ップ192に移る。
ステップ192では、RECの第iビットRECiが1か判定す
る。この判定結果が肯定的(Y)であったときは、いず
れかのスイッチCHNSがレコードモードであったことにな
り、ステップ194に移る。ステップ194では、制御変数j
をiとする。そして、ステップ196に移る。
ステップ196では、第jスイッチCHNSに対応するレジス
タGRP(j)の第iビットが1か判定する。この判定結
果が肯定的(Y)であればステップ198に移り、GRP
(j)に0をセットする。
ステップ198の処理が終ったとき又はステップ196の判定
結果が否定的(N)であったときは、ステップ200でj
の値を1アップしてステップ202に移り、j<5か判定
する。この判定結果が肯定的(Y)であればステップ19
6に戻り、j=5となるまでステップ196以下の処理を上
記したと同様に繰返す。
j=5となると、ステップ202の判定結果が否定的
(N)となり、ステップ204に移る。ステップ204では、
第iスイッチCHNSに対応するレジスタGRP(i)にRECの
内容をセットする。
ステップ204の処理が終ったとき又はステップ192の判定
結果が否定的(N)であったときは、ステップ206でi
の値を1アップしてからステップ208に移り、i<5か
判定する。この判定結果は肯定的(Y)であればステッ
プ192に戻り、i=5となるまでステップ192以下の処理
を上記したと同様に繰返す。
i=5となると、ステップ208の判定結果が否定的
(N)となり、ステップ210に移る。ここまでの処理
は、すでに設定されている組を解消して新たな組を作る
ためのものである。
一例として、第0及び第2スイッチCHNSが組であったこ
とによりGRP(0)及びGRP(2)の内容がいずれも「00
101」であり、第0及び第1スイッチCHNSをレコードモ
ードとしたことによりRECの内容が「00011」であったと
すれば、i=0でステップ192にくると、REC0=1であ
るため判定結果が肯定的(Y)となり、この後ステップ
196でもGRP(0)0=1であるため判定結果が肯定的(Y)
となる。従って、ステップ198によりGRP(0)に0がセ
ットされる。この後、j=2でステップ196にくると、G
RP(2)0=1であるので、判定結果が肯定的(Y)とな
り、ステップ198によりGRP(2)に0がセットされる。
この結果、第0及び第2スイッチCHNSの組が解消された
ことになる。
この後、j=5になると、ステップ204によりGRP(0)
にRECの内容「00011」がセットされる。そして、i=1
でステップ192にくると、REC1=1であるため判定結果
が肯定的(Y)となり、ステップ194でj=1となる。
これに続いてステップ196では、GRP(1)1=0とすれば判
定結果が否定的(N)となり、j=2としてステップ19
6に戻る。ステップ196では、GRP(2)1も先に0がセット
されているため判定結果が否定的(N)となる。
この後、j=5になると、ステップ204によりGRP(1)
にRECの内容「00011」がセットされる。そして、i=5
になると、ステップ208からステップ210に移る。この結
果、第0及び第2スイッチCHNSの組が解消されて、第0
及び第1スイッチCHNSの組が新たに作成されたことにな
る。
ステップ210以下の処理は、レコードモードで走行開始
にあたりオートプレイメモリ22内の記憶領域MMRにジャ
ンプ先や記憶停止位置を書込むためのものである。
ステップ210では、iを4とし且つGTにFH(記憶停止位
置情報)を入れる。そして、ステップ212に移り、前述
のステップ192と同様にしてRECi=1か判定する。この
判定結果が肯定的(Y)であればステップ214に移る。
ステップ214では、MMR((i+1)×1000+999)及びM
MR((i+1)×1000+998)の2つの記憶領域(記憶
ブロック末尾2つのもの)にいずれもE0H+GTのデータ
を書込む。そして、ステップ、216でGTにiをセットす
る。
ステップ216の処理が終ったとき又はステップ212の判定
結果が否定的(N)であったときは、ステップ218に移
り、iの値を1ダウンさせる。そして、ステップ220に
移り、i<0か判定する。この判定結果が否定的(N)
であればステップ212に戻り、i=−1となるまでステ
ップ212以下の処理を上記したと同様に繰返す。
i=−1となると、ステップ220の判定結果が肯定的
(Y)となり、第11図のルーチンにリターンする。
一例として、RECの内容が上記例のように「00011」であ
ったとすれば、i=4でステップ212にくると、REC4
0であるため判定結果が否定的(N)となり、ステップ
218に移る。そして、ステップ218でi=3としてステッ
プ212に戻っても判定結果は否定的(N)であり、i=
2の場合もこれと同様である。
ステップ218でi=1としてステップ212に戻ると、REC1
=1であるので判定結果が肯定的(Y)となり、MMR(2
999)及びMMR(2998)にはいずれもE0H+FHのデータが
書込まれる。そして、ステップ216によりGTには1がセ
ットされた後、ステップ218によりi=0となる。
この後、i=0でステップ212にくると、REC0=1であ
るため判定結果が肯定的(Y)となり、ステップ214に
よりMMR(1999)及びMMR(1998)にいずれもE0H+1の
データ(記憶ブロックB1へのジャンプを指示するデー
タ)が書込まれる。この後、ステップ218によりi=−
1となるので、ステップ220の判定結果が肯定的(Y)
となり、第11図のルーチンにリターンする。この結果、
記憶ブロックB0及びB1はつなぎ合されて実質上1つの記
憶ブロックとして扱われることになる。
CHNSオンのサブルーチン(第13図) 第13図のCHNSオンのサブルーチンにおいて、ステップ23
0では、RUN=1か判定し、この判定結果が肯定的(Y)
であれば第7図のルーチンにリターンする。換言すれ
ば、走行状態のときは、以下に述べるような処理を行な
わない。
ステップ230の判定結果が否定的(N)であったとき
は、RUN=0又は−1であったことになり、ステップ232
に移る。ステップ232では、レコードモード指定スイッ
チRECSが同時にオンか判定し、この判定結果が肯定的
(Y)であればステップ234に移る。
ステップ234では、RECの第iビットRECiが1か(操作さ
れた第iスイッチCHNSがレコードモードか)判定し、こ
の判定結果が肯定的(Y)であれば第7図のルーチンに
リターンする。これは、すでにレコードモードになって
いるので、以下に述べるような処理が不要だからであ
る。
ステップ234の判定結果が否定的(N)であったとき
は、ステップ236に移り、PLYの第iビットPLYiが1か
(操作された第iスイッチCHNSがプレイモードか)判定
する。この判定結果が肯定的(Y)であればステップ23
8に移り、制御変数jを0にする。そして、ステップ240
に移る。
ステップ240では、操作された第iスイッチCHNSに対応
するレジスタGRP(i)の第jビットGRP(i)jが1か判定
し、この判定結果が肯定的(Y)であればステップ242
でPLYの第jビットPLYjに0をセットする。そして、ス
テップ244に移り、PLYjに対応するナンバjのLEDを消灯
する。この結果、操作された第iスイッチCHNSと組であ
った第jスイッチCHNSはノーマルモードとなる。
ステップ244の処理が終ったとき又はステップ240の判定
結果が否定的(N)であったときは、ステップ246に移
り、jの値を1アップする。そして、ステップ248に移
り、j<5か判定する。この判定結果が肯定的(Y)で
あればステップ240に戻り、j=5となるまでステップ2
40以下の処理を上記したと同様に繰返す。この結果、操
作された第iスイッチCHNSと組であったスイッチCHNSは
ノーマルモードとなる。
j=5となると、ステップ248の判定委結果が否定的
(N)となり、ステップ250に移る。また、ステップ236
の判定結果が否定的(N)であったときは、第iスイッ
チCHNSがノーマルモードであったことになり、ステップ
250に移る。
ステップ250では、RECiに1をセットする。そして、ス
テップ252に移り、操作された第iスイッチCHNSに対応
するナンバiのLEDを赤色点灯させる。この結果、第i
スイッチCHNSはレコードモードとなる。この後、ステッ
プ254に移る。
ステップ254では、PLY及びRECが共に0か判定する。上
記のようにステップ250でRECi=1としたときは、ステ
ップ254の判定結果が否定的(N)となり、ステップ256
に移る。
ステップ256では、RUNに−1をセットしてシンクロ待機
状態とする。この後は、第7図のルーチンにリターンす
る。
ステップ232の判定結果が否定的(N)であったとき
は、第iスイッチCHNSの単独操作であったことになり、
ステップ258に移る。ステップ258では、前述のステップ
236と同様にしてPLYi=1か判定する。この判定結果が
肯定的(Y)であれば操作された第iスイッチCHNSがプ
レイモードであったことになり、ステップ260に移る。
ステップ260では、jを0とする。そして、ステップ262
に移り、前述のステップ240と同様にしてGRP(i)jが1か
判定する。この判定結果が肯定的(Y)であればステッ
プ264に移り、前述のステップ242と同様にPLYjに0をセ
ットする。この後、ステップ266では、PLYjに対応する
ナンバjのLEDを消灯する。
ステップ266の処理が終ったとき又はステップ262の判定
結果が否定的(N)であったときは、ステップ268でj
の値を1アップしてからステップ270に移り、j<5か
判定する。この判定結果は肯定的(Y)であればステッ
プ262に戻り、j=5となるまでステップ262以下の処理
を繰返す。
j=5となると、ステップ270の判定結果が否定的
(N)となり、ステップ254に移る。この結果、操作さ
れた第iスイッチCHNS及びこれと組であったスイッチCH
NSがいずれもノーマルモードとなる。
ステップ254では、PLY及びRECが共に0か判定し、この
判定結果が否定的(N)であれば上記したと同様にステ
ップ256を経て第7図のルーチンにリターンする。ま
た、ステップ254の判定結果が肯定的(Y)であったと
きは、第0〜第4スイッチCHNSがいずれもノーマルモー
ドであったことになり、ステップ272に移る。
ステップ272では、RUNに0をセットして停止状態とす
る。この後は、第7図のルーチンにリターンする ステップ258の判定結果が否定的(N)であったとき
は、ステップ274に移り、前述のステップ234と同様にし
てRECi=1か判定する。この判定結果が肯定的(Y)で
あれば、操作された第iスイッチCHNSがレコードモード
であったことになり、ステップ276に移る。
ステップ276では、RECiに0をセットする。そして、ス
テップ278に移り、RECiに対応するナンバiのLEDを消灯
する。この結果、第iスイッチCHNSはノーマルモードと
なる。この後は、ステップ254に移り、これ以降の処理
を上記したと同様に実行する。
ステップ274の判定結果が否定的(N)であったとき
は、操作された第iスイッチCHNSがノーマルモードであ
ったことになり、ステップ280に移る。
ステップ280では、jを0とする。そして、ステップ282
に移り、前述のステップ240と同様にGRP(i)j=1か判定
する。この判定結果が肯定的(Y)であればステップ28
4に移り、前述のステップ242と同様にPLYjに1をセット
する。そして、ステップ286に移る。
ステップ286では、RECの第jビットRECjが1か判定し、
この判定結果が肯定的(Y)であればステップ288でREC
jに0をセットする。この結果、第jスイッチCHNSのレ
コードモードが解除される。
ステップ288の処理が終ったとき又はステップ286の判定
結果が否定的(N)であったときは、ステップ290に移
り、RECjに対応するナンバjのLEDを緑色点灯させる。
この結果、第jスイッチCHNSはプレイモードとなる。
ステップ290の処理が終ったとき又はステップ282の判定
結果が否定的(N)であったときは、ステップ292でj
の値を1アップしてからステップ294に移り、j<5か
判定する。この判定結果が肯定的(Y)であればステッ
プ282に戻り、j=5となるまでステップ282以下の処理
を上記したと同様に繰返す。
i=5となると、ステップ294の判定結果が否定的
(N)となり、ステップ254に移る。この後は、ステッ
プ254以下の処理を上記したと同様に実行する。
上記したステップ280〜294の処理によれば、操作された
第iスイッチCHNSはノーマルモードからプレイモードに
なる一方、このスイッチと組であったスイッチCHNSはノ
ーマルモードであったときはプレイモードに、レコード
モードであったときはレコードモードを解除されてプレ
イモードにそれぞれ移行する。例えば、第0〜第2スイ
ッチCHNSが組であったことによりGRP(0)〜GRP(2)
の内容がいずれも「00111」であったとき、第0スイッ
チをオンすると、第0〜第2スイッチがいずれもノーマ
ルモードであればj=0〜2についてステップ282、284
及び290を3回通ることによりPLYの内容は「00111」と
なり且つナンバ0〜2のLEDが緑色点灯し、第0スイッ
チのみならず第1及び第2スイッチもプレイモードとな
る。この場合において、例えば第1及び第2スイッチが
レコードモードであったことによりRECの内容が「0011
0」あったとすれば、j=1及び2についてはステップ2
86及び288を通ることによりRECの内容は全ビット0とな
り、第1及び第2スイッチについてはレコードモードが
解除されてプレイモードに移行することになる。
クロック割込ルーチン(第14図) 第14図は、クロック割込ルーチンを示すもので、このル
ーチンはテンポクロック信号TCLの各クロックパルス毎
に開始される。
まず、ステップ300では、RUN=1か判定し、この判定結
果が否定的(N)であれば第7図のルーチンにリターン
する。また、ステップ300の判定結果が肯定的(Y)で
あればステップ302に移る。
ステップ302では、制御変数iを0とする。そして、ス
テップ304に移り、i番目のポインタPNTP(i)が0か
(プレイモードでジャンプ対象又はレコードモードか)
判定する。この判定結果が否定的(N)であればPNTP
(i)に基づいてオートプレイメモリ22を参照すべくス
テップ306に移る。
ステップ306では、MMR(PNTP(i))のデータがCLKの
示すタイミングと等しいか(発音又は消音すべきタイミ
ングか)判定する。この判定結果が肯定的(Y)であれ
ばステップ308に移り、MMR(PNTP(i)+1)のデータ
(キーコード情報)をKEYに入れる。そして、ステップ3
10でPNTP(i)の値を2アップしてからステップ312に
移る。
ステップ312では、KEYのデータと7FHのデータ(MSBのみ
0で他は1のデータ)とをAND演算してKEYからキーコー
ドを抽出し、このキーコードをKCにセットする。そし
て、ステップ314に移る。
ステップ314では、KEYのMSB(0又は1)をKONに入れ
る。そして、ステップ316に移り、i番目のレジスタGRP
(i)の内容をASSにセットする。この結果、例えばGRP
(0)の内容が「00011」であったとすれば第0及び第
1チャンネルが割当可能となる。
次に、ステップ318では、KON=1か(キーオンタイミン
グか)判定し、この判定結果が肯定的(Y)であればス
テップ320に移る。ステップ320では、第8図のステップ
80と同様にしてASSの中で1になっているビットに対応
するチャンネルにおいて最も楽音の減衰が進んだものの
ナンバをCHに入れる。この後、ステップ322に移る。
ステップ322では、KEYのキーコード情報をCHのチャンネ
ルナンバに対応するレジスタKCBUF(CH)に入れる。そ
して、ステップ324に移り、第8図のステップ84と同様
にしてTG26のCH対応チャンネルをKCのキーコードでキー
オン処理して該キーコードに対応する楽音信号を発生さ
せる。そして、ステップ326に移る。
ステップ326では、MMR(PNTP(i))のデータがEXH
等しいか(ジャンプマークか)判定する。この判定結果
が否定的(N)であればステップ306に戻る。また、ス
テップ326の判定結果が肯定的(Y)であればステップ3
28に移る。
ステップ328では、(X+1)×1000なる式に従って求
めたジャンプ先の先頭アドレスをPNTP(i)にセットす
る。ここで、Xはステップ326においてMMR(PNTP
(i))のデータの下位4ビットの値(ジャンプ先とな
る記憶ブロックのナンバ)であり、例えばPNTP(0)=
1、PNTP(1)=0とし且つX=1であればPNTP(0)
には2000がセットされ、記憶ブロックB1へのジャンプが
可能となる。すなわち、PNTP(0)は、これ以降上記憶
ブロックB1の演奏情報を読出すのに使用され、PNTP
(1)は使用されない。ステップ328の後は、ステップ3
06に戻る。
ステップ306に戻った後は、上記したと同様の処理を繰
返す。従って、CLKのタイミングでは、GRP(i)の中で
1になっているビットの数(例えば上記例のようにGRP
(0)=00011であれば2つ)まで同時発音可能であ
る。
一方、ステップ318の判定結果が否定的(N)であった
ときは、キーオフタイミングであったことになり、ステ
ップ330に移る。ステップ330では、第9図のステップ10
6と同様にしてASSの中で1になっているビットに対応す
るチャンネルに関するKCBUFの中で(80H+KC)のデータ
と等しいもの(KCのキーコードと同じものがすでに割当
てられているチャンネル)をサーチする。
次に、ステップ332では、等しいものありか判定し、こ
の判定結果が肯定的(Y)であればステップ334に移
る。ステップ334では、発見した割当済みのチャンネル
のナンバをCHに入れる。そして、ステップ336に移る。
ステップ336では、KCBUF(CH)のMSBを0にする。この
結果、KCBUF(CH)のキーコード情報は、MSBが1から0
に変化する。この後、ステップ338では、TG26のCH対応
チャンネルをキーオフ処理して発生中の楽音信号消滅さ
せる。
ステップ338の処理が終ったとき又はステップ332の判定
結果が否定的(N)であったときは、ステップ326に移
り、これ以降の処理を上記したと同様に実行する。
上記したのは、ステップ306の判定結果が肯定的(Y)
であった場合の処理であるが、ステップ306の判定結果
が否定的(N)であったときは、ステップ340に移る。
ステップ340では、MMR(PNTP(i))のデータがFFH
(終了情報か)判定する。この判定結果が否定的(N)
であればステップ342に移る。また、ステップ304の判定
結果が肯定的(Y)であったときもステップ342に移
る。
ステップ342では、iの値を1アップする。そして、ス
テップ344に移り、i<5か判定する。この判定結果が
肯定的(Y)であればステップ304に戻り、これ以降の
処理をi=5となるまで上記したと同様に繰返す。この
結果、例えばPNTP(0)〜PNTP(4)がいずれも1であ
ったとすれば、記憶ブロックB0〜B4にそれぞれ記憶され
た第0〜第4パートの演奏情報に従って5パートの自動
演奏が可能となる。この例において、記憶ブロックB0
B4のキーオンタイミング情報がステップ306でいずれもC
LKのタイミングと等しいと判定されればこのタイミング
で5音が同時に発音される。
i=5となると、ステップ344の判定結果が否定的
(N)となり、ステップ346に移る。ステップ346では、
CLKの値を1アップする。そして、ステップ348に移る。
ステップ348では、CLKが96か(1小節終りか)判定し、
この判定結果が否定的(N)であれば第7図のルーチン
にリターンする。
ステップ348の判定結果が肯定的(Y)であったとき
は、ステップ350に移り、CLKに0をセットする、そし
て、ステップ352でiを0にしてからステップ354に移
る。
ステップ354では、PNTP(i)が0か判定する。この判
定結果が否定的(N)であればステップ356でPNTP
(i)の値を1アップする。これは、プレイモード時に
小節線をとばすためである。
ステップ356の処理が終ったとき又はステップ354の判定
結果が肯定的(Y)であったときは、ステップ358でi
の値を1アップしてからステップ360に移り、i<5か
判定する。この判定結果が肯定的(Y)であればステッ
プ354に戻り、これ以降の処理をi=5となるまで上記
したと同様に繰返す。
i=5となると、ステップ360の判定結果が否定的
(N)となり、ステップ362に移る。ステップ362では、
REC=0か(プレイモードか)判定し、この判定結果が
肯定的(Y)であれば第7図のルーチンにリターンす
る。
ステップ362の判定結果が否定的(N)であればレコー
ドモードであったことになり、ステップ364に移る。ス
テップ364では、MMR(PNTR)に80H(小節線情報)を書
込む。そして、ステップ366でPNTRの値を1アップして
からステップ368に移る。
ステップ368では、第10図について前述したジャンプの
サブルーチンを実行し、しかる後第7図のルーチンにリ
ターンする。
上記した処理によれば、各記憶ブロック毎にCLKに基づ
いて自動演奏又は演奏記録を行なうことができる。この
場合、つなぎ合された(組となった)複数の記憶ブロッ
クは1つの記憶ブロックとして扱われる。
ステップ340の判定結果が肯定的(Y)であったとき
は、1パート分の自動演奏の終了であり、ステップ370
でPLYの第iビットPLYiに0をセットする。そして、ス
テップ372に移る。
ステップ372では、PLY=0か(プレイモードのパートな
しか)判定し、この判定結果が否定的(N)であれば残
りのパートの自動演奏を続行すべくステップ342に移
る。また、ステップ372の判定結果が肯定的(Y)であ
ればステップ374に移る。
ステップ374では、REC=0か(レコードモードのパート
なしか)判定し、この判定結果が否定的(N)であれば
レコードモードのパートの演奏記録を続行すべくステッ
プ342に移る。また、ステップ374の判定結果が肯定的
(Y)であればプレイ又はレコードモードのいずれのパ
ートもないことになり、ステップステップ376でRUNに0
をセットしてから第7図のルーチンにリターンする。
変形例 この発明は、上記実施例に限定されるものではなく、種
々の改変形態で実施可能なものであり、例えば次のよう
な変更が可能である。
(1)レコードモード時にあっては、単一鍵盤を使用し
たため、あるパートの演奏と他のパートの演奏とを並行
的に記録できなかったが、複数の鍵盤を用いるか又は単
一鍵盤を複数鍵域に分割するかすれば、かような並行記
録を行なうことができる。
(2)オートプレイメモリ22のタイミング情報は、前イ
ベントからの相対時間情報であってもよい。このように
すれば、小節線は、前イベントからの時間が1小節相当
の時間を超過したときのみ記録されるので、メモリ容量
を低減できる。
(3)メモリ22の記憶ブロック数やTG26で自動演奏に使
用される発音チャンネルの数は実施例で示したものに限
定されない。
(4)記録時のチャンネル数指定と再生時のパート指定
とは各々専用の操作子で行なうようにしてもよい。
[発明の効果] 以上のように、この発明によれば、記録時には各パート
毎に任意のチャンネル数を指定可能とすると共に再生時
には各パート毎に記録時に指定されたチャンネル数で自
動演奏可能としたので、少数の発音チャンネルを有効に
利用して多様な自動演奏を楽しめる効果が得られるもの
である。
また、チャンネル数を演奏情報とは別に記憶するように
したので、演奏情報の書込み/読出しが簡単になると共
に演奏情報記憶部の記憶容量を低減できる効果もある。
【図面の簡単な説明】
第1図は、この発明の一実施例による自動演奏装置をそ
なえた電子楽器の構成を示すブロック図、 第2図は、音名毎のキーコードを示す図、 第3図は、オートプレイメモリ22の構成を示す図、 第4図は、オートプレイメモリ22のデータフォーマット
を示す図、 第5図は、モード切換動作を説明するための状態図、 第6図は、スタート/ストップ動作を説明するための状
態図、 第7図は、メインルーチンを示すフローチャート、 第8図は、キーオンのサブルーチンを示すフローチャー
ト、 第9図は、キーオフのサブルーチンを示すフローチャー
ト、 第10図は、ジャンプのサブルーチンを示すフローチャー
ト、 第11図は、スタート/ストップのサブルーチンを示すフ
ローチャート、 第12図は、レコードチェックのサブルーチンを示すフロ
ーチャート、 第13図は、チャンネル数/パート指定スイッチCHNSオン
のサブルーチンを示すフローチャート、 第14図は、クロック割込ルーチンを示すフローチャート
である。 10……データバス、12……鍵盤、14……パネル装置、16
……中央処理装置、18……プログラムメモリ、20……レ
ジスタ群、22……オートプレイメモリ、24……クロック
発生器、26……トーンジェネレータ、28……サウンドシ
ステム、CHNS……チャンネル数/パート指定スイッチ、
LED……赤/緑点灯可能な表示素子、RECS……レコード
モード指定スイッチ、SPS……スタート/ストップスイ
ッチ、SYNS……シンクロスタートスイッチ。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】(a)複数N個の発音チャンネルを有する
    音源手段であって、各発音チャンネル毎に割当てられた
    発音制御情報に応じて楽音信号を発生するように構成さ
    れたものと、 (b)演奏情報を入力するための入力手段と、 (c)レコードモード又はプレイモードを指定するため
    のモード指定手段と、 (d)読み書き可能な記憶装置と、 (e)前記モード指定手段によりレコードモードが指定
    されたとき前記入力手段からの演奏情報を前記記憶装置
    にパート毎に書込む書込手段と、 (f)前記モード指定手段によりレコードモードが指定
    されたとき入力すべきパート毎に前記N個の範囲内で所
    望のチャンネル数を指定するチャンネル数指定手段と、 (g)このチャンネル数指定手段で指定されたチャンネ
    ル数を前記記憶装置の演奏情報とは別にパート毎に記憶
    する記憶手段と、 (h)前記モード指定手段によりプレイモードが指定さ
    れたとき演奏すべきパートを指定するパート指定手段
    と、 (i)このパート指定手段で指定されたパートに関する
    演奏情報を前記記憶装置から読出す読出手段と、 (j)前記パート指定手段で指定されたパートに関して
    前記記憶手段に記憶されているチャンネル数に対応する
    数の発音チャンネルのうち少なくとも1つに対して前記
    記憶装置から読出された演奏情報を前記発音制御情報と
    して割当てる割当手段と をそなえた自動演奏装置。
  2. 【請求項2】前記記憶装置は、前記N個と同数の記憶ブ
    ロックを有しており、前記書込手段は、前記チャンネル
    数指定手段で1パートにつき複数のチャンネル数が指定
    されたとき該パートの演奏情報を書込可能な記憶ブロッ
    クの数を該複数のチャンネル数に対応して増加する構成
    になっている請求項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 JPH01177591A (ja) 1989-07-13
JPH07113829B2 true 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
AU2019207800A1 (en) * 2018-01-10 2020-08-06 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
JPH01177591A (ja) 1989-07-13
US4957031A (en) 1990-09-18

Similar Documents

Publication Publication Date Title
US4476766A (en) Electronic musical instrument with means for generating accompaniment and melody sounds with different tone colors
US5453569A (en) Apparatus for generating tones of music related to the style of a player
JP2522343B2 (ja) 自動演奏装置
US5229533A (en) Electronic musical instrument for storing musical play data having multiple tone colors
EP0278438B1 (en) Multi-recording apparatus of an electronic musical instrument
US5321198A (en) Tone signal generator utilizing ancillary memories for electronic musical instrument
JPH07113829B2 (ja) 自動演奏装置
JPH0149958B2 (ja)
JPH0552502B2 (ja)
JPS58220189A (ja) 自動演奏装置
JPS628797B2 (ja)
JP2640992B2 (ja) 電子楽器の発音指示装置及び発音指示方法
JP2692676B2 (ja) 自動演奏装置
JPS6253839B2 (ja)
JPS6318759B2 (ja)
JPS61175692A (ja) 電子楽器
JP2562261B2 (ja) 電子楽器のアサイナ
JPH0430638Y2 (ja)
JPH0827624B2 (ja) 自動演奏装置
JP2565152B2 (ja) 自動伴奏装置
JPS628798B2 (ja)
JP2738359B2 (ja) リズム音発生装置およびその発音制御方注
JP2715833B2 (ja) 楽音発生装置
JPH012098A (ja) 自動演奏装置
JPS59195690A (ja) 電子楽器

Legal Events

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