JPH0827624B2 - 自動演奏装置 - Google Patents
自動演奏装置Info
- Publication number
- JPH0827624B2 JPH0827624B2 JP62156601A JP15660187A JPH0827624B2 JP H0827624 B2 JPH0827624 B2 JP H0827624B2 JP 62156601 A JP62156601 A JP 62156601A JP 15660187 A JP15660187 A JP 15660187A JP H0827624 B2 JPH0827624 B2 JP H0827624B2
- Authority
- JP
- Japan
- Prior art keywords
- mode
- sequencer
- register
- key
- recording
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Signal Processing Not Specific To The Method Of Recording And Reproducing (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 以下の順序でこの発明を説明する。
産業上の利用分野 従来の技術 発明が解決しようとする問題点 問題点を解決するための手段 作用および効果 実施例 第1図の電子楽器の構成説明 第1図の電子楽器の機能および操作説明 第1図の電子楽器の動作説明 1.メインルーチン処理(第4図) 2.スタート/ストップスイッチ処理(第5図) 3.シーケンサスイッチ処理(第6図) 4.オートベースコードスイッチ処理(第7図) 5.キーオンイベント処理(第8図) 6.キーオフイベント処理(第9図) 7.伴奏キー割当て処理(第10図) 8.伴奏キー書込処理(第11図) 9.メロディキー割当て処理(第12図) 10.メロディキー書込処理(第13図) 11.クロック割込処理(第14図) 12.シーケンサ読出処理(第15図) 13.ベース伴奏発音処理(第16図) 14.コード伴奏発音処理(第17図) 15.小節終了書込処理(第18図) 16.小節終了スキップ処理(第19図) [産業上の利用分野] この発明は自動演奏装置に関し、特に、演奏を記録し
再生する機能を備えた電子楽器において演奏の記録後即
座に再生することができる自動演奏装置に関する。
再生する機能を備えた電子楽器において演奏の記録後即
座に再生することができる自動演奏装置に関する。
[従来の技術] 従来より、演奏記録再生装置または演奏記録再生装置
付きの電子楽器が種々提案されている(例えば、特開昭
59−197095号)。
付きの電子楽器が種々提案されている(例えば、特開昭
59−197095号)。
[発明が解決しようとする問題点] ところで、これらの演奏記録再生装置においては、演
奏の記録を終了した際にその演奏を再生したい場合に
は、装置のモードを記録のための記録モードから再生の
ための再生モードに変更する必要がある。このため、再
生モードを選択するスイッチ操作を行ない、さらにスタ
ートスイッチを押下するという操作が必要であった。
奏の記録を終了した際にその演奏を再生したい場合に
は、装置のモードを記録のための記録モードから再生の
ための再生モードに変更する必要がある。このため、再
生モードを選択するスイッチ操作を行ない、さらにスタ
ートスイッチを押下するという操作が必要であった。
この発明の目的は、前述の従来形における問題点に鑑
み、演奏を記録し再生することのできる自動演奏装置に
おいて、演奏の記録後スイッチ操作を行なうことなく即
座に再生モードで再生することができるようにすること
にある。
み、演奏を記録し再生することのできる自動演奏装置に
おいて、演奏の記録後スイッチ操作を行なうことなく即
座に再生モードで再生することができるようにすること
にある。
[問題点を解決するための手段] 上記の目的を達成するためこの発明では、演奏を記録
する記録モードにおける演奏の記録の後に、電子楽器の
モードを自動的に演奏を再生する再生モードに移行させ
るようにしている。
する記録モードにおける演奏の記録の後に、電子楽器の
モードを自動的に演奏を再生する再生モードに移行させ
るようにしている。
[作用および効果] 従って、この発明によれば、演奏を記録し再生するこ
とのできる自動演奏装置において、演奏の記録を終了す
ると自動的に再生モードとなりスタートスイッチで即座
に記録した演奏を確認することができる。
とのできる自動演奏装置において、演奏の記録を終了す
ると自動的に再生モードとなりスタートスイッチで即座
に記録した演奏を確認することができる。
さらに、複数の演奏パートがあって記録再生のモード
が混在していても、記録終了時には再生パートも記録パ
ートも共に再生モードとなり記録した時の状態で演奏を
聞くことができる。なお、どちらのモードでもない演奏
パートはそのままである。
が混在していても、記録終了時には再生パートも記録パ
ートも共に再生モードとなり記録した時の状態で演奏を
聞くことができる。なお、どちらのモードでもない演奏
パートはそのままである。
[実施例] 以下、この発明の実施例を説明する。
第1図は、この発明の一実施例に係る電子楽器のハー
ドウエア構成を示す。
ドウエア構成を示す。
(第1図の電子楽器の構成説明) 第1図において、中央処理装置(CPU)10はこの電子
楽器全体の動作を制御するためのもので、このCPU10に
は双方向バスライン12を介して、プログラムメモリ14、
レジスタ群16、シーケンサメモリおよびパターンメモリ
18、鍵盤回路20、テンポクロック発生器22、スイッチ群
24、およびトーンジェネレータ26を接続してある。トー
ンジェネレータ26には、サウンドシステム例えば増幅器
やスピーカ(図示せず)が接続してある。
楽器全体の動作を制御するためのもので、このCPU10に
は双方向バスライン12を介して、プログラムメモリ14、
レジスタ群16、シーケンサメモリおよびパターンメモリ
18、鍵盤回路20、テンポクロック発生器22、スイッチ群
24、およびトーンジェネレータ26を接続してある。トー
ンジェネレータ26には、サウンドシステム例えば増幅器
やスピーカ(図示せず)が接続してある。
プログラムメモリ14はリードオンリメモリ(ROM)等
により構成され、CPU10用の制御プログラムが格納され
ている。
により構成され、CPU10用の制御プログラムが格納され
ている。
シーケンサメモリ18は、演奏パートに対応し各パート
の演奏データを記憶する。このシーケンサメモリ18は例
えばランダムアクセスメモリ(RAM)からなり、第2図
(a)に示すように演奏パートに対応して4つのシーケ
ンサエリアPAT0〜PAT3が設けられている。なお、これら
のシーケンサエリアPAT0〜PAT3に対応して各シーケンサ
をそれぞれシーケンサ0,シーケンサ1,……と呼ぶものと
する。
の演奏データを記憶する。このシーケンサメモリ18は例
えばランダムアクセスメモリ(RAM)からなり、第2図
(a)に示すように演奏パートに対応して4つのシーケ
ンサエリアPAT0〜PAT3が設けられている。なお、これら
のシーケンサエリアPAT0〜PAT3に対応して各シーケンサ
をそれぞれシーケンサ0,シーケンサ1,……と呼ぶものと
する。
シーケンサエリアPAT0〜PAT3には第2図(b)に示す
フォーマットの「小節区切り」、「終了」、「キーオ
フ」、「キーオン」、「ベース発音」、「コード発音」
等のイベントデータが記憶される。
フォーマットの「小節区切り」、「終了」、「キーオ
フ」、「キーオン」、「ベース発音」、「コード発音」
等のイベントデータが記憶される。
8ビットがBEHのデータは小節区切りを表わすデータ
である。なおHは16進表記を示し、例えばBEHは8ビッ
トのエリアに16進表記の“BE"が設定されていることを
表わすものとする。
である。なおHは16進表記を示し、例えばBEHは8ビッ
トのエリアに16進表記の“BE"が設定されていることを
表わすものとする。
2バイト目がBFHのデータはシーケンサメモリに記憶
したデータの終りを表わす終了データである。1バイト
目には終了のタイミングを表わすタイミングデータが設
定される。
したデータの終りを表わす終了データである。1バイト
目には終了のタイミングを表わすタイミングデータが設
定される。
2バイト目の上位4ビットが8Hのデータは、キーオフ
のイベントを表わすデータである。1バイト目はキーオ
フのタイミングを表わすタイミングデータ、2バイト目
の下位4ビットは発音チャンネルを表わす。
のイベントを表わすデータである。1バイト目はキーオ
フのタイミングを表わすタイミングデータ、2バイト目
の下位4ビットは発音チャンネルを表わす。
キーオンイベントを表わすデータは、1バイト目がキ
ーオンのタイミングを表わすタイミングデータ、2バイ
ト目がキーコード、3バイト目がタッチデータである。
4バイト目は上位4ビットが9H、下位4ビットが発音チ
ャンネルを表わす。なお、シーケンサ2,3は後述するよ
うにそれぞれ1つの発音チャンネルに割当てられている
単音のシーケンサであり4バイト目を設ける必要がない
ので、4バイト目を省略したフォーマットで表わす。
ーオンのタイミングを表わすタイミングデータ、2バイ
ト目がキーコード、3バイト目がタッチデータである。
4バイト目は上位4ビットが9H、下位4ビットが発音チ
ャンネルを表わす。なお、シーケンサ2,3は後述するよ
うにそれぞれ1つの発音チャンネルに割当てられている
単音のシーケンサであり4バイト目を設ける必要がない
ので、4バイト目を省略したフォーマットで表わす。
ベース発音データは、1バイト目がタイミングデー
タ、2バイト目の最上位ビット(MSB)が“0"、次の3
ビットが和音タイプ、下位4ビットが根音である。
タ、2バイト目の最上位ビット(MSB)が“0"、次の3
ビットが和音タイプ、下位4ビットが根音である。
コード発音データは、1バイト目がタイミングデー
タ、2バイト目がキーコード、3バイト目の上位4ビッ
トが9H、下位4ビットが発音チャンネルを表わす。な
お、コード発音データは、ベース発音データと異なり和
音で記憶せず、キーコードで記憶する。
タ、2バイト目がキーコード、3バイト目の上位4ビッ
トが9H、下位4ビットが発音チャンネルを表わす。な
お、コード発音データは、ベース発音データと異なり和
音で記憶せず、キーコードで記憶する。
第2図(c)は、パターンメモリ18の構成を示す。BS
PATはベース発音のためのパターンデータであり、一小
節を96に分けて発音すべき所定のタイミングのエリアに
発音すべきキーコードが格納されている。CHDPATはコー
ド伴奏の発音のためのパターンデータである。一小節を
96に分け所定のタイミングのエリアに符号を格納してあ
る。この符号は0〜9の値をもちこれに応じて以下の第
1表のような発音処理がなされる。なお、第1表で第n
音(n=1〜4)とは高音側から数えた順位をいう。
PATはベース発音のためのパターンデータであり、一小
節を96に分けて発音すべき所定のタイミングのエリアに
発音すべきキーコードが格納されている。CHDPATはコー
ド伴奏の発音のためのパターンデータである。一小節を
96に分け所定のタイミングのエリアに符号を格納してあ
る。この符号は0〜9の値をもちこれに応じて以下の第
1表のような発音処理がなされる。なお、第1表で第n
音(n=1〜4)とは高音側から数えた順位をいう。
鍵盤回路20は、鍵盤の各鍵にそれぞれ対応する多数の
キースイッチ(図示せず)を備え、鍵盤操作による押鍵
および離鍵ならびに鍵名であるキーコードを表わすキー
イベントデータを発生する。
キースイッチ(図示せず)を備え、鍵盤操作による押鍵
および離鍵ならびに鍵名であるキーコードを表わすキー
イベントデータを発生する。
テンポクロック発生器22は、可変周波数発振器、また
は周波数固定の発振器と分周率可変の分周器とを組合せ
たもので、予め設定されたテンポに応じたクロックパル
スを発生する。
は周波数固定の発振器と分周率可変の分周器とを組合せ
たもので、予め設定されたテンポに応じたクロックパル
スを発生する。
スイッチ群24は、第1図に示すように、スタート/ス
トップ(S/S)スイッチ40、シーケンサ選択(SEQ)スイ
ッチ42〜48、レック(REC)スイッチ50、オートコード
(CHORD)スイッチ52、オートベース(BASS)スイッチ5
4、その他のスイッチ56等のスイッチにより構成されて
いる。
トップ(S/S)スイッチ40、シーケンサ選択(SEQ)スイ
ッチ42〜48、レック(REC)スイッチ50、オートコード
(CHORD)スイッチ52、オートベース(BASS)スイッチ5
4、その他のスイッチ56等のスイッチにより構成されて
いる。
トーンジェネレータ26はCPU10から与えられる押鍵、
離鍵、音色(または楽器種類)および音高等のデータに
基づく楽音信号を形成して増幅器等を備えたサウンドシ
ステムに送出する。サウンドシステムは、この楽音信号
に基づき楽音を発音する。
離鍵、音色(または楽器種類)および音高等のデータに
基づく楽音信号を形成して増幅器等を備えたサウンドシ
ステムに送出する。サウンドシステムは、この楽音信号
に基づき楽音を発音する。
第1図の電子楽器では、第3図に示すようにトーンジ
ェネレータ26は全部で8チャンネルの発音チャンネル
(チャンネルナンバ0〜7)を備えている。チャンネル
ナンバ0〜3の発音チャンネルはシーケンサ0に対応し
ている。同様に、チャンネルナンバ4,5の発音チャンネ
ルはシーケンサ1に、チャンネルナンバ6の発音チャン
ネルはシーケンサ2に、チャンネルナンバ7の発音チャ
ンネルはシーケンサ3に、それぞれ対応し、各シーケン
サからの出力は対応する発音チャンネルにより発音され
る。なお、自動ベース伴奏はシーケンサ3で、また自動
コード伴奏はシーケンサ0において処理される。以下、
チャンネルナンバ0〜7の発音チャンネルは、それぞれ
発音チャンネル0,発音チャンネル1,…,発音チャンネル
7と呼ぶものとする。
ェネレータ26は全部で8チャンネルの発音チャンネル
(チャンネルナンバ0〜7)を備えている。チャンネル
ナンバ0〜3の発音チャンネルはシーケンサ0に対応し
ている。同様に、チャンネルナンバ4,5の発音チャンネ
ルはシーケンサ1に、チャンネルナンバ6の発音チャン
ネルはシーケンサ2に、チャンネルナンバ7の発音チャ
ンネルはシーケンサ3に、それぞれ対応し、各シーケン
サからの出力は対応する発音チャンネルにより発音され
る。なお、自動ベース伴奏はシーケンサ3で、また自動
コード伴奏はシーケンサ0において処理される。以下、
チャンネルナンバ0〜7の発音チャンネルは、それぞれ
発音チャンネル0,発音チャンネル1,…,発音チャンネル
7と呼ぶものとする。
次に、この電子楽器に用意されているレジスタ群16を
構成するレジスタ類をアルファベット順に示すと、下記
の通りである。なお、以下の説明においては各レジスタ
群およびその内容(データ等)は、特に断らない限り同
一のラベル名で表わすものとする。
構成するレジスタ類をアルファベット順に示すと、下記
の通りである。なお、以下の説明においては各レジスタ
群およびその内容(データ等)は、特に断らない限り同
一のラベル名で表わすものとする。
1.ASS:割当可能なシーケンサナンバ。4ビットのレジス
タであり、下位のビットから順にシーケンサ0,1,2,3に
対応する。ビット値1で割当て可能を示す。なお、発音
割当する際、プレイモード(再生モード)になっている
シーケンサまたは自動伴奏モード(オートベースモード
とオードコードモード)のシーケンサを排除し、レック
モード(記録モード)の場合はそのシーケンサに割当て
る。
タであり、下位のビットから順にシーケンサ0,1,2,3に
対応する。ビット値1で割当て可能を示す。なお、発音
割当する際、プレイモード(再生モード)になっている
シーケンサまたは自動伴奏モード(オートベースモード
とオードコードモード)のシーケンサを排除し、レック
モード(記録モード)の場合はそのシーケンサに割当て
る。
2.BS:発音チャンネル7(シーケンサ3)がオートベー
スモードかどうかを示すフラグ。1でオートベースモー
ドを表わす。
スモードかどうかを示すフラグ。1でオートベースモー
ドを表わす。
3.CHD:発音チャンネル0〜3(シーケンサ0)がオート
コードモードかどうかを示すフラグ。1でオートコード
モードを表わす。
コードモードかどうかを示すフラグ。1でオートコード
モードを表わす。
4.CLK:テンポクロック。0〜95の値を取る。
5.ENCH:レジスタASSで選択されたシーケンサに対応する
割当可能な発音チャンネル。8ビットのレジスタであ
り、下位のビットから順に発音チャンネル0,1,…,7に対
応する。ビット値1で割当可能を表わす。
割当可能な発音チャンネル。8ビットのレジスタであ
り、下位のビットから順に発音チャンネル0,1,…,7に対
応する。ビット値1で割当可能を表わす。
6.i,j:シーケンサ0〜3や発音チャンネル0〜7を順
次、調査するための制御変数。
次、調査するための制御変数。
7.KC:イベントキーのキーコード。0,24〜84の値を取
る。ただし、0は休符データ、24〜84は第2表に示す音
高に対応する鍵盤のキーコードを示す。
る。ただし、0は休符データ、24〜84は第2表に示す音
高に対応する鍵盤のキーコードを示す。
8.KEYBUF:キーコードバッファ。このバッファに格納さ
れているキーコードがトーンジェネレータ26より実際に
発音される。発音チャンネル毎に設けてあり、発音チャ
ンネル0,1,…,7に対応するキーコードバッファはKEYBUF
0,KEYBUF1…,…,KEYBUF7で表わす。
れているキーコードがトーンジェネレータ26より実際に
発音される。発音チャンネル毎に設けてあり、発音チャ
ンネル0,1,…,7に対応するキーコードバッファはKEYBUF
0,KEYBUF1…,…,KEYBUF7で表わす。
9.KON:各発音チャンネルの押鍵状態。8ビットのレジス
タであり、下位のビットから順に発音チャンネル0,1,
…,7に対応する。ビット値1で押鍵されていることを表
わす。
タであり、下位のビットから順に発音チャンネル0,1,
…,7に対応する。ビット値1で押鍵されていることを表
わす。
10.MODP:各シーケンサがプレイモードか否かのフラグ。
4ビットのレジスタであり、下位のビットから順にシー
ケンサ0,1,2,3に対応する。ビット値1で当該シーケン
サがプレイモードであることを表わす。
4ビットのレジスタであり、下位のビットから順にシー
ケンサ0,1,2,3に対応する。ビット値1で当該シーケン
サがプレイモードであることを表わす。
11.MODR:各シーケンサがレックモードか否かのフラグ。
4ビットのレジスタであり、下位のビットから順にシー
ケンサ0,1,2,3に対応する。ビット値1で当該シーケン
サがレックモードであることを表わす。
4ビットのレジスタであり、下位のビットから順にシー
ケンサ0,1,2,3に対応する。ビット値1で当該シーケン
サがレックモードであることを表わす。
12.MSK:割当禁止すべきシーケンサナンバを表わす。4
ビットのレジスタであり、下位のビットから順にシーケ
ンサ0,1,2,3に対応する。ビット値1で当該シーケンサ
が割当禁止であることを表わす。
ビットのレジスタであり、下位のビットから順にシーケ
ンサ0,1,2,3に対応する。ビット値1で当該シーケンサ
が割当禁止であることを表わす。
13.PBS:書込まれたシーケンサがオートベースモードか
どうかのフラグ。1でオートベースモードを表わす。
どうかのフラグ。1でオートベースモードを表わす。
14.PCHD:書込まれたシーケンサ0がオートコードモード
かどうかのフラグ。1でオートコードモードを表わす。
かどうかのフラグ。1でオートコードモードを表わす。
15.PNT0〜PNT3:それぞれシーケンサメモリPAT0〜PAT3
の読出/書込ポインタ。
の読出/書込ポインタ。
16.RUN:リズム走行(=1)/停止(=0)/シンクロ
スタート(=−1)のフラグ。
スタート(=−1)のフラグ。
17.TOUCH:キー押鍵時のタッチデータ。
(第1図の電子楽器の機能および操作説明) 第1図の電子楽器は通常の鍵盤楽器としての演奏機能
の他、ベースを自動演奏するオートベース機能、コード
伴奏を自動演奏するオートコード機能、および伴奏音や
演奏音を記録および再生する機能を有する。
の他、ベースを自動演奏するオートベース機能、コード
伴奏を自動演奏するオートコード機能、および伴奏音や
演奏音を記録および再生する機能を有する。
通常のノーマルモードでは、リズムや伴奏の自動演奏
をしないで鍵盤演奏でき、鍵盤を操作するとその操作
(Key On)に応じた楽音が発音される。
をしないで鍵盤演奏でき、鍵盤を操作するとその操作
(Key On)に応じた楽音が発音される。
また、第1図の電子楽器では、SEQスイッチ42〜48の
いずれかをオンすると当該シーケンサはプレイモードに
なる。また、これらのSEQスイッチ42〜48のいずれかとR
ECスイッチ50とを同時にオンすると、当該シーケンサは
レックモードになる。(これらのモードの切換について
は、後のシーケンサスイッチ処理の説明にて詳述す
る。) この電子楽器の走行時は、これらのモードの切り替え
はできない。また、いずれかのシーケンサがレックモー
ドに設定されたとき、またはレックモードにおける演奏
終了時は自動的にシンクロスタート待機モードになる。
いずれかをオンすると当該シーケンサはプレイモードに
なる。また、これらのSEQスイッチ42〜48のいずれかとR
ECスイッチ50とを同時にオンすると、当該シーケンサは
レックモードになる。(これらのモードの切換について
は、後のシーケンサスイッチ処理の説明にて詳述す
る。) この電子楽器の走行時は、これらのモードの切り替え
はできない。また、いずれかのシーケンサがレックモー
ドに設定されたとき、またはレックモードにおける演奏
終了時は自動的にシンクロスタート待機モードになる。
プレイモードは、この電子楽器の走行時、レックモー
ドにて既に書込んである演奏データを自動的に読出して
発音するモードである。レックモードは、電子楽器の走
行時に伴奏データや演奏データをリアルタイムでシーケ
ンサメモリ18に書込むためのモードである。
ドにて既に書込んである演奏データを自動的に読出して
発音するモードである。レックモードは、電子楽器の走
行時に伴奏データや演奏データをリアルタイムでシーケ
ンサメモリ18に書込むためのモードである。
(第1図の電子楽器の動作説明) 次に第4図〜第19図のフローチャートを参照しながら
第1図の電子楽器の動作を説明する。
第1図の電子楽器の動作を説明する。
この電子楽器に電源が投入されると、CPU10はプログ
ラムメモリ12に格納された制御プログラムに従って動作
を開始する。先ず、第4図ステップ100以下のメインル
ーチンで示される処理を実行しそれと共に第14図のクロ
ック割込処理を実行する。
ラムメモリ12に格納された制御プログラムに従って動作
を開始する。先ず、第4図ステップ100以下のメインル
ーチンで示される処理を実行しそれと共に第14図のクロ
ック割込処理を実行する。
1.メインルーチン処理 第4図を参照して、ステップ101では、イニシャライ
ズを行なう。イニシャライズは、例えばレジスタKEYBUF
のクリア、レジスタKON、CLK、RUN等のゼロクリア、及
びLEDの全消灯等の初期化処理である。次いで、ステッ
プ102でS/Sスイッチの押下検出およびこのスイッチが押
下されていた場合の処理(第5図)を行なう。次にステ
ップ103でレジスタRUNが1かどうか判別する。1でなけ
れば装置は停止またはシンクロスタート待機状態である
から、ステップ104,105でシーケンサスイッチ処理(第
6図)およびオートベースコードスイッチ処理(第7
図)を行なう。レジスタRUNが1であれば装置は走行状
態であるから、ステップ104,105はスキップし、ステッ
プ106へ進む。ステップ106ではキーオンイベントの有無
のチェックおよびキーオンイベントがあった場合の処理
(第8図)を行ない、さらにステップ107ではキーオフ
イベントの有無のチェックおよびキーオフイベントがあ
った場合の処理(第9図)を行なう。最後にステップ10
8でその他の処理例えば音色セレクトやリズムセレクト
等の処理を行ない、ステップ102に戻る。
ズを行なう。イニシャライズは、例えばレジスタKEYBUF
のクリア、レジスタKON、CLK、RUN等のゼロクリア、及
びLEDの全消灯等の初期化処理である。次いで、ステッ
プ102でS/Sスイッチの押下検出およびこのスイッチが押
下されていた場合の処理(第5図)を行なう。次にステ
ップ103でレジスタRUNが1かどうか判別する。1でなけ
れば装置は停止またはシンクロスタート待機状態である
から、ステップ104,105でシーケンサスイッチ処理(第
6図)およびオートベースコードスイッチ処理(第7
図)を行なう。レジスタRUNが1であれば装置は走行状
態であるから、ステップ104,105はスキップし、ステッ
プ106へ進む。ステップ106ではキーオンイベントの有無
のチェックおよびキーオンイベントがあった場合の処理
(第8図)を行ない、さらにステップ107ではキーオフ
イベントの有無のチェックおよびキーオフイベントがあ
った場合の処理(第9図)を行なう。最後にステップ10
8でその他の処理例えば音色セレクトやリズムセレクト
等の処理を行ない、ステップ102に戻る。
次に、各サブルーチンの処理について説明する。
2.スタート/ストップスイッチ処理 S/Sスイッチは停止している装置を走行させ、または
走行している装置を停止させるため、押下のたびにスタ
ートとストップを繰返す動作を行なうスイッチである。
S/Sスイッチ処理サブルーチンSTART/STOPはこのS/Sスイ
ッチの押下の有無を検出し、押下されている場合の処理
を行なう。
走行している装置を停止させるため、押下のたびにスタ
ートとストップを繰返す動作を行なうスイッチである。
S/Sスイッチ処理サブルーチンSTART/STOPはこのS/Sスイ
ッチの押下の有無を検出し、押下されている場合の処理
を行なう。
第5図を参照して、ステップ201ではS/Sスイッチがオ
ンされているか否かを判別する。もしオンされていなけ
ればそのままリターンする。オンされている場合はステ
ップ202に進む。ステップ202ではレジスタRUNが1でな
いかどうかを判別する。もし1でなければ装置は停止ま
たはシンクロスタート待機状態であるから装置を走行さ
せるためにステップ203でレジスタRUNを1(走行)と
し、ステップ204でテンポクロックCLKを0としてリター
ンする。一方ステップ202でレジスタRUNが1のときは、
装置は走行状態であるからこれを停止させるためにステ
ップ205でレジスタRUNを0とする。
ンされているか否かを判別する。もしオンされていなけ
ればそのままリターンする。オンされている場合はステ
ップ202に進む。ステップ202ではレジスタRUNが1でな
いかどうかを判別する。もし1でなければ装置は停止ま
たはシンクロスタート待機状態であるから装置を走行さ
せるためにステップ203でレジスタRUNを1(走行)と
し、ステップ204でテンポクロックCLKを0としてリター
ンする。一方ステップ202でレジスタRUNが1のときは、
装置は走行状態であるからこれを停止させるためにステ
ップ205でレジスタRUNを0とする。
次に、ステップ206〜212で4つあるシーケンサの各々
につきそれがレックモードなら終了コードの書込みを行
ない、またそれがプレイモードなら対応する発音チャン
ネルにてトーンジェネレータ26のキーオフ処理を行な
う。すなわち、まずステップ206でiを0とする。次に
ステップ207でレジスタMODRiが1であるか否か判定し、
もし1であればシーケンサi(シーケンサナンバがiの
シーケンサを示す)はレックモードであるから、シーケ
ンサメモリPATiの読出/書込みポインタPNTiで示される
位置にテンポクロックCLKの値を格納し、その次のエリ
アにBFHを格納してステップ209に進む。ステップ207で
レジスタMODRiが1でない場合は直接ステップ209に進
む。ステップ209ではレジスタMODPiが1であるか否か判
定し、もし1であればシーケンサiはプレイモードであ
るからナンバiが占有する発音チャンネルにてトーンジ
ェネレータ26のキーオフ処理を行ないステップ211に進
む。ステップ209でレジスタMODPiが1でない場合は直接
ステップ211へ進む。ステップ211でレジスタiを歩進
し、ステップ212でレジスタiの値が3より大きいか否
か判別し、まだ3より大きくなっていない場合は次のシ
ーケンサiに対する処理を行なうべくステップ207に戻
る。4つのシーケンサのそれぞれについて処理終了した
らステップ212からステップ213に進む。ステップ213で
はレジスタMODPとレジスタMODRの論理和をとりレジスタ
MODPに格納する。これによりレックモードであったシー
ケンサはプレイモードになる。すなわち、あるシーケン
サがレックモードで装置が走行した後S/Sスイッチが押
下されてシンクロスタート待機状態に移行する際には、
レックモードであったシーケンサが自動的にプレイモー
ドになり、直前にレックモードで記録した演奏を直ちに
プレイすることができる。
につきそれがレックモードなら終了コードの書込みを行
ない、またそれがプレイモードなら対応する発音チャン
ネルにてトーンジェネレータ26のキーオフ処理を行な
う。すなわち、まずステップ206でiを0とする。次に
ステップ207でレジスタMODRiが1であるか否か判定し、
もし1であればシーケンサi(シーケンサナンバがiの
シーケンサを示す)はレックモードであるから、シーケ
ンサメモリPATiの読出/書込みポインタPNTiで示される
位置にテンポクロックCLKの値を格納し、その次のエリ
アにBFHを格納してステップ209に進む。ステップ207で
レジスタMODRiが1でない場合は直接ステップ209に進
む。ステップ209ではレジスタMODPiが1であるか否か判
定し、もし1であればシーケンサiはプレイモードであ
るからナンバiが占有する発音チャンネルにてトーンジ
ェネレータ26のキーオフ処理を行ないステップ211に進
む。ステップ209でレジスタMODPiが1でない場合は直接
ステップ211へ進む。ステップ211でレジスタiを歩進
し、ステップ212でレジスタiの値が3より大きいか否
か判別し、まだ3より大きくなっていない場合は次のシ
ーケンサiに対する処理を行なうべくステップ207に戻
る。4つのシーケンサのそれぞれについて処理終了した
らステップ212からステップ213に進む。ステップ213で
はレジスタMODPとレジスタMODRの論理和をとりレジスタ
MODPに格納する。これによりレックモードであったシー
ケンサはプレイモードになる。すなわち、あるシーケン
サがレックモードで装置が走行した後S/Sスイッチが押
下されてシンクロスタート待機状態に移行する際には、
レックモードであったシーケンサが自動的にプレイモー
ドになり、直前にレックモードで記録した演奏を直ちに
プレイすることができる。
次に、ステップ214でレジスタMODRが0かどうか判別
し、もし0ならステップ215でレジスタMODPに0を格納
し、一方レジスタMODRが0でなければレジスタMODRに0
を格納する。すなわち、レックモードのシーケンサがな
かった場合はステップ215でプレイモードもすべて解除
する。一方、1つでもレックモードのシーケンサがある
場合は、ステップ213でそのレックモードのシーケンサ
を強制的にプレイモードにした訳であるから、すべての
シーケンサにつきレックモードを解除する。
し、もし0ならステップ215でレジスタMODPに0を格納
し、一方レジスタMODRが0でなければレジスタMODRに0
を格納する。すなわち、レックモードのシーケンサがな
かった場合はステップ215でプレイモードもすべて解除
する。一方、1つでもレックモードのシーケンサがある
場合は、ステップ213でそのレックモードのシーケンサ
を強制的にプレイモードにした訳であるから、すべての
シーケンサにつきレックモードを解除する。
次に、ステップ217でレックモードを示すLEDはすべて
消灯し、プレイモードを示すLEDはレジスタMODPに基づ
いて点灯または消灯する。さらに、ステップ218で1つ
でもプレイモードのシーケンサがあるか否か、すなわち
MODPが0か否かを判別し、0であればそのままリターン
する。また、0でなければ、プレイモードのシーケンサ
があるということだからレジスタRUNに−1を格納して
シンクロスタート待機状態とした後リターンする。
消灯し、プレイモードを示すLEDはレジスタMODPに基づ
いて点灯または消灯する。さらに、ステップ218で1つ
でもプレイモードのシーケンサがあるか否か、すなわち
MODPが0か否かを判別し、0であればそのままリターン
する。また、0でなければ、プレイモードのシーケンサ
があるということだからレジスタRUNに−1を格納して
シンクロスタート待機状態とした後リターンする。
3.シーケンサスイッチ処理 SEQスイッチ42〜48はシーケンサをプレイモードまた
はレックモードで選択したり、これらのモードを解除す
る場合に押下すべきスイッチである。SEQスイッチ処理
サブルーチンSEQSWは、各シーケンサの各々につきこのS
EQスイッチの押下の有無を検出し、押下されている場合
の処理を行なう。
はレックモードで選択したり、これらのモードを解除す
る場合に押下すべきスイッチである。SEQスイッチ処理
サブルーチンSEQSWは、各シーケンサの各々につきこのS
EQスイッチの押下の有無を検出し、押下されている場合
の処理を行なう。
第6図を参照して、先ず、ステップ301ではレジスタ
iに0を格納する。次に、ステップ302でシーケンサナ
ンバiのSEQスイッチSEQiがオンされているか否かを判
別する。オンされている場合はステップ303でRECスイッ
チの状態に基づき第3表に従ってレジスタMODR,MODPの
iビットを制御する。
iに0を格納する。次に、ステップ302でシーケンサナ
ンバiのSEQスイッチSEQiがオンされているか否かを判
別する。オンされている場合はステップ303でRECスイッ
チの状態に基づき第3表に従ってレジスタMODR,MODPの
iビットを制御する。
なお、RECスイッチは、それを押下しながらSEQスイッ
チをオンした場合はRECスイッチがオン、RECスイッチは
押下せずSEQスイッチのみをオンした場合はRECスイッチ
がオフとする。
チをオンした場合はRECスイッチがオン、RECスイッチは
押下せずSEQスイッチのみをオンした場合はRECスイッチ
がオフとする。
次に、ステップ304でRECスイッチがオンか否か判別す
る。オンであればレジスタRUNに−1を格納してシンク
ロスタートモードとし、一方オフならそのままステップ
306へ進む。なお、ステップ302でSEQiスイッチがオンで
ないときも直接ステップ306へ分岐する。ステップ306で
レジスタiを歩進し、ステップ307でレジスタiが3よ
り大きいか否かを判別する。もし、3より大きくなけれ
ばステップ302に戻り次のシーケンサナンバiについて
同様の処理をする。4つのシーケンサすべてにつき処理
が終了したらステップ308に進む。
る。オンであればレジスタRUNに−1を格納してシンク
ロスタートモードとし、一方オフならそのままステップ
306へ進む。なお、ステップ302でSEQiスイッチがオンで
ないときも直接ステップ306へ分岐する。ステップ306で
レジスタiを歩進し、ステップ307でレジスタiが3よ
り大きいか否かを判別する。もし、3より大きくなけれ
ばステップ302に戻り次のシーケンサナンバiについて
同様の処理をする。4つのシーケンサすべてにつき処理
が終了したらステップ308に進む。
ステップ308で各シーケンサのポインタPNT0〜PNT3を
シーケンサメモリPAT0〜PAT3の先頭に合わせる。次に、
ステップ309でレックモードおよびプレイモードを示すL
EDをすべて消灯し、ステップ310でレジスタMODR,MODPの
iビットの1または0に対して、対応するレックまたは
プレイモードを示すLEDを点灯する。その後リターンす
る。
シーケンサメモリPAT0〜PAT3の先頭に合わせる。次に、
ステップ309でレックモードおよびプレイモードを示すL
EDをすべて消灯し、ステップ310でレジスタMODR,MODPの
iビットの1または0に対して、対応するレックまたは
プレイモードを示すLEDを点灯する。その後リターンす
る。
4.オートベースコードスイッチ処理 オートベーススイッチ54はベースを自動伴奏するオー
トベースモードを選択したり、そのモードを解除する場
合に押下すべきスイッチである。また、オートコードス
イッチ52はコード伴奏を自動伴奏するオートコードモー
ドを選択したり、そのモードを解除する場合に押下すべ
きスイッチである。オートベースコードスイッチ処理サ
ブルーチンABCSWは、これらのスイッチの押下の有無を
検出し、押下されている場合の処理を行なう。
トベースモードを選択したり、そのモードを解除する場
合に押下すべきスイッチである。また、オートコードス
イッチ52はコード伴奏を自動伴奏するオートコードモー
ドを選択したり、そのモードを解除する場合に押下すべ
きスイッチである。オートベースコードスイッチ処理サ
ブルーチンABCSWは、これらのスイッチの押下の有無を
検出し、押下されている場合の処理を行なう。
第7図を参照して、ステップ401ではCHORDスイッチが
オンされているか否かを判別する。オンされている場合
はステップ402で1−CHDの結果をレジスタCHDに格納す
る。これによりレジスタCHDは元が0であれば1に、1
であれば0に設定される。ステップ401でCHORDスイッチ
がオンされていない場合は、直接ステップ403へ進む。
オンされているか否かを判別する。オンされている場合
はステップ402で1−CHDの結果をレジスタCHDに格納す
る。これによりレジスタCHDは元が0であれば1に、1
であれば0に設定される。ステップ401でCHORDスイッチ
がオンされていない場合は、直接ステップ403へ進む。
ステップ403ではBASSスイッチがオンされているか否
かを判別し、オンされていない場合はそのままリターン
する。オンされている場合は、ステップ404で1−BSの
結果をレジスタBSに格納する。これによりレジスタBSは
元が0であれば1に、1であれば0に設定されることと
なる。
かを判別し、オンされていない場合はそのままリターン
する。オンされている場合は、ステップ404で1−BSの
結果をレジスタBSに格納する。これによりレジスタBSは
元が0であれば1に、1であれば0に設定されることと
なる。
次にステップ405でレジスタMODPの第3ビット(シー
ケンサ3)が1でかつレジスタPBSが1であるかどうか
判別し、そうであればレジスタBSに1を格納した後ステ
ップ407に、そうでなければそのままステップ407に進
む。ステップ407ではレジスタMODPの第0ビットが1で
かつレジスタPCHDが1であるかどうか判別し、そうであ
ればレジスタCHDに1を格納してステップ409に、そうで
なければそのままステップ409に進む。ステップ409では
レジスタMODRの第3ビットが1でかつレジスタBSが1で
あるかどうか判別し、そうであればレジスタPBSに1を
格納してステップ411に、そうでなければそのままステ
ップ411に進む。ステップ411ではレジスタMODRの第0ビ
ットが1でかつレジスタCHDが1であるかどうか判別
し、そうであればレジスタPCHDに1を格納した後リター
ンし、そうでなければそのままリターンする。
ケンサ3)が1でかつレジスタPBSが1であるかどうか
判別し、そうであればレジスタBSに1を格納した後ステ
ップ407に、そうでなければそのままステップ407に進
む。ステップ407ではレジスタMODPの第0ビットが1で
かつレジスタPCHDが1であるかどうか判別し、そうであ
ればレジスタCHDに1を格納してステップ409に、そうで
なければそのままステップ409に進む。ステップ409では
レジスタMODRの第3ビットが1でかつレジスタBSが1で
あるかどうか判別し、そうであればレジスタPBSに1を
格納してステップ411に、そうでなければそのままステ
ップ411に進む。ステップ411ではレジスタMODRの第0ビ
ットが1でかつレジスタCHDが1であるかどうか判別
し、そうであればレジスタPCHDに1を格納した後リター
ンし、そうでなければそのままリターンする。
5.キーオンイベント処理 キーオン処理サブルーチンKEYONは鍵盤のキーがオン
されたことを検出しその場合の処理を行なう。
されたことを検出しその場合の処理を行なう。
第8図を参照して、ステップ501でキーオンイベント
の有無を判別する。キーオンイベント無しならばそのま
まリターンし、キーオンイベント有りならばステップ50
2に進む。ステップ502でキーオンイベントがあったキー
のキーコードをレジスタKCに格納し、タッチデータをレ
ジスタTOUCHに格納する。次に、ステップ503でレジスタ
BSまたはレジスタCHDが1であるか否か判別する。すな
わちオートベースモードまたはオートコードモードであ
るか否かを判別する。これらのモードである場合は、ス
テップ504でレジスタKCをチェックし、押鍵されたキー
のキーコードが48より大きいか否か判別する。ステップ
503でオートベースモードでもオートコードモードでも
ない場合は全鍵メロディ鍵であるからステップ507へ進
む。また、ステップ504でレジスタKCが48より大きい場
合も押鍵されたのはメロディ鍵であるから、ステップ50
7へ進む。一方、レジスタKCが48より大きくない場合は
伴奏のためのキー押鍵であるからステップ505で発音チ
ャンネルの割当てを行ない、ステップ506でレックモー
ドのときの書込み処理を行なう。これらステップ505,50
6の処理は後述するサブルーチンで行なう。
の有無を判別する。キーオンイベント無しならばそのま
まリターンし、キーオンイベント有りならばステップ50
2に進む。ステップ502でキーオンイベントがあったキー
のキーコードをレジスタKCに格納し、タッチデータをレ
ジスタTOUCHに格納する。次に、ステップ503でレジスタ
BSまたはレジスタCHDが1であるか否か判別する。すな
わちオートベースモードまたはオートコードモードであ
るか否かを判別する。これらのモードである場合は、ス
テップ504でレジスタKCをチェックし、押鍵されたキー
のキーコードが48より大きいか否か判別する。ステップ
503でオートベースモードでもオートコードモードでも
ない場合は全鍵メロディ鍵であるからステップ507へ進
む。また、ステップ504でレジスタKCが48より大きい場
合も押鍵されたのはメロディ鍵であるから、ステップ50
7へ進む。一方、レジスタKCが48より大きくない場合は
伴奏のためのキー押鍵であるからステップ505で発音チ
ャンネルの割当てを行ない、ステップ506でレックモー
ドのときの書込み処理を行なう。これらステップ505,50
6の処理は後述するサブルーチンで行なう。
一方、ステップ507ではメロディ鍵が押鍵された場合
の発音チャンネルの割当てを行ない、ステップ508でレ
ックモードのときの書込み処理を行なう。次にステップ
509でレジスタRUNが−1かどうか判別する。すなわちシ
ンクロスタートか否かを判別して、そうであればステッ
プ510でレジスタRUNに1を格納し、テンポクロックCLK
に0を格納してリターンする。
の発音チャンネルの割当てを行ない、ステップ508でレ
ックモードのときの書込み処理を行なう。次にステップ
509でレジスタRUNが−1かどうか判別する。すなわちシ
ンクロスタートか否かを判別して、そうであればステッ
プ510でレジスタRUNに1を格納し、テンポクロックCLK
に0を格納してリターンする。
6.キーオフイベント処理 キーオフ処理サブルーチンKEYOFFはオンされていた鍵
盤のキーがオフされたことを検出しその場合の処理を行
なう。
盤のキーがオフされたことを検出しその場合の処理を行
なう。
第9図(a)を参照して、先ずステップ601でキーオ
フイベントがあるか否か判別し、なければそのままリタ
ーンする。キーオフイベントがある場合は、ステップ60
2で当該イベントキーのキーコードをレジスタKCに格納
する。次にステップ603でレジスタMODPの第0ビットが
1かどうか、すなわち発音チャンネル0〜3がプレイモ
ードに割当てられているかどうかをチェックする。もし
プレイモードでなければ、ステップ604でi=0〜3の
発音チャンネルにて発音しているキーコードすなわちKE
YBUFiに格納されているキーコードとキーオフイベント
があったキーコードKCとを比較し、一致したキーコード
があるか否か判別する。もし一致したものがあれば、発
音チャンネルiで発音しているキーコードに対応したキ
ーについてキーオフイベントがあったことになり、ステ
ップ605でレジスタjに0を格納した後ステップ615に分
岐する。
フイベントがあるか否か判別し、なければそのままリタ
ーンする。キーオフイベントがある場合は、ステップ60
2で当該イベントキーのキーコードをレジスタKCに格納
する。次にステップ603でレジスタMODPの第0ビットが
1かどうか、すなわち発音チャンネル0〜3がプレイモ
ードに割当てられているかどうかをチェックする。もし
プレイモードでなければ、ステップ604でi=0〜3の
発音チャンネルにて発音しているキーコードすなわちKE
YBUFiに格納されているキーコードとキーオフイベント
があったキーコードKCとを比較し、一致したキーコード
があるか否か判別する。もし一致したものがあれば、発
音チャンネルiで発音しているキーコードに対応したキ
ーについてキーオフイベントがあったことになり、ステ
ップ605でレジスタjに0を格納した後ステップ615に分
岐する。
一方、ステップ603でシーケンサ0がプレイモードの
場合はキーオフの処理をする必要がないのでステップ60
6に分岐する。また、ステップ604でKEYBUFi(i=0〜
3)中にキーオフイベントのあったキーコードKCと一致
するものがなかったときもステップ606に分岐する。
場合はキーオフの処理をする必要がないのでステップ60
6に分岐する。また、ステップ604でKEYBUFi(i=0〜
3)中にキーオフイベントのあったキーコードKCと一致
するものがなかったときもステップ606に分岐する。
ステップ606〜608、ステップ609〜611、ステップ612
〜614はシーケンサナンバ1,2,3のそれぞれのシーケンサ
について、ステップ603〜605と同様の処理を行なう。
〜614はシーケンサナンバ1,2,3のそれぞれのシーケンサ
について、ステップ603〜605と同様の処理を行なう。
ステップ606ではレジスタMODPの第1ビットが1か否
かを判別し、1であればシーケンサ1はプレイモードで
あるから直接ステップ609に分岐する。1でない場合
は、ステップ607でシーケンサ1に対応する発音チャン
ネルi=4,5にてKEYBUFiがキーコードKCと等しいか否か
判別する。等しいものがあればそのキーがオフされたこ
とになるからステップ608でレジスタjに1を格納しス
テップ615に分岐する。ステップ607で等しいものがなけ
ればステップ609に進む。
かを判別し、1であればシーケンサ1はプレイモードで
あるから直接ステップ609に分岐する。1でない場合
は、ステップ607でシーケンサ1に対応する発音チャン
ネルi=4,5にてKEYBUFiがキーコードKCと等しいか否か
判別する。等しいものがあればそのキーがオフされたこ
とになるからステップ608でレジスタjに1を格納しス
テップ615に分岐する。ステップ607で等しいものがなけ
ればステップ609に進む。
ステップ609〜611ではシーケンサナンバ2、発音チャ
ンネル6についてキーオフイベントがあったか否か判別
し、あればステップ611でレジスタjに2を格納してス
テップ615に進む。キーオフイベントがなければステッ
プ612に進む。
ンネル6についてキーオフイベントがあったか否か判別
し、あればステップ611でレジスタjに2を格納してス
テップ615に進む。キーオフイベントがなければステッ
プ612に進む。
ステップ612〜614ではシーケンサナンバ3、発音チャ
ンネル7についてキーオフイベントがあったか否か判別
し、あればステップ614でレジスタjに3を格納してス
テップ615に進む。キーオフイベントがない場合はその
ままリターンする。なお、ステップ613から直接リター
ンする場合は発音されていないキーについてキーオフイ
ベントがあったこととなるが、これは発音チャンネルが
8チャンネルと限られているためキーオンしても発音チ
ャンネルが割当てられず発音しない場合があるからであ
る。
ンネル7についてキーオフイベントがあったか否か判別
し、あればステップ614でレジスタjに3を格納してス
テップ615に進む。キーオフイベントがない場合はその
ままリターンする。なお、ステップ613から直接リター
ンする場合は発音されていないキーについてキーオフイ
ベントがあったこととなるが、これは発音チャンネルが
8チャンネルと限られているためキーオンしても発音チ
ャンネルが割当てられず発音しない場合があるからであ
る。
ステップ615では発音していたキーコードバッファの
発音チャンネルiに対応するコードKEYBUFiをゼロクリ
アし、ステップ616でiチャンネルの押鍵状態をオフと
すべくレジスタKONの第iビットをゼロクリアする。次
にステップ617でiチャンネルのトーンジェネレータ26
のキーオフ処理を行ないステップ618でサブルーチンOFF
REC(第9図(b))をコールしリターンする。
発音チャンネルiに対応するコードKEYBUFiをゼロクリ
アし、ステップ616でiチャンネルの押鍵状態をオフと
すべくレジスタKONの第iビットをゼロクリアする。次
にステップ617でiチャンネルのトーンジェネレータ26
のキーオフ処理を行ないステップ618でサブルーチンOFF
REC(第9図(b))をコールしリターンする。
第9図(b)を参照して、サブルーチンOFFRECでは、
先ず、ステップ631でレジスタMODRの第jビットが1で
あるか否か判別する。すなわちシーケンサナンバjのシ
ーケンサがレックモードであるか否か判別し、もしレッ
クモードでなければリターンし、レックモードであれば
キーオフイベントについての情報をシーケンサメモリ18
に書込むべくステップ632に進む。ステップ632でシーケ
ンサメモリPATjのポインタPNTjの位置にテンポクロック
CLKを格納し、ステップ633でその次の位置に80H+iを
格納し、さらにステップ634でポインタPNTjに2を加え
る。その後リターンする。
先ず、ステップ631でレジスタMODRの第jビットが1で
あるか否か判別する。すなわちシーケンサナンバjのシ
ーケンサがレックモードであるか否か判別し、もしレッ
クモードでなければリターンし、レックモードであれば
キーオフイベントについての情報をシーケンサメモリ18
に書込むべくステップ632に進む。ステップ632でシーケ
ンサメモリPATjのポインタPNTjの位置にテンポクロック
CLKを格納し、ステップ633でその次の位置に80H+iを
格納し、さらにステップ634でポインタPNTjに2を加え
る。その後リターンする。
7.伴奏キー割当て処理 伴奏キー割当て処理のサブルーチンLKASSは、オート
ベース伴奏またはオートコード伴奏を行なっており音高
がC3以下の鍵盤の押下があったときにキーオンイベント
処理のサブルーチンKEYON(第8図)からコールされ
る。そして後の発音のための割当て処理を行なう。
ベース伴奏またはオートコード伴奏を行なっており音高
がC3以下の鍵盤の押下があったときにキーオンイベント
処理のサブルーチンKEYON(第8図)からコールされ
る。そして後の発音のための割当て処理を行なう。
第10図を参照して、ステップ701ではレジスタMODPの
第3ビットが1か否か、すなわちシーケンサ3がプレイ
モードであるか否かを判別する。プレイモードの場合は
既にシーケンサに書込まれているデータに基いて発音
し、押鍵状態はみる必要がないので、直接ステップ703
に進む。ステップ701でプレイモードの場合はステップ7
02で押鍵状態から和音を検出しレジスタCHORDに格納
し、ステップ703に進む。
第3ビットが1か否か、すなわちシーケンサ3がプレイ
モードであるか否かを判別する。プレイモードの場合は
既にシーケンサに書込まれているデータに基いて発音
し、押鍵状態はみる必要がないので、直接ステップ703
に進む。ステップ701でプレイモードの場合はステップ7
02で押鍵状態から和音を検出しレジスタCHORDに格納
し、ステップ703に進む。
次に、ステップ703ではレジスタMODPの第0ビットが
1か否か、すなわちシーケンサ0がプレイモードである
か否かを判別する。プレイモードの場合は押鍵データで
なくシーケンサに書込まれているデータを使用して発音
するので、そのままリターンする。プレイモードでない
場合はステップ704でレジスタKONの反転▲▼とOF
Hとのアンドをとる。KONは各発音チャンネルの押鍵状態
を示すから▲▼では割当て可能な発音チャンネル
の位置に1が立つことになる。そして、その割当て可能
発音チャンネルのうち、シーケンサ0に対応する発音チ
ャンネル0〜3で割当て可能なものをみつけるため、OF
Hとアンドをとっている。ステップ705では、割当可能な
発音チャンネルを示すレジスタENCHの1となるビットの
うち1つを選び、そのチャンネルのナンバをレジスタj
に格納する。そしてステップ706でチャンネルjの発音
チャンネルが割当てられたことを示すためレジスタKON
の第jビットを1とし、ステップ707で押鍵されたキー
のキーコードKCを発音させるべくキーコードバッファKE
YBUFjに格納しリターンする。
1か否か、すなわちシーケンサ0がプレイモードである
か否かを判別する。プレイモードの場合は押鍵データで
なくシーケンサに書込まれているデータを使用して発音
するので、そのままリターンする。プレイモードでない
場合はステップ704でレジスタKONの反転▲▼とOF
Hとのアンドをとる。KONは各発音チャンネルの押鍵状態
を示すから▲▼では割当て可能な発音チャンネル
の位置に1が立つことになる。そして、その割当て可能
発音チャンネルのうち、シーケンサ0に対応する発音チ
ャンネル0〜3で割当て可能なものをみつけるため、OF
Hとアンドをとっている。ステップ705では、割当可能な
発音チャンネルを示すレジスタENCHの1となるビットの
うち1つを選び、そのチャンネルのナンバをレジスタj
に格納する。そしてステップ706でチャンネルjの発音
チャンネルが割当てられたことを示すためレジスタKON
の第jビットを1とし、ステップ707で押鍵されたキー
のキーコードKCを発音させるべくキーコードバッファKE
YBUFjに格納しリターンする。
8.伴奏キー書込処理 上述した伴奏キー割当て処理の後、伴奏キー書込処理
のサブルーチンでレックモードの際の伴奏キー押下のシ
ーケンサへの書込みを行なう。
のサブルーチンでレックモードの際の伴奏キー押下のシ
ーケンサへの書込みを行なう。
第11図を参照して、ステップ801ではレジスタMODRの
第3ビットが1でありかつレジスタBSが1であるか否か
判別する。すなわち、シーケンサ3(チャンネル7)が
レックモードでありかつオートベースモードであるかど
うか判別する。もしそうであれば、ステップ802でシー
ケンサメモリPAT3のポインタPNT3で示される位置にテン
ポクロックCLKを格納し、ステップ803でその次の位置に
レジスタCHORDすなわち押鍵状態から検出した和音を格
納する。次にステップ804でポインタPNT3を更新し、ス
テップ805に進む。ステップ801でシーケンサ3がレコー
ドモードでないかまたはオートベースモードでもない場
合は書込む必要がないので、ステップ805に分岐する。
第3ビットが1でありかつレジスタBSが1であるか否か
判別する。すなわち、シーケンサ3(チャンネル7)が
レックモードでありかつオートベースモードであるかど
うか判別する。もしそうであれば、ステップ802でシー
ケンサメモリPAT3のポインタPNT3で示される位置にテン
ポクロックCLKを格納し、ステップ803でその次の位置に
レジスタCHORDすなわち押鍵状態から検出した和音を格
納する。次にステップ804でポインタPNT3を更新し、ス
テップ805に進む。ステップ801でシーケンサ3がレコー
ドモードでないかまたはオートベースモードでもない場
合は書込む必要がないので、ステップ805に分岐する。
ステップ805ではレジスタMODRの第0ビットが1であ
りかつレジスタCHDが1であるか否か判別する。すなわ
ちシーケンサ0(チャンネル0〜3)がレックモードで
ありかつチャンネル0〜3がオートコードモードである
かどうか判別する。もしそうであれば、ステップ806で
シーケンサメモリPAT0のポインタPNT0で示される位置に
テンポクロックCLKの値を格納し、ステップ807でその次
の位置に押鍵されたキーのキーコードKCの値を格納し、
ステップ808でその次の位置に90Hとレジスタjとのオア
を取った値を格納する。なお、このレジスタjには上述
した第10図のステップ705にて割当てるべき発音チャン
ネルのナンバが既に格納されている。次に、ステップ80
9でポインタPNT0を更新してリターンする。ステップ805
でシーケンサ0がレックモードでなくまたはオートコー
ドモードでない場合はそのままリターンする。
りかつレジスタCHDが1であるか否か判別する。すなわ
ちシーケンサ0(チャンネル0〜3)がレックモードで
ありかつチャンネル0〜3がオートコードモードである
かどうか判別する。もしそうであれば、ステップ806で
シーケンサメモリPAT0のポインタPNT0で示される位置に
テンポクロックCLKの値を格納し、ステップ807でその次
の位置に押鍵されたキーのキーコードKCの値を格納し、
ステップ808でその次の位置に90Hとレジスタjとのオア
を取った値を格納する。なお、このレジスタjには上述
した第10図のステップ705にて割当てるべき発音チャン
ネルのナンバが既に格納されている。次に、ステップ80
9でポインタPNT0を更新してリターンする。ステップ805
でシーケンサ0がレックモードでなくまたはオートコー
ドモードでない場合はそのままリターンする。
9.メロディキー割当て処理 メロディキー割当て処理のサブルーチンUKASSは、キ
ーオンイベント処理のサブルーチンKEYON(第8図)に
おいて、オートベースモードまたはオートコードモード
のいずれでもない場合(このときは全鍵がメロディ鍵と
なる)またはこのような自動伴奏のモードであっても押
鍵されたキーの音高がC3より大きい場合にコールされ
る。そして発音チャンネルの割当て処理およびトーンジ
ェネレータ26の発音処理等を行なう。
ーオンイベント処理のサブルーチンKEYON(第8図)に
おいて、オートベースモードまたはオートコードモード
のいずれでもない場合(このときは全鍵がメロディ鍵と
なる)またはこのような自動伴奏のモードであっても押
鍵されたキーの音高がC3より大きい場合にコールされ
る。そして発音チャンネルの割当て処理およびトーンジ
ェネレータ26の発音処理等を行なう。
第12図を参照して、ステップ901ではレジスタMSKをゼ
ロクリアする。次に、ステップ902でレジスタBSにより
オートベースモードか否か判別し、オートベースモード
のときはシーケンサ3は自動ベース伴奏のために割当て
られるからレジスタMSKのシーケンサ3に対応するビッ
ト位置をマスクすべく、ステップ903でMSKに8Hを格納す
る。その後、ステップ904に進む。ステップ902でオート
ベースモードでない場合は直接ステップ904へ進む。
ロクリアする。次に、ステップ902でレジスタBSにより
オートベースモードか否か判別し、オートベースモード
のときはシーケンサ3は自動ベース伴奏のために割当て
られるからレジスタMSKのシーケンサ3に対応するビッ
ト位置をマスクすべく、ステップ903でMSKに8Hを格納す
る。その後、ステップ904に進む。ステップ902でオート
ベースモードでない場合は直接ステップ904へ進む。
ステップ904ではレジスタCHDによりオートコードモー
ドか否か判別し、オートコードモードのときはシーケン
サ0は自動コード伴奏のために割当てられるからレジス
タMSKのシーケンサ0に対応するビット位置をマスクす
べくステップ905でレジスタMSKと1Hとのオアを取り、そ
れを再びレジスタMSKに格納する。その後、ステップ910
に進む。ステップ904でオートコードモードでない場合
は直接ステップ910に進む。
ドか否か判別し、オートコードモードのときはシーケン
サ0は自動コード伴奏のために割当てられるからレジス
タMSKのシーケンサ0に対応するビット位置をマスクす
べくステップ905でレジスタMSKと1Hとのオアを取り、そ
れを再びレジスタMSKに格納する。その後、ステップ910
に進む。ステップ904でオートコードモードでない場合
は直接ステップ910に進む。
ステップ910ではレジスタMSKとレジスタMODPとのオア
を取って再びレジスタMSKに格納する。これにより、プ
レイモードのシーケンサについてもマスクされる。次
に、ステップ911でレジスタMODRとレジスタMSKの反転▲
▼とのアンドを取り、レジスタASSに格納する。
レジスタASSにはレックモードであってかつ割当て可能
なシーケンサを示すビット位置に1が設定されているこ
ととなる。さらに、ステップ912では、レジスタASSが0
であってかつレジスタMSKの反転▲▼が0でない
かどうか判別する。この判別により、割当て可能なシー
ケンサはある(すなわち▲▼≠0)がそれらのシ
ーケンサは全部レックモードでない(すなわちASS=
0)場合は、ステップ913でレックモードでないシーケ
ンサに割当てるべく割当て可能シーケンサを示す▲
▼の値をレジスタASSに格納し、ステップ914に進む。
ステップ912でレジスタASSが0でないかまたはMSKが0
のときはステップ914に分岐する。
を取って再びレジスタMSKに格納する。これにより、プ
レイモードのシーケンサについてもマスクされる。次
に、ステップ911でレジスタMODRとレジスタMSKの反転▲
▼とのアンドを取り、レジスタASSに格納する。
レジスタASSにはレックモードであってかつ割当て可能
なシーケンサを示すビット位置に1が設定されているこ
ととなる。さらに、ステップ912では、レジスタASSが0
であってかつレジスタMSKの反転▲▼が0でない
かどうか判別する。この判別により、割当て可能なシー
ケンサはある(すなわち▲▼≠0)がそれらのシ
ーケンサは全部レックモードでない(すなわちASS=
0)場合は、ステップ913でレックモードでないシーケ
ンサに割当てるべく割当て可能シーケンサを示す▲
▼の値をレジスタASSに格納し、ステップ914に進む。
ステップ912でレジスタASSが0でないかまたはMSKが0
のときはステップ914に分岐する。
ステップ914ではレジスタASSにより割当て可能シーケ
ンサがあるかどうか判別し、なければリターン、あれば
ステップ915に進む。ステップ915〜925はレジスタASSの
割当て可能シーケンサのナンバに基づいて実際に割当て
るべき発音チャンネルを選ぶ。
ンサがあるかどうか判別し、なければリターン、あれば
ステップ915に進む。ステップ915〜925はレジスタASSの
割当て可能シーケンサのナンバに基づいて実際に割当て
るべき発音チャンネルを選ぶ。
先ずステップ915でレジスタENCHをゼロクリアする。
次にステップ916でレジスタASSの第0ビットが1かどう
かの判別すなわちシーケンサ0が割当て可能か否かを判
別し、割当て可能ならばステップ917で発音チャンネル
0〜3を割当て可能とすべくレジスタENCHとOFHとのオ
アをとりレジスタENCHに格納しステップ918に進む。ス
テップ916でシーケンサ0が割当て可能でない場合は直
接ステップ918に進む。ステップ918,919ではシーケンサ
1(発音チャンネル4,5)について同様の処理を行な
い、ステップ918でレジスタASSの第1ビットが1のとき
はシーケンサ1に対応する発音チャンネル4,5が割当て
可能であるから、ステップ919でレジスタENCHの発音チ
ャンネル4,5に対応するビットに1を設定する。同様に
ステップ920でレジスタASSの第2ビットが1のときはシ
ーケンサ2に対応する発音チャンネル6が割当て可能で
あるから、ステップ921でレジスタENCHの発音チャンネ
ル6に対応するビットに1を設定する。さらに、ステッ
プ922でレジスタASSの第3ビットが1のときはシーケン
サ3に対応する発音チャンネル7が割当て可能であるか
ら、ステップ923でレジスタENCHの発音チャンネル7に
対応するビットに1を設定する。以上でレジスタENCHの
各発音チャンネルに対応したビット位置に1が設定され
た。
次にステップ916でレジスタASSの第0ビットが1かどう
かの判別すなわちシーケンサ0が割当て可能か否かを判
別し、割当て可能ならばステップ917で発音チャンネル
0〜3を割当て可能とすべくレジスタENCHとOFHとのオ
アをとりレジスタENCHに格納しステップ918に進む。ス
テップ916でシーケンサ0が割当て可能でない場合は直
接ステップ918に進む。ステップ918,919ではシーケンサ
1(発音チャンネル4,5)について同様の処理を行な
い、ステップ918でレジスタASSの第1ビットが1のとき
はシーケンサ1に対応する発音チャンネル4,5が割当て
可能であるから、ステップ919でレジスタENCHの発音チ
ャンネル4,5に対応するビットに1を設定する。同様に
ステップ920でレジスタASSの第2ビットが1のときはシ
ーケンサ2に対応する発音チャンネル6が割当て可能で
あるから、ステップ921でレジスタENCHの発音チャンネ
ル6に対応するビットに1を設定する。さらに、ステッ
プ922でレジスタASSの第3ビットが1のときはシーケン
サ3に対応する発音チャンネル7が割当て可能であるか
ら、ステップ923でレジスタENCHの発音チャンネル7に
対応するビットに1を設定する。以上でレジスタENCHの
各発音チャンネルに対応したビット位置に1が設定され
た。
次に、ステップ924でレジスタENCHととのアン
ドをとりレジスタENCHに格納する。これによりENCHは、
割当て可能な発音チャンネルのうち現在使用していない
チャンネルに対応するビットに1が設定される。ステッ
プ925でレジスタENCHの1となるビットのうち1つを選
び、当該ビットに対応する発音チャンネルのナンバをレ
ジスタjに格納する。次に、ステップ926で各発音チャ
ンネルの押鍵状態を示すレジスタKONの第jビットに当
該発音チャンネルが使用中であることを示すため1を設
定する。さらに、ステップ927でキーコードバッファKEY
BUFjに発音すべきキーコードKCを格納し、ステップ928
でトーンジェネレータ26のjチャンネルにて発音処理を
行ないリターンする。
ドをとりレジスタENCHに格納する。これによりENCHは、
割当て可能な発音チャンネルのうち現在使用していない
チャンネルに対応するビットに1が設定される。ステッ
プ925でレジスタENCHの1となるビットのうち1つを選
び、当該ビットに対応する発音チャンネルのナンバをレ
ジスタjに格納する。次に、ステップ926で各発音チャ
ンネルの押鍵状態を示すレジスタKONの第jビットに当
該発音チャンネルが使用中であることを示すため1を設
定する。さらに、ステップ927でキーコードバッファKEY
BUFjに発音すべきキーコードKCを格納し、ステップ928
でトーンジェネレータ26のjチャンネルにて発音処理を
行ないリターンする。
10.メロディキー書込処理 上述したメロディキー割当て処理の後、メロディキー
書込処理のサブルーチンでレックモードの際のメロディ
キー押鍵のシーケンサへの書込を行なう。
書込処理のサブルーチンでレックモードの際のメロディ
キー押鍵のシーケンサへの書込を行なう。
第13図を参照して、ステップ1001ではレジスタMODRと
▲▼とのアンドをとり、0でないか否かの判別を
行なう。この判別によりレックモードでない場合また割
当てるシーケンサがない場合は、シーケンサメモリ18へ
書込む必要がないのでそのままリターンする。それ以外
の場合はステップ1002で、 j=0〜3 のとき i=0 j=4, 5 のとき i=1 j=6 のとき i=2 j=7 のとき i=3 のようにレジスタjの値に基づいてレジスタiを決定す
る。レジスタjは既に上述のメロディキー割当て処理の
ステップ925で割当てた発音チャンネルのナンバが格納
されている。従って、レジスタiはその発音チャンネル
に対応したシーケンサナンバとなる。次に、ステップ10
03でその発音チャンネルを所有するシーケンサのシーケ
ンサメモリPATiのポインタPNTiの位置にテンポクロック
CLKの値を格納し、ステップ1004で次の位置にキーコー
ドKCを格納し、さらにステップ1005でその次の位置にタ
ッチデータTOUCHを格納する。そして、ステップ1006で
レジスタiが1以下かどうか判別し、1以下であれば、
シーケンサ0,1については発音チャンネルについてもシ
ーケンサメモリに格納する必要があるので、ステップ10
07で90HとレジスタjのオアをとってシーケンサメモリP
ATiのポインタPNTi+3の位置に格納し、ステップ1008
でポインタPNTiを更新してリターンする。ステップ1006
で書込んだシーケンサがナンバ2,3であったときは、発
音チャンネルを書込む必要はないので、ステップ1009で
ポインタPNTiを更新してリターンする。
▲▼とのアンドをとり、0でないか否かの判別を
行なう。この判別によりレックモードでない場合また割
当てるシーケンサがない場合は、シーケンサメモリ18へ
書込む必要がないのでそのままリターンする。それ以外
の場合はステップ1002で、 j=0〜3 のとき i=0 j=4, 5 のとき i=1 j=6 のとき i=2 j=7 のとき i=3 のようにレジスタjの値に基づいてレジスタiを決定す
る。レジスタjは既に上述のメロディキー割当て処理の
ステップ925で割当てた発音チャンネルのナンバが格納
されている。従って、レジスタiはその発音チャンネル
に対応したシーケンサナンバとなる。次に、ステップ10
03でその発音チャンネルを所有するシーケンサのシーケ
ンサメモリPATiのポインタPNTiの位置にテンポクロック
CLKの値を格納し、ステップ1004で次の位置にキーコー
ドKCを格納し、さらにステップ1005でその次の位置にタ
ッチデータTOUCHを格納する。そして、ステップ1006で
レジスタiが1以下かどうか判別し、1以下であれば、
シーケンサ0,1については発音チャンネルについてもシ
ーケンサメモリに格納する必要があるので、ステップ10
07で90HとレジスタjのオアをとってシーケンサメモリP
ATiのポインタPNTi+3の位置に格納し、ステップ1008
でポインタPNTiを更新してリターンする。ステップ1006
で書込んだシーケンサがナンバ2,3であったときは、発
音チャンネルを書込む必要はないので、ステップ1009で
ポインタPNTiを更新してリターンする。
11.クロック割込処理 この電子楽器においては、テンポクロック発生器22か
ら1小節の1/96周期ごとに出力されるテンポクロックを
割込信号として、第14図に示すクロック割込処理を実行
する。
ら1小節の1/96周期ごとに出力されるテンポクロックを
割込信号として、第14図に示すクロック割込処理を実行
する。
第14図を参照して、ステップ1101ではレジスタRUNが
1かどうかすなわち電子楽器が走行中か否かを判別す
る。走行中でなければ、リズムや、伴奏、演奏音の発音
処理およびテンポクロックの計数処理等は不要であるか
ら直ちに割込みを解除してもとの処理に復帰する。
1かどうかすなわち電子楽器が走行中か否かを判別す
る。走行中でなければ、リズムや、伴奏、演奏音の発音
処理およびテンポクロックの計数処理等は不要であるか
ら直ちに割込みを解除してもとの処理に復帰する。
一方、ステップ1101で走行中の場合はステップ1102で
リズム種類、テンポクロックCLK等に応じてリズム音を
発音する。これは、ベースやコードの伴奏を除いたリズ
ム例えばシンバル等の発音である。次に、ステップ1103
でレジスタMODPによりプレイモードか否か判別し、もし
いずれかのシーケンサがプレイモードである場合はステ
ップ1104でサブルーチンREADをコールしてから、またす
べてのシーケンサがプレイモードでない場合は直接、ス
テップ1105に進む。
リズム種類、テンポクロックCLK等に応じてリズム音を
発音する。これは、ベースやコードの伴奏を除いたリズ
ム例えばシンバル等の発音である。次に、ステップ1103
でレジスタMODPによりプレイモードか否か判別し、もし
いずれかのシーケンサがプレイモードである場合はステ
ップ1104でサブルーチンREADをコールしてから、またす
べてのシーケンサがプレイモードでない場合は直接、ス
テップ1105に進む。
ステップ1105でレジスタBSによりオートベースモード
か否か判別し、オートベースモードである場合はステッ
プ1106でサブルーチンBASSをコールしてから、またオー
トベースモードでない場合は直接、ステップ1107へ進
む。
か否か判別し、オートベースモードである場合はステッ
プ1106でサブルーチンBASSをコールしてから、またオー
トベースモードでない場合は直接、ステップ1107へ進
む。
ステップ1107でレジスタCHDによりオートコードモー
ドか否か判別し、オートコードモードである場合はステ
ップ1108でサブルーチンCHORDをコールしてから、また
オートコードモードでない場合は直接、ステップ1109へ
進む。
ドか否か判別し、オートコードモードである場合はステ
ップ1108でサブルーチンCHORDをコールしてから、また
オートコードモードでない場合は直接、ステップ1109へ
進む。
ステップ1109ではテンポクロックCLKを歩進し、ステ
ップ1110でテンポクロックCLKが96に至ったか否かすな
わち小節の終りに至ったか否か判別する。テンポクロッ
クCLKがまだ96になっていないときは割込みを解除して
もとの処理に復帰する。テンポクロックCLKが96になっ
たときは、ステップ1111でテンポクロックCLKをゼロク
リアする。
ップ1110でテンポクロックCLKが96に至ったか否かすな
わち小節の終りに至ったか否か判別する。テンポクロッ
クCLKがまだ96になっていないときは割込みを解除して
もとの処理に復帰する。テンポクロックCLKが96になっ
たときは、ステップ1111でテンポクロックCLKをゼロク
リアする。
次にステップ1112でレジスタMODRによりいずれかのシ
ーケンサがレックモードか否か判別し、レックモードの
シーケンサがあればステップ1113でサブルーチンBARREC
により小節終りデータの書込みを行なう。さらにステッ
プ1114でいずれかのシーケンサがプレイモードか否か判
別しプレイモードのシーケンサがあった場合は、次の小
節のデータにいくためサブルーチンBARSKIPをコール
し、プレイモードのシーケンサがない場合はそのまま割
込解除してリターンする。
ーケンサがレックモードか否か判別し、レックモードの
シーケンサがあればステップ1113でサブルーチンBARREC
により小節終りデータの書込みを行なう。さらにステッ
プ1114でいずれかのシーケンサがプレイモードか否か判
別しプレイモードのシーケンサがあった場合は、次の小
節のデータにいくためサブルーチンBARSKIPをコール
し、プレイモードのシーケンサがない場合はそのまま割
込解除してリターンする。
12.シーケンサ読出処理 シーケンサ読出処理のためのサブルーチンREADは、上
述のテンポクロックによる割込処理において、プレイモ
ードのシーケンサがある場合にコールされる。
述のテンポクロックによる割込処理において、プレイモ
ードのシーケンサがある場合にコールされる。
第15図を参照して、ステップ1201ではレジスタiに初
期値として0を格納する。次に、ステップ1202でレジス
タMODPの第iビットが1であるか否かすなわちシーケン
サiがプレイモードか否か判別する。もしプレイモード
ならステップ1203に進み、プレイモードでない場合はそ
のシーケンサiについては読出処理の必要がないので、
ステップ1206に分岐してiを歩進し、ステップ1207です
べてのシーケンサについて処理したか判別し、処理終了
ならリターン、未処理シーケンサがあれば再びステップ
1202に戻って次のシーケンサにつき処理を続行する。
期値として0を格納する。次に、ステップ1202でレジス
タMODPの第iビットが1であるか否かすなわちシーケン
サiがプレイモードか否か判別する。もしプレイモード
ならステップ1203に進み、プレイモードでない場合はそ
のシーケンサiについては読出処理の必要がないので、
ステップ1206に分岐してiを歩進し、ステップ1207です
べてのシーケンサについて処理したか判別し、処理終了
ならリターン、未処理シーケンサがあれば再びステップ
1202に戻って次のシーケンサにつき処理を続行する。
ステップ1203では、当該シーケンサのシーケンサメモ
リPATiのポインタPNTiが示す位置の最上位ビットが1か
否か判別する。このビットが1のときは小節区切りデー
タその他のコードであるから、ステップ1204に進み当該
位置が小節区切りデータBEHであるか否か判別する。小
節区切りデータであるときはステップ1202に分岐し、引
続き処理を続行する。ステップ1204で小節区切りデータ
以外のデータであるときは、ステップ1205でそのデータ
に応じた処理を行ない、ステップ1206に進んで処理を続
行する。
リPATiのポインタPNTiが示す位置の最上位ビットが1か
否か判別する。このビットが1のときは小節区切りデー
タその他のコードであるから、ステップ1204に進み当該
位置が小節区切りデータBEHであるか否か判別する。小
節区切りデータであるときはステップ1202に分岐し、引
続き処理を続行する。ステップ1204で小節区切りデータ
以外のデータであるときは、ステップ1205でそのデータ
に応じた処理を行ない、ステップ1206に進んで処理を続
行する。
ステップ1208でシーケンサメモリPATiのポインタPNTi
で示す位置に格納されているタイミングデータとテンポ
クロックCLKとを比較し、もし一致していない場合はス
テップ1206に分岐して次のシーケンサの処理を続行す
る。ステップ1208でシーケンサメモリに格納されている
タイミングデータとテンポクロックCLKとが一致した場
合は、発音処理を行なう必要があるからステップ1209に
進む。
で示す位置に格納されているタイミングデータとテンポ
クロックCLKとを比較し、もし一致していない場合はス
テップ1206に分岐して次のシーケンサの処理を続行す
る。ステップ1208でシーケンサメモリに格納されている
タイミングデータとテンポクロックCLKとが一致した場
合は、発音処理を行なう必要があるからステップ1209に
進む。
ステップ1209ではシーケンサメモリPATiのポインタPN
Ti+1の位置が8XHか否か判別する。なをXは0〜FHと
する。この判別でPATi(PNTi+1)の上位4ビットが8H
のときは、当該データはキーオフイベントデータである
からステップ1210で下位4ビット(割当てた発音チャン
ネルが書込まれている)をレジスタCHに格納する。そし
てステップ1211でトーンジェネレータ26の発音チャンネ
ルCHについてキーオフ処理を行ない、ステップ1212でポ
インタPNTiを更新して再びステップ1203に戻る。
Ti+1の位置が8XHか否か判別する。なをXは0〜FHと
する。この判別でPATi(PNTi+1)の上位4ビットが8H
のときは、当該データはキーオフイベントデータである
からステップ1210で下位4ビット(割当てた発音チャン
ネルが書込まれている)をレジスタCHに格納する。そし
てステップ1211でトーンジェネレータ26の発音チャンネ
ルCHについてキーオフ処理を行ない、ステップ1212でポ
インタPNTiを更新して再びステップ1203に戻る。
一方、ステップ1209で上位4ビットが8Hでない場合は
ステップ1213に分岐する。ステップ1213ではレジスタi
が3でかつBSが1か否かすなわち現在処理しているシー
ケンサがシーケンサ3でかつオートベースモードである
か否か判別し、もしそうならステップ1214でシーケンサ
メモリPNTiのポインタPNTi+1の位置のデータ(第2図
(b)のベース発音のフォーマットの2バイト目の形
式)をレジスタCHORDに格納し、さらにポインタPNTiを
更新してステップ1203に分岐する。
ステップ1213に分岐する。ステップ1213ではレジスタi
が3でかつBSが1か否かすなわち現在処理しているシー
ケンサがシーケンサ3でかつオートベースモードである
か否か判別し、もしそうならステップ1214でシーケンサ
メモリPNTiのポインタPNTi+1の位置のデータ(第2図
(b)のベース発音のフォーマットの2バイト目の形
式)をレジスタCHORDに格納し、さらにポインタPNTiを
更新してステップ1203に分岐する。
一方、ステップ1213で、処理しているシーケンサがシ
ーケンサ3でないかまたはオートベースモードでない場
合は、ステップ1216でシーケンサメモリPATiのポインタ
PNTi+1の位置のデータが終了を示すBFHか否か判別す
る。もし、終了データである場合は、ステップ1217でレ
ジスタMODPの第iビットを0としてシーケンサiのプレ
イモードを解除し、ステップ1218でその他のシーケンサ
がプレイモードでないかチェックする。もし、すべての
シーケンサがプレイモードでなくなった場合はステップ
1219でレジスタRUNに0を格納して停止状態とした後、
リターンする。ステップ1218でまだいずれかのシーケン
サがプレイモードであった場合はステップ1206に分岐し
て処理を続行する。
ーケンサ3でないかまたはオートベースモードでない場
合は、ステップ1216でシーケンサメモリPATiのポインタ
PNTi+1の位置のデータが終了を示すBFHか否か判別す
る。もし、終了データである場合は、ステップ1217でレ
ジスタMODPの第iビットを0としてシーケンサiのプレ
イモードを解除し、ステップ1218でその他のシーケンサ
がプレイモードでないかチェックする。もし、すべての
シーケンサがプレイモードでなくなった場合はステップ
1219でレジスタRUNに0を格納して停止状態とした後、
リターンする。ステップ1218でまだいずれかのシーケン
サがプレイモードであった場合はステップ1206に分岐し
て処理を続行する。
ステップ1216で当該データが終了を示すデータでなか
った場合は、ステップ1220でレジスタiが0でかつCHD
が1であるか否かすなわち処理しているシーケンサがシ
ーケンサ0であってかつオートコードモードであるか否
かを判別し、もしそうならステップ1221でシーケンサメ
モリPATiのポインタPNTi+1の位置よりキーコードを読
出しレジスタKCに格納する。さらに、ステップ1222でシ
ーケンサメモリPATiのポインタPNTi+2の位置の下4ビ
ットに格納されている割当て発音チャンネルのデータを
レジスタCHに格納し、ステップ1223でキーコードKCをキ
ーコードバッファKEYBUFCHに格納しさらにポインタPNTi
を更新して再びステップ1203に戻る。
った場合は、ステップ1220でレジスタiが0でかつCHD
が1であるか否かすなわち処理しているシーケンサがシ
ーケンサ0であってかつオートコードモードであるか否
かを判別し、もしそうならステップ1221でシーケンサメ
モリPATiのポインタPNTi+1の位置よりキーコードを読
出しレジスタKCに格納する。さらに、ステップ1222でシ
ーケンサメモリPATiのポインタPNTi+2の位置の下4ビ
ットに格納されている割当て発音チャンネルのデータを
レジスタCHに格納し、ステップ1223でキーコードKCをキ
ーコードバッファKEYBUFCHに格納しさらにポインタPNTi
を更新して再びステップ1203に戻る。
一方、ステップ1220で処理しているシーケンサがシー
ケンサ0でないかまたはオートコードモードでない場合
は、ステップ1225でシーケンサメモリPATiのポインタPN
Ti+1の位置に格納されているキーコードをレジスタKC
に格納し、ステップ1226でその次の位置に格納されてい
るタッチデータをレジスタTOUCHに格納する。そしてス
テップ1227でレジスタiが1以下か否かすなわち処理中
のシーケンサがナンバ0,1か否か判別して、もしそうで
あればシーケンサメモリPATiのポインタPNTi+3の下4
ビットには割当てた発音チャンネルが格納されているか
らそれをレジスタCHに格納する。さらにステップ1229で
ポインタPNTiを更新し、ステップ1230でキーコードKCお
よびタッチTOUCHに従い、第CHチャンネルの発音チャン
ネルにてトーンジェネレータ26のキーオン処理を行な
う。その後、再びステップ1203に戻る。
ケンサ0でないかまたはオートコードモードでない場合
は、ステップ1225でシーケンサメモリPATiのポインタPN
Ti+1の位置に格納されているキーコードをレジスタKC
に格納し、ステップ1226でその次の位置に格納されてい
るタッチデータをレジスタTOUCHに格納する。そしてス
テップ1227でレジスタiが1以下か否かすなわち処理中
のシーケンサがナンバ0,1か否か判別して、もしそうで
あればシーケンサメモリPATiのポインタPNTi+3の下4
ビットには割当てた発音チャンネルが格納されているか
らそれをレジスタCHに格納する。さらにステップ1229で
ポインタPNTiを更新し、ステップ1230でキーコードKCお
よびタッチTOUCHに従い、第CHチャンネルの発音チャン
ネルにてトーンジェネレータ26のキーオン処理を行な
う。その後、再びステップ1203に戻る。
ステップ1227で処理中のシーケンサがシーケンサ2,3
である場合は、ステップ1231でポインタPNTiを更新し、
ステップ1232でレジスタiが2なら第6チャンネル、ま
たiが3なら第7チャンネルにてキーコードKCおよびタ
ッチTOUCHに従いトーンジェネレータのキーオン処理を
行なう。その後、再びステップ1203に戻る。
である場合は、ステップ1231でポインタPNTiを更新し、
ステップ1232でレジスタiが2なら第6チャンネル、ま
たiが3なら第7チャンネルにてキーコードKCおよびタ
ッチTOUCHに従いトーンジェネレータのキーオン処理を
行なう。その後、再びステップ1203に戻る。
13.ベース伴奏発音処理 ベース伴奏発音処理のサブルーチンBASSは上述のテン
ポクロックによる割込処理において、オートベースモー
ドの場合にコールされる。
ポクロックによる割込処理において、オートベースモー
ドの場合にコールされる。
第16図を参照して、ステップ1301では予め設定されて
いるリズム種類やテンポクロックCLK等に基づき、パタ
ーンメモリBSPATからデータを読出し、レジスタCHORDの
値に従ってキーコード変換を行なう。レジスタCHORDに
は予め上述のシーケンサ読出処理READのステップ1214に
てシーケンサメモリから読出したベース伴奏のための和
音情報が格納されている。次に、ステップ1302で上記キ
ーコードで発音チャンネル7にてトーンジェネレータ26
のキーオン処理を行なう。なお、キーコードが0の場合
はキーオフする。その後リターンする。
いるリズム種類やテンポクロックCLK等に基づき、パタ
ーンメモリBSPATからデータを読出し、レジスタCHORDの
値に従ってキーコード変換を行なう。レジスタCHORDに
は予め上述のシーケンサ読出処理READのステップ1214に
てシーケンサメモリから読出したベース伴奏のための和
音情報が格納されている。次に、ステップ1302で上記キ
ーコードで発音チャンネル7にてトーンジェネレータ26
のキーオン処理を行なう。なお、キーコードが0の場合
はキーオフする。その後リターンする。
14.コード伴奏発音処理 コード伴奏発音処理のサブルーチンCHORDは、上述の
テンポクロックによる割込処理においてオートコードモ
ードの場合にコールされる。
テンポクロックによる割込処理においてオートコードモ
ードの場合にコールされる。
第17図を参照してステップ1401では予め設定されてい
るリズム種類やテンポクロック等に基づきパターンメモ
リCHDPATからデータを読出し、前述した第1表に基づい
て発音すべきキーコード群に変換する。そして、ステッ
プ1402で上記キーコード群で第0〜第3チャンネルの発
音チャンネルにてトーンジェネレータ26のキーオン処理
(またはキーオフ処理)を行ないリターンする。
るリズム種類やテンポクロック等に基づきパターンメモ
リCHDPATからデータを読出し、前述した第1表に基づい
て発音すべきキーコード群に変換する。そして、ステッ
プ1402で上記キーコード群で第0〜第3チャンネルの発
音チャンネルにてトーンジェネレータ26のキーオン処理
(またはキーオフ処理)を行ないリターンする。
15.小節終了書込処理 小節終了書込処理のサブルーチンBARRECは、上述のテ
ンポクロックによる割込処理において、テンポクロック
が小節終了の値となりレックモードのシーケンサがあっ
た場合にコールされる。
ンポクロックによる割込処理において、テンポクロック
が小節終了の値となりレックモードのシーケンサがあっ
た場合にコールされる。
第18図を参照して、ステップ1501ではレジスタiに初
期値として0を格納する。次にステップ1502でレジスタ
MODRによりシーケンサiがレックモードか否か判別し、
そうであればステップ1503でシーケンサメモリPATiのポ
インタPNTiの位置に小節終了を示すデータBEHを格納
し、ステップ1504でポインタPNTiを更新しステップ1505
に進む。ステップ1502でレックモードでない場合は、ス
テップ1505に分岐して処理を続行する。ステップ1505で
はレジスタiを歩進し、ステップ1506でレジスタiが3
より大きいか否かすなわち4つのシーケンサのすべてに
つき処理したかを判別し、処理が終了していたらリター
ン、未処理のシーケンサがあれば再びステップ1502に戻
り処理を続行する。
期値として0を格納する。次にステップ1502でレジスタ
MODRによりシーケンサiがレックモードか否か判別し、
そうであればステップ1503でシーケンサメモリPATiのポ
インタPNTiの位置に小節終了を示すデータBEHを格納
し、ステップ1504でポインタPNTiを更新しステップ1505
に進む。ステップ1502でレックモードでない場合は、ス
テップ1505に分岐して処理を続行する。ステップ1505で
はレジスタiを歩進し、ステップ1506でレジスタiが3
より大きいか否かすなわち4つのシーケンサのすべてに
つき処理したかを判別し、処理が終了していたらリター
ン、未処理のシーケンサがあれば再びステップ1502に戻
り処理を続行する。
16.小節終了スキップ処理 小節終了スキップ処理のサブルーチンBARSKIPは、上
述のテンポクロックによる割込処理において、テンポク
ロックが小節終了の値となり、プレイモードのシーケン
サがあった場合にコールされる。
述のテンポクロックによる割込処理において、テンポク
ロックが小節終了の値となり、プレイモードのシーケン
サがあった場合にコールされる。
第19図を参照して、ステップ1601ではレジスタiに初
期値として0を格納する。次に、ステップ1602でレジス
タMODPの第iビットが1であってかつシーケンサメモリ
PATiのポインタPNTiの位置がBEHであるか否かすなわち
シーケンサiがプレイモードであってポインタPNTiがシ
ーケンサメモリ内の小節終了データの位置で止まってい
るか否か判別し、その場合はステップ1603でポインタを
歩進して次の小節の先頭を指し示すようにし、ステップ
1604に進む。ステップ1602でプレイモードでないか、小
節終了データでもない場合はステップ1604に分岐して処
理を続行する。ステップ1604ではレジスタiを歩進し、
ステップ1605でレジスタiが3より大きいか否かすなわ
ち4つのシーケンサのすべてにつき処理したかを判別
し、処理が終了していたらリターン、未処理のシーケン
サがあれば再びステップ1602に戻り処理を続行する。
期値として0を格納する。次に、ステップ1602でレジス
タMODPの第iビットが1であってかつシーケンサメモリ
PATiのポインタPNTiの位置がBEHであるか否かすなわち
シーケンサiがプレイモードであってポインタPNTiがシ
ーケンサメモリ内の小節終了データの位置で止まってい
るか否か判別し、その場合はステップ1603でポインタを
歩進して次の小節の先頭を指し示すようにし、ステップ
1604に進む。ステップ1602でプレイモードでないか、小
節終了データでもない場合はステップ1604に分岐して処
理を続行する。ステップ1604ではレジスタiを歩進し、
ステップ1605でレジスタiが3より大きいか否かすなわ
ち4つのシーケンサのすべてにつき処理したかを判別
し、処理が終了していたらリターン、未処理のシーケン
サがあれば再びステップ1602に戻り処理を続行する。
[実施例の変形例] なお、この発明は、上記実施例に限定されることなく
適宜変形して実施することができる。
適宜変形して実施することができる。
例えば、 1.プレイモードになっているシーケンサナンバに属する
発音チャンネルは、割当てしないことにしたがそうでな
くてもよい。
発音チャンネルは、割当てしないことにしたがそうでな
くてもよい。
2.上述の実施例では、書込時、クロック分解能(96/1小
節)の精度で行なったが、ばらつき補正等を考慮しても
っと粗く量子化しても良い。
節)の精度で行なったが、ばらつき補正等を考慮しても
っと粗く量子化しても良い。
3.押鍵に対する発音チャンネルの割当ては、先着優先と
し、発音可能数以上の押鍵は捨てていたが、後着優先
等、別方法でもよい。
し、発音可能数以上の押鍵は捨てていたが、後着優先
等、別方法でもよい。
4.上述においては、押鍵情報のみを書込んだが、その他
の情報、例えばリズムやスイッチ情報も書込むことがで
きる。
の情報、例えばリズムやスイッチ情報も書込むことがで
きる。
第1図は、本発明の一実施例に係る電子楽器のハードウ
エア構成を示すブロック図、 第2図は、第1図におけるシーケンサメモリおよびパタ
ーンメモリのデータ配置図並びに格納データのフォーマ
ット図、 第3図は、発音チャンネルとシーケンサとの対応図、 第4図は、第1図の電子楽器のメインルーチンのフロー
チャート、 第5図は、第1図の電子楽器のスタート/ストップスイ
ッチ処理ルーチンのフローチャート、 第6図は、第1図の電子楽器のシーケンサスイッチ処理
ルーチンのフローチャート、 第7図は、第1図の電子楽器のオートベースコードスイ
ッチ処理ルーチンのフローチャート、 第8図は、第1図の電子楽器のキーオンイベント処理ル
ーチンのフローチャート、 第9図は、第1図の電子楽器のキーオフイベント処理ル
ーチンのフローチャート、 第10図、は第1図の電子楽器の伴奏キー割当て処理ルー
チンのフローチャート、 第11図は、第1図の電子楽器の伴奏キー書込処理ルーチ
ンのフローチャート、 第12図は、第1図の電子楽器のメロディキー割当て処理
ルーチンのフローチャート、 第13図は、第1図の電子楽器のメロディキー書込処理ル
ーチンのフローチャート、 第14図は、第1図の電子楽器のクロック割込処理ルーチ
ンのフローチャート、 第15図は、第1図の電子楽器のシーケンサ読出処理ルー
チンのフローチャート、 第16図は、第1図の電子楽器のベース伴奏発音処理ルー
チンのフローチャート、 第17図は、第1図の電子楽器のコード伴奏発音処理ルー
チンのフローチャート、 第18図は、第1図の電子楽器の小節終了書込処理ルーチ
ンのフローチャート、 第19図は、第1図の電子楽器の小節終了スキップ処理ル
ーチンのフローチャートである。 10:中央処理装置(CPU)、14:プログラムメモリ、16:レ
ジスタ群、18:シーケンサメモリ/パターンメモリ、20:
鍵盤回路、22:テンポクロック発生器、24:スイッチ群、
26:トーンジェネレータ、40:スタート/ストップ(S/
S)スイッチ、42〜48:シーケンサ(SEQ)スイッチ、50:
レック(REC)スイッチ、52:オートコードスイッチ、5
4:オートベーススイッチ。
エア構成を示すブロック図、 第2図は、第1図におけるシーケンサメモリおよびパタ
ーンメモリのデータ配置図並びに格納データのフォーマ
ット図、 第3図は、発音チャンネルとシーケンサとの対応図、 第4図は、第1図の電子楽器のメインルーチンのフロー
チャート、 第5図は、第1図の電子楽器のスタート/ストップスイ
ッチ処理ルーチンのフローチャート、 第6図は、第1図の電子楽器のシーケンサスイッチ処理
ルーチンのフローチャート、 第7図は、第1図の電子楽器のオートベースコードスイ
ッチ処理ルーチンのフローチャート、 第8図は、第1図の電子楽器のキーオンイベント処理ル
ーチンのフローチャート、 第9図は、第1図の電子楽器のキーオフイベント処理ル
ーチンのフローチャート、 第10図、は第1図の電子楽器の伴奏キー割当て処理ルー
チンのフローチャート、 第11図は、第1図の電子楽器の伴奏キー書込処理ルーチ
ンのフローチャート、 第12図は、第1図の電子楽器のメロディキー割当て処理
ルーチンのフローチャート、 第13図は、第1図の電子楽器のメロディキー書込処理ル
ーチンのフローチャート、 第14図は、第1図の電子楽器のクロック割込処理ルーチ
ンのフローチャート、 第15図は、第1図の電子楽器のシーケンサ読出処理ルー
チンのフローチャート、 第16図は、第1図の電子楽器のベース伴奏発音処理ルー
チンのフローチャート、 第17図は、第1図の電子楽器のコード伴奏発音処理ルー
チンのフローチャート、 第18図は、第1図の電子楽器の小節終了書込処理ルーチ
ンのフローチャート、 第19図は、第1図の電子楽器の小節終了スキップ処理ル
ーチンのフローチャートである。 10:中央処理装置(CPU)、14:プログラムメモリ、16:レ
ジスタ群、18:シーケンサメモリ/パターンメモリ、20:
鍵盤回路、22:テンポクロック発生器、24:スイッチ群、
26:トーンジェネレータ、40:スタート/ストップ(S/
S)スイッチ、42〜48:シーケンサ(SEQ)スイッチ、50:
レック(REC)スイッチ、52:オートコードスイッチ、5
4:オートベーススイッチ。
Claims (2)
- 【請求項1】自動演奏の演奏内容を示す演奏データを記
憶するための記憶手段と、 自動演奏装置としての現在の動作モードが記録モードで
あるかまたは再生モードであるかを示すモードフラグ
と、 操作者の操作によって記録モードまたは再生モードを選
択的に指定するモード指定手段であって、記録モードが
選択指定されたときは上記モードフラグを記録モードに
設定し、再生モードが選択指定されたときは上記モード
フラグを再生モードに設定するものと、 演奏データを上記記憶手段に順次書き込む記録処理を実
行する記録手段と、 上記記憶手段に書き込まれた演奏データを順次読み出
し、読み出した演奏データに対応する楽音を発生させる
再生処理を実行する再生手段と、 操作者の操作によって上記記録手段による記録処理また
は上記再生手段による再生処理の開始または停止を指示
する開始・停止指示手段と、 上記モードフラグに再生モードが設定されている状態に
おいて、上記開始・停止指示手段による開始指示があっ
た場合は上記再生手段による再生処理を開始させ、上記
開始・停止指示手段による停止指示があった場合は該再
生処理を停止させる制御を行うとともに、 上記モードフラグに記録モードが設定されている状態に
おいて、開始・停止指示手段による開始指示があった場
合は上記記録手段による記録処理を開始させ、上記開始
・停止指示手段による停止指示があった場合は該記録処
理を停止させるとともに上記モードフラグの設定を記録
モードから再生モードに切り換える制御を行う制御手段
と を具備することを特徴とする自動演奏装置。 - 【請求項2】前記記憶手段が複数の演奏パート毎に具備
され、かつ記録モードまたは再生モードを選択指定する
モード指定手段が上記演奏パート毎に独立に具備されて
いる特許請求の範囲第1項記載の自動演奏装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62156601A JPH0827624B2 (ja) | 1987-06-25 | 1987-06-25 | 自動演奏装置 |
US07/210,030 US4926736A (en) | 1987-06-25 | 1988-06-22 | Electronic musical instrument with automatic performance apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62156601A JPH0827624B2 (ja) | 1987-06-25 | 1987-06-25 | 自動演奏装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JPS642098A JPS642098A (en) | 1989-01-06 |
JPH012098A JPH012098A (ja) | 1989-01-06 |
JPH0827624B2 true JPH0827624B2 (ja) | 1996-03-21 |
Family
ID=15631313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62156601A Expired - Lifetime JPH0827624B2 (ja) | 1987-06-25 | 1987-06-25 | 自動演奏装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0827624B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2552310Y2 (ja) * | 1990-07-27 | 1997-10-29 | カシオ計算機株式会社 | 自動伴奏装置及びこれを用いた電子楽器 |
JP4651128B2 (ja) * | 2008-09-19 | 2011-03-16 | 株式会社河合楽器製作所 | 演奏装置、演奏方法及び演奏のためのコンピュータプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62195185U (ja) * | 1986-05-31 | 1987-12-11 |
-
1987
- 1987-06-25 JP JP62156601A patent/JPH0827624B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS642098A (en) | 1989-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5847302A (en) | Tone information processing device for an electronic musical instrument for generating sounds | |
US4981066A (en) | Electronic musical instrument capable of editing chord performance style | |
JPH0631978B2 (ja) | 電子楽器の自動伴奏装置 | |
JPS6246880B2 (ja) | ||
JPH0634169B2 (ja) | 発音割当て機能付電子楽器 | |
US5492049A (en) | Automatic arrangement device capable of easily making music piece beginning with up-beat | |
US4843934A (en) | Rhythm tone source assigning apparatus for use in electronic musical instrument | |
US4926736A (en) | Electronic musical instrument with automatic performance apparatus | |
JPH0827624B2 (ja) | 自動演奏装置 | |
JP2522337B2 (ja) | 自動演奏装置 | |
US4957031A (en) | Automatic music playing apparatus having plural tone generating channels separately assignable to the parts of a musical piece | |
US5070758A (en) | Electronic musical instrument with automatic music performance system | |
GB2091470A (en) | Electronic Musical Instrument | |
JP2640992B2 (ja) | 電子楽器の発音指示装置及び発音指示方法 | |
JP2555569B2 (ja) | 電子楽器 | |
US5260509A (en) | Auto-accompaniment instrument with switched generation of various phrase tones | |
JPH012098A (ja) | 自動演奏装置 | |
JPH0515279B2 (ja) | ||
JP2630268B2 (ja) | リズム音発生装置 | |
JP2564811B2 (ja) | 演奏記録装置 | |
JP2565152B2 (ja) | 自動伴奏装置 | |
JPH012097A (ja) | 自動演奏装置付電子楽器 | |
JP3450542B2 (ja) | 伴奏パターン作成装置 | |
JPH0228698A (ja) | 電子リズム楽器 | |
JPS61176990A (ja) | 自動演奏装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080321 Year of fee payment: 12 |