JPH0738112B2 - 電子楽器の自動伴奏装置 - Google Patents
電子楽器の自動伴奏装置Info
- Publication number
- JPH0738112B2 JPH0738112B2 JP62025233A JP2523387A JPH0738112B2 JP H0738112 B2 JPH0738112 B2 JP H0738112B2 JP 62025233 A JP62025233 A JP 62025233A JP 2523387 A JP2523387 A JP 2523387A JP H0738112 B2 JPH0738112 B2 JP H0738112B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- chord
- accompaniment
- pattern
- pitch
- 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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 [産業上の利用分野] この発明は、電子楽器の自動伴奏装置に関し、特にシー
ケンスデータに従って順次にパターンデータを読出す型
の自動伴奏装置の改良に関するものである。
ケンスデータに従って順次にパターンデータを読出す型
の自動伴奏装置の改良に関するものである。
[発明の概要] この発明は、上記した型の自動伴奏装置において、和音
種類群毎にシーケンスデータ及び複数のパターンデータ
を記憶することにより少ない記憶容量で変化に富んだ自
動伴奏を可能にすると共に、音高修正データに応じて伴
奏音信号の音高を修正することにより不協和音の発生を
防止するようにしたものである。
種類群毎にシーケンスデータ及び複数のパターンデータ
を記憶することにより少ない記憶容量で変化に富んだ自
動伴奏を可能にすると共に、音高修正データに応じて伴
奏音信号の音高を修正することにより不協和音の発生を
防止するようにしたものである。
[従来の技術] 従来、電子楽器の自動伴奏装置としては、和音種類毎に
シーケンスデータ及び複数のパターンデータを記憶して
おき、伴奏用鍵盤での押鍵状態に基づいて和音種類及び
和音根音を検出し、検出に係る和音種類に対応するシー
ケンスデータ及び複数のパターンデータを選択し、選択
に係るシーケンスデータに従って順次に選択に係る複数
のパターンデータを読出すことにより該パターンデータ
中の音高データと検出に係る和音根音とで決まる音高を
有する伴奏音信号を発生するようにしたものが知られて
いる(例えば、特開昭61−158400号公報参照)。
シーケンスデータ及び複数のパターンデータを記憶して
おき、伴奏用鍵盤での押鍵状態に基づいて和音種類及び
和音根音を検出し、検出に係る和音種類に対応するシー
ケンスデータ及び複数のパターンデータを選択し、選択
に係るシーケンスデータに従って順次に選択に係る複数
のパターンデータを読出すことにより該パターンデータ
中の音高データと検出に係る和音根音とで決まる音高を
有する伴奏音信号を発生するようにしたものが知られて
いる(例えば、特開昭61−158400号公報参照)。
[発明が解決しようとする問題点] 上記した従来技術によると、例えば8小節の長い伴奏音
発生パターンを扱う場合、8小節のうちの各小節毎にパ
ターンを指定するシーケンスデータと指定対象の例えば
3小節分のパターンデータとを記憶すればよいので、8
小節分のパターンデータを記憶するのに比べて少ない記
憶容量で変化に富んだ自動伴奏が可能である。しかし、
記憶容量を一層低減することが要望されている。
発生パターンを扱う場合、8小節のうちの各小節毎にパ
ターンを指定するシーケンスデータと指定対象の例えば
3小節分のパターンデータとを記憶すればよいので、8
小節分のパターンデータを記憶するのに比べて少ない記
憶容量で変化に富んだ自動伴奏が可能である。しかし、
記憶容量を一層低減することが要望されている。
このような要望に応えるため、多数の和音種類を複数群
に分け、各和音種類群毎にシーケンスデータ及び複数の
パターンデータを記憶することが提案された。このよう
にした場合、特定の和音種類について特定の音名の伴奏
音が不協和音として発音されることが判明した。
に分け、各和音種類群毎にシーケンスデータ及び複数の
パターンデータを記憶することが提案された。このよう
にした場合、特定の和音種類について特定の音名の伴奏
音が不協和音として発音されることが判明した。
この発明の目的は、記憶容量の一層の低減を可能にする
と共に不協和音発生を防止することにある。
と共に不協和音発生を防止することにある。
[問題点を解決するための手段] この発明に係る電子楽器の自動伴奏装置は、 (a)伴奏用と鍵盤と、 (b)この鍵盤での押鍵状態に基づいて和音種類及び和
音根音を検出する検出手段と、 (c)予め定められた複数の和音種類群のうちの各和音
種類群毎に伴奏データを記憶する第1の記憶手段であっ
て、各和音種類群に対応する伴奏データは、一定長さの
演奏区間の伴奏音発生パターンをそれぞれ音高データの
配列により表わす複数Mのパターンデータと、これらの
パターンデータを適宜組合わせて指定する第1〜第N
(NはMより大きい整数)のシーケンスデータとを含ん
でいるものと、 (d)前記検出手段で検出された和音種類が前記複数の
和音種類群のいずれに属するか判定する判定手段と、 (e)この判定手段で属すると判定された和音種類群に
対応する伴奏データを前記第1の記憶手段にて選択する
選択手段と、 (g)前記複数の和音種類群に属する和音種類のうちの
所定の和音種類と所定の音名とに対応して不協和音防止
用の音高修正データを記憶する第2の記憶手段と、 (h)前記選択手段で選択された伴奏データ中のシーケ
ンスデータに従って順次に該伴奏データ中のパターンデ
ータを読出すことにより該パターンデータ中の音高デー
タと前記検出手段で検出された和音根音とで決まる音高
を有する伴奏音信号を発生する伴奏音発生手段であっ
て、前記検出手段で前記所定の和音種類が検出され且つ
前記第1の記憶手段から前記所定の音名の音高データが
読出されたときは前記第2の記憶手段の音高修正データ
に応じて不協和音にならないように伴奏音信号の音高を
修正するものと を備えたものである。
音根音を検出する検出手段と、 (c)予め定められた複数の和音種類群のうちの各和音
種類群毎に伴奏データを記憶する第1の記憶手段であっ
て、各和音種類群に対応する伴奏データは、一定長さの
演奏区間の伴奏音発生パターンをそれぞれ音高データの
配列により表わす複数Mのパターンデータと、これらの
パターンデータを適宜組合わせて指定する第1〜第N
(NはMより大きい整数)のシーケンスデータとを含ん
でいるものと、 (d)前記検出手段で検出された和音種類が前記複数の
和音種類群のいずれに属するか判定する判定手段と、 (e)この判定手段で属すると判定された和音種類群に
対応する伴奏データを前記第1の記憶手段にて選択する
選択手段と、 (g)前記複数の和音種類群に属する和音種類のうちの
所定の和音種類と所定の音名とに対応して不協和音防止
用の音高修正データを記憶する第2の記憶手段と、 (h)前記選択手段で選択された伴奏データ中のシーケ
ンスデータに従って順次に該伴奏データ中のパターンデ
ータを読出すことにより該パターンデータ中の音高デー
タと前記検出手段で検出された和音根音とで決まる音高
を有する伴奏音信号を発生する伴奏音発生手段であっ
て、前記検出手段で前記所定の和音種類が検出され且つ
前記第1の記憶手段から前記所定の音名の音高データが
読出されたときは前記第2の記憶手段の音高修正データ
に応じて不協和音にならないように伴奏音信号の音高を
修正するものと を備えたものである。
[作用] この発明の構成によれば、検出手段で所定の和音種類が
検出され且つ第1の記憶手段から所定の音名の音高デー
タが読出されると、伴奏音発生手段では、第2の記憶手
段の音高修正データに応じて不協和音にならないように
伴奏者の音高が修正される。
検出され且つ第1の記憶手段から所定の音名の音高デー
タが読出されると、伴奏音発生手段では、第2の記憶手
段の音高修正データに応じて不協和音にならないように
伴奏者の音高が修正される。
[実施例] 第1図は、この発明の一実施例による自動伴奏装置をそ
なえた電子楽器の回路構成を示すもので、この電子楽器
にあっては、メロディ音、和音、リズム音等の楽音の発
生がマイクロコンピュータによって制御されるようにな
っている。
なえた電子楽器の回路構成を示すもので、この電子楽器
にあっては、メロディ音、和音、リズム音等の楽音の発
生がマイクロコンピュータによって制御されるようにな
っている。
回路構成(第1図) バス10には、メロディ用鍵盤回路12、伴奏用鍵盤回路1
4、制御スイッチ群16、クロック発生器18、中央処理装
置(CPU)20、プログラムメモリ22、伴奏データメモタ2
4、レジスタ群26、トーンジェネレータ(TG)28等が接
続されている。
4、制御スイッチ群16、クロック発生器18、中央処理装
置(CPU)20、プログラムメモリ22、伴奏データメモタ2
4、レジスタ群26、トーンジェネレータ(TG)28等が接
続されている。
メロディ用鍵盤回路12は、上鍵盤等のメロディ用鍵盤を
含むもので、各鍵毎に鍵操作情報が検出されるようにな
っている。
含むもので、各鍵毎に鍵操作情報が検出されるようにな
っている。
伴奏用鍵盤回路14は、下鍵盤等の伴奏用鍵盤を含むもの
で、各鍵毎に鍵操作情報が検出されるようになってい
る。
で、各鍵毎に鍵操作情報が検出されるようになってい
る。
制御スイッチ群16は、楽音制御用及び演奏制御用の各種
制御スイッチを含むもので、この発明の実施に関係する
制御スイッチとしては、リズム種類選択スイッチ、リズ
ムスタート/ストップスイッチ等が含まれている。
制御スイッチを含むもので、この発明の実施に関係する
制御スイッチとしては、リズム種類選択スイッチ、リズ
ムスタート/ストップスイッチ等が含まれている。
クロック発生器18は、クロック信号を発生するもので、
このクロック信号は第14図のクロック割込みルーチンを
開始させるための割込命令信号として使用される。
このクロック信号は第14図のクロック割込みルーチンを
開始させるための割込命令信号として使用される。
CPU20は、ROM(リード・オンリィ・メモリ)からなるプ
ログラムメモリ22にストアされたプログラムに従って楽
音発生のための各種処理を実行するもので、これらの処
理については第11図乃至第17図を参照して後述する。
ログラムメモリ22にストアされたプログラムに従って楽
音発生のための各種処理を実行するもので、これらの処
理については第11図乃至第17図を参照して後述する。
伴奏データメモリ24は、パターンROM及びテーブルROMを
含むもので、パターンROMには第7図乃至第10図につい
て後述するような伴奏パターン情報が記憶されており、
テーブルROMには第3図乃至第6図について後述するよ
うな各種のテーブル情報が記憶されている。
含むもので、パターンROMには第7図乃至第10図につい
て後述するような伴奏パターン情報が記憶されており、
テーブルROMには第3図乃至第6図について後述するよ
うな各種のテーブル情報が記憶されている。
レジスタ群26は、CPU20による各種処理に際して利用さ
れる多数のレジスタを含むもので、この発明の実施に関
係するレジスタについては後述する。
れる多数のレジスタを含むもので、この発明の実施に関
係するレジスタについては後述する。
TG28は、和音等の伴奏音信号を発生するもので、一例と
して4つの発音チャンネルを有し、最大で4音まで同時
発音可能である。トーンジェネレータとしては、TG28の
他に、メロディ音用のもの、リズム音用のもの等が設け
られているが、図示を省略した。
して4つの発音チャンネルを有し、最大で4音まで同時
発音可能である。トーンジェネレータとしては、TG28の
他に、メロディ音用のもの、リズム音用のもの等が設け
られているが、図示を省略した。
サウンドシステム30は、TG28等にトーンジェネレータか
らの楽音信号を音響に変換するためのものである。
らの楽音信号を音響に変換するためのものである。
上記した電子楽器にあっては、鍵盤で押された鍵に対応
する押鍵データや伴奏パターンを構成する音高データは
音高を表わすキーコードからなるもので、キーコード値
は、各音高毎に第2図に示すように予め定められてい
る。
する押鍵データや伴奏パターンを構成する音高データは
音高を表わすキーコードからなるもので、キーコード値
は、各音高毎に第2図に示すように予め定められてい
る。
テーブルROMの記憶内容(第3図〜第6図) 伴奏データメモリ24内のテーブルROMは、和音検出テー
ブルCHDTBL(第3図)、グループナンバテーブルGRPTBL
(第4図)、音高修正テーブルPMTBL(第5図)、和音
進行判定テーブルSEQREF(第6図)等を含んでいる。
ブルCHDTBL(第3図)、グループナンバテーブルGRPTBL
(第4図)、音高修正テーブルPMTBL(第5図)、和音
進行判定テーブルSEQREF(第6図)等を含んでいる。
和音検出テーブルCHDTBLは、伴奏用鍵盤での押鍵状態に
基づいて和音を検出するためのもので、各和音名毎に押
鍵音名及び押鍵中の最低音に応じた和音データを記憶し
ている。各和音データは、8ビットのデータであり、上
位4ビットで和音種類を、下位4ビットで根音をそれぞ
れ表わす。
基づいて和音を検出するためのもので、各和音名毎に押
鍵音名及び押鍵中の最低音に応じた和音データを記憶し
ている。各和音データは、8ビットのデータであり、上
位4ビットで和音種類を、下位4ビットで根音をそれぞ
れ表わす。
一例として、根音をCとする和音名については第3図に
示すような記憶内容となっており、例えばC−E−Gの
押鍵に基づいてCMを表わす和音データ(根音データ及び
和音種類データの値がいずれも0のもの)が読出され
る。なお、第3図において、かっこ内に示した音名は押
鍵を省略してもよいものである。
示すような記憶内容となっており、例えばC−E−Gの
押鍵に基づいてCMを表わす和音データ(根音データ及び
和音種類データの値がいずれも0のもの)が読出され
る。なお、第3図において、かっこ内に示した音名は押
鍵を省略してもよいものである。
第3図には根音Cに関する記憶部を示したが、これと同
様の記憶部はC以外の根音についてもそれぞれ設けられ
ている。
様の記憶部はC以外の根音についてもそれぞれ設けられ
ている。
和音検出において、押鍵中の最低音を考慮しているの
は、例えばCm7とEb 6、C6とAm7等のように押鍵状態が同
じ和音について異なる和音を検出可能とするためであ
る。従って、例えばC−Eb−G−Bbを押鍵した場合、最
低音がC、G、Bbのいずれかであれば、Cm7を表わす和
音データが得られ、最低音がEbであれば、Eb 6を表わす
和音データが得られる。
は、例えばCm7とEb 6、C6とAm7等のように押鍵状態が同
じ和音について異なる和音を検出可能とするためであ
る。従って、例えばC−Eb−G−Bbを押鍵した場合、最
低音がC、G、Bbのいずれかであれば、Cm7を表わす和
音データが得られ、最低音がEbであれば、Eb 6を表わす
和音データが得られる。
グループナンバテーブルGRPTBLは、和音種類毎にそれが
属する和音種類群を判別するためのもので、一例として
第4図に示すように和音種類群に対応したグループナン
バGNOが記憶されている。この実施例では、M、M7、6
をメジャ系和音種類群としてこれにグループナンバ0を
割当て、m、m7、m7 -5をマイナ系和音種類群としてこれ
にグループナンバ1を割当て、7、7SUS4をセブンス系
和音種類群としてこれにグループナンバ2を割当ててい
る。
属する和音種類群を判別するためのもので、一例として
第4図に示すように和音種類群に対応したグループナン
バGNOが記憶されている。この実施例では、M、M7、6
をメジャ系和音種類群としてこれにグループナンバ0を
割当て、m、m7、m7 -5をマイナ系和音種類群としてこれ
にグループナンバ1を割当て、7、7SUS4をセブンス系
和音種類群としてこれにグループナンバ2を割当ててい
る。
第4図において、「TYPE」の欄は、和音種類レジスタTY
PEの値を示している。このレジスタTYPEにストアされる
和音種類データは、和音種類M、M7、6、m、m7、m7、
7、7SUS4にそれぞれ対応する0、1、2、3、4、
5、6、7のいずれかの値をとる。和音種類レジスタTY
PEを用いてグループナンバテーブルGRPTBLを参照するこ
とにより、レジスタTYPEの値(和音種類)に対応したグ
ループナンバ(和音種類群)が得られる。
PEの値を示している。このレジスタTYPEにストアされる
和音種類データは、和音種類M、M7、6、m、m7、m7、
7、7SUS4にそれぞれ対応する0、1、2、3、4、
5、6、7のいずれかの値をとる。和音種類レジスタTY
PEを用いてグループナンバテーブルGRPTBLを参照するこ
とにより、レジスタTYPEの値(和音種類)に対応したグ
ループナンバ(和音種類群)が得られる。
音高修正テーブルPMTBLは、パターンROMから読出される
音高データ(キーコード)を音高変更する際に不協和な
伴奏音が発生されないように音高修正するために設けら
れたもので、一例として第5図に示すように0、−1、
−2等の値を有する修正データが記憶されている。
音高データ(キーコード)を音高変更する際に不協和な
伴奏音が発生されないように音高修正するために設けら
れたもので、一例として第5図に示すように0、−1、
−2等の値を有する修正データが記憶されている。
第5図において、「TYPE」の欄は第4図で述べたと同様
に和音種類レジスタTYPEの値を示す。また、「RKCNT」
の区画には、半音数レジスタRKCNTの4、7、9等の値
が示され、各値毎に対応するE、G、A等の音名がかっ
こ内に示されている。レジスタRKCNTには、パターンROM
から読出したキーコードの音名に対応した半音数データ
がストアされる。この半音数データは、根音Cからの半
音数を表わすもので、C、C♯……Bにそれぞれ対応し
た0、1……11のいずれかの値をとるものである。
に和音種類レジスタTYPEの値を示す。また、「RKCNT」
の区画には、半音数レジスタRKCNTの4、7、9等の値
が示され、各値毎に対応するE、G、A等の音名がかっ
こ内に示されている。レジスタRKCNTには、パターンROM
から読出したキーコードの音名に対応した半音数データ
がストアされる。この半音数データは、根音Cからの半
音数を表わすもので、C、C♯……Bにそれぞれ対応し
た0、1……11のいずれかの値をとるものである。
音高修正テーブルPMTBLから読出されるべき修正データ
は、レジスタTYPEの値とレジスタRKCNTの値とによって
決定される。
は、レジスタTYPEの値とレジスタRKCNTの値とによって
決定される。
和音進行判定テーブルSEQREFは、特定の和音(この実施
例ではセブンス)への移行態様を判定するために設けら
れたもので、一例として第6図に示すように12個の記憶
領域SEQREFi(i=0〜11)を有し、各記憶領域毎に8
ビットの判定基準データを記憶している。判定基準デー
タの8ビットのうち、下位4ビットは特定の和音とその
直前の和音との根音音高差を表わす音高差データであ
り、上位4ビットは特定の和音の直前の和音種類を表わ
す旧和音種類データである。第6図には、一例として現
和音がG7であるとき、各記憶領域の判定基準データに該
当する旧和音(G7の直前の和音)が例示されている。
例ではセブンス)への移行態様を判定するために設けら
れたもので、一例として第6図に示すように12個の記憶
領域SEQREFi(i=0〜11)を有し、各記憶領域毎に8
ビットの判定基準データを記憶している。判定基準デー
タの8ビットのうち、下位4ビットは特定の和音とその
直前の和音との根音音高差を表わす音高差データであ
り、上位4ビットは特定の和音の直前の和音種類を表わ
す旧和音種類データである。第6図には、一例として現
和音がG7であるとき、各記憶領域の判定基準データに該
当する旧和音(G7の直前の和音)が例示されている。
第6図において、「SEVPT」の欄は、セブン用パターン
ナンバレジスタSEVPTの値を示している。このレジスタS
EVPTにストアされるセブンス用パターンナンバデータ
は、セブンス用ノーマルパターン、セブンス用の第0及
び第1のバリエーションパターンにそれぞれ対応した
0、1及び2のいずれかの値をとる。ここで、第0のバ
リエーションパターンは終止的な伴奏パターンであり、
第1のバリエーションパターンは経過的な伴奏パターン
である。
ナンバレジスタSEVPTの値を示している。このレジスタS
EVPTにストアされるセブンス用パターンナンバデータ
は、セブンス用ノーマルパターン、セブンス用の第0及
び第1のバリエーションパターンにそれぞれ対応した
0、1及び2のいずれかの値をとる。ここで、第0のバ
リエーションパターンは終止的な伴奏パターンであり、
第1のバリエーションパターンは経過的な伴奏パターン
である。
レジスタSEVPTには、特定の和音(セブンス)の直前の
和音が何であるかによって異なる値がセットされる。す
なわち、直前の和音が記憶領域SEQREF0〜SEQREF7のいず
れかの判定基準データに該当するときはレジスタSEVPT
に1がセットされ、記憶領域SEQREF8〜SEQREF11のいず
れかの判定基準データに該当するときはレジスタSEVPT
に2がセットされ、SEQREF0〜SEQREF11のいずれの判定
基準データにも該当しないときはレジスタSEVPTに0が
セットされる。
和音が何であるかによって異なる値がセットされる。す
なわち、直前の和音が記憶領域SEQREF0〜SEQREF7のいず
れかの判定基準データに該当するときはレジスタSEVPT
に1がセットされ、記憶領域SEQREF8〜SEQREF11のいず
れかの判定基準データに該当するときはレジスタSEVPT
に2がセットされ、SEQREF0〜SEQREF11のいずれの判定
基準データにも該当しないときはレジスタSEVPTに0が
セットされる。
パターンROMの記憶内容(第7図〜第10図) 伴奏パターンメモリ24内のパターンROMには、一例とし
て第7図に示すようなデータがマーチ、ワルツ等のリズ
ム種類毎に記憶される。換言すれば、第7図は、パター
ンROMの記憶内容のうち、特定のリズム種類に対応する
データフォーマットを示したものである。
て第7図に示すようなデータがマーチ、ワルツ等のリズ
ム種類毎に記憶される。換言すれば、第7図は、パター
ンROMの記憶内容のうち、特定のリズム種類に対応する
データフォーマットを示したものである。
第7図において、SEQはシーケンス記憶部、PTNはパター
ン記憶部、ADRSは第1のアドレス記憶部、ADRS2は第2
のアドレス記憶部、CHASSは第1の発音数記憶部、CHASS
2は第2の発音数記憶部、UPLMTは上限音高記憶部、QUAN
Tはテンポクロック数記憶部である。
ン記憶部、ADRSは第1のアドレス記憶部、ADRS2は第2
のアドレス記憶部、CHASSは第1の発音数記憶部、CHASS
2は第2の発音数記憶部、UPLMTは上限音高記憶部、QUAN
Tはテンポクロック数記憶部である。
シーケンス記憶部SEQは、メジャ系、マイナ系及びセブ
ンス系の和音種類群にそれぞれ対応した第0、第1及び
第2のシーケンス記憶部SEQ(0)、SEQ(1)及びSEQ
(2)を含んでいる。第0〜第2のシーケンス記憶部は
いずれも8小節分のパターン進行をパターンナンバPNO
の配列によって表わす16ビットのシーケンスデータを記
憶するもので、各パターンナンバは2ビットで表わされ
るようになっている。
ンス系の和音種類群にそれぞれ対応した第0、第1及び
第2のシーケンス記憶部SEQ(0)、SEQ(1)及びSEQ
(2)を含んでいる。第0〜第2のシーケンス記憶部は
いずれも8小節分のパターン進行をパターンナンバPNO
の配列によって表わす16ビットのシーケンスデータを記
憶するもので、各パターンナンバは2ビットで表わされ
るようになっている。
一例として、第0シーケンス記憶部SEQ(0)には「012
30123」のようなパターン進行を表わすシーケンスデー
タが記憶され、第1シーケンス記憶部SEQ(1)には「0
1010101」のようなパターン進行を表わすシーケンスデ
ータが記憶され、第2シーケンス記憶部には「0121201
2」のようなパターン進行を表わすシーケンスデータが
記憶される。
30123」のようなパターン進行を表わすシーケンスデー
タが記憶され、第1シーケンス記憶部SEQ(1)には「0
1010101」のようなパターン進行を表わすシーケンスデ
ータが記憶され、第2シーケンス記憶部には「0121201
2」のようなパターン進行を表わすシーケンスデータが
記憶される。
パターン記憶部PTNは、メジャ系、マイナ系及びセブン
ス系の和音種類群にそれぞれ対応した第0、第1及び第
2のノーマルパターン記憶部PTNM、PTNm及びPTNSと、バ
リエーションパターン記憶部PTNVとを含んでいる。
ス系の和音種類群にそれぞれ対応した第0、第1及び第
2のノーマルパターン記憶部PTNM、PTNm及びPTNSと、バ
リエーションパターン記憶部PTNVとを含んでいる。
第0ノーマルパターン記憶部PTNMには、第0シーケンス
記憶部SEQ(0)のシーケンスデータによって指定され
る各々1小節分の第0〜第3のノーマルパターンを表わ
すパターンデータが記憶される。
記憶部SEQ(0)のシーケンスデータによって指定され
る各々1小節分の第0〜第3のノーマルパターンを表わ
すパターンデータが記憶される。
第1ノーマルパターン記憶部PTNmには、第1シーケンス
記憶部SEQ(1)のシーケンスデータによって指定され
る各々1小節分の第0及び第1のノーマルパターンを表
わすパターンデータが記憶される。記憶部PTNmには、必
要に応じてさらに2小節分の伴奏パターンを記憶可能で
ある。
記憶部SEQ(1)のシーケンスデータによって指定され
る各々1小節分の第0及び第1のノーマルパターンを表
わすパターンデータが記憶される。記憶部PTNmには、必
要に応じてさらに2小節分の伴奏パターンを記憶可能で
ある。
第2ノーマルパターン記憶部PTNSには、第2シーケンス
記憶部SEQ(2)のシーケンスデータによって指定され
る各々1小節分の第0〜第2のノーマルパターンを表わ
すパターンデータが記憶される。記憶部PTNSには、必要
に応じてさらに1小節分の伴奏パターンを記憶可能であ
る。
記憶部SEQ(2)のシーケンスデータによって指定され
る各々1小節分の第0〜第2のノーマルパターンを表わ
すパターンデータが記憶される。記憶部PTNSには、必要
に応じてさらに1小節分の伴奏パターンを記憶可能であ
る。
バリエーションパターン記憶部PTNVには、各々1小節分
の第0及び第1のバリエーションパターンを表わすパタ
ーンデータが記憶される。第0及び第1のバリエーショ
ンパターンはセブンス用のものであり、セブンス用のノ
ーマルパターンとしては記憶部PTNSのパターンが使用さ
れる。伴奏用鍵盤でセブンスの和音を指定したとき、ノ
ーマルパターン、第0及び第1のバリエーションパター
ンのいずれを使用するかは前述したレジスタSEVPTの値
(セブンス用パターンナンバ)によって決まり、SEVPT
が0ならばノーマルパターンが、1ならば第0バリエー
ションパターンが、2ならば第1バリエーションパター
ンがそれぞれ選択される。従って、セブンスについて
は、3種類のパターンを用いて変化に富んだ自動伴奏を
行なうことができる。
の第0及び第1のバリエーションパターンを表わすパタ
ーンデータが記憶される。第0及び第1のバリエーショ
ンパターンはセブンス用のものであり、セブンス用のノ
ーマルパターンとしては記憶部PTNSのパターンが使用さ
れる。伴奏用鍵盤でセブンスの和音を指定したとき、ノ
ーマルパターン、第0及び第1のバリエーションパター
ンのいずれを使用するかは前述したレジスタSEVPTの値
(セブンス用パターンナンバ)によって決まり、SEVPT
が0ならばノーマルパターンが、1ならば第0バリエー
ションパターンが、2ならば第1バリエーションパター
ンがそれぞれ選択される。従って、セブンスについて
は、3種類のパターンを用いて変化に富んだ自動伴奏を
行なうことができる。
上記したようにシーケンスデータとパターンデータとを
別々に記憶し、小節毎にシーケンスデータによってパタ
ーンを選択して読出すようにすると、8小節分の伴奏パ
ターンを直接記憶して小節順に読出す場合に比べて記憶
すべきデータ量が少なくて済むものである。これは、例
えば8小節中に同一パターンが複数回出現しても記憶す
べきパターンは1つで済むからである。また、メジャ
系、マイナ系、セブンス系等の和音種類群毎にシーケン
スデータ及びパターンデータを記憶したので、これらを
和音種類毎に記憶する場合に比べて記憶すべきデータ量
が少なくて済むものである。
別々に記憶し、小節毎にシーケンスデータによってパタ
ーンを選択して読出すようにすると、8小節分の伴奏パ
ターンを直接記憶して小節順に読出す場合に比べて記憶
すべきデータ量が少なくて済むものである。これは、例
えば8小節中に同一パターンが複数回出現しても記憶す
べきパターンは1つで済むからである。また、メジャ
系、マイナ系、セブンス系等の和音種類群毎にシーケン
スデータ及びパターンデータを記憶したので、これらを
和音種類毎に記憶する場合に比べて記憶すべきデータ量
が少なくて済むものである。
第1のアドレス記憶部ADRSには、上記した各ノーマルパ
ターンの先頭アドレスが記憶され、第2のアドレス記憶
部ADRS2には、上記した各バリエーションパターンの先
頭アドレスが記憶される。各ノーマルパターンの先頭ア
ドレスは、グループナンバ(0〜2のいずれか)及びパ
ターンナンバ(0〜3のいずれか)に応じて選択して読
出可能であり、各バリエーションパターンの先頭アドレ
スは、バリエーションパターンナンバ(0又は1)に応
じて選択して読出可能である。
ターンの先頭アドレスが記憶され、第2のアドレス記憶
部ADRS2には、上記した各バリエーションパターンの先
頭アドレスが記憶される。各ノーマルパターンの先頭ア
ドレスは、グループナンバ(0〜2のいずれか)及びパ
ターンナンバ(0〜3のいずれか)に応じて選択して読
出可能であり、各バリエーションパターンの先頭アドレ
スは、バリエーションパターンナンバ(0又は1)に応
じて選択して読出可能である。
第1の発音数記憶部CHASSには、上記した各ノーマルパ
ターンの同時発音数(1〜4のいずれか)を表わす発音
数データが記憶され、第2の発音数記憶部CHASS2には、
上記した各バリエーションパターンの同時発音数(1〜
4のいずれか)を表わす発音数データが記憶される。各
ノーマルパターンの発音数データは、前述のノーマルパ
ターンの先頭アドレスの場合と同様にグループナンバ及
びパターンナンバに応じて選択して読出可能であり、各
バリエーションパターンの発音数データは、前述のバリ
エーションパターンの先頭アドレスの場合と同様にバリ
エーションパターンナンバに応じて選択して読出可能で
ある。
ターンの同時発音数(1〜4のいずれか)を表わす発音
数データが記憶され、第2の発音数記憶部CHASS2には、
上記した各バリエーションパターンの同時発音数(1〜
4のいずれか)を表わす発音数データが記憶される。各
ノーマルパターンの発音数データは、前述のノーマルパ
ターンの先頭アドレスの場合と同様にグループナンバ及
びパターンナンバに応じて選択して読出可能であり、各
バリエーションパターンの発音数データは、前述のバリ
エーションパターンの先頭アドレスの場合と同様にバリ
エーションパターンナンバに応じて選択して読出可能で
ある。
上限音高記憶部UPLMTには、所望の伴奏音域の上限とな
るキーコード(一例としてG5音に対応する79)が記憶さ
れる。この記憶されたキーコードは、パターンROMから
読出したキーコードを音高変更する際、変更後の音高が
伴奏音域に入るような制御を行なうために使用される。
るキーコード(一例としてG5音に対応する79)が記憶さ
れる。この記憶されたキーコードは、パターンROMから
読出したキーコードを音高変更する際、変更後の音高が
伴奏音域に入るような制御を行なうために使用される。
テンポクロック数記憶部QUANTは、リズムの拍子に応じ
た1小節当りのテンポクロック数を記憶するもので、3
拍子ならば24が、4拍子ならば32が記憶される。
た1小節当りのテンポクロック数を記憶するもので、3
拍子ならば24が、4拍子ならば32が記憶される。
第8図は、パターン記憶部PTNの記憶例を示すものであ
る。この例では、第7図の場合と同様に、記憶部PTNMに
は第0〜第3のノーマルパターンを、記憶部PTNmには第
0及び第1のノーマルパターンを、記憶部PTNSには第0
〜第2のノーマルパターンを、記憶部PTNVには第0及び
第1のバリエーションパターンを記憶したものである。
る。この例では、第7図の場合と同様に、記憶部PTNMに
は第0〜第3のノーマルパターンを、記憶部PTNmには第
0及び第1のノーマルパターンを、記憶部PTNSには第0
〜第2のノーマルパターンを、記憶部PTNVには第0及び
第1のバリエーションパターンを記憶したものである。
第8図において、T1、T2等の各長方形は、パターンを構
成する音高データ群を示し、各パターンは最大で4つの
音高データ群で構成される。一例として、メジャ系の第
0ノーマルパターンは、T1〜T3の3つの音高データ群に
より構成されており、このパターンを用いると最大で3
音まで同時発音可能である。同様にして、他のパターン
についても各パターン毎に長方形の数が同時発音可能な
音数に対応している。
成する音高データ群を示し、各パターンは最大で4つの
音高データ群で構成される。一例として、メジャ系の第
0ノーマルパターンは、T1〜T3の3つの音高データ群に
より構成されており、このパターンを用いると最大で3
音まで同時発音可能である。同様にして、他のパターン
についても各パターン毎に長方形の数が同時発音可能な
音数に対応している。
各音高データ群は、T1について代表的に示すように、ア
ドレス進行に従って1小節分の単音演奏に必要なキーコ
ードKCを配列したものである。
ドレス進行に従って1小節分の単音演奏に必要なキーコ
ードKCを配列したものである。
各パターン毎に付した「A」、「B」……「K」の符号
は対応するパターンの先頭アドレスを表わするものであ
る。
は対応するパターンの先頭アドレスを表わするものであ
る。
パターン記憶部PTNに上記のようにパターンを記憶した
場合において、第1及び第2のアドレス記憶部ADRSおよ
びADRS2の記憶内容と第1及び第2の発音数記憶部CHASS
及びCHASS2の記憶内容とを示すと、次の通りである。こ
こでは、ADRS及びCHASSについては、グループナンバGNO
及びパターンナンバPNOで指定されるアドレスを(GNO,P
NO)のように表わし、ADRS2及びCHASS2については、バ
リエーションパターンナンバVNOで指定されるデータを
(VNO)のように表わすものとする。
場合において、第1及び第2のアドレス記憶部ADRSおよ
びADRS2の記憶内容と第1及び第2の発音数記憶部CHASS
及びCHASS2の記憶内容とを示すと、次の通りである。こ
こでは、ADRS及びCHASSについては、グループナンバGNO
及びパターンナンバPNOで指定されるアドレスを(GNO,P
NO)のように表わし、ADRS2及びCHASS2については、バ
リエーションパターンナンバVNOで指定されるデータを
(VNO)のように表わすものとする。
ADRS (0,0)=A (0,1)=B (0,2)=C (0,3)=D (1,0)=E (1,1)=F (2,0)=G (2,1)=H (2,2)=I ADRS2 (0)=J (1)=K CHASS (0,0)=3 (0,1)=2 (0,2)=2 (0,3)=3 (1,0)=2 (1,1)=1 (2,0)=1 (2,1)=1 (2,2)=3 CHASS2 (0)=2 (1)=4 第9図は、伴奏パターンの一例を示すもので、この例
は、音高データ群として、最も高いものT1、2番目に高
いものT2、3番目に高いものT3及び最も低いものT4の4
群を含むものである。
は、音高データ群として、最も高いものT1、2番目に高
いものT2、3番目に高いものT3及び最も低いものT4の4
群を含むものである。
第10図は、第9図の伴奏パターンを音高データ群T1〜T4
としてパターン記憶部PTNに記憶した場合のデータフォ
ーマットを示すもので、便宜上、第8図とは異なり横方
向のアドレス進行に関してキーコードKCの配列を示す。
キーコード値が0のところはキーオフ(非発音)を表わ
す。
としてパターン記憶部PTNに記憶した場合のデータフォ
ーマットを示すもので、便宜上、第8図とは異なり横方
向のアドレス進行に関してキーコードKCの配列を示す。
キーコード値が0のところはキーオフ(非発音)を表わ
す。
アドレス進行は、先頭アドレスをAとすると、Aに0、
1、2……等をそれぞれ加えた形で示される。4拍子の
場合、1つの音高データ群について32のアドレス(例え
ばT1ではA+0〜A+31)があり、前述の記憶部QUANT
の値(32)にそれぞれ0、1、2、3を乗じてAに加え
ると、音高データ群T1、T2、T3、T4の各々の先頭アドレ
スA+0、A+32、A+64、A+96を定めることができ
る。そして、各先頭アドレスに後述のテンポクロックカ
ウンタのカウント値を加えると、そのカウント値で発音
すべきキーコードがあれば最大で4音まで同時発音可能
である。例えばテンポクロックカウンタのカウント値が
31であるとすると、T1についてはA+31、T2については
A+63、T3についてはA+95、T4についてはA+127が
それぞれアドレス指定され、それによってキーコード値
67、62、59、48にそれぞれ対応した4音を同時に発音さ
せることができる。
1、2……等をそれぞれ加えた形で示される。4拍子の
場合、1つの音高データ群について32のアドレス(例え
ばT1ではA+0〜A+31)があり、前述の記憶部QUANT
の値(32)にそれぞれ0、1、2、3を乗じてAに加え
ると、音高データ群T1、T2、T3、T4の各々の先頭アドレ
スA+0、A+32、A+64、A+96を定めることができ
る。そして、各先頭アドレスに後述のテンポクロックカ
ウンタのカウント値を加えると、そのカウント値で発音
すべきキーコードがあれば最大で4音まで同時発音可能
である。例えばテンポクロックカウンタのカウント値が
31であるとすると、T1についてはA+31、T2については
A+63、T3についてはA+95、T4についてはA+127が
それぞれアドレス指定され、それによってキーコード値
67、62、59、48にそれぞれ対応した4音を同時に発音さ
せることができる。
なお、3拍子の場合は、1つ音高データ群についてのア
ドレス数が24となり且つ記憶部QUANTの記憶値が24とな
るが、アドレス指定の仕方は上記した4拍子の場合と同
様である。
ドレス数が24となり且つ記憶部QUANTの記憶値が24とな
るが、アドレス指定の仕方は上記した4拍子の場合と同
様である。
レジスタ群26 レジスタ群26に含まれるレジスタのうち、この発明の実
施に関係するものを列挙すると、次の通りである。
施に関係するものを列挙すると、次の通りである。
(1)ランフラグRUN…これは1ビットのレジスタであ
って、1ならばリズム走行中であることを表わし、0な
らばリズム停止を表わす。
って、1ならばリズム走行中であることを表わし、0な
らばリズム停止を表わす。
(2)クロックカウンタCLK…これは、クロック発生器1
8からのクロック信号をカウントするもので、1小節内
で0〜95のカウント値をとり、96になるタイミングで0
にリセットされる。
8からのクロック信号をカウントするもので、1小節内
で0〜95のカウント値をとり、96になるタイミングで0
にリセットされる。
(3)テンポクロックカウンタTCLK…これは、拍子に応
じて異なるカウント値をとるもので、3拍子の場合に
は、クロック信号の4パルス毎にカウント値が1アップ
して1小節内で0〜23のカウント値をとり、24になるタ
イミングで0にリセットされ、4拍子の場合には、クロ
ック信号の3パルス毎にカウント値が1アップして1小
節内で0〜31のカウント値をとり、32になるタイミング
で0にリセットされる。
じて異なるカウント値をとるもので、3拍子の場合に
は、クロック信号の4パルス毎にカウント値が1アップ
して1小節内で0〜23のカウント値をとり、24になるタ
イミングで0にリセットされ、4拍子の場合には、クロ
ック信号の3パルス毎にカウント値が1アップして1小
節内で0〜31のカウント値をとり、32になるタイミング
で0にリセットされる。
(4)小節カウンタBAR…これは、カウンタCLKの値が96
になるタイミング(小節末)毎にカウント値が1アップ
して8小節内で0〜7のカウント値をとるもので、カウ
ント値が8になるタイミング(8小節末)で0にリセッ
トされる。
になるタイミング(小節末)毎にカウント値が1アップ
して8小節内で0〜7のカウント値をとるもので、カウ
ント値が8になるタイミング(8小節末)で0にリセッ
トされる。
(5)キーコードバッファレジスタKEYBUF0〜KEYBUF3…
これらのレジスタは、TG28の4つの発音チャンネルにそ
れぞれ対応したもので、伴奏用鍵盤で押された鍵に対応
するキーコードがストアされる。
これらのレジスタは、TG28の4つの発音チャンネルにそ
れぞれ対応したもので、伴奏用鍵盤で押された鍵に対応
するキーコードがストアされる。
(6)和音バッファレジスタCHDBUF…これは、伴奏用鍵
盤での押鍵状態に基づいて和音検出テーブルCHDTBLから
読出した和音データをストアするための8ビットのレジ
スタであって、上位4ビットの部分に和音種類データ
を、下位4ビットの部分に根音データがそれぞれストア
される。
盤での押鍵状態に基づいて和音検出テーブルCHDTBLから
読出した和音データをストアするための8ビットのレジ
スタであって、上位4ビットの部分に和音種類データ
を、下位4ビットの部分に根音データがそれぞれストア
される。
(7)発音用和音レジスタCHORD…これは、レジスタCHD
BUFから和音データを受取るもので、構成はCHDBUFと同
様である。リズム停止時において、TG28は、レジスタCH
ORDの和音データに応じて和音発生が制御される。
BUFから和音データを受取るもので、構成はCHDBUFと同
様である。リズム停止時において、TG28は、レジスタCH
ORDの和音データに応じて和音発生が制御される。
(8)旧和音レジスタOLDCHD…これは、レジスタCHORD
から発音済みの和音データを受取るもので、構成はCHOR
Dと同様である。
から発音済みの和音データを受取るもので、構成はCHOR
Dと同様である。
(9)旧根音レジスタOLDRT…これは、レジスタOLDCHD
から下位4ビットの根音データを受取るものである。
から下位4ビットの根音データを受取るものである。
(10)根音レジスタROOT…これは、レジスタCHORDから
下位4ビットの根音データを受取るものである。
下位4ビットの根音データを受取るものである。
(11)和音種類レジスタTYPE…これは、レジスタCHORD
から上位4ビットの和音種類データを受取るものであ
る。
から上位4ビットの和音種類データを受取るものであ
る。
(12)グループナンバレジスタGRP…これは、グループ
ナンバテーブルGRPTBLを用いて検出したグループナンバ
GNO(0〜2のいずれか)がセットされるものである。
ナンバテーブルGRPTBLを用いて検出したグループナンバ
GNO(0〜2のいずれか)がセットされるものである。
(13)セブンス用パターンナンバレジスタSEVPT…これ
は、セブンス用パターンナンバ(0〜2のいずれか)が
セットされるものである。
は、セブンス用パターンナンバ(0〜2のいずれか)が
セットされるものである。
(14)パターンキーコードレジスタPTNKC…これは、パ
ターン記憶部PTNから読出したキーコードがストアされ
るものである。
ターン記憶部PTNから読出したキーコードがストアされ
るものである。
(15)半音数レジスタRKCNT…これは、パターン記憶部P
TNから読出したキーコードの音名に対応する半音数を表
わす半音数データがストアされるものである。
TNから読出したキーコードの音名に対応する半音数を表
わす半音数データがストアされるものである。
(16)シーケンスレジスタPATSEQ…これは、シーケンス
記憶部SEQから読出したシーケンスデータがストアされ
るものである。
記憶部SEQから読出したシーケンスデータがストアされ
るものである。
(17)パターンナンバレジスタPTNO…これは、レジスタ
PATSEQから読出したパターンナンバPNO(0〜3のいず
れか)がセットされるものである。
PATSEQから読出したパターンナンバPNO(0〜3のいず
れか)がセットされるものである。
(18)第1のアドレスレジスタPTADRS…これは、第1の
アドレス記憶部ADRS又は第2のアドレス記憶部ADRS2か
ら読出した先頭アドレスがセットされるものである。
アドレス記憶部ADRS又は第2のアドレス記憶部ADRS2か
ら読出した先頭アドレスがセットされるものである。
(19)第2のアドレスレジスタPTADRS2…これは、レジ
スタPTADRS、カウンタTCLK、記憶部QUANT等のデータに
応じて決定されるパターン記憶部PTNの読出アドレスが
セットされるものである。
スタPTADRS、カウンタTCLK、記憶部QUANT等のデータに
応じて決定されるパターン記憶部PTNの読出アドレスが
セットされるものである。
(20)修正データレジスタADDKC…これは、音高修正テ
ーブルPMTBLから読出した修正データがストアされるも
のである。
ーブルPMTBLから読出した修正データがストアされるも
のである。
(21)発音数レジスタCH…これは、第1の発音数記憶部
CHASS又は第2の発音数記憶部CHASS2から読出した発音
数データがストアされるものである。
CHASS又は第2の発音数記憶部CHASS2から読出した発音
数データがストアされるものである。
(22)和音比較用レジスタCMPCHD…これは、8ビットの
レジスタであって、上位4ビットの部分にはレジスタOL
DCHDからの旧和音種類データがストアされ、下位4ビッ
トの部分にはレジスタROOT及びOLDRTの根音データに基
づいて計算された根音音高差を表わす音高差データがス
トアされるものである。
レジスタであって、上位4ビットの部分にはレジスタOL
DCHDからの旧和音種類データがストアされ、下位4ビッ
トの部分にはレジスタROOT及びOLDRTの根音データに基
づいて計算された根音音高差を表わす音高差データがス
トアされるものである。
(23)発音用キーコードレジスタKEYCOD…これは、レジ
スタPTNKC、ADDKC及びROOTのデータに基づいて作成され
た発音用のキーコードがストアされるものである。リズ
ム走行時において、TG28は、レジスタKEYCODのキーコー
ドに応じて伴奏音発生が制御される。
スタPTNKC、ADDKC及びROOTのデータに基づいて作成され
た発音用のキーコードがストアされるものである。リズ
ム走行時において、TG28は、レジスタKEYCODのキーコー
ドに応じて伴奏音発生が制御される。
(24)旧キーコードレジスタOLDKEY0〜OLDKEY3…これら
のレジスタは、TG28の4つの発音チャンネルにそれぞれ
対応したもので、レジスタKEYCODからキーコードを受取
って一時的に記憶するものである。
のレジスタは、TG28の4つの発音チャンネルにそれぞれ
対応したもので、レジスタKEYCODからキーコードを受取
って一時的に記憶するものである。
なお、この後説明するフローチャートでは、a.MOD.bの
ような計算式が示されるが、これは、aをbで割算(整
数演算)して余りを求めること又は得られた余りを示
す。
ような計算式が示されるが、これは、aをbで割算(整
数演算)して余りを求めること又は得られた余りを示
す。
メインルーチン(第11図) 第11図は、メインルーチンの処理の流れを示すもので、
ステップ40では、電源投入等に応じてイニシャライズ処
理を行なう。例えば、フラグRUNには0をセットする。
ステップ40では、電源投入等に応じてイニシャライズ処
理を行なう。例えば、フラグRUNには0をセットする。
次に、ステップ42では、リズムスタート/ストップスイ
ッチ(SW)がオンか判定する。この判定結果が肯定的
(Y)であればステップ44に移る。
ッチ(SW)がオンか判定する。この判定結果が肯定的
(Y)であればステップ44に移る。
ステップ44では、1からフラグRUNの値を差引いたもの
をRUNにセットする。このため、RUNが0であったとき
は、RUN=1(リズム走行)となり、RUNが1であったと
きはRUN=0(リズム停止)となる。この後、ステップ4
6に移る。
をRUNにセットする。このため、RUNが0であったとき
は、RUN=1(リズム走行)となり、RUNが1であったと
きはRUN=0(リズム停止)となる。この後、ステップ4
6に移る。
ステップ46では、RUNが1か判定する。この判定結果が
肯定的(Y)であれば、ステップ48に移り、オートリズ
ム及びオートコード関係の初期セット処理を行なう。す
なわち、カウンタCLK、TCLK及びBARにいずれも0をセッ
トすると共にレジタOLDKEY0〜OLDKEY3にいずれも0をセ
ットし、さらにレジスタOLDCHDには16進表記でFFのデー
タ(全ビットが1のデータ)をセットする。
肯定的(Y)であれば、ステップ48に移り、オートリズ
ム及びオートコード関係の初期セット処理を行なう。す
なわち、カウンタCLK、TCLK及びBARにいずれも0をセッ
トすると共にレジタOLDKEY0〜OLDKEY3にいずれも0をセ
ットし、さらにレジスタOLDCHDには16進表記でFFのデー
タ(全ビットが1のデータ)をセットする。
ステップ48の処理が終ったときは、ステップ50に移る。
また、ステップ42又は46の判定結果が否定的(N)であ
ったときにもステップ50に移る。
また、ステップ42又は46の判定結果が否定的(N)であ
ったときにもステップ50に移る。
ステップ50では、伴奏用鍵盤にてキーオンイベントあり
か判定する。この判定結果が肯定的(Y)であれば、ス
テップ52に移り、第12図について後述するような押鍵処
理のサブルーチンを実行する。
か判定する。この判定結果が肯定的(Y)であれば、ス
テップ52に移り、第12図について後述するような押鍵処
理のサブルーチンを実行する。
ステップ52の処理が終ったとき又はステップ50の判定結
果が否定的(N)であったときは、ステップ54に移り、
伴奏用鍵盤にてキーオフイベントありか判定する。この
判定結果が肯定的(Y)であれば、ステップ56に移り、
第13図について後述するような離鍵処理のサブルーチン
を実行する ステップ56の処理が終ったとき又はステップ54の判定結
果が否定的(N)であったときは、ステップ58に移り、
その他の処理(例えば音色選択、リズム選択等の処理)
を行なう。
果が否定的(N)であったときは、ステップ54に移り、
伴奏用鍵盤にてキーオフイベントありか判定する。この
判定結果が肯定的(Y)であれば、ステップ56に移り、
第13図について後述するような離鍵処理のサブルーチン
を実行する ステップ56の処理が終ったとき又はステップ54の判定結
果が否定的(N)であったときは、ステップ58に移り、
その他の処理(例えば音色選択、リズム選択等の処理)
を行なう。
ステップ58の処理が終ったときは、ステップ42に戻り、
上記したような処理をくりかえす。
上記したような処理をくりかえす。
押鍵処理のサブルーチン(第12図) 第12図の押鍵処理のサブルーチンにおいて、ステップ60
では、レジスタKEYBUF0〜KEYBUF3に空ありか判定する。
この判定結果が否定的(N)であれば、押鍵データを取
込不能であるので、第11図のルーチンにリターンする。
では、レジスタKEYBUF0〜KEYBUF3に空ありか判定する。
この判定結果が否定的(N)であれば、押鍵データを取
込不能であるので、第11図のルーチンにリターンする。
ステップ60の判定結果が肯定的(Y)であったときは、
ステップ62に移り、空のKEYBUFにキーオンイベントあり
の鍵に対応するキーコードを書込む。そしてステップ64
に移る。
ステップ62に移り、空のKEYBUFにキーオンイベントあり
の鍵に対応するキーコードを書込む。そしてステップ64
に移る。
ステップ64では、KEYBUF0〜KEYBUF3の内容に応じた和音
データを和音検出テーブルCHDTBLから読出してレジスタ
CHDBUFに入れる。そして、ステップ66に移る。
データを和音検出テーブルCHDTBLから読出してレジスタ
CHDBUFに入れる。そして、ステップ66に移る。
ステップ66では、RUNが1か判定する。この判定結果が
否定的(N)であれば、ステップ68に移り、CHDBUFの和
音データをレジスタCHORDに入れる。そして、ステップ7
0に移る。
否定的(N)であれば、ステップ68に移り、CHDBUFの和
音データをレジスタCHORDに入れる。そして、ステップ7
0に移る。
ステップ70では、CHORDの和音データに応じてTG28を制
御することにより押鍵状態に対応した和音を発音させ
る。この後は、第11図のルーチンにリターンする。
御することにより押鍵状態に対応した和音を発音させ
る。この後は、第11図のルーチンにリターンする。
なお、ステップ66の判定結果が肯定的(Y)であったと
きは、第11図のルーチンにリターンする。この場合はRU
N=1(リズム走行)であるので、第14図について後述
するクロック割込みルーチンに従ってオートリズム及び
オートコードの演奏が行なわれる。
きは、第11図のルーチンにリターンする。この場合はRU
N=1(リズム走行)であるので、第14図について後述
するクロック割込みルーチンに従ってオートリズム及び
オートコードの演奏が行なわれる。
離鍵処理のサブルーチン(第13図) 第13図の離鍵処理のサブルーチンにおいて、ステップ80
では、レジスタKEYBUF0〜KEYBUF3にキーオフイベントの
あった鍵(離鍵)と同一のキーコードありか判定する。
この判定結果が否定的(N)であれば、発音中の音と無
関係なキーオフイベントがあったことになり、第11図の
ルーチンにリターンする。
では、レジスタKEYBUF0〜KEYBUF3にキーオフイベントの
あった鍵(離鍵)と同一のキーコードありか判定する。
この判定結果が否定的(N)であれば、発音中の音と無
関係なキーオフイベントがあったことになり、第11図の
ルーチンにリターンする。
ステップ80の判定結果が肯定的(Y)であったときは、
ステップ82に移り、同一キーコードありのKEYBUFに0を
セットする。そして、ステップ84に移る。
ステップ82に移り、同一キーコードありのKEYBUFに0を
セットする。そして、ステップ84に移る。
ステップ84では、フラグRUNが1か判定する。この判定
結果が肯定的(Y)であれば、前述のステップ66の場合
と同様に第11図のルーチンにリターンする。
結果が肯定的(Y)であれば、前述のステップ66の場合
と同様に第11図のルーチンにリターンする。
ステップ84の判定結果が否定的(N)であったときは、
ステップ86に移り、KEYBUF0〜KEYBUF3の内容に応じて和
音検出テーブルCHDTBLから和音データを読出してレジス
タCHDBUFに入れる。そして、ステップ88に移る。
ステップ86に移り、KEYBUF0〜KEYBUF3の内容に応じて和
音検出テーブルCHDTBLから和音データを読出してレジス
タCHDBUFに入れる。そして、ステップ88に移る。
ステップ88では、CHDBUFの和音データをレジスタCHORD
に入れる。そして、ステップ90に移り、CHORDの和音デ
ータに応じてTG28を制御することにより離鍵後の押鍵状
態に対応した和音を発音させる。この結果、例えば4音
が発音されているときにそのうちの1音に対応する鍵を
離したのであれば、残り3音が発音され続けることにな
る。
に入れる。そして、ステップ90に移り、CHORDの和音デ
ータに応じてTG28を制御することにより離鍵後の押鍵状
態に対応した和音を発音させる。この結果、例えば4音
が発音されているときにそのうちの1音に対応する鍵を
離したのであれば、残り3音が発音され続けることにな
る。
ステップ90の処理が終ったときは、第11図のルーチンに
リターンする。
リターンする。
クロック割込みルーチン(第14図) 第14図は、クロック割込みルーチンの処理の流れを示す
もので、このルーチンは、クロック発生器18はクロック
パルスが発生されるたび開始される。
もので、このルーチンは、クロック発生器18はクロック
パルスが発生されるたび開始される。
まず、ステップ100では、フラグRUNが1か判定する。こ
の判定結果が否定的(N)であれば第11図のルーチンに
リターンする。
の判定結果が否定的(N)であれば第11図のルーチンに
リターンする。
ステップ100の判定結果が肯定的(Y)であったとき
は、ステップ102に移る。このステップ102では、 なる計算式による計算結果が0か判定する。この計算式
において、CLKはカウンタCLKのカウント値を、QUANTは
記憶部QUANTの記憶値をそれぞれ表わす。
は、ステップ102に移る。このステップ102では、 なる計算式による計算結果が0か判定する。この計算式
において、CLKはカウンタCLKのカウント値を、QUANTは
記憶部QUANTの記憶値をそれぞれ表わす。
3拍子の場合、QUANT=24であるので、96/QUANTは4と
なり、4クロク毎にステップ102の判定結果が肯定的
(Y)となる。また、4拍子の場合には、QUANT=32で
あるので、96/QUANTは3となり、3クロック毎にステッ
プ102の判定結果が肯定的(Y)となる。ステップ102の
判定結果が否定的(N)であれば、第11図のルーチンに
リターンするが、肯定的(Y)であれば、ステップ104
に移る。
なり、4クロク毎にステップ102の判定結果が肯定的
(Y)となる。また、4拍子の場合には、QUANT=32で
あるので、96/QUANTは3となり、3クロック毎にステッ
プ102の判定結果が肯定的(Y)となる。ステップ102の
判定結果が否定的(N)であれば、第11図のルーチンに
リターンするが、肯定的(Y)であれば、ステップ104
に移る。
ステップ104では、選択されたリズム種類とカウンタTCL
Kの値とに応じてリズム発音処理を行なう。すなわち、
選択されたリズム種類に対応するリズムパターンを参照
してTCLKのカウント値に対応するタイミングで発音すべ
きリズム音があればそれを発音させる。そして、ステッ
プ106に移る。
Kの値とに応じてリズム発音処理を行なう。すなわち、
選択されたリズム種類に対応するリズムパターンを参照
してTCLKのカウント値に対応するタイミングで発音すべ
きリズム音があればそれを発音させる。そして、ステッ
プ106に移る。
ステップ106では、第15図について後述するような伴奏
発音のサブルーチンを実行する。このサブルーチンは、
選択されたリズム種類に対応する伴奏パターンを用いて
自動的に和音を発生するためのものである。
発音のサブルーチンを実行する。このサブルーチンは、
選択されたリズム種類に対応する伴奏パターンを用いて
自動的に和音を発生するためのものである。
次に、ステップ108でTCLKの値を1アップしてからステ
ップ110に移り、TCLK.MOD.8なる計算式による計算結果
が0か判定する。この計算式において、TCLKはカウンタ
TCLKのカウント値を表わす。そして計算結果が0という
ことは拍の頭であることを意味する。
ップ110に移り、TCLK.MOD.8なる計算式による計算結果
が0か判定する。この計算式において、TCLKはカウンタ
TCLKのカウント値を表わす。そして計算結果が0という
ことは拍の頭であることを意味する。
ステップ110の判定結果が肯定的(Y)であった(拍の
頭であった)ときは、ステップ112に移り、レジスタCHO
RDの和音データをレジスタOLDCHDに入れる。そして、ス
テップ114に移り、レジスタCHDBUFの和音データをCHORD
に入れる。従って、オートコードの場合には、ある拍の
途中で和音変更によりCHDBUFに新たな和音データがセッ
トされても、該新たな和音データがCHORDにセットされ
るのは次の拍の頭のタイミングであり、このタミングか
ら該新たな和音データに基づく伴奏が可能となる。
頭であった)ときは、ステップ112に移り、レジスタCHO
RDの和音データをレジスタOLDCHDに入れる。そして、ス
テップ114に移り、レジスタCHDBUFの和音データをCHORD
に入れる。従って、オートコードの場合には、ある拍の
途中で和音変更によりCHDBUFに新たな和音データがセッ
トされても、該新たな和音データがCHORDにセットされ
るのは次の拍の頭のタイミングであり、このタミングか
ら該新たな和音データに基づく伴奏が可能となる。
ステップ114の処理が終ったとき又はステップ110の判定
結果が否定的(N)であったときは、ステップ116に移
り、カウンタCLKの値を1アップする。そして、ステッ
プ118に移る。
結果が否定的(N)であったときは、ステップ116に移
り、カウンタCLKの値を1アップする。そして、ステッ
プ118に移る。
ステップ118では、CLKの値が96か(小節末か)判定す
る。この判定結果が否定的(N)であれば、第11図のル
ーチンにリターンする。
る。この判定結果が否定的(N)であれば、第11図のル
ーチンにリターンする。
ステップ118の判定結果が肯定的(Y)であったとき
は、ステップ120に移り、カウンタCLK及びTCLKに0をセ
ットする。そして、ステップ122でカウンタBARの値を1
アップしてからステップ124に移り、BARの値が8か判定
する。この判定結果が否定的(N)であれば、第11図の
ルーチンにリターンする。
は、ステップ120に移り、カウンタCLK及びTCLKに0をセ
ットする。そして、ステップ122でカウンタBARの値を1
アップしてからステップ124に移り、BARの値が8か判定
する。この判定結果が否定的(N)であれば、第11図の
ルーチンにリターンする。
ステップ124の判定結果が肯定的(Y)であったとき
は、ステップ126に移り、BARに0をセットする。このよ
うに8小節の末でBARに0をセットしたときは、8小節
分の自動伴奏が終ったときであり、この後は再び8小節
分の自動伴奏が前回と同一内容でくりかえされる。
は、ステップ126に移り、BARに0をセットする。このよ
うに8小節の末でBARに0をセットしたときは、8小節
分の自動伴奏が終ったときであり、この後は再び8小節
分の自動伴奏が前回と同一内容でくりかえされる。
ステップ126の処理が終ったときは、第11図のルーチン
にリターンする。
にリターンする。
伴奏発音のサブルーチン(第15図) 第15図の伴奏発音のサブルーチンにおいて、ステップ13
0では、レジスタTYPEにレジスタCHORDの上位4ビットの
データ(和音種類データ)をセットする。そして、ステ
ップ132に移る。
0では、レジスタTYPEにレジスタCHORDの上位4ビットの
データ(和音種類データ)をセットする。そして、ステ
ップ132に移る。
ステップ132では、TYPEの値が6か(セブンスか)判定
する。この判定結果が否定的(N)であれば、ステップ
134に移る。
する。この判定結果が否定的(N)であれば、ステップ
134に移る。
ステップ134では、グループナンバテーブルGRPTBLからT
YPEの値(和音種類)に対応したグループナンバGNO(和
音種類群)を検出してレジスタGRPにセットする。そし
て、ステップ136に移る。
YPEの値(和音種類)に対応したグループナンバGNO(和
音種類群)を検出してレジスタGRPにセットする。そし
て、ステップ136に移る。
ステップ136では、記憶部SEQからGRPのグループナンバ
に対応したシーケンスデータを読出してレジスタPATSEQ
に入れる。そして、ステップ138に移る。
に対応したシーケンスデータを読出してレジスタPATSEQ
に入れる。そして、ステップ138に移る。
ステップ138では、PATSEQからカウンタBARの値に対応す
る小節のパターンナンバPNOを読出してレジスタPTNOに
入れる。例えば、ステップ136により第7図の記憶部SEQ
(0)のメジャ系シーケンスデータが選択された場合に
おいて、BARの値が0であれば、1小節目のPNO=0がPT
NOにセットされる。
る小節のパターンナンバPNOを読出してレジスタPTNOに
入れる。例えば、ステップ136により第7図の記憶部SEQ
(0)のメジャ系シーケンスデータが選択された場合に
おいて、BARの値が0であれば、1小節目のPNO=0がPT
NOにセットされる。
次に、ステップ140では、記憶部ADRSからGRPの値(グル
ープナンバ)及びPTNOの値(パターンナンバ)で指定さ
れるノーマルパターンの先頭アドレスを読出してレジス
タPTADRSに入れる。例えば、上記のようにSEQ(0)の
シーケンスデータが選択された場合において、記憶部PT
Mに第8図について前述したようにパターンデータが記
憶されているとすると、GRP=0で且つPTNO=0であれ
ば記憶部PTNMの第0ノーマルパターンの先頭アドレスA
がPTADRSにセットされる。この後、ステップ142に移
る。
ープナンバ)及びPTNOの値(パターンナンバ)で指定さ
れるノーマルパターンの先頭アドレスを読出してレジス
タPTADRSに入れる。例えば、上記のようにSEQ(0)の
シーケンスデータが選択された場合において、記憶部PT
Mに第8図について前述したようにパターンデータが記
憶されているとすると、GRP=0で且つPTNO=0であれ
ば記憶部PTNMの第0ノーマルパターンの先頭アドレスA
がPTADRSにセットされる。この後、ステップ142に移
る。
ステップ142では、上記ステップ140の場合と同様にGRP
及びPTNOで指定されるノーマルパターンの発音数データ
を読出してレジスタCHに入れる。そして、ステップ144
に移る。
及びPTNOで指定されるノーマルパターンの発音数データ
を読出してレジスタCHに入れる。そして、ステップ144
に移る。
ステップ144では、第17図について後述するようにパタ
ーン読出しのザブルーチンを実行する。このサブルーチ
ンは、伴奏パターンを構成するキーコードを読出して伴
奏音発生を制御するためのものである。ステップ144の
後は、第14図のルーチンにリターンする。
ーン読出しのザブルーチンを実行する。このサブルーチ
ンは、伴奏パターンを構成するキーコードを読出して伴
奏音発生を制御するためのものである。ステップ144の
後は、第14図のルーチンにリターンする。
ところで、ステップ132の判定結果が肯定的(Y)であ
ったときは、ステップ145に移り、第16図について後述
するようにセブンス処理のサブルーチンを実行する。こ
のサブルーチンは、セブンスへの移行態様に応じてレジ
スタSEVPTに0〜2のいずれかのセブンス用パターンナ
ンバをセットするためのものである。ステップ145の後
は、ステップ146に移る。
ったときは、ステップ145に移り、第16図について後述
するようにセブンス処理のサブルーチンを実行する。こ
のサブルーチンは、セブンスへの移行態様に応じてレジ
スタSEVPTに0〜2のいずれかのセブンス用パターンナ
ンバをセットするためのものである。ステップ145の後
は、ステップ146に移る。
ステップ146では、SEVPTの値が0か(セブンス用ノーマ
ルパターンか)判定する。この判定結果が肯定的(Y)
であれば、ステップ134に移り、それ以降の処理を上記
したと同様に実行する。
ルパターンか)判定する。この判定結果が肯定的(Y)
であれば、ステップ134に移り、それ以降の処理を上記
したと同様に実行する。
ステップ146の判定結果が否定的(N)であったとき
は、ステップ147に移る。このステップ147では、SEVPT
の値から1を差引いたもの(バリエーションパターンナ
ンバ)で指定されるバリエーションパターンの先頭アド
レスを記憶部ADRS2から読出してPTADRSに入れる。そし
て、ステップ148に移る。
は、ステップ147に移る。このステップ147では、SEVPT
の値から1を差引いたもの(バリエーションパターンナ
ンバ)で指定されるバリエーションパターンの先頭アド
レスを記憶部ADRS2から読出してPTADRSに入れる。そし
て、ステップ148に移る。
ステップ148では、上記ステップ147の場合と同様にSEVP
T−1で指定されるバリエーションパターンの発音数デ
ータを記憶部CHASS2から読出してCHに入れる。
T−1で指定されるバリエーションパターンの発音数デ
ータを記憶部CHASS2から読出してCHに入れる。
この後は、上記したと同様にステップ144の処理を経て
第14図のルーチンにリターンする。
第14図のルーチンにリターンする。
セブンス処理のザブルーチン(第16図) 第16図のセブンス処理のサブルーチンにおいて、ステッ
プ150では、レジスタCHORDの下位4ビット(根音デー
タ)をレジスタROOTに入れる。そし、ステップ152に移
る。
プ150では、レジスタCHORDの下位4ビット(根音デー
タ)をレジスタROOTに入れる。そし、ステップ152に移
る。
ステップ152では、レジスタOLDCHDの下位4ビット(根
音データ)をレジスタOLDRTに入れる。そして、ステッ
プ154に移る。
音データ)をレジスタOLDRTに入れる。そして、ステッ
プ154に移る。
ステップ154では、(ROOT−OLDRT+12).MOD.12なる計
算式による計算結果をレジスタCMPCHDの下位4ビットの
部分に入れる。この計算式において、ROOTはレジスタRO
OTの値を、OLDRTはレジスタOLDRTの値をそれぞれ表わ
し、(ROOT−OLDRT)に12を加えるのは差がマイナスに
なるのを防ぐためである。この計算式によれば、セブン
スの和音とその直前の和音との根音音高差(0〜11のい
ずれかの半音数)を求めることができ、CMPCHDの下位4
ビットの部分には、根音音高差を表わす音高差データが
ストアされる。
算式による計算結果をレジスタCMPCHDの下位4ビットの
部分に入れる。この計算式において、ROOTはレジスタRO
OTの値を、OLDRTはレジスタOLDRTの値をそれぞれ表わ
し、(ROOT−OLDRT)に12を加えるのは差がマイナスに
なるのを防ぐためである。この計算式によれば、セブン
スの和音とその直前の和音との根音音高差(0〜11のい
ずれかの半音数)を求めることができ、CMPCHDの下位4
ビットの部分には、根音音高差を表わす音高差データが
ストアされる。
次に、ステップ156では、OLDCHDの上位4ビット(旧和
音種類データ)をCMPCHDの上位4ビットの部分にセット
する。そして、ステップ158に移る。
音種類データ)をCMPCHDの上位4ビットの部分にセット
する。そして、ステップ158に移る。
ステップ158では、制御変数iを0にする。そして、ス
テップ160に移り、和音進行判定テーブルSEQREF内のi
番目の記憶領域SEQREFiの判定基準データとCMPCHDのデ
ータとが一致か判定する。この判定結果が否定的(N)
であれば、ステップ162に移る。
テップ160に移り、和音進行判定テーブルSEQREF内のi
番目の記憶領域SEQREFiの判定基準データとCMPCHDのデ
ータとが一致か判定する。この判定結果が否定的(N)
であれば、ステップ162に移る。
ステップ162では、iの値を1アップする。そし、ステ
ップ164に移り、iが12以上か判定する。このステップ1
58でi=0とした後はじめてステップ164にきたとき
は、i=1であるから判定結果は否定的(N)となり、
ステップ160に戻る。このようにして記憶領域SEQREF0〜
SEQREF11の内容を順次にCMPCHDの内容と比較していって
も一致が得られないときは、ステップ164の判定結果が
肯定的(Y)となり、ステップ166に移る。
ップ164に移り、iが12以上か判定する。このステップ1
58でi=0とした後はじめてステップ164にきたとき
は、i=1であるから判定結果は否定的(N)となり、
ステップ160に戻る。このようにして記憶領域SEQREF0〜
SEQREF11の内容を順次にCMPCHDの内容と比較していって
も一致が得られないときは、ステップ164の判定結果が
肯定的(Y)となり、ステップ166に移る。
ステップ166では、レジスタSEVPTに0をセットする。そ
して、第15図のルーチンにリターンする。この場合に
は、第15図のルーチンにおいて、ステップ134〜144の処
理が行なわれ、セブンス用ノーマルパターンに従って伴
奏音が発生される。
して、第15図のルーチンにリターンする。この場合に
は、第15図のルーチンにおいて、ステップ134〜144の処
理が行なわれ、セブンス用ノーマルパターンに従って伴
奏音が発生される。
上記のような順次比較においてステップ160の判定結果
が肯定的(Y)となった(一致が得られた)ときは、ス
テップ168に移る。
が肯定的(Y)となった(一致が得られた)ときは、ス
テップ168に移る。
ステップ168では、iが7より大か(経過的な伴奏パタ
ーンを選択すべきか)判定する。この判定結果が否定的
(N)であれば、ステップ170に移り、SEVPTに1をセッ
トする。そして、第15図のルーチンにリターンする。
ーンを選択すべきか)判定する。この判定結果が否定的
(N)であれば、ステップ170に移り、SEVPTに1をセッ
トする。そして、第15図のルーチンにリターンする。
ステップ168の判定結果が肯定的(Y)であったとき
は、ステップ172に移り、SEVPTに2をセットする。そし
て、第15図のルーチンにリターンする。
は、ステップ172に移り、SEVPTに2をセットする。そし
て、第15図のルーチンにリターンする。
ステップ168又は172を経て第16図のルーチンにリターン
したときは、第15図のルーチンにおいて、ステップ14
7、148及び144の処理が行なわれ、バリエーションパタ
ーンナンバ0又は1のバリエーションパターンに従って
伴奏音が発生される。
したときは、第15図のルーチンにおいて、ステップ14
7、148及び144の処理が行なわれ、バリエーションパタ
ーンナンバ0又は1のバリエーションパターンに従って
伴奏音が発生される。
パターン読出しのサブルーチン(第17図) 第17図のパターン読出しのサブルーチンにおいて、ステ
ップ180では、制御変数iを0にする。そして、ステッ
プ182に移る。
ップ180では、制御変数iを0にする。そして、ステッ
プ182に移る。
ステップ182では、PTADRS+TCLK+i×QUANTなる計算式
による計算結果をレジスタPTADRS2に入れる。この計算
式において、PTADRSはレジスタPTADRSの値を、TCLKはカ
ウンタTCLKの値を、QUANTは記憶部QUANTの記憶値(24又
は32)をそれぞれ表わす。この計算式によれば、パター
ン記憶部PTNの読出アドレスを決定することができ、PTA
DRS2には決定さた読出アドレスがセットされる。例え
ば、ステップ180の後はじめてステップ182にきたとき
は、i=0であるから、PTADRSを第9図に示したAとし
且つTCLK=0とすれば、PTADRS2には第9図のT1の先頭
アドレス(A+0)がセットされる。この後、ステップ
184に移る。
による計算結果をレジスタPTADRS2に入れる。この計算
式において、PTADRSはレジスタPTADRSの値を、TCLKはカ
ウンタTCLKの値を、QUANTは記憶部QUANTの記憶値(24又
は32)をそれぞれ表わす。この計算式によれば、パター
ン記憶部PTNの読出アドレスを決定することができ、PTA
DRS2には決定さた読出アドレスがセットされる。例え
ば、ステップ180の後はじめてステップ182にきたとき
は、i=0であるから、PTADRSを第9図に示したAとし
且つTCLK=0とすれば、PTADRS2には第9図のT1の先頭
アドレス(A+0)がセットされる。この後、ステップ
184に移る。
ステップ184では、記憶部PTNからPTADRS2で指定される
アドレスのデータを読出してレジスタPTNKCに入れる。
そして、ステップ186に移る。
アドレスのデータを読出してレジスタPTNKCに入れる。
そして、ステップ186に移る。
ステップ186では、PTNKCの値が0か(非発音か)判定す
る。この判定結果が否定的(N)であれば、ステップ18
8に移り、PTNKC.MOD.12なる計算式による計算結果をレ
ジスタRKCNTに入れる。この計算式において、PTNKCはレ
ジスタPTNKCのキーコード値を示す。この計算式によれ
ば、PTNKCのキーコードの音名に対応した半音数(0〜1
1のいずれか)を求めることができ、RKCNTには、根音C
からの半音数を表わす半音数データがストアされる。こ
の後、ステップ190に移る。
る。この判定結果が否定的(N)であれば、ステップ18
8に移り、PTNKC.MOD.12なる計算式による計算結果をレ
ジスタRKCNTに入れる。この計算式において、PTNKCはレ
ジスタPTNKCのキーコード値を示す。この計算式によれ
ば、PTNKCのキーコードの音名に対応した半音数(0〜1
1のいずれか)を求めることができ、RKCNTには、根音C
からの半音数を表わす半音数データがストアされる。こ
の後、ステップ190に移る。
ステップ190では、音高修正テーブルPMTBLからレジスタ
TYPE及びRKCNTの内容に応じた修正データを読出してレ
ジスタADDKCに入れる。そして、ステップ192に移る。
TYPE及びRKCNTの内容に応じた修正データを読出してレ
ジスタADDKCに入れる。そして、ステップ192に移る。
ステップ192では、PTNKC+ADDKC+ROOTなる計算式によ
る計算結果をレジスタKEYCODに入れる。この計算式にお
いて、PTNKC、ADDKC及びROOTはそれぞれレジスタPTNK
C、ADDKC及びROOTの値を示す。この計算式によれば、根
音Cを基準として記憶されたパターのキーコードを伴奏
用鍵盤で指定された和音の根音に応じて音高変更すると
共にその音高変更の際に不協和な音とならないように修
正データに応じて音高を修正することができる。例え
ば、伴奏用鍵盤で和音Amを指定すると、TYPE=3、ROOT
=9となる。この場合において、PTNKC=40(E2)であ
るとすると、RKCNTは4となり、ADDKCは−1となる。従
って、KEYCODには、40−1+9=48(C3)がセットされ
る。ステップ192の後は、ステップ194に移る。
る計算結果をレジスタKEYCODに入れる。この計算式にお
いて、PTNKC、ADDKC及びROOTはそれぞれレジスタPTNK
C、ADDKC及びROOTの値を示す。この計算式によれば、根
音Cを基準として記憶されたパターのキーコードを伴奏
用鍵盤で指定された和音の根音に応じて音高変更すると
共にその音高変更の際に不協和な音とならないように修
正データに応じて音高を修正することができる。例え
ば、伴奏用鍵盤で和音Amを指定すると、TYPE=3、ROOT
=9となる。この場合において、PTNKC=40(E2)であ
るとすると、RKCNTは4となり、ADDKCは−1となる。従
って、KEYCODには、40−1+9=48(C3)がセットされ
る。ステップ192の後は、ステップ194に移る。
ステップ194では、KEYCODの値が記憶部UPLMTの値より大
か(上限音高をこえたか)判定する。この判定結果が肯
定的(Y)であれば、ステップ196に移り、KEYCOD値か
ら12を差引いたもの(1オクターブ下げたもの)をKEYC
ODにセットする。そして、ステップ194に戻り、再び上
記と同様の判定を行なう。このような処理は、KEYCODの
値がUPLMTの値以下となるまで行なわれ、KEYCODの値は
最終的に上限音高以下の音高に対応したものとなる。
か(上限音高をこえたか)判定する。この判定結果が肯
定的(Y)であれば、ステップ196に移り、KEYCOD値か
ら12を差引いたもの(1オクターブ下げたもの)をKEYC
ODにセットする。そして、ステップ194に戻り、再び上
記と同様の判定を行なう。このような処理は、KEYCODの
値がUPLMTの値以下となるまで行なわれ、KEYCODの値は
最終的に上限音高以下の音高に対応したものとなる。
ステップ194の判定結果がもともと否定的(N)であっ
たとき又はステップ196の処理の結果として否定的
(N)になったときは、ステップ198に移る。
たとき又はステップ196の処理の結果として否定的
(N)になったときは、ステップ198に移る。
ステップ198では、KEYCODの値がi番目の旧キーコード
レジスタOLDKEYiの値(前回のキーコード値)と一致か
判定する。この判定結果が否定的(N)であれば、ステ
ップ200でKEYCODのキーコードをOLDKEYiにセットしてか
らステップ202に移り、KEYCODのキーコードに応じてTG2
8の第iチャンネル(最初は第0チャンネル)の楽音発
生を制御する。この結果、KEYCODに前述例のようにキー
コード値48がセットされていれば、それに対応したC3音
が発音される。なお、ある音の発音が持続しているとき
に次の音を発音させる場合は、前の音を急速減衰させて
から後の音を発音させるようになっている。
レジスタOLDKEYiの値(前回のキーコード値)と一致か
判定する。この判定結果が否定的(N)であれば、ステ
ップ200でKEYCODのキーコードをOLDKEYiにセットしてか
らステップ202に移り、KEYCODのキーコードに応じてTG2
8の第iチャンネル(最初は第0チャンネル)の楽音発
生を制御する。この結果、KEYCODに前述例のようにキー
コード値48がセットされていれば、それに対応したC3音
が発音される。なお、ある音の発音が持続しているとき
に次の音を発音させる場合は、前の音を急速減衰させて
から後の音を発音させるようになっている。
上記したのは、ステップ186の判定結果が否定的(N)
であった場合の処理の流れであるが、ステップ186の判
定結果が肯定的(Y)であった場合の処理の流れは次の
ようになる。すなわち、この場合は、PTNKCの値が0
(非発音)であるので、ステップ188〜196のような処理
を経ないでステップ204に移る。
であった場合の処理の流れであるが、ステップ186の判
定結果が肯定的(Y)であった場合の処理の流れは次の
ようになる。すなわち、この場合は、PTNKCの値が0
(非発音)であるので、ステップ188〜196のような処理
を経ないでステップ204に移る。
ステップ204では、PTNKCの値(0)をKECODに入れる。
そして、ステップ198に移り、KEYCODの値(0)がOLDKE
Yiの値と一致か判定する。この判定結果が否定的(N)
であれば、ステップ200に移り、KEYCODの値(0)をOLD
KEYiに入れる。
そして、ステップ198に移り、KEYCODの値(0)がOLDKE
Yiの値と一致か判定する。この判定結果が否定的(N)
であれば、ステップ200に移り、KEYCODの値(0)をOLD
KEYiに入れる。
この後、ステップ202では、KEYCODの値(0)に応じてT
G28の第iチャンネル(最初は第0チャンネル)を発音
停止とすべく制御する。
G28の第iチャンネル(最初は第0チャンネル)を発音
停止とすべく制御する。
ステップ186の判定結果が否定的又は肯定的のいずれの
場合であっても、ステップ202の後はステップ206に移
る。また、ステップ198の判定結果が肯定的(Y)であ
ったときは、発音開始又は発音停止のような処理が必要
ないのでステップ200及び202を経ないでステップ206に
移る。
場合であっても、ステップ202の後はステップ206に移
る。また、ステップ198の判定結果が肯定的(Y)であ
ったときは、発音開始又は発音停止のような処理が必要
ないのでステップ200及び202を経ないでステップ206に
移る。
ステップ206では、iの値を1アップする。そして、ス
テップ208に移り、iがレジスタCHの値より小さいか判
定する。CHには、選択された伴奏パターンに関して同時
発音可能な音数を示す発音数データがストアされてお
り、このデータの値が1であれば、ステップ180の後は
じめてステップ208にきたときは、iが1であるから判
定結果が否定的(N)となり、第15図のルーチンにリタ
ーンする。これは、例えば第8図に先頭アドレスFを付
して示したパターンのようにパターンが単一の音高デー
タ群で構成されている場合である。
テップ208に移り、iがレジスタCHの値より小さいか判
定する。CHには、選択された伴奏パターンに関して同時
発音可能な音数を示す発音数データがストアされてお
り、このデータの値が1であれば、ステップ180の後は
じめてステップ208にきたときは、iが1であるから判
定結果が否定的(N)となり、第15図のルーチンにリタ
ーンする。これは、例えば第8図に先頭アドレスFを付
して示したパターンのようにパターンが単一の音高デー
タ群で構成されている場合である。
パターンが例えば第8図T1〜T3に示すように複数の音高
データ群で構成されている場合は、ステップ208の判定
結果が肯定的(Y)となり、ステップ182に戻る。そし
て、ステップ208でi=CHとなるまで上記のような処理
をくりかえし、i=CHとなったら第15図のルーチンにリ
ターンする。この結果、例えば第10図について前述した
ように複数音(最大で4音)の同時発音が可能となる。
データ群で構成されている場合は、ステップ208の判定
結果が肯定的(Y)となり、ステップ182に戻る。そし
て、ステップ208でi=CHとなるまで上記のような処理
をくりかえし、i=CHとなったら第15図のルーチンにリ
ターンする。この結果、例えば第10図について前述した
ように複数音(最大で4音)の同時発音が可能となる。
変形例 この発明は、上記した実施例に限定されるものではな
く、種々の改変形態で実施可能なものである。例えば、
オートベース等にも、この発明を適用可能である。
く、種々の改変形態で実施可能なものである。例えば、
オートベース等にも、この発明を適用可能である。
[発明の効果] 以上のように、この発明によれば、和音種類群毎にシー
ケンスデータ及び複数のパターンデータを記憶すると共
に音高修正データに応じて伴奏音信号の音高を修正する
ようにしたので、記憶容量の一層の低減が可能になると
共に不協和音の発生を防止できる効果が得られるもので
ある。
ケンスデータ及び複数のパターンデータを記憶すると共
に音高修正データに応じて伴奏音信号の音高を修正する
ようにしたので、記憶容量の一層の低減が可能になると
共に不協和音の発生を防止できる効果が得られるもので
ある。
第1図は、この発明の一実施例による自動伴奏装置をそ
なえた電子楽器の回路構成を示すブロック図、 第2図は、各音高毎のキーコード値を示す図、 第3図は、和音検出テーブルCHDTBLにおける根音Cに関
する記憶部の記憶内容を示す図、 第4図は、グループナンバテーブルGRPTBLの記憶内容を
示す図、 第5図は、音高修正テーブルPMTBLの記憶内容を示す
図、 第6図は、和音進行判定テーブルSEQREFの記憶内容を示
す図、 第7図は、パターンROMの記憶内容を示す図、 第8図は、パターン記憶部PTNの記憶例を示す図、 第9図は、伴奏パターンの一例を示す五線図、 第10図は、第9図の伴奏パターンの記憶データフォーマ
ットを示す図、 第11図は、メインルーチンを示すフローチャート、 第12図は、押鍵処理のサブルーチンを示すフローチャー
ト、 第13図は、離鍵処理のサブルーチンを示すフローチャー
ト、 第14図は、クロック割込みルーチンを示すフローチャー
ト、 第15図は、伴奏発音のサブルーチンを示すフローチャー
ト、 第16図は、セブンス処理のサブルーチンを示すフローチ
ャート、 第17図は、パターン読出しのサブルーチンを示すフロー
チャートである。 10…バス、14…伴奏用鍵盤回路、16…制御スイッチ群、
18…クロック発生器、20…中央処理装置、22…プログラ
ムメモリ、24…伴奏データメモリ、26…レジスタ群、28
…トーンジェネレータ、30…サウンドシステム。
なえた電子楽器の回路構成を示すブロック図、 第2図は、各音高毎のキーコード値を示す図、 第3図は、和音検出テーブルCHDTBLにおける根音Cに関
する記憶部の記憶内容を示す図、 第4図は、グループナンバテーブルGRPTBLの記憶内容を
示す図、 第5図は、音高修正テーブルPMTBLの記憶内容を示す
図、 第6図は、和音進行判定テーブルSEQREFの記憶内容を示
す図、 第7図は、パターンROMの記憶内容を示す図、 第8図は、パターン記憶部PTNの記憶例を示す図、 第9図は、伴奏パターンの一例を示す五線図、 第10図は、第9図の伴奏パターンの記憶データフォーマ
ットを示す図、 第11図は、メインルーチンを示すフローチャート、 第12図は、押鍵処理のサブルーチンを示すフローチャー
ト、 第13図は、離鍵処理のサブルーチンを示すフローチャー
ト、 第14図は、クロック割込みルーチンを示すフローチャー
ト、 第15図は、伴奏発音のサブルーチンを示すフローチャー
ト、 第16図は、セブンス処理のサブルーチンを示すフローチ
ャート、 第17図は、パターン読出しのサブルーチンを示すフロー
チャートである。 10…バス、14…伴奏用鍵盤回路、16…制御スイッチ群、
18…クロック発生器、20…中央処理装置、22…プログラ
ムメモリ、24…伴奏データメモリ、26…レジスタ群、28
…トーンジェネレータ、30…サウンドシステム。
Claims (1)
- 【請求項1】(a)伴奏用の鍵盤と、 (b)この鍵盤で押鍵状態に基づいて和音種類及び和音
根音を検出する検出手段と、 (c)予め定められた複数の和音種類群のうちの各和音
種類群毎に伴奏データを記憶する第1の記憶手段であっ
て、各和音種類群に対応する伴奏データは、一定長さの
演奏区間の伴奏音発生パターンをそれぞれ音高データの
配列により表わす複数Mのパターンデータと、これらの
パターンデータを適宜組合わせて指定する第1〜第N
(NはMより大きい整数)のシーケンスデータとを含ん
でいるものと、 (d)前記検出手段で検出された和音種類が前記複数の
和音種類群のいずれに属するか判定する判定手段と、 (e)この判定手段で属すると判定された和音種類群に
対応する伴奏データを前記第1の記憶手段にて選択する
選択手段と、 (g)前記複数の和音種類群に属する和音種類のうちの
所定の和音種類と所定の音名とに対応して不協和音防止
用の音高修正データを記憶する第2の記憶手段と、 (h)前記選択手段で選択された伴奏データ中のシーケ
ンスデータに従って順次に該伴奏データ中のパターンデ
ータを読出すことにより該パターンデータ中の音高デー
タと前記検出手段で検出された和音根音とで決まる音高
を有する伴奏音信号を発生する伴奏音発生手段であっ
て、前記検出手段で前記所定の和音種類が検出され且つ
前記第1の記憶手段から前記所定の音名の音高データが
読出されたときは前記第2の記憶手段の音高修正データ
に応じて不協和音にならないように伴奏音信号の音高を
修正するものと を備えた電子楽器の自動伴奏装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62025233A JPH0738112B2 (ja) | 1987-02-05 | 1987-02-05 | 電子楽器の自動伴奏装置 |
| US07/016,976 US4911361A (en) | 1987-02-05 | 1988-03-18 | Manually operated trigger type dispenser, method of assembling the same, and a spinner for use in the dispenser |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62025233A JPH0738112B2 (ja) | 1987-02-05 | 1987-02-05 | 電子楽器の自動伴奏装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63193200A JPS63193200A (ja) | 1988-08-10 |
| JPH0738112B2 true JPH0738112B2 (ja) | 1995-04-26 |
Family
ID=12160258
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62025233A Expired - Fee Related JPH0738112B2 (ja) | 1987-02-05 | 1987-02-05 | 電子楽器の自動伴奏装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0738112B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5478967A (en) * | 1993-03-30 | 1995-12-26 | Kabushiki Kaisha Kawai Gakki Seisakusho | Automatic performing system for repeating and performing an accompaniment pattern |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0736114B2 (ja) * | 1985-06-21 | 1995-04-19 | ヤマハ株式会社 | 自動伴奏装置 |
| JPS61292691A (ja) * | 1985-06-21 | 1986-12-23 | ヤマハ株式会社 | 自動伴奏情報を送出する鍵盤装置 |
-
1987
- 1987-02-05 JP JP62025233A patent/JPH0738112B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63193200A (ja) | 1988-08-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4704933A (en) | Apparatus for and method of producing automatic music accompaniment from stored accompaniment segments in an electronic musical instrument | |
| JPH0631978B2 (ja) | 電子楽器の自動伴奏装置 | |
| US4864907A (en) | Automatic bass chord accompaniment apparatus for an electronic musical instrument | |
| US4887504A (en) | Automatic accompaniment apparatus realizing automatic accompaniment and manual performance selectable automatically | |
| US4887503A (en) | Automatic accompaniment apparatus for electronic musical instrument | |
| US4905561A (en) | Automatic accompanying apparatus for an electronic musical instrument | |
| IT8922601A1 (it) | Strumento musicale elettronico avente una funzione di esecuzione a piacere | |
| JPH04274497A (ja) | 自動伴奏装置 | |
| JPH0769698B2 (ja) | 自動伴奏装置 | |
| JP2546272B2 (ja) | 電子楽器の自動伴奏装置 | |
| JPH0738112B2 (ja) | 電子楽器の自動伴奏装置 | |
| US4920849A (en) | Automatic performance apparatus for an electronic musical instrument | |
| JP2998527B2 (ja) | 自動伴奏装置 | |
| JPH0683355A (ja) | 自動伴奏装置 | |
| JPH0631979B2 (ja) | 電子楽器の自動伴奏装置 | |
| JP2943560B2 (ja) | 自動演奏装置 | |
| JP3055352B2 (ja) | 伴奏パターン作成装置 | |
| JPH0464073B2 (ja) | ||
| JPS63193199A (ja) | 電子楽器の自動伴奏装置 | |
| JP2619237B2 (ja) | 電子楽器の自動伴奏装置 | |
| JP2636393B2 (ja) | 自動演奏装置 | |
| JPH0535268A (ja) | 自動演奏装置 | |
| JP2513014B2 (ja) | 電子楽器の自動演奏装置 | |
| JPH0734158B2 (ja) | 自動演奏装置 | |
| JP3064738B2 (ja) | 伴奏パターン選択装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |