JP2663506B2 - 自動演奏装置 - Google Patents

自動演奏装置

Info

Publication number
JP2663506B2
JP2663506B2 JP63114260A JP11426088A JP2663506B2 JP 2663506 B2 JP2663506 B2 JP 2663506B2 JP 63114260 A JP63114260 A JP 63114260A JP 11426088 A JP11426088 A JP 11426088A JP 2663506 B2 JP2663506 B2 JP 2663506B2
Authority
JP
Japan
Prior art keywords
data
pitch
value
information
name
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
JP63114260A
Other languages
English (en)
Other versions
JPH01283595A (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 JP63114260A priority Critical patent/JP2663506B2/ja
Publication of JPH01283595A publication Critical patent/JPH01283595A/ja
Application granted granted Critical
Publication of JP2663506B2 publication Critical patent/JP2663506B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、自動演奏装置に関し、特に音高情報処理
部の改良に関するものである。
[発明の概要] この発明は、演奏すべき曲について音域情報及び音符
毎の階名情報を記憶しておき、階名情報を読出したとき
にこれを音域情報に基づいて音名情報に変換することに
より演奏情報記憶部の記憶容量低減を可能としたもので
ある。
[従来の技術] 従来、メロディ等を演奏可能な自動演奏装置として
は、演奏すべき曲の各音符毎にその音名を表わすキーコ
ードデータをメモリに記憶しておき、このメモリから音
符進行順にキーコードデータを読出して音源を駆動する
ことにより自動演奏を行なうものが知られている。
[発明が解決しようとする課題] 上記した従来技術にあっては、種々の曲を演奏可能と
すべく演奏音域を広くすると、メモリに記憶すべき1音
符当りのキーコードデータのビット数を多くする必要が
ある。すなわち、演奏音域を例えば8オクターブとする
と、これに属する96音名分の音高を表現可能なように7
ビットのデータを用いる必要がある。そして、通常は、
1バイト(8ビット)単位でデータを扱うことが多いの
で、このような場合にはキーコードデータだけに1バイ
トをあてることとなり、発音タイミングデータ等はキー
コードデータとは別のバイトとして記憶せざるを得な
い。このため、記憶すべきデータ量が多くなり、演奏デ
ータメモリとしても大容量のものが必要となる。
また、別の音高表現形式としては、オクターブ名とオ
クターブ内の音名と組合せで音高を表現するものが知ら
れている。しかし、この表現形式を用いても、前述の8
オクターブの例では、オクターブ表現に3ビット、音名
表現に4ビット必要であり、上記したキーコードデータ
の場合と同様の問題がある。
この発明の目的は、音符の音高表現に要するビット数
を減らして演奏情報記憶部の記憶容量低減を図ることに
ある。
[課題を解決するための手段] この発明に係る自動演奏装置は、 所定の演奏音域内で該演奏音域より狭い音域幅をそれ
ぞれ有するように予め定められた複数の音域のうち演奏
すべき曲の属する所属音域を指示する音域情報を記憶す
ると共に、該曲を構成する複数の音符のうちの各音符毎
に階名情報を記憶した記憶手段であって、各階名情報
は、該階名情報に対応する音符の階名を前記曲の調決定
に用いた音階に従って指示するもの(第5図38、第7
図、第12図)と、 前記記憶手段から前記音域情報を読出して基準音名情
報に変換する第1の変換手段であって、該基準音名情報
は、前記音階に関して予め定められた基準階名に対応し
て前記所属音域内の基準音名の音高を指示するもの(第
9図TBLTR、第25図366,368)と、 前記記憶手段から前記複数の音符に対応した階名情報
を曲進行に従って読出す読出手段(第27図434)と、 前記記憶手段から階名情報が読出されるたびに該階名
情報を音程情報に変換する第2の変換手段であって、該
音程情報は、読出しに係る階名情報を指示する階名が前
記基準階名に対してとる音程を指示するもの(第9図TB
LNT、第27図444)と、 前記記憶手段から階名情報が読出されるたびに前記第
1の変換手段からの基準音名情報の指示する基準音名の
音高に前記第2の変換手段からの音程情報の指示する音
程を加えることにより読出しに係る階名情報の指示する
階名に対応して前記所属音域内の音名の音高を決定する
音高決定手段であって、音高決定のたびに決定に係る音
名の音高を指示する音名情報を送出するもの(第27図44
4,450)と、 前記音高決定手段からの音名情報に応答して該音名情
報の指示する音名の音高を有する音楽信号を発生する音
楽発生手段(第5図48)と を備えたものである。
[作 用] この発明の構成によれば、音符の音高を階名で表現す
ると共に階名情報を音域情報に基づいて音名情報に変換
するようにしたので、演奏音域を広くしても記憶すべき
1音符当りの階名情報のビット数は少なくて済むもので
ある。
すなわち、階名は、基本的にはド、レ、ミ…シの7つ
であり、通常の曲の音域として2オクターブ程度を考慮
しても14であるから、階名情報としては4ビットで足り
る。また、階名−音名の対応関係は、曲の音域に応じて
異なるので、音域情報に基づいて階名−音名変換を行な
うことにより種々の曲の演奏が可能となる。従って、種
々の曲の演奏のために例えば8オクターブの演奏音域を
定めたとしても、1音符当りの階名情報のビット数は4
ビット以内に抑えることができる。
1音符当りの階名情報として、例えば1バイトのデー
タを用いるものとすると、階名による音高表面に必要な
のは4ビットであるから、え残りの4ビットを例えば発
音タイミング表現等の他の用途に用いれば1音符分の演
奏情報を1バイトで表現可能である。従って、1曲分の
演奏情報としては、従来の約半分のバイト数となり、演
奏情報記憶部の記憶容量を大幅に低減することができ
る。
ところで、階名−音名変換を行なうためには、曲の音
域に対応した階名−音名変換テーブルを設ければよい。
しかし、種々の曲に対応して多数の変換テーブルを設け
ることは、構成の複雑さを招くので必ずしも得策でな
い。
このような複雑さを避けるため、この発明では、記憶
手段には所定の演奏音域(例えば第9図の(B)のA-1
〜C6の音域)内で該演奏音域より狭い音域幅をそれぞれ
有するように予め定められた複数の音域(例えば第9図
(B)のA-1A1…C4〜C6の音域)のうち演奏すべき曲の
属する所属音域を指示する音域情報(例えば第9図
(B)の音域ナンバ27を表わす音域データ[第12図参
照])を記憶させると共に該曲を構成する複数の音符の
うちの各音符毎に階名情報を記憶させ、各階名情報とし
ては、対応する音符の階名を曲の調決定に用いた音階に
従って指示するものを記憶させる。
ある曲の調決定に用いた音階が例えば平均律の長音階
であるとすれば、この音階に従って各階名毎に基準階名
からの音程を表わしたときの音程関係は、曲が変っても
該音階を用いて調を決定した曲である限り、不変であ
る。また、音域が与えられた場合、その音域において基
準階名に対応する基準音名がわかれば、この基準音名の
階名対応の音程を加えることで階名を音域内の音名に変
換できる。例えば、基準階名「ソ」に対応した基準音名
を「G2」とすれば「ソ」に対して半音数5だけ高い階名
「ド」は「G2」の音高に半音数5を加えることで「C3
に変換できる。
このような原理に基づき、この発明では、第1の変換
手段により音域情報を基準音名情報に変換すると共に第
2の変換手段により各階名情報を音程情報に変換し、音
高決定手段により各階名情報毎に基準音名情報の示す音
高に音程情報の示す音程を加えて演奏すべき曲の属する
所属音域内の音高を決定している。うなわち、基準音名
情報な、演奏すべき曲の調決定に用いた音階に関して予
め定められた基準階名(例えば「ソ」)に対応して所属
音域内の基準音名(例えば音域ナンバ34の音域内の
「G2」)の音高を指示するものとする一方、音程情報
は、対応する階名情報の指示する階名(例えば「ド」)
が基準階名に対してとる音程(例えば半音数「5」)を
指示するものとし、音高決定手段では、基準音名情報の
指示する基準音名(例えば「G2」)の音高に音程情報の
指示する音程(例えば半音数「5」)を加えることによ
り該音程情報に対応する階名(例えば「ド」)に対応し
て所属音域内の音名(例えば「C3」)の音高を決定し、
この音名の音高を指示する音名情報を送出する。
このような構成の自動演奏装置にあっては、例えば平
均律の長音階を用いて調決定した曲である限りどんな調
の曲であっても演奏可能であり、しかも曲毎に階名−音
名変換テーブルを設けなくてよいので構成が著しく簡単
となる。
なお、この発明の自動演奏装置において、種々の曲を
演奏可能とするには、記憶手段に多数曲の演奏情報を記
憶しておいて所望の曲を選択して演奏するか、又は記憶
手段の演奏情報を書き換えて異なる曲を演奏するように
すればよい。
[実施例] 以下では、この発明を自動演奏式アラーム時計に適用
し単一実施例を説明する。
外観構成(第1図及び第2図) 第1図は、この発明を実施する自動演奏式アラーム時
計の外観構成を示すもので、時計本体10には、表示部1
2、スピーカ14、モードスイッチMOS、アップ/ダウンス
イッチUDS、デモ/カーソルスイッチDCS、ストップスイ
ッチSTS等が設けられている。
表示部12は、一例として第2図に示すように、曜日表
示部20と、月日表示部22と、時表示部24と、分表示部26
と、秒表示部28とを含んでおり、各表示部は液晶表示器
等からなっている。
曜日表示部20には、日、月、火、水、木、金、土にそ
れぞれ対応した「SU」、「MO」、「TU」、「WE」、
「TH」、「FR」、「SA」の7つの文字表示部が設けられ
ており、そのうちのいずれかの文字表示部の点灯により
対応する曜日を表示する。
月日表示部22には、月表示部22a及び日表示部22bが設
けられており、それぞれアラビア数字で月及び日を表示
する。
時表示部24及び分表示部26は、それぞれアラビア数字
で時及び分を表示する。また、秒表示部28では、コロン
を1秒間隔で点灯させることにより秒を表示する。
スピーカ14は、自動演奏音を発生するためのものであ
る。
モードスイッチMOSは、モード0〜モード4を循環的
に指定可能なもので、これによるモード変更は、モード
0でオンするとモード1に移り、この後オンするたびに
モード2、3、4が順次に指定され、モード4でオンす
るとモード0に戻るようにして行なわれる。ここで、モ
ード0は日付、時刻等を表示する通常表示モード、モー
ド1は時刻合せモード、モード2はアラーム時刻設定モ
ード、モード3は所望の日付に所望の曲を割当てるため
の特別曲設定モード、モード4はアラーム音(自動演奏
音)の鳴り始めの音量レベルを設定するための音量設定
モードである。各モード毎の表示例については、第3図
を参照して後述する。
アップ/ダウンスイッチUDSは、時刻合せモード等に
おいて表示された値をアップさせるためのアップスイッ
チ及び表示された値をダウンさせるためのダウンスイッ
チを含むもので、各スイッチのオン操作毎に1ずつ値が
変更される。
デモ/カーソルスイッチDSCは、通常表示モード(モ
ード0)のときはモード5としてのデモ演奏モードを選
択するために使用され、デモ演奏モード(モード5)の
ときは通常表示モードを選択するために使用され、時刻
合せモード(モード1)、アラーム時刻設定モード(モ
ード2)又は特別曲設定モード(モード3)のときはカ
ーソル(この実施例で点滅位置)を移動させるために使
用されるものである。
ストップスイッチSTSは、鳴り出したアラーム音を発
音停止させるために使用されるもので、オンすると、次
のオン時までオン状態を保持するメカニカルロック式の
ものである。
モード毎の表示例(第3図) 第3図(A)〜(F)は、モード0〜5についてそれ
ぞれ表示部12における表示例を示すものである。
(A)の通常表示モードでは、曜日表示部20、月表示
部22、時表示部24、分表示部26及び秒表示部28によりそ
れぞれ曜日、月日、時、分及び秒が表示される。そし
て、予めアラーム時刻を設定しておくと、その時刻にア
ラーム音が鳴り出す。この場合、アラーム音は、その日
に割当てられた曲の自動演奏音であり、曲の演奏はスト
ップスイッチSTSをオンしなければ30分間繰返される。
予め最高音量レベルより低い初期音量レベルを設定して
おいたときは、最初は初期音量レベルで曲が演奏され、
その演奏終了後は該曲の演奏繰返しのたびに音量レベル
を1段階ずつアップし、やがて最高音量レベルに達す
る。なお、日付が変われば演奏曲も変る。
このように、通常表示モードでは、アラーム時計とし
ての機能が得られる。
(B)の時刻合せモードでは、デモ/カーソルスイッ
チDCS及びアップ/ダウンスイッチUDSを適宜操作するこ
とにより所望の年号、曜日、時及び分を設定することが
できる。
月日表示部22には、後述するカーソルレジスタCURの
値が1であれば西暦年号がアラビア数字で表示され、1
でなければ月日が表示される。
CURの値は、スイッチDCSをオンするたびに1〜6の範
囲で1ずつ変化し、CURの値が1であれば、年号の下2
桁の数字が、2であれば月を表わす数字が、3であれば
日を表わす数字が、4であれば曜日を表わす文字が、5
であれば時を表わす数字が、6であれば分を表わす数字
がそれぞれ点滅する。そして、点滅位置の文字又は数字
はアップ/ダウンスイッチUDSの操作により変更可能で
ある。
(C)のアラーム時刻設定モードでは、スイッチDCS
及びUDSを適宜操作することにより所望のアラーム時刻
を設定することができる。この場合、時表示部24及び分
表示部26がアラーム時刻表示部として使用される。
CURの値は、スイッチDCSをオンするたびに1であれば
2に、2であれば1に交互に変化し、CURの値が1のと
きは時を表わす数字が、2のときは分を表わす数字が、
2のときは分を表わす数字がそれぞれ点滅する。そし
て、点滅位置の数字はスイッチUDSの操作により変更可
能である。
(D)の特別曲設定モードでは、スイッチDCS及びUDS
を適宜操作することにより任意の月日に特別曲10曲のう
ち任意のものを割当てることができる。この場合、時表
示部24には特別曲設定モードであることを表わす「SP」
の文字が表示されると共に分表示部28が曲番表示部とし
て使用される。
CURの値は、スイッチDCSをオンするたびに1〜3の範
囲で1ずつ変化し、CURの値が1であれば月を表わす数
字が、2であれば日を表わす数字が、3であれば曲番を
表わす数字がそれぞれ点滅する。そして、点滅位置の数
字はスイッチUDSの操作により変更可能である。曲番
は、0ならばその日に予め割当てられた固有曲であり、
1〜10ならば任意に割当可能な特別曲である。
(E)の音量設定モードでは、スイッチUDSを適宜操
作することにより0〜4の5段階の音量レベルのうち任
意のものをアラーム音の初期音量レベルと設定すること
ができる。この場合、時表示部24には音量設定モードで
あることを表わす「VL」の文字が表示されると共に分表
示部26が音量レベル表示部として使用される。また、こ
のモードでは、表示器22に表示された月日に割当てられ
た曲が表示部26に表示された音量レベルで演奏され、そ
の演奏を聴くことで設定した音量を確認することができ
る。
(F)のデモ演奏モードでは、時表示部24に該モード
をであることを表わす「dE」の文字が表示されると共
に、表示部22に表示された月日に割当てられた曲から始
めて366曲が順次に且つ繰返し自動演奏される。従っ
て、例えばバックグラウンドミュージック演奏機として
利用できる。この場合、スイッチUDSを任意の回数だけ
アップ操作することによりその回数に対応する数の曲を
飛ばして演奏したり、スイッチUDSを任意の回数だけダ
ウン操作することによりその回数に対応する数だけ曲を
戻して演奏したりこることができるので、所望の曲を選
択して演奏を楽しむこともできる。
表示部の変更例(第4図) 第4図は、上記表示部12に代えて使用可能な表示部12
Aを示すもので、この表示部12Aにおいて、20Aは曜日表
示部、21はモード表示部、22Aは月日表示部、25は時刻
表示部である。
曜日表示部20Aには、日、月、火、水、木、金、土に
それぞれ対応した「SUN」、「MON」、「TUE」、「WE
D」、「THU」、「FRI」、「SAT」の7つの文字表示部が
設けられており、そのうちいずれかの文字表示部の点灯
により対応する曜日を表示する。
モード表示部21には、通常表示モード、アラーム時刻
設定モード、特別曲設定モード、デモ演奏モード、音量
設定モードにそれぞれ対応した「TIME」、「ALARM」、
「SPECIAL」、「FULL」、「VOLUME」の5つの文字表示
部が設けられており、そのうちいずれかの文字表示部の
点灯により対応するモードを表示する。
月日表示部22Aは、月と日の間に斜線を入れた点を除
き前述の表示部22と同様である。
時刻表示部25は、1日を「AM」と「PM」に分けて12時
間制で時を表示するようにしたものであり、分及び秒の
表示は前述の表示部26、28と同様である。
アラーム時計の回路構成(第5図) 第5図は、上記したアラーム時計の回路構成を示すも
ので、この時計では、前述した各種モードの動作がマイ
クロコンピュータによって制御されるようになってい
る。
データバス30には、中央処理装置(CPU)32、プログ
ラムメモリ34、レジスタ群36、演奏情報メモリ38、テー
ブルメモリ40、テンポクロック発振器42、スイッチ群4
4、表示器群46、トーンジェネレータ(TG)48が接続さ
れている。
CPU32は、プログラムメモリ34にストアされたプログ
ラムに従って各種モードの処理を実行するもので、これ
らの処理についてハ第15図〜第27図を参照して後述す
る。
レジスタ群36は、CPU32による各種処理に際して使用
されるフラグ、カウンタ、レジスタ等を含むもので、こ
の発明の実施に関係するレジスタ類については後述す
る。
演奏情報メモリ38は、演奏情報(376曲分)、音色パ
ラメータ情報、リズムターン情報、ベースパターン情報
等を記憶したもので、その記憶内容の詳細については第
7図及び第8図を参照して後述する。
テーブルメモリ40は、階名、音域、テンポ、音量等に
関する変換テブールを記憶したもので、その記憶内容の
詳細については第9図を参照して後述する。
テンポクロック発振器42は、テンポデータTDに対応し
た周波数を有するテンポクロック信号TCLを発生するも
ので、信号TCLはCPU32に割込信号として供給され、自動
演奏音発生を制御するために使用される。
スイッチ群44は、前述したモードスイッチMOS、アッ
プ/ダウンスイッチUDS、デモ/カーソルスイッチDCS,
ストップスイッチSTS等を含むものである。
表示器群46は、前述した表示部12に属する種々の表示
器を含むものである。
TG48は、第1パート用の音源TG1と、第2パート用の
音源TG2と、ベース用の音源TGBと、リズム用の音源TGR
とを含むものである。音源TG1及びTG2はいずれも2チャ
ンネル構成であり、各音源毎に最大で2音もで同時発音
可能である。また、音源TGBは1チャンネル構成であ
り、音源TGRはバスドラム、スネアドラム、タンバリ
ン、ハイハットオープン、ハイハットクローズ…等の打
撃音源を含んでいる。
クロック発振器50は、2[Hz]のクロック信号CLを発
生するもので、信号CLはCPU32に割込信号として供給さ
れ、時計機能を得るために使用される。
サウンドシステム52は、出力アンプ、前述のスピーカ
14等を含むもので、TG48からの各種楽音信号を音響に変
換するようになっている。
上記した第5図の構成にあっては、予め音名毎のキー
コードから第6図に示すように定められている。
演奏情報メモリ38の記憶内容(第7図及び第8図) 第7図は、演奏情報メモリ38のデータフオーマットを
示すものであり、メモリ38には、演奏曲記憶部PATと、
音色パラメータ記憶部TPMと、リズムパターン記憶部RPM
と、ベースパターン記憶部BPMとが設けられている。い
ずれの記憶部においても、1アドレスあたりのデータ長
は1バイト(8ビット)である。
演奏曲記憶部PATには、ヘッドデータHDとして、第1
曲〜第376曲の曲長データが順次に記憶され、その後に
第1曲データ〜第376曲データが順次に記憶される。
各曲の曲長データは、対応する曲データのバイト数の
1/2に相当する値を8ビットで表現したもので、例えば
第1曲の曲長データの値をL1とすると、第1曲データの
実際のバイト数はL1×2となる。
このように実際の曲長の半分に相当する値を曲長デー
タとして記憶するようにしたのは、曲長データのビット
数を少なくするためである。すなわち、実際の曲長を表
現するには9ビット程度必要であるが、曲長の半分に相
当する値を記憶することにより8ビットで足りるように
したものである。一例として、510バイトに相当する曲
長は、8ビットの曲長データを用いて255バイトの曲長
として記憶される。
演奏曲として用意した376曲のうち、366曲は年間366
日にそれぞれ予め割当てられた固有曲であり、残り10曲
は例えば誕生日、結婚記念日等の所望の日付けに任意に
割当可能な特別曲である。
各曲の曲データは、第1曲データについて代表的に示
すように2パート構成とすることができる。第1パート
のデータは、パートヘッドデータPHD1として、第1パー
トのバイト数(l1)を表わすバイト数データと、曲の拍
子及びテンポを表わす拍子・テンポデータと、第1パー
トの音色を指定する音色データと、第1パートの音域を
指定する音域データとを順次に配置し、この後に第1パ
ート用のl1バイトの演奏データを配置したものである。
また、第2のパートのデータは、パートヘッドデータPH
D2として、第2パートの音色を指定する音色データと、
第2パートの音域を指定する音域データとを順次に配置
し、この後に第2パート用の演奏データを配置したもの
である。
拍子・テンポデータは、最上位ビット(MSB)が1で
あれば4拍子、0であれば3拍子を表わし、下位4ビッ
トが0〜15のいずれかのテンポレベルTMPを表わし、残
り3ビット不使用となっている。
各音色データは、各音色毎に予め定められた音色ナン
バにより音色を指定するもので、そのデータフォーマッ
トは第8図について後述する音色データの2バイト目と
同様である。この実施例では、指定可能な音色の数が12
8であり、音色ナンバは0〜127のいずれかである。
各音域データは、第9図(B)に示すように各音域毎
に予め定められた音域ナンバTRNOにより音域を指定する
もので、そのデータフォーマットは第8図について後述
する音域データの2バイト目と同様である。
各パートの演奏データとしては、第8図に示すように
種々のものがあり、これについては後述する。記憶部PA
Tの記憶データを用いることにより各曲毎にメロディ、
和音等の自動演奏が可能となる。なお、記憶部PATの記
憶例については第11図及び第12図を参照して後述する。
音色パラメータ記憶部TPMには、0〜127の音色ナンバ
にそれぞれ対応する128音色分の音色パラメータ情報が
記載されている。記憶部TPMを参照することにより音色
データは対応する音色パラメータ情報に変換される。
リズムパターン記憶部RPMには、マーチ、ボサノバ…
等の31種類のリズムにそれぞれ対応したリズムパターン
データが記憶されており、各リズム種類に対応したリズ
ムパターンデータは2小節分のリズムパターンを表わす
32バイトの音源制御データからなっている。これら32バ
イトの音源制御データはテンポクロック信号TCLのカウ
ント値0〜31に対応して32のアドレスにそれぞれ記憶さ
れるもので、その記憶例については第13図及び第14図を
参照して後述する。この実施例では、所望の曲の曲デー
タ中にリズム種類を指定するリズム種類データを含ませ
ておくことによりその曲に合った自動リズム演奏を遂行
可能としている。
ベースパターン記憶部BPMには、上記した31種類のリ
ズムにそれぞれ対応したベースパターンデータが記憶さ
れており、各リズム種類に対応したベースパターンデー
タは2小節分のベースパターンを表わす32バイトのベー
ス制御データからなっている。これら32バイトのベース
制御データは、テンポクロック信号TCLのカウント値0
〜31に対応して32のアドレスにそれぞれ記憶されるもの
で、各ベース制御データは対応するカウント値のタイミ
ングで非発音であれば全ビット0、要発音であれば根音
Cからのベース音程を半音数で表わすようになってい
る。こなお実施例では、所望の曲の曲データ中に和音の
根音及びタイプを指定する和音データを含ませておき、
この和音データとベース制御データの示すベース音程と
に基づいてベース音高を決定することにより該曲に合っ
た自動ベース演奏を遂行可能にしている。この場合、ベ
ースパターンデータはリズム種類データに応じて選択さ
れ、リズムに合ったベース演奏が可能である。
第8図は、各種演奏データのフォーマットを示すもの
である。演奏データは、音の発生又は消滅を制御する1
バイト構成のデータと、それ以外の演奏制御に関係する
2バイト構成のデータとに大別される。
1バイト構成のデータとしては、キーオンデータとキ
ーオフデータとがある。キーオンデータは、音符に関し
て発音タイミング及び音高を表わすもので、第0〜第3
ビットが階名ナンバNNOを、第4〜第6ビットがタイミ
ングTIMを、第7ビット(MSB)が発音命令(=1)をそ
れぞれ表わす。また、キーオフデータは、音符に関して
昇温タイミング及び音高を表わすもので、第7ビットが
消音命令(=0)を表わす以外はキーオンデータと同様
の構成になっている。
階名ナンバNNOは、第9図(A)に示すように予め各
階名毎に定められているものである。第9図(A)で
は、ソ(−)かソ(+)まで2オクターブ分の階名を採
用しているが、これは通常の曲が経験則上このような音
域をとることが多いことによるものである。
タイミングTIMは、区間内タイミングであり、0〜7
のいずれかの値をとる。ここで、区間内タイミングは、
第11図に示すように、半小節を単位演奏区間とし、これ
を16分音符に対応して8等分し、順次の区分にそれぞれ
0〜7を割当てることにより定められたものである。
次に、2バイト構成のデータとしては、1バイト目の
MSBが1のデータと、0のデータとがある。
1バイト目MSB=1のデータとしては、音色データ、
音域データ、リズム種類データ、テンポ制御データ、音
量制御データ等がある。
音色データにおいて、1バイト目は、第0〜第3ビッ
トが「1111」で制御命令を表わし、第4〜第6ビットが
タイミングTIMを表わし、MSBが1である。制御命「111
1」は、第9図に(A)において階名ナンバNNOとして不
使用のものであるから、音色データの1バイト目とキー
オンデータとを判別することは可能である。音色データ
の2バイト目は、第0〜第6ビットが音色ナンバTONOを
表わし、MSBが1である。音色ナンバTONOは、前述した
ように0〜127のいずれかである。
音域データ、リズム種類データ、テンポ制御データ及
び音量制御データについては、いずれも1バイト目が音
色データの1バイト目と同様であるので図示及び説明を
省略し、2バイトのみ説明する。音域データの2バイト
目は、第0〜第5ビットが音域ナンバTRNOを表わし、第
7〜第6ビットが「01」である。リズム種類データの2
バイト目は、第0〜第4ビットが0〜30のいずれかのリ
ズムナンバRHYを表わし、第7〜第5ビットが「001」で
ある。RHY=0〜30は、前述した31種類のリズムにそれ
ぞれ対応している。RHYとしては、31が与えられること
があり、これはリズムなしを表わす。テンポ制御データ
の2バイト目は、第0〜第3ビットが0〜15のいずれか
のテンポレベルTMPを表わし、第7〜第4ビットが「000
1」である。音量制御データの2バイト目は、第0〜第
2ビットが0〜4のいずれか音量レベルVOLを表わし、
第7〜第3ビットが「00001」である。
1バイト目MSB=0のデータとしては、休止データ、
臨時記号データ、和音データ、エンドデータ等がある。
休止データにおいて、1バイト目は第0〜第3ビット
が「1111」で制御命令を表わし、第4〜第6ビットがタ
イミングTIM=「000」で半小節の開始タイミングを表わ
し、MSBが0である。また、2バイト目は、第0〜第4
ビットが休止期間の長さを半小節の数SKPで表わし、第
7〜第5ビットが「001」である。例えばSKP=2とすれ
ば、1小節相当の休止期間が得られる。
臨時記号データ、和音データ及びエッドデータについ
ては、いずれも1バイト目任意のタイミングTIMを表わ
す点を除き休止データの1バイト目と同様であるので説
明を省略し2バイト目のみ説明する。臨時記号データの
2バイト目は、第0ビット(LSB)が0又は1でそれぞ
れシャープ又はフラットの記号ナンバSFを表わし、第7
〜第1ビットが「0000011」である。臨時記号データ
は、その直後に配置されるキーオンデータ又はキーオフ
データについてのみその半高を半音上げ又は下げるよう
に作用するものである。和音データの2バイト目は、第
0〜第1ビットが0〜3のいずれかの和音タイプナンバ
TYPを表わし、第2〜第5ビットが0え11のいずれかの
根音ナンバROOTを表し、第7〜第6ビットが「01」であ
る。TYP=0.1、2、3はそれぞれメジャ、マイナ、セブ
ンス、マイナセブンに対応し、ROOT=0、1…11はそれ
ぞれC、C…Bに対応する。ROOTとしては、15が与え
らることがあり、これはベースなしを表わす。エンドデ
ータの2バイト目は、第7〜第0ビットが「00000001」
で曲の終りを表わす。
テーブルメモリ40の記憶内容(第9図) 第9図(A)〜(D)は、テーブルメモリ40の記憶内
容を示すもので、(A)は階名ナンバー音程変換テーブ
ルTBLNT、(B)は音域ナンバー基準音高変換テーブルT
BLTR、(C)はテンポレベル−拍数変換テーブルTBLT
M、(D)は音量レベル−減衰量変換テーブルTBLVLをそ
れぞれ示す。
テーブルTBLNTにあっては、ソ(−)〜ソ(+)にそ
れぞれ対応した0〜14の階名ナンバNNOに対応して音程
データが記憶される。この場合、記憶される音程データ
は、等分平均律の長音階に従って各階名毎に基準階名ソ
(−)からの音程を半音数で表わすもので、「シ」と
「ド」の間及び「ミ」と「ファ」の間でいずれも1半音
の音程になっている。
テーブルTBLTRにあっては、図示のように予め定めら
れた52の音域にそれぞれ対応した0〜51の音域ナンバTR
NOに対応して基準音高データが記憶される。この場合、
記憶される基準音高データは、各音域毎に上記基準階名
に対応する基準音高として最低音のキーコードを表すも
のである。各音域毎に最低音をソ(−)とすると、
「ド」に対応するのが主調音であり、上記長音階に基づ
く調が決まる。各音域毎にそれぞれ対応する調名を音域
の右側に示してある。
テーブルTBLTMにあっては、0〜15のテンポレベルTMP
にそれぞれ対応してテンポレベルTMPにそれぞれ対応し
てテンポデータが記憶される。この場合、記憶されるテ
ンポデータは、4分音符を1拍として毎分当りの拍数を
表わすものである。
テーブルTBLVLにあっては、0〜4の音量レベルVOLに
それぞれ対応して音量データが記憶される。この場合、
記憶される音量データは、減衰量(単位はdB)を表わす
ものである。
日付けと曲番の関係(第10図) 第10図は、年間の日付けと通し曲番及び特別曲番との
関係を示すものである。
通し曲番1〜366の曲は、1月1日から12月31日まで
の366日にそれぞれ予め割当てられた固有曲であり、こ
れらの固有曲についてはいずれも特別曲番が0とされ
る。固有曲は、1月1日ならば正月の曲、1月2日なら
ば他の曲というように日毎に異なる。通し曲番1〜366
は、年間の通し日付けに対応するものがあり、後述する
通し日付導出処理を容易にするためには年間の暦日付に
対応する通し日付をテーブルメモリ40等に記載しておく
とよい。
通し曲番367〜376の曲は、所望の日付に任意に割当可
能な特別曲であり、それぞれ1〜10の特別曲が与えられ
る。特別曲は、例えば結婚記念日の曲、誕生日の曲等互
いに異なるものが10曲用意されている。
演奏曲に記憶(第11図及び第12図) 第11図は、前述の演奏曲記憶部PATに記憶すべき曲の
一例を示すもので、この曲は第1パート及び第2パート
からなるへ長調(主調音F)の曲であり、1小節目の途
中から始まる弱起の曲である。
第12図は、第11図の曲に関して記憶部PATに記憶され
る第1及び第2パートのデータの一部を示したのもで、
各パートのデータとしては、パートヘッドデータのうち
音色データ及び音域データと、第11図の区間a及びbの
演奏データとを示してある。第12図において、[TIM]
は、第11図に示したタイミングTIMに相当するものであ
る。
第1パートのデータにおいて、パートヘッドデータPH
D1としての音色データはトランペット音色に対応した音
色ナンバTONO=4を表わすものであり、パートヘッドデ
ータPHD1としての音域データはC2〜C4に音域(へ長調)
に対応した音域ナンバTRNO=27を表わすものである。こ
の後、区間aの演奏データとしては、最初の音符の階名
「ソ」を表わすキーオンデータ(TIM=0)、2番目の
音符の階名「ソ」を表わすキーオンデータ(TIM=
1)、階名「ソ」の音を消すためのキーオフデータ(TI
M=2)、マーチに対応するリズムナンバRHY=2を表わ
すリズム種類データ(TIM=2)、2小節目の最初の音
符の階名「ド(+)」を表わすキーオンデータ(TIM=
0)、Fメジャを表わす和音データ(TIM=0)、階名
「ド(+)」の音を消すためのキーオフデータ(TIM=
1)…が順次に記憶され、区間b以降も同様にして曲内
容に応じた演奏データが記憶される。
第2パートのデータにおいて、パートヘッドデータPH
D2としての音色データはピアノ音色に対応した音色ナン
バTONOを表わすものであり、パートヘッドデータPHD2
しての音域データは第1パートと同様にしTRNO=27を表
わすものである。この後、区間aの演奏データとして
は、1半小節分の休止期間を表わす教示データ(TIM=
0)、2小節目の最初の2音符のうち低い方の音符の階
名「ド」を表わすキーオンデータ(TIM=0)、該2音
符のうち高い方の音符の階名「ミ」を表わすキーオンデ
ータ(TIM=0)、階名「ド」の音を消すためのキーオ
フデータ(TIM=1)…が順次に記憶され、区間b以降
も同様にして曲内容に応じた演奏データが記憶される。
区間bの演奏データには、シャープを表わす臨時記号デ
ータが階名「ソ」のキーオンデータ及びキーオフデータ
に関して含まれており、該臨時記号データは階名「ソ」
の音の音高を半音高く設定するのに用いられる。
リズムパターンの記憶(第13図及び第14図) 第13図(A)は、前述のリズムパターン記憶部RPMに
記憶すべきリズムパターンの一例としてボサノバの2小
節分のリズムパターンを示すもので、「HHC」はハイハ
ットクローズ、「SD」はスネアドラム、「BD」はバスト
ドラムの各演奏内容を表わしている。TCLK=0〜15は、
後述するテンポクロックカウンタの4拍子の場合のカウ
ント値であり、テンポクロック信号TCLに基づく小節内
の順次のクロックタイミングを表わす。また、TBAR=0
又は1は、後述する小節フラグの値であり、この小節フ
ラグは小節進行に従って小節毎に0と1が交互にセット
されるものである。
ここで、TCLK及びTBARを組合せると、2小節内で32の
クロックタイミングを表現可能である。すなわち、TBAR
×16+TCLKなる式に従うと、0〜31のクロックタイミン
グが定められ、各クロックタイミング毎に打撃音源の発
音の要否等の制御内容を指定可能となる。
第14図は、このような表現形式を用いて32のクロック
タイミングに対応する32バイトの音源制御データにより
第13図(A)のリズムパターンを表現したリズムパター
ンデータを示すものであり、0〜31のクロックタイミン
グに対応した32バイトの音源制御データは、記憶部RPM
のボサノバ用記憶領域に0〜31のアドレスに対応して記
憶される。ただし、第14図では、各奇数アドレスに対応
する音源制御データについては全ビット0であるのでア
ドレス及びデータ内容の図示を省略してある。
各偶数アドレスに対応する音源制御データにあって
は、第0〜第7ビットの指示内容が予め次のように定め
られている。ビット番号 指示内容 0 ハイハットクローズHHCの発音の要否 1 ハイハットオープンHHOの発音の要否 2 タンバリンTMの発音の要否 3 スネアドラムSDの発音の要否 4 バスドラムBDの発音の要否 5 不使用 6 ロール発音の要否 7 アクセント付加の要否 ここで、要否については、要ならば1、否ならば0で
あり。
上記した32バイトの音源制御データをテンポクロック
信号TCLに基づいてアドレス進行順に反復的に続出すと
共に各読出データに応じてリズム用の音源TGRを制御す
ることによりボサノバの自動リズム演奏を遂行すること
ができる。
ところで、第13図(B)は、ワルツの2小節分のリズ
ムパターンを示すのもで、同図(A)のボサノバのリズ
ムパターンのうち各小節毎に第1〜第3拍を流用したも
のである。このようなワルツの自動リズム演奏を行なう
には、第14図のリズムパターンデータのうち各小節毎に
第1〜第3拍の3拍分の音源制御データを読出してリズ
ム用の音源TGRを制御すればよい。すなわち、ワルツの
曲にあっては、リズム種類データによりパターン流用可
能なボサノバを指定することにより第14図のパターンデ
ータを読出指定すると共に、拍子・テンポデータにより
3拍子を指定することによりTCLKの値を小節内で0〜11
とし、第14図のパターンデータのうち1小節目ではアド
レス0〜11の音源制御データを、2小節目ではアドレス
16〜27の音源制御データをそれぞれ読出すようにする。
このようにすると、ワルツ専用のリズムパターンを記
憶する必要がなく、記憶容量の低減が可能となる。ま
た、記憶部RPMには、前述のように31種類のリズムパタ
ーンを記憶したが、上記のように1つのリズムパターン
を複数のリズム種類に共用するので、実際に演奏可能な
リズム種類は31種類より多くなる。なお、リズムパター
ンの流用は、4拍子のパターンの一部を3拍子のパター
ンとして流用するものに限らず、2拍子のパターンを繰
返して4拍子のパターンとしたり、4拍子のパターンを
流用して6拍子のパターンを表現したりするものであっ
てもよい。
レジスタ群36 レジスタ群36に属するレジスタ類のうち、この発明に
実施に関係するものをアルファベット順に列挙すると、
次の通りである。
(1)アラーム時レジスタALMH…これは、アラーム時刻
に関し、0〜23のいずれかの時情報がセットされるもの
である。
(2)アラーム分レジスタALMM…これは、アラーム時刻
に関し、0〜59のいずれかの分情報がセットされるもの
である。
(3)拍子レジスタBEAT…これは、拍子データがセット
されるもので、3ならば3拍子を、4ならば4拍子をそ
れぞれ表わす。
(4)チェンジフラグCHG…これは、1ビットのレジス
タであり、時刻合せモードにおいて時刻変更があると1
がセットされるものである。
(5)テンポクロックリセットフラグCLKFLG…これは、
1ビットのヱジスタであり、演奏開始にあたり1がセッ
トされるものである。このレジスタに1がセットされる
と、リズムパターンデータ等の読出開始時にテンポクロ
ックカウンタTCLKが0にセットされる。
(6)カーソルレジスタCUR…これは、デモ/カーソル
スイッチDCSの操作に応じて時刻合せモードは1〜6の
範囲で、アラーム時刻設定モードでは1〜2の範囲で、
特別曲設定モードでは1〜3の範囲でそれぞれ値が1ず
つ変更されるものである。
(7)日レジスタDAY…これは、0〜31のいずれかの日
情報がセットされるものである。
(8)読出データレジスタDT…これは、演奏曲記憶部PA
Tからの読出データを一時記憶させるためのものであ
る。
(9)時レジスタHOUR…これは、0〜23のいずれかの時
情報がセットされるものである。
(10)制御変数レジスタi…これは、制御変数iがセッ
トされるものである。
(11)キーコードレジスタKC…これは、発音又は消音す
べき音に対応したキーコードがセットされるものであ
る。
(12)キーコードバッファレジスタKCBUF1、KCBUF2…こ
れらのレジスタは、それぞれ第1及び第2パート用の音
源TG1及びTG2に対応したもので、いずれも2チャンネル
分のキーコード記憶領域を有する。音源TG1についてはK
CBUF1を用いて、音源TG2についてはKCBUF2を用いてそれ
ぞれキーオン(発音開始)又はキーオフ(発音停止)処
理が行なわれる。
(13)コロン制御レジスタLED…これは、秒表示部28を
構成するコロンの点滅制御に用いられるもので、クロッ
ク信号CLに基づいて1と0が交互にセットされる。
(14)曲長データレジスタLEN…これは、曲長の半分に
対応するバイト数データをストア又は累算するために用
いられるものである。
(15)分レジスタMIN…これは、0〜59のいずれかの分
情報がセットされるものである。
(16)モードナンバレジスタMDNO…これは、0〜5のい
ずれかのモードナンバがセットされるものである。
(17)月レジスタMON…これは、1〜12のいずれかの月
情報がセットされるものである。
(18)通し日付レジスタNUM…これは、1〜366のいずれ
か通し日付情報がセットされるものである。
(19)通し曲番レジスタNUM2…これは、1〜376のいず
れかの通し曲番がセットされるものである。
(20)プレイフラグPLAY…これは、1ビットのレジスタ
であり、1ならば演奏状態を、0ならば非演奏状態をそ
れぞれ表わす。
(21)先頭アドレスポインタPNTA…これは、演奏開始に
あたり曲データの先頭アドレスがセットされるものであ
る。
(22)読出アドレスポインタPNT1、PNT2…これらのポイ
ンタは、それぞれ第1及び第2パートに対応したもの
で、各パート毎に読出アドレスを指示するのに使用され
る。
(23)リズムナンバレジスタRHYR…これは、0〜30のい
ずれかのリズムナンバRHYがセットされるもので、これ
はリズムなしを表わす31がセットされることもある。
(24)根音レジスタROTR…これは、0〜11のいずれかの
根音ナンバROOTがセットされるもので、これにはベース
なしを表わす15がセットされることもある。
(25)秒レジスタSEC…これは、0〜59のいずれかの秒
情報がセットされるものである。
(26)臨時記号レジスタSFR1、SFR2…これらのレジスタ
は、それぞれ第1及び第2のパートに対応したもので、
各パート毎に0〜2のいずれかの臨時記号ナンバがセッ
トされる。ここで、臨時記号ナンバ0、1、2は、それ
ぞれナチュラル、シャープ、フラットに対応する。
(27)半小節数レジスタSKP1、SKP2…これらのレジスタ
は、それぞれ第1及び第2パートに対応したもので、各
パート毎に休止期間長に対応した半小節数がセットされ
る。各レジスタのセット値は、テンポクロックカウンタ
TCLKのカウント値が0になるタイミング毎にい1ずつ減
算され、該レジスタの値が0になると、休止期間は終り
となる。
(26)特別曲番レジスタSP(1)〜SP(366)…これら
のレジスタは、それぞれ年間の通し日付1〜366に対応
したもので、各日付毎に0又は1〜10のいずれかの特別
曲番がセットされる。セット値が0のレジスタについて
はそれに対応する日付で固有曲が演奏され、セット値が
1〜10のいずれかであるレジスタについてはそれに対応
する日付でセット値に対応した特別曲が演奏される。
(29)ストップフラグSTPF…これは、ストップスイッチ
STSの状態を表わす1ビットのレジスタであり、1なら
ばSTSオン状態を、0ならば、STSオフ状態をそれぞれ表
わす。
(30)小節フラグTBAR…これは、1ビットのレジスタで
あり、小節進行に従って小節毎に0と1が交互にセット
されるのもである。
(31)テンポクロックカウンタTCLK…これは、テンポク
ロック信号TCLを計数するもので、3拍子ならば0〜11
のカウント値をとって12になるタイミングで0にリセッ
トされ、4拍子ならば0〜15のカウント値をとって16に
なるタイミングで0にリセットされる。
(32)テンポレジスタTEMPO…これは、テーブルTBLTMか
ら読出したテンポデータ(毎分当りの拍数を表わすも
の)がストアされるもので、該テンポデータはテンポデ
ータTDとしてテンポクロック発振器42に供給される。
(33)音色レジスタTONE1、TONE2…これらのレジスタ
は、それぞれ第1及び第2パート用の音源TG1及びTG2
対応したもので、各々対応するパートの音色がストアさ
れる。音源TG1についてはTONE1を用いて、音源TG2につ
いてはTONE2を用いてそれぞれ音色設定処理が行なわれ
る。
(34)基準音高レジスタTRNS1、TRNS2…これらのレジス
タは、それぞれ第1及び第2パートに対応したもので、
各パート毎にテーブルTBLTRが読出した基準音高データ
がストアされる。
(35)トータル音量レジスタTVOL…これは、0〜4のい
ずれかのトータル音量レベルがセットされるもので、そ
のセット値に応じて演奏音のトータル音量が制御され
る。この場合、セット値が大きいほど音量は大となる。
(36)和音タイプレジスタTYPE…これは、0〜3のいず
れかの和音タイプナンバTYPがセットされるものであ
る。
(37)パート音量レジスタVOL1、VOL2…これらのレジス
タは、それぞれ第1及び第2パートに対応したもので、
各パート毎にテーブルTBLVLから読出した音量データ
(減衰量を表わすもの)がストアされる。音源TG1の音
量はVOL1の音量データに応じて、音源TG2の音量はVOL2
の音量データに応じてそれぞれ制御される。
(38)曜日レジスタWEEK…これは、日〜土の曜日にそれ
ぞれ対応した0〜6のいずれかの曜日情報がセットされ
るものである。
(39)年レジスタYEAR…これは、西暦年号の下2桁に相
当する00〜99のいずれかの年情報がセットされるもので
ある。なお、西暦線郷お上2桁は常に「19」が表示され
るようになっているが、下2桁と同様に任意に変更可能
としてもよいこと勿論である。
次に、第15図乃至第21図を参照してメインルーチンに
おける初期セット処理、通常表示処理、時刻合せ処理、
アラーム時刻設定処理、特別曲設定処理及びデモ演奏処
理を順次に説明する。
初期セット処理(第15図) 第15図の初期セット処理は、電源投入等に応じてスタ
ートする。
まず、ステップ60では、STPFに1を、PLAYに0をそれ
ぞれセットするあ。そして、ステップ62に移る。
ステップ62では、YEARに88を、MONに1を、DAYに1
を、WEEKに0をそれぞれセットする。すなわち、日付と
しては、1988年1月1日(日曜日)がセットされる。ま
た、HOUR、MIN、SEC及びLEDにはいずれも0をセットす
る。この後、ステップ64に移る。
ステップ64では、ALMHに12を、ALMMに0をそれぞれセ
ットする。すなわち、アラーム時刻は12時0分にセット
される。この後、ステップ66に移る。
ステップ66では、SP(1)〜SP(366)にいずれも0
をセットする。すなわち、年間366日についてそれぞれ
固有曲を演奏可能とする。そして、ステップ68に移る。
ステップ68では、TVOLに4(最大音量に対応)をセッ
トする。この後、第16図の通常表示処理に移る。
通常表示処理(第16図) 第16図の通常表示処理において、ステップ70の処理
は、後述の第20図又は第21図の処理から第16図の処理に
移ったときに必要なもので、このステップ70では、すべ
てのKCBUF(KCBUF1、KCBUF2等)をクリアし、TG48に属
するすべての音源を発音停止とすべくキーオフ処理を行
なう。そして、ステップ72に移る。
ステップ72では、MON、DOAY、WEEK、HOUR、MINの内容
を第3図(A)で示したように表示部12の所定位置にそ
れぞれ表示する。そして、ステップ74でPLAYに0をセッ
トしてからステップ76に移り、MDNO(通常表示モードに
対応)をセットする。
次に、ステップ78では、スイッチMOSがオンか判定
し、この判定結果が肯定的(Y)であれば第17図の時刻
合せ処理に移る。
ステップ78の判定結果が否定的(N)であったときは
ステップ80に移り、スイッチDCSがオン判定する。この
判定結果が肯定的(Y)であれば第21図のデモ演奏処理
に移る。
ステップ80の判定結果が否定的(N)であったときは
ステップ82に移り、スイッチSTSがオン状態か判定す
る。通常は、スイッチSTSをオンしないので、ステップ8
2の判定結果が否定的(N)となり、ステップ84に移
る。
ステップ84では、STPFに0をセットする。例えばステ
ップ60の後はじめてステップ84にきたときはSTPFの値は
1から0に変化する。ステップ84の後は、ステップ78に
戻り、上記のような処理を繰返す。
スイッチSTSをオンすると、ステップ82の判定結果が
肯定的(Y)となり、ステップ86に移る。ステップ86で
は、STPFが0か判定する。例えば電源投入時にスイッチ
STSがオンされているような例外的な場合にあっては、
ステップ86の判定結果が否定的(N)となり、ステップ
78に戻る。そして、ステップ78以下の処理を上記したの
同様に繰返す。
例えばアラーム演奏中にスイッチSTSをオンしたよう
な場合にあっては、ステップ86の判定結果が肯定的
(Y)となり、ステップ88に戻る。ステップ88では、ST
PFに1をセットする。そして、ステップ90に移る。
ステップ90では、PLAYが1か判定する。上記のように
アラーム演奏中にスイッチをオンしたときはPLAY=1で
あるので、ステップ90の判定結果は肯定的(Y)とな
り、ステップ92に移る。ステップ92では、PLAYに0をセ
ットする。そして、ステップ9に移る。
ステップ94では、ステップ70と同様にして全KCBUFを
をクリアすると共に48を発音停止とすべくキーオフ処理
を行なう。
ステップ94の処理が終ったとき又はステップ90の判定
結果が否定的(N)であった(例えば非演奏状態でスイ
ッチSTSをオンした)ときはステップに戻り、上記のよ
うな処理を繰返す。
時刻合せ処理(第17図) 第17図の時刻合せ処理において、ステップ100では、
第3図(B)で示したような表示を表示部12に行なわせ
る。すなわち、月の位置に「19」を、日の位置にYEARの
内容をそれぞれ表示すると共に、WEEK、HOUR、MINの内
容をそれぞれ所定位置に表示する。そして、ステップ10
2に移る。
ステップ102では、MDNOに1(時刻合せモードに対
応)をセットする。そして、ステップ104でCURに1を、
CHGに0をそれぞれセットしてからステップ106に移る。
ステップ106では、CURの値に対応する表示を点滅させ
る。例えばステップ104の後はじめてステップ106にきた
ときは、YEARの表示が点滅する。
次に、ステップ108では、スイッチMOSがオン判定す
る。この判定結果が肯定的(Y)であれば第18図のアラ
ーム時刻設定処理に移る。
ステップ108の判定結果が否定的(N)であったとき
はステップ110に移り、スイッチUDSがオンか判定する。
この判定結果が肯定的(Y)であればステップ112に移
り、YEAR、MON、DAY、WEEK、HOUR及びMINのうちカーソ
ル位置(点滅位置)に対応するレジスタの値を制限範囲
内でアップ又はダウン操作に応じてそれぞれ増加又は減
少させる。このようなレジスタ値の変更に従ってカーソ
ル位置の表示内容も変更される。この後、ステップ114
に移り、CHGに1をセットする。
ステップ114の処理が終ったとき又はステップ110の判
定結果が否定的(N)であったときはステップ116に移
り、スイッチDCSがオンが判定する。この判定結果が肯
定的(Y)であればステップ118に移る。
ステップ118では、CURの値を1アップする。この場
合、CURの値は1〜6の範囲に制限するものとし、6で
あったときは1にする。この後、ステップ120に移る。
ステップ120では、月日の位置にCUR=1ならばステッ
プ100と同様に年号を表示し、CUR=1でなければ月日
(MON及びDAYの内容)を表示する。
ステップ120の処理が終ったとき又はステップ116の判
定結果が否定的(N)であったときはステップ106に戻
り、上記のような処理を繰返す。
上記したステップ106〜120の処理によれば、スイッチ
DCS及びUDSを適宜操作することにより年号、月、日、曜
日、時、分を任意に設定することができる。
アラーム時刻設定処理(第18図) 第18図のアラーム時刻設定処理において、ステップ13
0では、CHGが1か判定する。この判定結果が肯定的
(Y)であれば、時刻変更があったことになり、ステッ
プ132でSECに0をセットする。これは、新たに設定され
た時刻に関して秒を0ら開始させるためである。
ステップ132の処理が終ったとき又はステップ130の判
定結果が否定的(N)であったときはステップ13に移
り、第3図(C)で示したような表示を表示部12に行な
わせる。すなわち、MON、DAY、WEEKをそれぞれ所定位置
に表示すると共に、ALMH、ALMMをそれぞれ時、分の位置
に表示する。そして、ステップ136に移る。
ステップ136では、MDNOに2(アラーム時刻設定モー
ドに対応)をセットする。そして、ステップ138でCURに
1をセットしてからステップ10に移る。
ステップ140では、CURの値に対応する表示を点滅させ
る。例えばステップ138の後はじめてステップ140にきた
ときは、ALMHの表示が点滅する。
次に、ステップ142では、スイッチMOSがオン判定し、
この判定結果が肯定的(Y)であれば第19図の特別曲設
定処理に移る。
ステップ142の判定結果が否定的(N)であったとき
はステップ144に移り、スイッチUDSがオンか判定する。
この判定結果が肯定的(Y)であればステップ146に移
り、ALMH及びALMMのうちカーソル位置に対応するレジス
タの値を制限範囲内でアップ又はダウン操作に応じてそ
れぞれ増加又は減少させる。このようなレジスタ値の変
更に従ってカーソル位置の表示内容(アラーム時刻)も
変更される。
ステップ146の処理が終ったとき又はステップ144の判
定結果が否定的(N)であったときはステップ148に移
り、スイッチCDSがオンが判定する。この判定結果が肯
定的(Y)であればステップ150に移り、CUR=1ならば
CURに2を、CUR=2ならばCURに1をそれぞれセットす
る。
ステップ150の処理が終ったそき又はステップ148の判
定結果が否定的(N)であったときは、ステップ140に
戻り、上記のような処理を繰返す。
上記したステップ140〜150の処理によれば、スイッチ
DCS及びUDSを適宜操作することによりアラーム時刻を任
意に設定することができる。
特別曲設定処理(第19図) 第19図の特別曲設定処理において、ステップ160で
は、第3図(D)で示したような表示を表示部12に行な
わせる。すなわち、MON、DAY、WEEKの内容をそれぞれ所
定位置に表示すると共に、時の位置に「SP」なる文字を
表示する。そして、ステップ162に移る。
ステップ162はでは、MDNOに3(特別曲設定モードに
対応)をセットする。そして、ステップ164に移り、MO
N、DAYから通し日付を導出してNUMに入れる。
次に、ステップ166では、NUMの通し日付に対応するレ
ジスタSP(NUM)の値を分の位置に表示する。そして、
ステップ168でCURに1をセットしてからステップ170に
移る。
ステップ170では、CURの値に対応する表示を点滅させ
る。例えばステップ168の後はじめてステップ170にきた
ときは、MONの表示が点滅する。この後、ステップ172に
移る。
ステップ172では、スイッチMOSがオンか判定する。こ
の判定結果が肯定的(Y)であれば第20図の音量設定処
理に移る。
ステップ172の判定結果が否定的(N)であったとき
はステップ174に移り、スイッチUDSがオンが判定する。
この判定結果が肯定的(Y)であればステップ176に移
る。
ステップ176では、CUR=1ならばMONの値をアップ又
はダウン操作に応じてそれぞれ1アップ又はダウンさせ
る。また、CUR=2ならばDAYの値をアップ又はダウンさ
せる。また、CUR=2ならばDAYの値をアップ又はダウン
操作に応じてそれぞれ1アップ又はダウンさせる。この
ようなMON又はDAYの値の変更に従って月又は日の表示も
変更される。そして、いずれの場合にも、MON及びDAYに
基づいて通し日付を導出し、NUMにセットする。このよ
うにNUMの値が変すると、新たなNUMの値に従ってSP(NU
M)の内容が表示される。
ステップ176において、CUR=3であったときはSP(NU
M)の値をアップ又はダウン操作に応じてそれぞれ1ア
ップ又はダウンさせる。このようなSP(NUM)の値の変
更に従って表示中の特別曲番も変更される。
ステップ176の処理が終ったとき又はステップ174の判
定結果が否定的(N)であったときはステップ178に移
り、スイッチDCSがオンか判定する。この判定結果が肯
定的(Y)であればステップ180に移り、CURの値を1ア
ップする。この場合、CURの値は1〜3の範囲に制限す
るものとし、3であったときは1とする。
ステップ180の処理が終ったとき又はステップ178の判
定結果が否定的(N)であったときはステップ170に戻
り、上記のような処理を繰返す。
上記したステップ170〜180の処理によれば、スイッチ
DCS及び及びUDSを適宜操作することにより任意の月日に
任意の特別曲を割当てることができる 音量設定処理(第20図) 第20図の音量設定処理において、ステップ190では、
第3図(E)で示したような表示を表示部12に行なわせ
る。すなわち、MON、DAY、WEEKの内容をそれぞれ所定位
置に表示すると共に、時の位置に「VL」なる文字を分の
位置にはTVOLの内容をそれぞれ表示する。そして、ステ
ップ192に移る。
ステップ192では、MDNOに4(音量設定モードに対
応)をセットする。そして、ステップ194に移り、第24
図について後述するようにアラームスタートのサブルー
チンを実行し、しかる後ステップ196でPLAYに1をセッ
トする。この結果、表示された日付の曲が分の位置に示
された音量レベルで自動演奏開始となる。
次に、ステップ198では、スイッチMOSがオン判定す
る。この判定結果が肯定的(Y)であれば第16図の通常
表示処理に移る。
ステップ198の判定結果が否定的(N)であったとき
はステップ200に移り、スイッチUDSがオンか判定する。
この判定結果が肯定的(Y)であればステップ202に移
り、TVOLの値を0〜4の範囲でアップ又はダウン操作に
応じてそれぞれ1アップ又はダウンさせる。このような
TVOLの値の変更に従って自動演奏の音量と表示中の音量
レベルが変更される。
ステップ202の処理が終ったとき又はステップ200の判
定結果が否定的(N)であったときはステップ198に戻
り、上記のような処理を繰返す。
上記したステップ198〜202の処理によれば、スイッチ
UDSを適宜操作することにより自動演奏音を聴きながら
アラーム音の鳴り始めの音量レベルを任意に設定するこ
とができる。
デモ演奏処理(第21図) 第21図のデモ演奏処理において、ステップ210では、
第3図(F)で示したような表示を表示部12に行なわせ
る。すなわち、MON、DAY、WEEKの内容をそれぞれ所定位
置に表示すると共に、時の位置に「dE」なる文字を表示
する。そして、ステップ212に移る。
ステップ212では、MDNOに5(デモ演奏モードに対
応)をセットする。そして、ステップ214で第24図のア
ラームスタートのサブルーチンを実行してからステップ
216でPLAYに1をセットする。この結果、表示された日
付の曲が自動演奏開始となる。このときの自動演奏音の
音量レベルはTVOLの値に対応したものである。
次に、ステップ218では、スイッチDCSがオンか判定す
る。この判定結果が肯定的(Y)であれば第16図の通常
表示処理に移る。
ステップ218の判定結果が否定的(N)であったとき
はステップ220に移り、スイッチUDSがオンか判定する。
この判定結果が否定的(N)であればステップ218に戻
り、ステップ218及び220を繰返す。このような繰返し過
程において1曲の演奏が終ると、次の日の曲が自動演奏
される。そして、スイッチDCS及びUDSをオンしなけれ
ば、表示された日付の曲から始めて366曲が順次に且つ
反復的に自動演奏される。
スイッチUDSをオンすると、ステップ220の判定結果が
肯定的(Y)となり、ステップ222に移る。ステップ222
では、NUMの値を1アップ又はダウン操作に応じてそれ
ぞれアップ又はダウンさせる。
次に、ステップ224ですべてのKCBUFをクリアしてから
ステップ226に移り、TG48を発音停止とすべくキーオフ
処理を行なう。そして、ステップ228に移る。
ステップ228では、第24図について後述するようにデ
モネクストのサブルーチンを実行する。この後は、ステ
ップ218に戻り、上記のような処理を繰返す。
上記したステップ218〜228の処理によれば、スイッチ
UDSを適宜操作することにより所望数の曲の飛ばした
り、戻したりすることが可能となる。
クロック割込ルーチン(第22図) 第22図は、クロック割込ルーチンを示すのもで、この
ルーチンは、クロック信号CLの各パルス毎に開始され
る。
まず、ステップ230では、1からLEDの値を差引いたも
のをLEDにセットする。従って、LED=0であったときに
はLEDに1がセットされ、LED=1であったときにLEDに
0がセットされる。
次に、ステップ232では、LEDの値が1か判定する。こ
の判定結果が否定的(N)であればステップ234秒で表
示部28のコロンを消灯してメインルーチンにリターンす
る。なお、第22図以降の図に示される「RET」はリター
ンを表わす。
ステップ232の判定結果が肯定的(Y)であったとき
はステップ236に移り、秒表示部28のコロンを点灯す
る。そして、ステップ238でSECの値を1アップしてから
ステップ240に移る。
ステップ240では、SECの値が60か判定し、この判定結
果が否定的(N)であればメインルーチンにリターンす
る。また、ステップ240の判定効果が肯定的(Y)であ
ったたきは、ステップ242に移る。
ステップ242では、SECに0をセットする。そして、ス
テップ244でMINを値を1アップしてからステップ246に
移り、MINに値が60か判定する。この判定結果が否定的
(N)であればステップ248に移り、MINの内容を分表示
部26に表示する。そして、ステップ250に移る。
ステップ250では、第23図について後述するようにア
ラームチェックのサブルーチンを実行する。そして、メ
インルーチンにリターンする。
ステップ246の判定結果が肯定的(Y)であったとき
はステップ252に移り、MINに0をセットする。そして、
ステップ254でMINの内容を分表示部26に表示してからス
テップ256に移り、HOURの値を1アップする。
次に、ステップ258では、HOURの値が24か判定する。
この判定結果が否定的(N)であればステップ260に移
り、HOURの内容を時表示部24に表示する。そして、ステ
ップ262でアラームチェックのサブルーチンを実行して
からメインルーチンにリターンする。
ステップ258の判定結果が肯定的(Y)であったとき
はステップ264に移り、HOURに0をセットする。そし
て、ステップ266でHOURの内容を時表示部24に表示して
からステップ268に移り、アラームチェックのサブルー
チンを実行する。この後、ステップ270に移る。
ステップ270では、DAY及びWEEKの値をそれぞれ1アッ
プとする。そして、ステップ272に移り、WEEKの値が7
か判定する。この判定結果が肯定的(Y)であればステ
ップ274に移り、WEEKに0をセットする。
ステップ274の処理が終ったとき又はステップ272の半
径結果が否定的(N)であったときは、ステップ276に
移り、WEEKの値に対応する曜日を曜日表示部20に表示す
る。そして、ステップ278に移る。
ステップ278では、次の(1)〜(4)の条件のいず
れかが満足される判定する。
(1)MONの値が4、6、9、11のいずれかであり且つD
AYの値が31である。
(2)YEARの値が4の倍数であり、しかもMONの値が2
で且つDAYの値が30である。
(3)YEARの値が4の倍数でなく、しかもMONの値が2
で且つDAYの値が29である。
(4)DAYの値が32である。
ステップ278の判定結果が否定的(N)であったとき
はステップ280に移り、DAYの内容を日表示部22bに表示
する。そして、メインルーチンにリターンする。
ステップ278の判定結果が肯定的(Y)であったとき
はステップ282に移り、DAYに1をセットする。そして、
ステップ284でDAYの内容を日表示部22bに表示してから
ステップ286に移り、MONの値を1アップする。
次に、ステップ288では、MONの値が12より大か判別す
る。この判別結果が否定的(N)であればステップ290
に移り、MONの内容を月表示部22aに表示する。そして、
メインルーチンにリターンする。
ステップ288の判定結果が肯定的(Y)であったとき
ステップ292に移り、MONに1をセットする。そして、ス
テップ294でMONの内容を月表示部22aに表示してからス
テップ296に移り、YEARの値を1アップする。この後
は、メインルーチンにリターンする。
上記したクロック割込ルーチンによれば、秒、分、
時、日、曜日、月及び年号の表示が可能となる。
アラームチェックのサブルーチン(第23図) 第23図のアラームチェックのサブルーチンにおいて、
ステップ300では、HOUR=ALMH、MIN=ALMM、MDNO=0、
STPF=0の4条件が満足されるか(アラーム音を発生す
べきか)判定する。この判定結果が肯定的(Y)であれ
ばステップ302に移り、PLAYに1をセットする。そし
て、ステップ304に移る。
ステップ304では、第4図について後述するようにア
ラームスタートのサブルーチンを実行する。そして、第
22図のルーチンにリターンする。この結果、アラーム音
発生が可能となる。
ステップ300の判定結果が否定的(N)であったとき
はステップ306に移り、HOUR×60+MIN=ALMH×60+ALMM
+30、MDNO=0、PLAY=1の3条件が満足されるか(ア
ラーム音を消すべきか)判定する。この判定結果が否定
的(N)であれば第22図のルーチンにリターンする。
ステップ306の判定結果が肯定的(Y)であったとき
は、アラーム音の発生開始後30分経過してもストップス
イッチSTSがオンされなかったことになり、ステップ308
に移る。
ステップ300では、PLAYに0をセットする。そして、
ステップ310に移り、TG48を発音停止とすべくキーオフ
処理を行なう。この後は、第22図のルーチンにリターン
する。
アラームスタート/デモネクストのサブルーチン(第24
図) 第24図のアラームスターノ/デモネクストのサブルー
チンにおいて、ステップ320では、MON及びDAYに基づい
て通し日付を導出し、NUMに入れる。そして、ステップ3
22に移る。ここで、ステップ320の処理は、アラームス
タートの時のみ行ない、デモネクストの時はステップ32
2から始める。
ステップ322では、各種レジスタを初期セットする。
すなわち、TCLK、TBAR、SKP1、SKP2、SFR1及びSFR2には
いずれも0をセットし、RHYRには31(リズムなし)、RO
TRには15(ベースなし)、CLKFLGには1(リセット予
約)をそれぞれセットする。そして、ステップ324に移
る。
ステップ324では、NUMの通し日付に対応するレジスタ
SP(NUM)の値が0か(固有曲か)判定する。この判定
結果が肯定的(Y)であればステップ326に移り、NUMの
値(固有曲の通し番号)をNUM2にセットする。また、ス
テップ324の判定結果が否定的(N)であればステップ3
28に移り、SP(NUM)の値に366を加えたもの(特別曲の
通し曲番)をNUM2にセットする。
ステップ326又は328の処理が終ったときは、ステップ
330に移り、制御変数iを1とすると共にLENに0をセッ
トする。そして、ステップ332に移り、PNTAに第1曲デ
ータの先頭アドレスをセットする。
次に、ステップ334では、iがNUM2−1の値以下か判
定する。NUM2には前述のステップ326又は328で通し曲番
(1〜376のいずれか)がセットされており、NUM2のセ
ット値が2以上のときにステップ330の後はじめてステ
ップ334にきたときはその判定結果が肯定的(Y)とな
り、ステップ336に移る。
ステップ336では、LENの値と記憶部PATにおけるアド
レスiのデータPAT(i)の示すバイト数とを加算した
ものをLENにセットする。そして、ステップ338でiの値
を1アップしてからステップ334に戻り、それ以降の処
理を上記したと同様に繰返す。そして、ステップ334の
判定結果が否定的(N)になると、ステップ340に移
る。この結果、LENには、NUM2のセット値より少ない曲
番の曲(演奏すべき曲の直前の曲)までの曲長データを
累算した値がセットされる。なお、NUM2=1であったと
きは、ステップ334から直接ステップ340に移る。
ステップ340では、PNTAの値(第1曲データの先頭ア
ドレス)とLENの値を2倍したものとを加算し、その加
算値をPNTAにセットする。この結果、PNTAには、演奏す
べき曲について曲データの先頭アドレスがセットされ
る。例えば、NUM2=367であったときは、ステップ334〜
338によりLENにはPAT(1)〜PAT(366)の曲長データ
を累算した値がセットされ、ステップ340によりPNTA+L
EN×2なる式に基づく演算結果がPNTAにセットされ、こ
のときのPNTAは第367曲の曲データの先頭アドレスを指
示するようになる。
ステップ340の処理が終ったときはステップ342に移
り、第25図について後述するようにポインタ設定のサブ
ルーチンを実行する。この後、元のルーチンにリターン
する。
ポインタ設定のサブルーチン(第25図) 第25図のポインタ設定のサブルーチンにおいて、ステ
ップ350では、すべてのKCBUFをクリアする。そして、ス
テップ352に移り、TG48を発音停止とすべくキーオフ処
理を行なう。これらのステップ350及び352の処理は、後
述する第27図の読出制御のサブルーチンから第25図のサ
ブルーチンにきたときに必要なものである。
次に、ステップ354では、PNTAの値に4を加えたもの
(演奏すべき曲の第1パート演奏データと先頭アドレ
ス)をPNT1にセットする。そして、ステップ356に移
り、PNTAに4を加えたものと記憶部PATにおけるPNTAの
示すアドレスのデータPAT(PNTA)に2を加えたものと
を加算し、その加算値をPNT2にセットする。ここで、PA
T(PNTA)は第1パートのバイト数を表わすデータであ
り、これと第1パートの先頭アドレス(PNTA+4)とを
加算すると、第2パートのヘッドデータPHD2の先頭アド
レスが得られ、これに更に2を加えると、第2パート演
奏のデータの先頭アドレスが得られる。つまり、PNT2
セットされるのは、第2パート演奏データの先頭アドレ
スである。ステップ356の後は、ステップ358に移る。な
お、以下では、記憶部PATにおいてポインタPNTA、PN
T1、PNT2等を用いて示されるアドレスXの記憶領域又は
その記憶データをPAT(X)のように表わすものとす
る。
ステップ358では、PAT(PNTA+1)の拍子・テンポデ
ータを読出してDTに入れる。そして、ステップ360に移
り、DTの下位4ビット(テンポレベル)に対応するTBLT
Mの値(毎分あたりの拍数)をTEMPOにセットする。この
後、ステップ362では、TEMROの値をテンポデータTDとし
てテンポクロック発振器42に送出する。この結果、演奏
すべき曲についてテンポが設定されたことになる。ステ
ップ360の後は、ステップ364に移る。
ステップ364では、DTのMSB(0又は1)に3を加えた
ものをBEATにセットする。この結果、BEATには、曲が3
拍子であれば3が、4拍子であれば4がそれぞれセット
される。この後、ステップ366に移る。
ステップ366では、PAT(PNT1−2)の第1パート音色
データを読出してTONE1に入れると共に、PAT(PNT1−)
の第1パート音域ナンバに対応した基準音高データをTB
LTRから読出してTRNS1に入れる。そして、ステップ368
に移る。
ステップ368では、PAT(PNT2−2)の第2パート音色
データを読出してTONE2に入れると共に、PAT(PNT2
1)の第2パート音域ナンバに対応した基準音高データ
をTBLTRから読出してTRNS2に入れる。そして、ステップ
370に移る。
ステップ370では、TONE1及びTONE2に基づいてそれぞ
れTG1及びTG2の音色設定処理を行なう。すなわち、TONE
1の音色ナンバに対応する音色パラメータ情報を記憶部T
PMから読出してTG1に送出すると共に、TONE2の音色ナン
バに対応する音色パラメータ情報を記憶部TPMから読出
してTG2に送出する。この後は、元のルーチンにリター
ンする。
上記したポインタ設定のサブルーチンによれば、演奏
すべき曲について記憶部PATの記憶データに基づいてテ
ンポ、拍子及びパート毎の音色並びに音域が設定され
る。この後は、記憶部PATから曲の演奏データを読出す
ことにより該曲を自動演奏することができる。
テンポクロック割込ルーチン(第26図) 第26図は、テンポクロック割込ルーチンを示すもの
で、このルーチンは、テンポクロック信号TCLの各パル
ス毎に開始される。
まず、ステップ380では、PLAYの値が1か判定し、こ
の判定結果が否定的(N)であればメインルーチンにリ
ターンする。すなわち、PLAY=1のときのみ以下に述べ
るような処理を行なう。
ステップ380の判定結果が肯定的(Y)であったとき
はステップ382に移り、第27図のついて後述するように
読出制御のサブルーチンを実行する。ステップ382の処
理は、記憶部PATから各パート毎に演奏データを読出す
ためのもので、この処理が終ると、ステップ384に移
る。
ステップ384では、RHYRの値が31か(リズムなしか)
判定する。第24図のステップ322でRHYR=31とした後は
じめてステップ382で0〜30のいぜるかのリズムナンバ
を表わすリズム種類データがRHYRにセットされると、ス
テップ384の判定結果が否定的(N)となり、ステップ3
86に移る。
ステップ386では、CLKFLGの値が1か判定する。上記
のようにいずれかのリズムナンバがRHYRにセットされた
ときはCLKFLG=1であるので、ステップ386の判定結果
が肯定的(Y)となり、ステップ388に移る。そして、
ステップでCLKFLGに0をセットしてからステップ390でT
CLK及びTBARにいずれも0をセットする。この結果、リ
ズムパターンを小節の頭から読出すことが可能となる。
ステップ390の後は、ステップ391Aに移る。
ステップ391Aでは、SKP1の値が0か(非休止状態か)
判定し、この判定結果が否定的(N)であればステップ
391BでSKP1の値を1ダウンさせる。
ステップ391Bの処理が終ったとき又はステップ391Aの
判定結果が肯定的(Y)であったときはステップ391Cに
移り、SKP2の値が0か判定する。この判定結果が否定的
(N)であればステップ391Dに移り、SKP2の値を1ダウ
ンさせる。
ステップ391Dの処理が終ったとき又はステップ391Cの
判定結果が肯定的(Y)であったときはステップ382に
戻る。
上記したステップ391A〜391Dの処理は、第11図に例示
したような曲のように複数パートのうち一方のパートが
他のパートより先に演奏開始となる場合の他のパートの
演奏時間を一方のパートの小節頭と同期させるために必
要なものである。なお、演奏中に半小節以上に長い休止
期間を得るための処理は、後述のステップ414〜420で行
なわれる。
ステップ382からステップ384を経てステップ386にく
ると、ステップ388によりCLKFLG=0となっているの
で、判定結果が否定的(N)となり、ステップ392に移
る。
ステップ392では、RHYR、TBAR及びTCLKに基づいてリ
ズム音処理を行なう。すなわち、記憶部RPMにおいてRHY
Rのリズムナンバに対応するリズムパターンデータを選
択し、このリズムパターンデータ中からTBAR×16+TCLK
なる値をアドレスとして音源制御データ読出してリズム
用の音源TGRに送出する。この結果、読出しに係る音源
制御データがいずれかの打撃音源の発音を指示していれ
ばその打撃音源から打撃信号が発生され、リズム音信号
として送出される。テンポクロック信号TCLの各パルス
毎にステップ392の処理を行なうことによりリズムパタ
ーンに基づく自動リズム演奏が可能となる。
ステップ392の処理が終ったとき又はステップ384の判
定結果が肯定的(Y)であったときはステップ394に移
り、ROTRの値が15か(ベースなしか)判定する。上記の
ようにステップ388及び390を経てステップ382に戻った
ときに0〜11のいずれかの根音ナンバがROTRにセットさ
れると、ステップ394の判定結果が否定的(N)とな
り、ステップ396に移る。この場合、ステップ396では、
ステップ388でCLKFLG=0となっているので、判定結果
が否定的(N)となり、ステップ402に移る。
一方、第24図のステップ322でROTR=15とした後はじ
めてステップ382で0〜11のいずれかの根音ナンバがROT
Rにセットされ且つRHYR=31であったときは、ステップ3
96の判定結果が肯定的(Y)となり、ステップ398に移
る。ステップ398及びこれに続くステップ400では、前述
のステップ388及び390と同様にしてCLKFLG、TCLK及びTB
ARにいずれも0をセットし、それによってベースパター
ンを小節頭から読出可能とする。ステップ400の後は、
前述したと同様にステップ391A、391C等を経てステップ
382に戻る。
ステップ382からステップ384、394を経てステップ396
にくると、ステップ398によりCLKFLG=0となっている
ので、判定結果が否定的(N)となり、ステップ402に
移る。
いずれにしても、ステップ402では、RHYR、TBAR、TCL
K、ROTR及びTYPEに基づいてベース音処理を行なう。す
なわち、記憶部BPMにおいてRHYRのリズムナンバに対応
するベースパターンデータを選択し、このベースパター
ンデータ中からTBAR×16+TCLKなる値をアドレスとして
ベース制御データを読出し、このベース制御データが要
発音にものであれば該ベース制御データの示すベース音
程にROTRの値を加え且つその加算値をTYPEに値に応じて
適宜修正したもの(ベース音高データ)をベース用の音
源TGRに送出する。この結果、音源TGBからベース音高デ
ータに対応したベース音信号が発生される。テンポクロ
ック信号TCLの各パルス毎にステップ402の処理を行なう
ことによりベースパターン及び和音データに基づく自動
ベース演奏が可能となる。
ステップ402の処理が終ったとき又はステップ394の判
定結果が肯定的(Y)であったときはステップ404に移
り、TCLKの値を1アップする。そして、ステップ406に
移る。
ステップ406では、BEATの指定する拍子において単位
演奏区間が終りか判定する。すなわち、BEATの値が3で
ある3拍子のときはTCLKの値が6又は12か判定し、BEAT
の値が4である4拍子のときはTCLKの値が8又は16から
判定する。この判定結果が否定的(N)であればステッ
プ408に移る。
ステップ408では、TCLKの値とBEATの値に4を乗じた
ものとが等しいか(小節末か)判定する。この判定結果
が否定的(N)であればメインルーチンにリターンす
る。
ステップ408の判定結果が肯定的(Y)であったとき
はステップ410に移り、1からTBARの値を差引いたもの
をTBARにセットする。従って、TBAR=0であったときは
1が、TBAR=1であったときは0がそれぞれTBARにセッ
トされる。この後、ステップ412でTCLKに0をセットし
てからメインルーチンにリターンする。
ステップ406の判定結果が肯定的(Y)であったとき
はステップ414に移り、SKP1の値が0か(非休止状態
か)判定する。この判定結果が否定的(N)であればス
テップ416に移り、SKP1の値をダウンさせる。この結
果、SKP1=0となれば第1パートの休止期間が終りとな
る。
ステップ416の処理が終ったとき又はステップ414の判
定結果が肯定的(Y)であったときはステップ418に移
り、SKP2の値が0か判定する。この判定結果が否定的
(N)であればステップ420に移り、SKP2の値を1ダウ
ンさせる。この結果、SKP2=0となれば第2パートの休
止き関が終わりとなる。
ステップ420の処理が終ったとき又はステップ418の判
定結果が肯定的(Y)であったときはステップ408移
る。
ステップ408では、3拍子ならばTCLK=6のとき、4
拍子ならばTCLK=8のときそれぞれ判定結果が否定的
(N)となり、メインルーチンにリターンする。また、
3拍子ならばTCLK=12のとき、4拍子ならばTCLK=16の
ときそれぞれ判定結果が肯定的(Y)となり、ステップ
410に移る。
ステップ410では、前述したようにTBARの値を反転さ
せる。そして、ステップ412でTCLKを0にリセットして
からメインルーチンにリターンする。
読出制御のサブルーチン(第27図) 第27図の読出制御のサブルーチンにおいて、ステップ
430では、制御変数iを1とする。そして、ステップ432
に移る。
ステップ432では、第iパートの半小節数レジスタSKP
iの値が0か判定する。この判定結果肯定的(Y)であ
ればステップ434に移り、第iパートの読出アドレスポ
インタPNTiを用いてPAT(PNTi)のデータを読出し、DT
に入れる。そして、ステップ436に移る。
ステップ436では、DTの第4〜第6ビットの値とTCLK
の下位3ビットの値とが等しいか(制御すべきタイミン
グか)判定する。ここで、TCLKの下位3ビットは0〜7
のいずれかの区間内タイミングを表わすものである。
ステップ436の判定結果が肯定的(Y)であればステ
ップ438に移り、DTの下位4ビットがすべて1か(キー
オン/オフ以外の制御か)判定する。この判定結果が否
定的(N)であったときは、DTのデータがキーオンデー
タ又はキーオフデータであったことになり、ステップ44
0に移る。
ステップ440では、第iパートの臨時記号レジスタSFR
iの値が2か(フラットか)判定する。この判定結果が
肯定的(Y)であればステップ442に移り、キーコード
作成(音高決定)処理を行なう。すなわち、TBLNTからD
Tの下位4ビットの階名ナンバに対応した音程データを
読出し、この音程データの値に第iパートの基準音高レ
ジスタTRNSiの基準音高データの値を加算し且つその加
算値から1を差引く(半音下げる)ことによりキーコー
ドを作成し、このキーコードをKCにセットする。
ステップ440の判定結果が否定的(N)であったとき
は、ナチュラル(0)又はシャープ(1)であったこと
になり、ステップ444に移る。ステップ444では、上記し
たステップ442のものとは若干異なるキーコード作成処
理を行なう。すなわち、TBLNTからDTの下位4ビットの
階名ナンバに対応した音程データを読出し、この音程デ
ータの値にTRNSiの基準音高データの値とSFRiの値とを
加算することによりキーコードを作成し、このキーコー
ドをKCにセットする。この場合、音程データと基準音高
データとの加算値(TBLNT値+TRNSi値)は、SFRiの値が
0であればそのままキーコード値となるが、SFRiの値が
1であれば該キーコード値より半音高いキーコード値と
なる。
ステップ442又は444の処理が終ったときはステップ44
6に移り、SFRiに0をセットする。そして、ステップ448
に移り、DTのMSBが1か(キーオンデータか)判定す
る。この判定結果が肯定的(Y)であればステップ450
に移る。
ステップ450では、第iパート用の音源TGiのキーオン
処理を行なう。すなわち、第iパートのキーコードバッ
ファレジスタKCBUFiの2チャンネル分のキーコード記憶
領域を調べてKCと同一のキーコードがあればその同一キ
ーコードありのチャンネルのカーコード記憶領域にKCの
キーコードを割当てて該キーコードに対応する楽音信号
を発生させ、KCと同一のキーコードがなければいずれか
のチャンネルのキーコード記憶領域にKCのキーコードを
割当てて該キーコードに対応する楽音信号を発生させ
る。
ステップ448の判定結果が否定的(N)であったとき
は、キーオフデータであったことになり、ステップ452
でTGiのキーオフ処理を行なう。すなわち、KCBUFiの2
チャンネル分のキーコード記憶領域を調べてKCと同一の
キーコードをサーチし、その同一キーコードありのチャ
ンネルのキーコード記憶領域をクリアして発音停止とす
る。
ステップ450又は452の処理が終ったときはステップ45
4に移り、PNTiの値を1アップする。そして、ステップ4
32に戻り、それ以降の処理を上記したと同様に繰返す。
この場合、ステップ434でDTにキーオンデータが読出さ
れ且つステップ436の判定結果が肯定的(Y)となれ
ば、ステップ450で該キーオンデータに対応する楽音信
号が発生される。従って、1パートにつき2音まで同時
発音可能である。
ところで、ステップ438の判定結果が肯定的(Y)で
あったときは、DTのデータがキーオン/オフ以外の制御
データであったことになり、ステップ456に移る。ステ
ップ456では、DTのMSBが1か判定し、この判定結果が肯
定的(Y)であればステップ458に移る。
ステップ458では、PAT(PNTi+1)のデータ(制御デ
ータの2バイトの目)を読出してDTに入れる。そして、
ステップ460に移り、DTにおいてMSBから0がいくつ続く
か判定し、MSBからの0の数に応じての次の(1)〜
(5)のような処理を行なう。
(1)MSBかの0の数が0であったときは、DTのデータ
が音色データであったことになり、ステップ462に移
る。ステップ462では、DTの下位7ビット(音色ナン
バ)を第iパートの音色レジスタTONEiにセットする。
そして、ステップ464に移り、TONEiに基づいてTGiの音
色設定処理を行なう。すなわち、TONEiの音色ナンバに
対応する音色パラメータ情報を記憶部TPMから読出してT
Giに供給する。この結果、演奏中にパート毎に音色を変
更制御可能となる。
(2)MSBからの0の数が1であったときは、DTのデー
タが音域データであったことになり、ステップ466に移
る。ステップ466では、DTの下位6ビット(音域ナン
バ)に対応する基準音高データをTBLTRから読出してTRN
Siにセットする。この結果、演奏中にパート毎に音域を
変更制御可能となる。
(3)MSBからの0の数が2であったときは、DTのデー
タがリズム種類データであったことになり、ステップ46
8に移る。ステップ468では、DTの下位5ビット(リズム
ナンバ)をRHYRにセットする。この結果、演奏曲にマッ
チしたリズム選択が可能となる。
(4)MSBからの0の数が3であったときは、DTのデー
タがテンポ制御データであったことになり、ステップ47
0に移る。ステップ470では、DTの下位4ビット(テンポ
レベル)に対応する拍数をTBLTMから読出してTEMPOにセ
ットする。そして、ステップ472に移り、TEMPOの値をテ
ンポデータTDとしてテンポクロック発振器42に送出す
る。この結果、演奏中のテンポ変更が可能となる。
(5)MSBからの0の数が4であったときは、DTのデー
タが音量制御であったことになり、ステップ474に移
る。ステップ474では、DTの下位3ビット(音量レベ
ル)に対応する減衰量をTBLVLから読出して第iパート
の音量レジスタVOLiにセットする。この結果、演奏中に
パート毎に音量を変更制御可能となる。
上記したステップ464、466、468、472又は474の処理
が終ったときはステップ476に移り、PNTiの値を2アッ
プする。そして、ステップ432に戻り、それ以降の処理
を上記したと同様に繰返す。
ステップ456の判定結果が否定的(N)であったとき
はステップ478に移り、前述のステップ458と同様にして
PAT(PNTi+1)のデータをDTに入れる。そして、ステ
ップ480では、前述のステップ460と同様にしてDTのMSB
からいくつ0が続くか判定し、MSBからの0の数に応じ
て次の(1)〜(4)のような処理を行なう。
(1)MSBからの0の数が1であったときは、DTのデー
タが和音データであったことになり、ステップ482に移
る。ステップ482では、DTの第2〜第5ビット(根音ナ
ンバ)をROTRにセットすると共にDTの下位2ビット(和
音タイプナンバ)をTYPEにセットする。この結果、演奏
曲にマッチしたベース演奏制御が可能となる。
(2)MSBからの0の数が2であったときは、DTのデー
タが休止データであったことになり、ステップ484に移
る。ステップ484では、DTの下位5ビット(半小節数)
をSKPiにセットする。この結果、パート毎に半小節数に
対応した休止期間を設定可能となる。
(3)MSBからの0の数が5であったときは、DTのデー
タが臨時記号データであったことになり、ステップ486
に移る。ステップ486では、DTのLSB(記号ナンバ)に1
を加えたもの(シャープならば1、フラットならば2)
をSFRiにセットする。この結果、演奏中にパート毎に臨
時記号に応じた音高制御が可能となる。
(4)MSBからの0の数が7であったときは、DTのデー
タがエンドデータであったことになり、ステップ488に
移る。ステップ488では、MDNOの値が0(通常表示モー
ド)、4(音量設定モード)又は5(デモ演奏モード)
のいずれか判定する。
MDNO=0であったときはステップ490に移り、TVOLの
値を1アップする。この場合T、VOLの値は4以下に制
限する。この後、ステップ492では、第25図について前
述したようにポインタ設定のサブルーチンを実行する。
この結果、アラーム音としてその日の曲を演奏し終った
後その曲の始めに戻って音量レベルを1段階アップして
演奏を反復可能となる。
MONO=4であったときはステップ490を経ないでステ
ップ492に移り、第25図ポインタ設定サプリーチンを実
行する。この結果、その日の曲の反復演奏が可能とな
る。この場合、演奏音の音量レベルは、第20図のステッ
プ200及び202で設定されたTVOLの値に存在する。
MDNO=5であったときはステップ494に移り、NUMの値
を1アップする。そしてステップ496では、第24図につ
いて前述したようにデモネクストのサブルーチンを実行
する。この結果、その日の曲を演奏し終った後次の日の
曲を演奏可能となる。
上記したステップ482、484、486、492又は496の処理
が終ったときはステップ476でPNTiの値を2アップして
から432に戻り、それ以降の処理を上記したと同様に繰
返す。
上記したのは、ステップ430でi=1とした後ステッ
プ432及び436のいずれも判定結果が肯定的(Y)であっ
た場合の処理であるが、ステップ436の判定結果が否定
的(N)であったときはステップ498に移り、iの値を
1アップする。そして、ステップ500に移り、iが2よ
り判定する。今は、i=2であるからステップ500の判
定結果が否定的(N)となり、ステップ432に戻る。そ
して、ステップ432以下の処理をi=2について実行す
る。すなわち、上記したような処理は第1及び第2のパ
ートについてパート毎に行なわれるもので、2パート合
計で最大4音まで同時発音可能である。
i=2とした後ステップ432以下の処理を実行してい
るときにステップ436の判定結果が否定的(N)になる
と、ステップ498に移り、iの値を1アップする。この
後、ステップ500での判定結果は肯定的(Y)となり、
第26図のルーチンにリターンする。
一方、i=1とした後ステップ432判定結果が否定的
(N)であった(SKP1が0でなかった)ときは、第1パ
ートが休止状態であったことになり、ステップ498に移
る。そして、ステップ498でi=2としてからステップ5
00を経てステップ432に戻り、SKP2=0であれば第2パ
ートについてステップ434以下の処理を行なう。すなわ
ち、この場合は、第1パートについてステップ434以下
の処理が行なわれない。この後、第2パートについてス
テップ434以下の処理を実行しているときにステップ436
の判定結果が否定的(N)になると、ステップ498、500
を経て第26図のルーチンにリターンする。
また、別の例として、SKP1=0で、SKP2が0でなかっ
たとすれば、第1パートについてステップ434以下の処
理を実行する。そして、その過程でステップ436の判定
結果が否定的(N)となればステップ498でi=2とし
てからステップ500を経てステップ432に戻る。このと
き、ステップ432の判定結果は否定的(N)となり、ス
テップ498でi=3となると、ステップ500を経て第26図
のルーチンにリターンする。なお、SKP1及びSKP2が共に
0でなかったときは、ステップ432、498を2回通ってか
ら第26図のルーチンにリターンする。
演奏動作の一例(第11,12、24〜27図) 次に、第11,12,24〜27図を参照して演奏動作の一例を
述べる。この場合、第24図のルーチンでは、ステップ34
0により第11図の曲の曲データの先頭アドレスがPNTAに
セットされるものとする。
ステップ340の後、第25図のルーチンでは、ステップ3
60〜364により第11図の曲に関してテンポロック発振器4
2のためのテンポ設定とBEATでの4拍子設定とが行なわ
れる。この後、ステップ366〜370により第1パート用の
音源TG1については第12図のパートヘッドデータPHD1
しての音色データ(音色ナンバ4)に基づきトランペッ
ト音色が、第2パート用の音源TG2については第12図の
パートヘッドデータPHD2としての音色データ(音色ナン
バ9)に基づきピアノ音色がそれぞれ設定される。ま
た、TRNS1及びTRNS2には、第12図のパートヘッドデータ
PHD1及びPHD2としての音域データ(いずれもC2〜C4の音
域に対応する音域ナンバ27)に対応した基準音高データ
(いずれも48を表わすキーコード)がそれぞれセットさ
れる。
この後、テンポロック信号TCLの第1のパルスに応じ
て第26図のルーチンに入ると、ステップ380の判定結果
が肯定的(Y)となり第27図のルーチンに移る。このと
き、TCLK、RHYR、ROTR、CLKFLG、SKP1、SLP2、SFR1、SF
R2通は第24図のステップ322で初期セットされた状態に
ある。
第27図のルーチンにおいて、ステップ434では、第12
図の第1パートデータのうち最初の(タイミング0の)
階名「ソ」のキーオンデータがDTに読出される。そし
て、ステップ436では、いずれのタイミングも0である
からタイミング一致と判定され、さらにステップ444で
は、DTの下位4ビット対応のTBLNT値12+TRNS1値48+SF
R1値0なる演算によりC3音対応の値60のキーコードが作
成され、KCにセットされる。この後、ステップ450によ
りKCのキーコードに対応した楽音信号(C3音)がTG1
らトランペット音色で発生される。
次に、ステップ454でPNT1の値を1アップしてからス
テップ432を経てステップ434にくると、DTには、第12図
の第1パートデータのうち2番目の(タイミング1の)
階名「ソ」のキーオンデータが読出される。そして、ス
テップ436でタイミング一致か判定すると、DTの第4〜
第6ビットの示すタイミングが1で、TCLKの下位3ビッ
トの示すタイミングが0であるので、タイミング不一致
と判定され、ステップ498に移る。
ステップ498ではi=2とする。そして、ステップ50
0、432を介してステップ434にくると、第12図の第2パ
ートデータのうち最初の休止データの1バイト目がDTに
読出される。この後、ステップ436では、いずれのタイ
ミングも0であるのでタイミング一致と判定され、ステ
ップ438に移る。
ステップ438では、DTの下位4ビットが1であるので
判定結果が肯定的(Y)となり、ステップ456に移る。
ステップ456では、DTのMSBが0であるので判定結果が否
定的(N)となり、ステップ478に移る。ステップ478で
は、DTに上記休止データの2バイト目が読出される。そ
して、ステップ848では、SKP2に半小節数1がセットさ
れる。
この後、ステップ476でPNT2の値を2アップしてから
ステップ432に戻る。ステップ432では、判定結果が否定
的(N)となり、ステップ498に移る。ステップ498でi
=3となると、第26図のルーチンにリターンする。
第26図のルーチンでは、RHYR及びROTRいずれも初期セ
ット状態にあるためステップ384、394の判定結果がいず
れも肯定的(Y)となり、ステップ404に移る。ステッ
プ404では、TCLKの値が1となり、この後は、ステップ4
06、408を介してメインルーチンにリターンする。
この後、テンポロック信号TCLの第2のパルスに応じ
て第26図のルーチンに入ると、第27図のステップ434で
は、DTに第12図の第1パートデータのうち2番目の(タ
イミング1の)階名「ソ」のキーオンデータが読出され
る。そして、ステップ436では、いずれのタイミングも
1でタイミング一致と判定される。この後は、前回と同
様にしてステップ444で階名「ソ」に対応する値60のキ
ーコードがKCにセットされ、ステップ450でTG1からKCの
キーコードに対応した楽音信号(C3音)が発生される。
この場合、TG1における発音チャンネルは、前回と同じ
である。
次に、ステップ454でPNT1の値を1アップしてからス
テップ432を介してステップ434にくると、DTには、第12
図の第1パートデータのうちタイミング2の階名「ソ」
のキーオフデータが読出される。このため、ステップ43
6の判定結果は否定的(N)となり、ステップ498に移
る。そして、ステップ498でi=2としてステップ432に
くると、SKP2=1であるので、ステップ498に移る。こ
のとき、i=3となるので、第26図のルーチンにリター
ンする。
第26図のルーチンでは、前回と同様にしてステップ40
4でTCLKの値を1アップしてからメインルーチンにリタ
ーンする。このとき、TCLKの値は2となる。
この後、テンポクロック信号TCLの第3のパルスに応
じて第26図のルーチンに入ると、第27図のステップ434
でDTには第12図の第1パートデータのうちタイミング2
の階名「ソ」のキーオフデータが読出される。そして、
ステップ436では、判定結果が肯定的(Y)となる。こ
の後、ステップ444でKCに値60のキーコードがセットさ
れ、さらにステップ452ではKCのキーコードに対応した
楽音信号(C3音)が発音停止となる。
次に、ステップ454でPNT1の値を1アップしてからス
テップ432を介してステップ434にくると、DTには、第12
図の第1パートデータのうちタイミング2のリズム種類
データの1バイト目が読出される。この読出データに関
するステップ436、438、456の判定結果はいずれも肯定
的(Y)となり、ステップ458では、DTに上記リズム種
類データの2バイト目が続出され、さらにステップ468
では、RHYRにリズムナンバ2(マーチ)がセットされ
る。
この後、ステップ476でPNT1の値を2アップしてから
ステップ432を経てステップ434にくると、DTには第12図
の第1パートデータのうちタイミング0の階名「ド
(+)」のキーオンデータが読出される。この読出デー
タに関するステップ436の判定結果は否定的(N)とな
り、ステップ498に移る。ステップ498でi=2とした
後、ステップ432にくると、SKP2=1であるので、前回
と同様にして第26図のルーチンにリターンする。
第26図のルーチンにおいて、ステップ384の判定結果
は、RHYRにリズムナンバ2がセットされたことにより否
定的(N)となり、ステップ386に移る。ステップ386で
は、初期セット状態のため判定結果が肯定的(Y)とな
り、この後ステップ388、390によりCLKFLG、TCLK及びTB
ARにはいずれも0がセットされる。次に、ステップ391A
では、SKP1=0であるので判定結果が肯定的(Y)とな
り、ステップ391Cに移る。ステップCでは、SKP2=1で
あるので判定結果が否定的(N)となり、ステップ391D
でSKP2の値から1が差引かれる。この結果、SKP2の値は
0となる。
この後、再び第27図のルーチンにくると、SKP1=0で
あるので、ステップ432の判定結果が肯定的(Y)とな
る。そして、ステップ434では、DTに第12図の第1パー
トデータのうちタイミング0の階名「ド(+)」のキー
オンデータが読出される。この読出データに関するステ
ップ436の判定結果は、先に第26図のステップ390でTCLK
=0としたことから肯定的(Y)となる。この後は、階
名「ソ」のキーオンデータについて前述したと同様にし
て階名「ド」のキーオンデータに基づいてステップ44
4、450により該キーオンデータに対応する楽音信号が発
生される。
この後、ステップ454でPNT1の値を1アップしてから
ステップ432を経てステップ434にくると、DTには、第12
図の第1パートデータのうちタイミング0のFメジャの
和音データの1バイト目が読出される。この読出データ
に関し、ステップ436、438の判定結果はいずれも肯定的
(Y)となり、ステップ456の判定結果は否定的(N)
となり、ステップ478に移る。ステップ478では、DTに上
記和音データの2バイト目が読出される。そして、ステ
ップ482では、根音Fに対する根音ナンバROTRに、メジ
ャに対応する和音タイプナンバがTYPEにそれぞれセット
される。
この後、ステップ476でPNT1の値を2アップしてから
ステップ432を経てステップ434にくると、DTには第12図
の第1パートデータのうちタイミング1の階名「ド
(+)」のキーオフデータが読出される。この読出デー
タに関するステップ436の判定結果は否定的(N)とな
り、ステップ498でi=2としてからステップ432に移
る。
ステップ432では、先に第26図のステップ391DによりS
KP2=0としたので判定結果が肯定的(Y)となり、ス
テップ434に移る。ステップ434では、DTに第12図の第2
パートデータのうち休止データの次の(タイミング0
の)階名「ド」のキーオンデータが読出される。そし
て、前述したと同様にして階名「ド」のキーオンデータ
に基づいてステップ444、450により該キーオンデータに
対応した楽音信号(F2音)がTG2からピアノ音色で発生
される。
この後、ステップ454でPNT2の値を1アップしてから
ステップ432を経てステップ434にくると、DTには、第12
図の第2パートデータのうち上記階名「ド」のキーオン
データの次の(タイミング0の)階名「ミ」のキーオン
データが読出される。そして、この階名「ミ」のキーオ
ンデータに対応した楽音信号もTG2から上記階名「ド」
の音と同様にして発生される。このときの「ド」及び
「ミ」の音は実質的に同時の発音となる。
この後、ステップ454でPNT2の値を1アップしてから
ステップ432を介してステップ434にくると、DTには、第
12図の第2パートデータのうち上記階名「ミ」のキーオ
ンデータの次の(タイミング1の)階名「ド」のキーオ
フデータが読出される。そして、この読出データに関す
るステップ436の判定結果は否定的(N)となり、ステ
ップ498に移る。ステップ498では、i=3となり、第26
図のルーチンにリターンする。
第26図のルーチンでは、ステップ384を介してステッ
プ386にくると、先にステップ388でCLKFLG=0としてあ
るので判定結果が否定的(N)となり、ステップ392の
リズム音処理に移る。従って、ステップ392では、第11
図の小節マークBMに対応して小節頭からマーチのリズム
パターンの読出しが開始され、これ以後は該リズムパタ
ーンに基づいて自動リズム演奏が進行する。
この後、ステップ394では、先に第27図のステップ482
でROTRに根音F対応の根音ナンバをセットしたので、判
定結果が否定的(N)となり、ステップ396に移る。ス
テップ396では、CLKFLG=0であるので、判定結果が否
定的(N)となり、ステップ402のベース音処理に移
る。従って、ステップ402では、第11図の小節マークBM
に対応して小節頭からベースパターンの読出しが開始さ
れ、これ以後は該ベースパターンに基づいて自動ベース
演奏が進行する。
この後、ステップ404でTCLKの値を1アップしてから
ステップ406、408を介してメインルーチンにリターンす
る。
この後は、上記したと同様にしてテンポクロック信号
TCLに基づいて第12図の記憶データを順次に読出すこと
により第11図の曲の自動演奏が遂行されると共に、該曲
にマッチした自動リズム演奏及び自動ベース演奏が遂行
される。そして、このような自動演奏は、第16図のステ
ップ74、92又は第23図のステップ308でPLAYに0がセッ
トされた(すなわち、デモ演奏モードから通常表示モー
ドに戻ったか、ストップスイッチSTSをオンしたか又は
アラーム時刻からスイッチSTSをオンせずに30分が経過
したかした)後は、停止となる。
変形例 この発明は、上記実施例に限定されるものではなく、
種々の改変形態で実施可能なものである。例えば、次の
ような変更が可能である。
(1)実施例では各パート毎の音源部を雑音(2チャン
ネル)構成としたが、単音(1チャンネル)構成として
もよい。このようにすると、休符表現が必要な場合は別
として通常はキーオフデータを省略することができ、更
に記憶容量を低減可能である。
(2)キーオフデータは、ピアノ音等のようにキーオフ
タイミングが問題にならない音色については省略でき
る。
(3)パート数は2に限定されない。
(4)この発明は、アラーム時計に限らず、電子楽器付
属の自動演奏装置や独立した自動演奏装置においても実
施可能である。
[発明の効果] 以上のように、この発明によれば、記憶手段には演奏
すべき曲の属する所属音域を指示する音域情報を記憶さ
せると共に該曲を構成する複数の音符のうちの各音符毎
に階名情報として音符の階名を曲の調決定に用いた音階
に従って指示するものを記憶させ、記憶手段から読出し
た音域情報を基準音名情報(曲の調決定に用いた音階に
関して予め定められた基準階名を対応して所属音域内の
基準音名の音高を指示するもの)に変換した後記憶手段
から階名情報を読出すたびに該階名情報を音程情報(対
応する階名情報の指示する階名が基準階名に対してとる
音程を指示するもの)に変換し、音高決定手段では基準
音名情報の指示する基準音名の音高に音程情報の指示す
る音程を加えることにより該音程情報に対応する階名に
対応して所属音域内の音名の音高を決定し、楽音発生手
段では音高決定手段で決定された音高を有する楽音信号
を発生するようにしたので、(イ)従来の音高表現形式
に比べて音高表現に要するビット数が少なく(例えば2
オクターブの音域でも階名情報としては4ビットで足り
る)、演奏情報記憶部の記憶容量を低域できること、
(ロ)平均律の長音階等の特定の音階を用いて調決定し
た曲である限りどんな調の曲でも演奏可能であること、
(ハ)曲毎に階名−音名変換テーブルを設けなくてよ
く、構成を著しく簡略化できることなどの効果が得られ
るものである。
【図面の簡単な説明】
第1図は、この発明を実施する自動演奏式アラーム時計
の外観構成を示す斜視図、 第2図は、アラーム時計の表示部を示す前面図、 第3図(A)〜(F)は、モード毎の表示例を示す前面
図、 第4図は、表示部の変形例を示す前面図、 第5図は、アラーム時計の回路構成を示すブロック図、 第6図は、音名毎のキーコードを示す図、 第7図は、演奏情報メモリ38のデータフォーマットを示
す図、 第8図は、各種演奏データのフォーマットを示す図、 第9図(A)〜(D)は、テーブルメモリ40の記憶内容
を示す図、 第10図は、日付と曲番の関係を示す図、 第11図は、演奏曲の一例を示す五線図、 第12図は、第11図の演奏曲に対応した記憶データを示す
図、 第13図(A)及び(B)は、リズムパターンの共用例を
示す図、 第14図は、リズムパターンデータの一例を示す図、 第15図〜第21図は、メインルーチンの各種処理を示すも
ので、第15図は初期セット処理を、第16図は通常表示処
理を、第17図は時刻合せ処理を、第18図はアラーム時刻
設定処理を、第19図は特別曲設定処理を、第20図は音量
設定処理を、第21図はデモ演奏処理をそれぞれ示すフロ
ーチャート、 第22図は、クロック割込ルーチンを示すフローチャー
ト、 第23図は、アラームチェックのサブルーチンを示すフロ
ーチャート、 第24図は、アラームスタート/デモネクストのサブルー
チンを示すフローチャート、 第25図は、ポインタ設定のサブルーチンを示すフローチ
ャート、 第26図は、テンポ割込ルーチンを示すフローチャート、 第27図は、読出制御のサブルーチンを示すフローチャー
トである。 10……時計本体、12……表示部、14……スピーカ、30…
…データバス、32……中央処理装置、34……プログラム
メモリ、36……レジスタ群、38……演奏情報メモリ、40
……テーブルメモリ、42……テンポクロック発振器、44
……スイッチ群、46……表示器群、48……トーンジェネ
レータ、50……クロック発振器、52……サウンドシステ
ム、MOS……モードスイッチ、UDS……アップ/ダウンス
イッチ、DCS……デモ/カーソルスイッチ、STS……スト
ップスイッチ。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】所定の演奏音域内で該演奏音域より狭い音
    域幅をそれぞれ有するように予め定められた複数の音域
    のうち演奏すべき曲の属する所属音域を指示する音域情
    報を記憶すると共に、該曲を構成する複数の音符のうち
    の各音符毎に階名情報を記憶した記憶手段であって、各
    階名情報は、該階名情報に対応する音符の階名を前記曲
    の調決定に用いた音階に従って指示するものと、 前記記憶手段から前記音域情報を読出して基準音名情報
    に変換する第1の変換手段であって、該基準音名情報
    は、前記音階に関して予め定められた基準階名に対応し
    て前記所属音域内の基準音名の音高を指示するものと、 前記記憶手段から前記複数の音符に対応した階名情報を
    曲進行に従って読出す読出手段と、 前記記憶手段から階名情報が読出されるたびに該階名情
    報を音程情報に変換する第2の変換手段であって、該音
    程情報は、読出しに係る階名情報を指示する階名が前記
    基準階名に対してとる音程を指示するものと、 前記記憶手段から階名情報が読出されるたびに前記第1
    の変換手段からの基準音名情報の指示する基準音名の音
    高に前記第2の変換手段からの音程情報の指示する音程
    を加えることにより読出しに係る階名情報の指示する階
    名に対応して前記所属音域内の音名の音高を決定する音
    高決定手段であって、音高決定のたびに決定に係る音名
    の音高を指示する音名情報を送出するものと、 前記音高決定手段からの音名情報に応答して該音名情報
    の指示する音名の音高を有する音楽信号を発生する音楽
    発生手段と を備えた自動演奏装置。
JP63114260A 1988-05-11 1988-05-11 自動演奏装置 Expired - Fee Related JP2663506B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63114260A JP2663506B2 (ja) 1988-05-11 1988-05-11 自動演奏装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63114260A JP2663506B2 (ja) 1988-05-11 1988-05-11 自動演奏装置

Publications (2)

Publication Number Publication Date
JPH01283595A JPH01283595A (ja) 1989-11-15
JP2663506B2 true JP2663506B2 (ja) 1997-10-15

Family

ID=14633337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63114260A Expired - Fee Related JP2663506B2 (ja) 1988-05-11 1988-05-11 自動演奏装置

Country Status (1)

Country Link
JP (1) JP2663506B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2785896B2 (ja) * 1990-01-05 1998-08-13 ヤマハ 株式会社 演奏データ処理装置
JP6076423B1 (ja) * 2015-08-04 2017-02-08 漢基 文 音楽再生装置及び音楽再生方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57113473A (en) * 1980-12-29 1982-07-14 Marantz Japan Inc Modulating system of piano automatic performance device
JPS57138075A (en) * 1981-02-19 1982-08-26 Matsushita Electric Ind Co Ltd Recorder and reproducer for musical signal

Also Published As

Publication number Publication date
JPH01283595A (ja) 1989-11-15

Similar Documents

Publication Publication Date Title
JP2576700B2 (ja) 自動伴奏装置
US4887503A (en) Automatic accompaniment apparatus for electronic musical instrument
JP2663506B2 (ja) 自動演奏装置
JP3353777B2 (ja) アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録した媒体
JPH0727381B2 (ja) 自動伴奏装置
JPH0683355A (ja) 自動伴奏装置
JPH0631977B2 (ja) 電子楽器
JPH06259070A (ja) 電子楽器
JP2518356B2 (ja) 自動伴奏装置
JPH0367276B2 (ja)
JP3296182B2 (ja) 自動伴奏装置
JP2001188537A (ja) 音色設定装置および音色設定方法並びに音色設定プログラムを記録した記録媒体
JP2848322B2 (ja) 自動伴奏装置
JP2705421B2 (ja) 自動伴奏装置
JPH04274297A (ja) 自動演奏装置
JP2636393B2 (ja) 自動演奏装置
JP3120806B2 (ja) 自動伴奏装置
JP3171436B2 (ja) 自動伴奏装置
JPH01283594A (ja) 自動演奏装置
JP3022496B2 (ja) 自動伴奏装置
JPH03198094A (ja) 自動伴奏パターンデータ発生装置
JP2576296B2 (ja) 電子楽器の自動伴奏装置
JPH01284792A (ja) アラーム時計
JPH01177089A (ja) 自動伴奏装置
JPH04242298A (ja) 電子楽器の自動伴奏装置

Legal Events

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