JPH0769698B2 - 自動伴奏装置 - Google Patents
自動伴奏装置Info
- Publication number
- JPH0769698B2 JPH0769698B2 JP63331489A JP33148988A JPH0769698B2 JP H0769698 B2 JPH0769698 B2 JP H0769698B2 JP 63331489 A JP63331489 A JP 63331489A JP 33148988 A JP33148988 A JP 33148988A JP H0769698 B2 JPH0769698 B2 JP H0769698B2
- Authority
- JP
- Japan
- Prior art keywords
- chord
- value
- pitch
- root
- type
- 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
【発明の詳細な説明】 [産業上の利用分野] この発明は、コード音(和音)及びベース音を自動的に
発生する自動伴奏装置に関し、特に分数コード制御技術
の改良に関するものである。ここで、分数コードとは、
コードパートとベースパートとで根音を異にするコード
であり、通常例えばCM/B(又はCメジャ・オン・B)の
ように表記される。この例では、「C」及び「B」がそ
れぞれコードパート及びベースパートの根音である。
発生する自動伴奏装置に関し、特に分数コード制御技術
の改良に関するものである。ここで、分数コードとは、
コードパートとベースパートとで根音を異にするコード
であり、通常例えばCM/B(又はCメジャ・オン・B)の
ように表記される。この例では、「C」及び「B」がそ
れぞれコードパート及びベースパートの根音である。
[発明の概要] この発明は、鍵盤等から発生される複数の音高情報に基
づいて所定の分数コードに関するコード根音を検出する
と共に該コード根音と該分数コードに関して予め定めら
れたベース音程とベースパターンとに従ってベース音を
発生することにより単一鍵盤での分数コード制御を可能
にしたものである。
づいて所定の分数コードに関するコード根音を検出する
と共に該コード根音と該分数コードに関して予め定めら
れたベース音程とベースパターンとに従ってベース音を
発生することにより単一鍵盤での分数コード制御を可能
にしたものである。
[従来の技術] 従来、分数コードを演奏可能な自動伴奏装置としては、
第1鍵盤(例えば手鍵盤)でコード根音を指定すると共
に第2鍵盤(例えば足鍵盤)でベース根音を指定し、コ
ードパターンと指定されたコード根音とに従って自動的
にコード音信号を発生し、ベースパターンと指定された
ベース根音とに従って自動的にベース音信号を発生する
ようにしたものが知られている(例えば特開昭62−1862
98号公報参照)。
第1鍵盤(例えば手鍵盤)でコード根音を指定すると共
に第2鍵盤(例えば足鍵盤)でベース根音を指定し、コ
ードパターンと指定されたコード根音とに従って自動的
にコード音信号を発生し、ベースパターンと指定された
ベース根音とに従って自動的にベース音信号を発生する
ようにしたものが知られている(例えば特開昭62−1862
98号公報参照)。
[発明が解決しようとする課題] 上記した従来技術によると、分数コード演奏のためのコ
ード根音及びベース根音を別々の鍵盤で指定するので、
演奏者としては、両手あるいは片手と足で鍵盤操作を行
なう必要があり、メロディ演奏、音色変更等の操作が制
約されるという問題点があった。
ード根音及びベース根音を別々の鍵盤で指定するので、
演奏者としては、両手あるいは片手と足で鍵盤操作を行
なう必要があり、メロディ演奏、音色変更等の操作が制
約されるという問題点があった。
この発明の目的は、単一鍵盤での分数コード制御を可能
として演奏操作の簡略化を図ることにある。
として演奏操作の簡略化を図ることにある。
[課題を解決するための手段] この発明による自動伴奏装置は、 (a)伴奏用の複数の音高情報を発生する情報発生手段
と、 (b)前記情報発生手段からの複数の音高情報に対応す
るコード根音及びタイプを検出するコード検出手段と、
(ステップ72〜152) (c)前記情報発生手段からの複数の音高情報のうち特
定の音高順位のものの音名を検知する音名検知手段と、
(ステップ62) (d)前記コード検出手段によって検出されたコードタ
イプが所定の分数コードに対応し、かつ前記コード検出
手段によって検出されたコード根音と前記音名検知手段
によって検知された音名とが所定の音高差か否か判定す
る判定手段と、(ステップ128,140) (e)コードパターン及びベースパターンを記憶する記
憶手段と、(パターンメモリ22) (f)前記記憶手段からコードパターンを読み出すこと
により前記コード検出手段によって検出されたコード根
音及びタイプに従ってコード音を生成するコード音生成
手段と、(ステップ166〜172) (g)前記判定手段による判定が否定的なとき、前記記
憶手段からベースパターンを読み出すことにより前記コ
ード検出手段によって検出されたコード根音及びタイプ
に従ってベース音を生成し、前記判定手段による判定が
肯定的なとき、所定の音名に従ってベース音を生成する
ベース音生成手段と(ステップ174〜1198) を備えたことを特徴とする。
と、 (b)前記情報発生手段からの複数の音高情報に対応す
るコード根音及びタイプを検出するコード検出手段と、
(ステップ72〜152) (c)前記情報発生手段からの複数の音高情報のうち特
定の音高順位のものの音名を検知する音名検知手段と、
(ステップ62) (d)前記コード検出手段によって検出されたコードタ
イプが所定の分数コードに対応し、かつ前記コード検出
手段によって検出されたコード根音と前記音名検知手段
によって検知された音名とが所定の音高差か否か判定す
る判定手段と、(ステップ128,140) (e)コードパターン及びベースパターンを記憶する記
憶手段と、(パターンメモリ22) (f)前記記憶手段からコードパターンを読み出すこと
により前記コード検出手段によって検出されたコード根
音及びタイプに従ってコード音を生成するコード音生成
手段と、(ステップ166〜172) (g)前記判定手段による判定が否定的なとき、前記記
憶手段からベースパターンを読み出すことにより前記コ
ード検出手段によって検出されたコード根音及びタイプ
に従ってベース音を生成し、前記判定手段による判定が
肯定的なとき、所定の音名に従ってベース音を生成する
ベース音生成手段と(ステップ174〜1198) を備えたことを特徴とする。
[作 用] この発明によれば、伴奏用に発生された複数の音高情報
について特定の音高順位か否かを判定し、この判定結果
に基づいて記憶手段から読み出されたベースパターンに
より検出されたコード根音およびタイプに従ってベース
音を生成するか、所定の音名に従ってベース音を生成す
るかを選択的に切り替えてベース音を生成する。
について特定の音高順位か否かを判定し、この判定結果
に基づいて記憶手段から読み出されたベースパターンに
より検出されたコード根音およびタイプに従ってベース
音を生成するか、所定の音名に従ってベース音を生成す
るかを選択的に切り替えてベース音を生成する。
[実施例] 第1図は、この発明の一実施例による自動伴奏装置をそ
なえた電子楽器の構成を示すもので、この電子楽器は、
マニアル演奏者、自動リズム音、自動コード音、自動ベ
ース音等の発生がマイクロコンピュータによって制御さ
れるようになっている。
なえた電子楽器の構成を示すもので、この電子楽器は、
マニアル演奏者、自動リズム音、自動コード音、自動ベ
ース音等の発生がマイクロコンピュータによって制御さ
れるようになっている。
電子楽器構成(第1図) 第1図において、バス10には、鍵盤回路12、スイッチ群
14、中央処理装置(CPU)16、プログラムメモリ18、レ
ジスタ群20、パターンメモリ22、テンポクロック発生器
24、トーンジェネレータ(TG)26等が接続されている。
14、中央処理装置(CPU)16、プログラムメモリ18、レ
ジスタ群20、パターンメモリ22、テンポクロック発生器
24、トーンジェネレータ(TG)26等が接続されている。
鍵盤回路12は、メロディ演奏用の鍵盤及び伴奏用の鍵盤
を含むもので、各鍵毎に鍵操作情報が検出されるように
なっている。鍵盤手段としては、2つの鍵盤を設ける代
りに1つの鍵盤を2つの鍵域に分割したものでもよい。
を含むもので、各鍵毎に鍵操作情報が検出されるように
なっている。鍵盤手段としては、2つの鍵盤を設ける代
りに1つの鍵盤を2つの鍵域に分割したものでもよい。
スイッチ群14は、楽器パネル面に配置されたリズムスタ
ートスイッチ、リズムセレクトスイッチ、テンポ設定ス
イッチ、音量設定スイッチ、音色設定スイッチ等を含む
もので、各スイッチ毎に操作情報が検出されるようにな
っている。
ートスイッチ、リズムセレクトスイッチ、テンポ設定ス
イッチ、音量設定スイッチ、音色設定スイッチ等を含む
もので、各スイッチ毎に操作情報が検出されるようにな
っている。
CPU16は、プログラムメモリ18にストアされたプログラ
ムに従って楽音発生のための各種処理を実行するもの
で、これらの処理については第5図乃至第7図を参照し
て後述する。
ムに従って楽音発生のための各種処理を実行するもの
で、これらの処理については第5図乃至第7図を参照し
て後述する。
レジスタ群20は、CPU16による各種処理に際して利用さ
れるレジスタを含むもので、この発明の実施に関係する
レジスタとしては次の(イ)〜(チ)のようなものがあ
る。
れるレジスタを含むもので、この発明の実施に関係する
レジスタとしては次の(イ)〜(チ)のようなものがあ
る。
(イ)リズムランフラグRUN…これは、リズムスタート
スイッチの操作毎に内容が反転される1ビットのレジス
タであり、0ならばリズムオフを、1ならばリズムオン
をそれぞれ表わす。
スイッチの操作毎に内容が反転される1ビットのレジス
タであり、0ならばリズムオフを、1ならばリズムオン
をそれぞれ表わす。
(ロ)クロックカウンタCLK…これは、テンポクロック
発生器24からのテンポクロック信号TCLのパルスを計数
するもので、4拍子の場合、2小節内で0〜31のカウン
ト値をとり、32になるタイミングで0にリセットされ
る。
発生器24からのテンポクロック信号TCLのパルスを計数
するもので、4拍子の場合、2小節内で0〜31のカウン
ト値をとり、32になるタイミングで0にリセットされ
る。
(ハ)押鍵音名レジスタNBP…これは、最下位ビット(L
SB)から順にC、C#…Bの12音名にそれぞれ対応した
12ビットのレジスタであり、伴奏用鍵盤でキーオン中の
鍵の音名に対応するビット位置に1がセットされるもの
である。
SB)から順にC、C#…Bの12音名にそれぞれ対応した
12ビットのレジスタであり、伴奏用鍵盤でキーオン中の
鍵の音名に対応するビット位置に1がセットされるもの
である。
(ニ)最低音名レジスタLWNT…これは、伴奏用鍵盤でキ
ーオン中の鍵のうち最低音の鍵の音名に対応する値(0
〜11のいずれか)がセットされるものである。
ーオン中の鍵のうち最低音の鍵の音名に対応する値(0
〜11のいずれか)がセットされるものである。
(ホ)コード根音レジスタROOT…これは、第2図に示す
ように根音C、C#…Bにそれぞれ対応した0、1…11
のいずれかの値がセットされるものである。
ように根音C、C#…Bにそれぞれ対応した0、1…11
のいずれかの値がセットされるものである。
(ヘ)コードタイプレジスタTYPE…これは、第3図に示
すようにコードタイプM(メジャ)、m(マイナス)…
コード不成立にそれぞれ対応した0、1…16のいずれか
の値がセットされるものである。この実施例では、分数
コードタイプとして、TYPE値12〜15の4つのもの(いず
れもメジャタイプ)が使用される。
すようにコードタイプM(メジャ)、m(マイナス)…
コード不成立にそれぞれ対応した0、1…16のいずれか
の値がセットされるものである。この実施例では、分数
コードタイプとして、TYPE値12〜15の4つのもの(いず
れもメジャタイプ)が使用される。
(ト)ローテーション回数レジスタRRT…これは、コー
ド検出のためにレジスタNBPの内容を右方向に1ビット
分回転する処理を行なう際にその処理の回数(0〜12の
いずれか)がセットされるものである。
ド検出のためにレジスタNBPの内容を右方向に1ビット
分回転する処理を行なう際にその処理の回数(0〜12の
いずれか)がセットされるものである。
(チ)ベース音程レジスタDLT…これは、分数コードタ
イプ毎に予め定められたベース音程を表わす音程情報
(例えば分数コード「メジャ・オン・フラツト・セブン
ス」の場合には「−2」)がセットされるものである。
イプ毎に予め定められたベース音程を表わす音程情報
(例えば分数コード「メジャ・オン・フラツト・セブン
ス」の場合には「−2」)がセットされるものである。
パターンメモリ22は、リズムパターン、コードパター
ン、ベースパターン、コードタイプ検出テーブル、音高
修正値テーブル、ベース音程テーブル等を記憶したもの
である。
ン、ベースパターン、コードタイプ検出テーブル、音高
修正値テーブル、ベース音程テーブル等を記憶したもの
である。
リズムパターンとしては、2小節分のリズムパターンが
リズムセレクトスイッチで選択可能なリズム種類毎に記
憶される。2小節分のリズムパターンは、カウンタCLK
のカウント値(発音可能タイミング)に対応する0〜31
の各アドレス毎にリズム音源オン/オフ情報を配置した
もので、アドレス0〜15が第1小節に対応し、アドレス
16〜31が第2小節に対応する。各リズム音源オン/オフ
情報は、一例として6つの打楽器音発生チャンネルにそ
れぞれ対応した並列6ビットのデータからなり、各ビッ
ト毎に1ならば対応する打楽器音発生チャンネルでの発
音を、0ならば対応する打楽器音発生チャンネルでの非
発音をそれぞれ指示する。
リズムセレクトスイッチで選択可能なリズム種類毎に記
憶される。2小節分のリズムパターンは、カウンタCLK
のカウント値(発音可能タイミング)に対応する0〜31
の各アドレス毎にリズム音源オン/オフ情報を配置した
もので、アドレス0〜15が第1小節に対応し、アドレス
16〜31が第2小節に対応する。各リズム音源オン/オフ
情報は、一例として6つの打楽器音発生チャンネルにそ
れぞれ対応した並列6ビットのデータからなり、各ビッ
ト毎に1ならば対応する打楽器音発生チャンネルでの発
音を、0ならば対応する打楽器音発生チャンネルでの非
発音をそれぞれ指示する。
コードパターンとしては、2小節分のコードパターンが
リズムセレクトスイッチで選択可能なリズム種類毎に記
憶される。通常、コードは同時に複数音を発音するの
で、各コードパターンは同時発音数分のコード構成パタ
ーン(例えば和音を構成する3音分のパターン)を含ん
でいる。各コード構成パターンは、カウンタCLKのカウ
ント値に対応する0〜31の各アドレス毎にキー情報を配
置したものである。各キー情報は、音高毎に予め定めら
れたキーコード値(例えばC2音ならば36)を表わすのが
普通であるが、非発音とすべき発音可能タイミング(ア
ドレス)では0とされる。各コードパターンとしては、
Cメジャのものを記憶しておき、伴奏用鍵盤(又は鍵
域)でCメジャとは根音及び/又はコードタイプが異な
るコード(例えばDマイナ)が指定されたときは、キー
情報の音高を適宜変更して発音させる。
リズムセレクトスイッチで選択可能なリズム種類毎に記
憶される。通常、コードは同時に複数音を発音するの
で、各コードパターンは同時発音数分のコード構成パタ
ーン(例えば和音を構成する3音分のパターン)を含ん
でいる。各コード構成パターンは、カウンタCLKのカウ
ント値に対応する0〜31の各アドレス毎にキー情報を配
置したものである。各キー情報は、音高毎に予め定めら
れたキーコード値(例えばC2音ならば36)を表わすのが
普通であるが、非発音とすべき発音可能タイミング(ア
ドレス)では0とされる。各コードパターンとしては、
Cメジャのものを記憶しておき、伴奏用鍵盤(又は鍵
域)でCメジャとは根音及び/又はコードタイプが異な
るコード(例えばDマイナ)が指定されたときは、キー
情報の音高を適宜変更して発音させる。
音高修正値テーブルは、かような音高変更処理に使用さ
れるもので、各コードタイプ毎の和音構成音の音高修正
値(例えばメジャならば0、マイナの3度音ならば−
1)を記憶している。
れるもので、各コードタイプ毎の和音構成音の音高修正
値(例えばメジャならば0、マイナの3度音ならば−
1)を記憶している。
ベースパターンとしては、2小節分のベースパターンが
リズムセレクトスイッチで選択可能なリズム種類毎に記
憶される。各ベースパターンのデータフォーマットは、
前述したコードパターンにおける1音分のコード構成パ
ターンと同様である。各ベースパターンとしては、Cメ
ジャのものを記憶しておき、分数コードでない自動ベー
ス音発生については先にコードパターンで述べたと同様
にして音高修正値テーブルを用いて適宜音高変更処理を
行なう。分数コードに関する自動ベース音発生について
は、この実施例ではメジャタイプの分数コードのみ使用
するので、かような音高変更処理を行わず、ベース音の
音高は、ベースパターンとコード根音と所定のベース音
程とによって決定される。
リズムセレクトスイッチで選択可能なリズム種類毎に記
憶される。各ベースパターンのデータフォーマットは、
前述したコードパターンにおける1音分のコード構成パ
ターンと同様である。各ベースパターンとしては、Cメ
ジャのものを記憶しておき、分数コードでない自動ベー
ス音発生については先にコードパターンで述べたと同様
にして音高修正値テーブルを用いて適宜音高変更処理を
行なう。分数コードに関する自動ベース音発生について
は、この実施例ではメジャタイプの分数コードのみ使用
するので、かような音高変更処理を行わず、ベース音の
音高は、ベースパターンとコード根音と所定のベース音
程とによって決定される。
ベース音程テーブルは、かようなベース音高決定処理に
使用されるもので、各分数コードタイプ毎に任意のコー
ド根音に対する所定のベース音程(例えば「メジャ・オ
ン・フラット・セブンス」ならば「−2」、「メジャ・
オン・セカンド」ならば「2」)を記憶している。
使用されるもので、各分数コードタイプ毎に任意のコー
ド根音に対する所定のベース音程(例えば「メジャ・オ
ン・フラット・セブンス」ならば「−2」、「メジャ・
オン・セカンド」ならば「2」)を記憶している。
コードタイプ検出テーブルCDTBLは、第4図に示すよう
にアドレス0〜16に対応して17種類のコード検出パター
ンを記憶したもので、1アドレス分の記憶領域には、0
(LSB)〜11(MSB)の12ビットのパターンデータが記憶
されている。各パターンデータにおいて、1でない空欄
は0である。パターンデータのビット番号0、1…11
は、根音をCとすると、音名C、C#…Bにそれぞれ対
応する。
にアドレス0〜16に対応して17種類のコード検出パター
ンを記憶したもので、1アドレス分の記憶領域には、0
(LSB)〜11(MSB)の12ビットのパターンデータが記憶
されている。各パターンデータにおいて、1でない空欄
は0である。パターンデータのビット番号0、1…11
は、根音をCとすると、音名C、C#…Bにそれぞれ対
応する。
第4図(a)及び(b)は、各パターンデータ毎にコー
ド検出の結果に応じて指定されるコード根音及びコード
タイプを示すものである。コード根音の指定は、レジス
タROOTにレジスタRRT又はLWNTの値をセットすることに
よって行なわれ、コードタイプの指定は、レジスタTYPE
に第3図に示すようなコードタイプに応じた値(0〜16
のいずれか)をセットすることによって行なわれる。ア
ドレス11〜14のコード検出パターンについては、(a)
に示すコード根音及びコードタイプが指定される場合
と、(b)に示すコード根音及びコードタイプが指定さ
れる場合とがあり、同じコード検出パターンでも各場合
毎に指定されるコード根音及び/又はコードタイプが異
なる。
ド検出の結果に応じて指定されるコード根音及びコード
タイプを示すものである。コード根音の指定は、レジス
タROOTにレジスタRRT又はLWNTの値をセットすることに
よって行なわれ、コードタイプの指定は、レジスタTYPE
に第3図に示すようなコードタイプに応じた値(0〜16
のいずれか)をセットすることによって行なわれる。ア
ドレス11〜14のコード検出パターンについては、(a)
に示すコード根音及びコードタイプが指定される場合
と、(b)に示すコード根音及びコードタイプが指定さ
れる場合とがあり、同じコード検出パターンでも各場合
毎に指定されるコード根音及び/又はコードタイプが異
なる。
テンポクロック発生器24は、テンポ設定スイッチで設定
されたテンポに対応する周波数を有するテンポクロック
信号TCLを発生するもので、この信号TCLはCPU16に割込
み命令として供給される。
されたテンポに対応する周波数を有するテンポクロック
信号TCLを発生するもので、この信号TCLはCPU16に割込
み命令として供給される。
TG26は、キーコードで駆動可能な音源TG1とリズム音源T
G2とを含むもので、リズム音源TG2は前述したように例
えば6つの打楽器音発生チャンネルを有する。
G2とを含むもので、リズム音源TG2は前述したように例
えば6つの打楽器音発生チャンネルを有する。
音源TG1及びTG2から発生される楽音信号は、出力アン
プ、スピーカ等を含むサウンドシステム28に供給され、
音響に変換される。
プ、スピーカ等を含むサウンドシステム28に供給され、
音響に変換される。
メインルーチン(第5図) 第5図は、メインルーチンの処理の流れを示すもので、
このルーチンは、電源スイッチオン等に応じてスタート
する。
このルーチンは、電源スイッチオン等に応じてスタート
する。
まず、ステップ30では、イニシャライズルーチンを実行
し、例えばRUNに0をセットする。そして、ステップ32
に移る。
し、例えばRUNに0をセットする。そして、ステップ32
に移る。
ステップ32では、リズムスタートスイッチ(SW)にオン
イベントありか判定し、あり(Y)ならばステップ34で
1からRUNの値を差引いたものをRUNにセットする。すな
わち、RUNが1であつたときは0を、0であったときは
1をそれぞれRUNにセットする。
イベントありか判定し、あり(Y)ならばステップ34で
1からRUNの値を差引いたものをRUNにセットする。すな
わち、RUNが1であつたときは0を、0であったときは
1をそれぞれRUNにセットする。
次に、ステップ36では、CLKに0をセットすると共にTYP
Eに16(不成立)をセットする。そして、ステップ38に
移り、リズム音及び伴奏音(コード・ベース音)を発音
停止とすべくTG26を制御する。
Eに16(不成立)をセットする。そして、ステップ38に
移り、リズム音及び伴奏音(コード・ベース音)を発音
停止とすべくTG26を制御する。
ステップ38の処理が終ったとき又はステップ32の判定結
果が否定的(N)であったときは、ステップ40に移り、
鍵盤回路12の鍵盤手段においてキーイベント(キーオン
又はキーオフイベント)ありか判定する。この判定結果
が肯定的(Y)であればステップ42に移り、RUNの値が
1か(リズムオンか)判定し、この判定結果が否定的
(N)であればステップ44に移る。
果が否定的(N)であったときは、ステップ40に移り、
鍵盤回路12の鍵盤手段においてキーイベント(キーオン
又はキーオフイベント)ありか判定する。この判定結果
が肯定的(Y)であればステップ42に移り、RUNの値が
1か(リズムオンか)判定し、この判定結果が否定的
(N)であればステップ44に移る。
ステップ44では、音源TG1の発音制御を行なう。すなわ
ち、キーオンイベントであれば押された鍵に対応するキ
ーコードをTG1に供給して該鍵対応の楽音信号を発生さ
せ、キーオフイベントであれば離された鍵に対応する発
音中の楽音信号を減衰開始させる。この結果、メロディ
演奏用鍵盤(又は鍵域)の操作に応じたメロディ演奏が
可能になると共に、伴奏用鍵盤(又は鍵域)の操作に応
じたコード等の伴奏が可能になる。
ち、キーオンイベントであれば押された鍵に対応するキ
ーコードをTG1に供給して該鍵対応の楽音信号を発生さ
せ、キーオフイベントであれば離された鍵に対応する発
音中の楽音信号を減衰開始させる。この結果、メロディ
演奏用鍵盤(又は鍵域)の操作に応じたメロディ演奏が
可能になると共に、伴奏用鍵盤(又は鍵域)の操作に応
じたコード等の伴奏が可能になる。
ステップ42の判定結果が肯定的(Y)であったときは、
ステップ46に移り、キーイベントがメロディ演奏用鍵盤
(又は鍵域)のものか判定する。この判定の結果が肯定
的(Y)であればステップ44に移り、上記したと同様に
TG1の発音制御を行なう。
ステップ46に移り、キーイベントがメロディ演奏用鍵盤
(又は鍵域)のものか判定する。この判定の結果が肯定
的(Y)であればステップ44に移り、上記したと同様に
TG1の発音制御を行なう。
ステップ46の判定結果が否定的(N)であったときは、
伴奏用鍵盤(又は鍵域)でキーイベントがあったことに
なり、ステップ48に移る。ステップ48では、キーイベン
トがキーオンイベントであるか判定し、この判定結果が
肯定的(Y)であればステップ50に移る。
伴奏用鍵盤(又は鍵域)でキーイベントがあったことに
なり、ステップ48に移る。ステップ48では、キーイベン
トがキーオンイベントであるか判定し、この判定結果が
肯定的(Y)であればステップ50に移る。
ステップ50では、伴奏用鍵盤(又は鍵域)での押鍵状態
に基づいて第6図のコード検出のサブルーチンを実行す
る。この場合、メロディ演奏用鍵盤では、自動リズム及
び自動コード・ベースを伴奏としてメロディ演奏を行な
うことができる。
に基づいて第6図のコード検出のサブルーチンを実行す
る。この場合、メロディ演奏用鍵盤では、自動リズム及
び自動コード・ベースを伴奏としてメロディ演奏を行な
うことができる。
ステップ44又は50の処理が終ったとき、あるいはステッ
プ40又は48の判定結果が否定的(N)であったときは、
ステップ52に移り、その他の処理を行なう。その他の処
理としては、例えばリズムセレクトスイッチの操作に基
づくリズムセレクト処理、テンポ設定スイッチの操作に
基づくテンポ設定処理、音量設定スイッチの操作に基づ
く音量設定処理、音色設定スイッチの操作に基づく音色
設定処理等がある。
プ40又は48の判定結果が否定的(N)であったときは、
ステップ52に移り、その他の処理を行なう。その他の処
理としては、例えばリズムセレクトスイッチの操作に基
づくリズムセレクト処理、テンポ設定スイッチの操作に
基づくテンポ設定処理、音量設定スイッチの操作に基づ
く音量設定処理、音色設定スイッチの操作に基づく音色
設定処理等がある。
ステップ52の後は、ステップ32に戻り、上記のような処
理を繰返す。
理を繰返す。
コード検出のサブルーチン(第6図) 第6図は、コード検出のサブルーチンを示すもので、ス
テップ60では、キーオン中の全鍵の音名を算出し、NBP
の該当ビットに1をたて、他のビットをクリアする。そ
して、ステップ62に移る。
テップ60では、キーオン中の全鍵の音名を算出し、NBP
の該当ビットに1をたて、他のビットをクリアする。そ
して、ステップ62に移る。
ステップ62では、キーオン中の鍵の中で最低音に相当す
る鍵の音名を算出し、該音名に対応する値をLWNTにセッ
トする。そして、ステップ64に移り、RRTに0をセット
する。
る鍵の音名を算出し、該音名に対応する値をLWNTにセッ
トする。そして、ステップ64に移り、RRTに0をセット
する。
次に、ステップ66では、NBPのLSBが1か判定する。この
判定結果が1であればステップ68に移り、制御変数iを
0とする。そして、ステップ70に移る。
判定結果が1であればステップ68に移り、制御変数iを
0とする。そして、ステップ70に移る。
ステップ70では、NBPのデータとコード検出テーブルCDT
BLのアドレスiのパターンデータCDTBL(i)とが対応
するビット毎に一致するか判定する。この判定結果が肯
定的(Y)であればステップ72に移るが、否定的(Y)
であればステップ74に移る。
BLのアドレスiのパターンデータCDTBL(i)とが対応
するビット毎に一致するか判定する。この判定結果が肯
定的(Y)であればステップ72に移るが、否定的(Y)
であればステップ74に移る。
ステップ74では、iの値を1アップする。そして、ステ
ップ76に移り、iの値が16より大か判定する。この判定
結果が否定的(N)であればステップ70に戻り、i>16
となるまでステップ70、74を繰返す。このような繰返し
過程において、ステップ70の判定結果が肯定的(Y)と
なればステップ72に移る。
ップ76に移り、iの値が16より大か判定する。この判定
結果が否定的(N)であればステップ70に戻り、i>16
となるまでステップ70、74を繰返す。このような繰返し
過程において、ステップ70の判定結果が肯定的(Y)と
なればステップ72に移る。
ステップ74でi=17となる(アドレス0〜16のコード検
出パターンについて調べ終る)と、ステップ76の判定結
果が肯定的(Y)となり、ステップ78に移る。これは、
NBPのLSB=1のときの音名パターンがアドレス0〜16の
いずれのコード検出パターンとも一致しなかった場合で
ある。
出パターンについて調べ終る)と、ステップ76の判定結
果が肯定的(Y)となり、ステップ78に移る。これは、
NBPのLSB=1のときの音名パターンがアドレス0〜16の
いずれのコード検出パターンとも一致しなかった場合で
ある。
ステップ78では、NBPのデータを右方向に1ビット分回
転(ローテーション)させる。すなわち、NBPのLSBのデ
ータをNBPのMSBに移すと共に他ビットのデータも1ビッ
トずつ右にシフトさせる。そして、ステップ80でRRTの
値を1アップしてからステップ82に移る。
転(ローテーション)させる。すなわち、NBPのLSBのデ
ータをNBPのMSBに移すと共に他ビットのデータも1ビッ
トずつ右にシフトさせる。そして、ステップ80でRRTの
値を1アップしてからステップ82に移る。
ステップ82では、RRTの値が12より小か判定する。この
判定結果が肯定的(Y)であればステップ66に戻り、そ
れ以降の処理を上記したと同様に繰返す。このような繰
返し過程において、ステップ70の判定結果が肯定的
(Y)になると、ステップ72に移る。
判定結果が肯定的(Y)であればステップ66に戻り、そ
れ以降の処理を上記したと同様に繰返す。このような繰
返し過程において、ステップ70の判定結果が肯定的
(Y)になると、ステップ72に移る。
ステップ80でRRT=12となると、ステップ82の判定結果
が否定的(N)となり、ステップ83に移る。これは、NB
Pのデータを11回転させて調べてみてもアドレス0〜16
のいずれかのコード検出パターンに該当する音名パター
ンがなかったi=17で且つRRT=12の場合である。
が否定的(N)となり、ステップ83に移る。これは、NB
Pのデータを11回転させて調べてみてもアドレス0〜16
のいずれかのコード検出パターンに該当する音名パター
ンがなかったi=17で且つRRT=12の場合である。
ステップ83では、TYPEに16(不成立)をセットする。そ
して、第5図のメインルーチンにリターンする。
して、第5図のメインルーチンにリターンする。
ところで、ステップ72にきたときは、iの値は0〜16の
いずれかであり、RRTの値は0〜11のいずれかである。
ステップ72では、iの値が0〜4のいずれかと等しいか
判定する。この判定結果が肯定的(Y)であればステッ
プ84でTYPEにiの値をセットする。ステップ72の判定結
果が否定的(N)であればステップ86に移る。
いずれかであり、RRTの値は0〜11のいずれかである。
ステップ72では、iの値が0〜4のいずれかと等しいか
判定する。この判定結果が肯定的(Y)であればステッ
プ84でTYPEにiの値をセットする。ステップ72の判定結
果が否定的(N)であればステップ86に移る。
ステップ86では、iの値が5又は6か判定し、この判定
結果が肯定的(Y)であればステップ88でTYPEに6をセ
ットする。ステップ86の判定結果が否定的(N)であれ
ばステップ90に移る。
結果が肯定的(Y)であればステップ88でTYPEに6をセ
ットする。ステップ86の判定結果が否定的(N)であれ
ばステップ90に移る。
ステップ90では、iの値が7又は8か判定し、この判定
結果が肯定的(Y)であればステップ92でTYPEに9をセ
ットする。
結果が肯定的(Y)であればステップ92でTYPEに9をセ
ットする。
ステップ84、88又は92の処理が終ったときは、ステップ
94に移り、ROOTにRRTの値をセットする。そして、第5
図のメインルーチンにリターンする。
94に移り、ROOTにRRTの値をセットする。そして、第5
図のメインルーチンにリターンする。
ステップ90の判定結果が否定的(N)であったときは、
ステップ96に移る。ステップ96では、iの値が9又は10
か判定し、この判定結果が肯定的(Y)であればステッ
プ98でiから2を差引いた値(7又は8)をTYPEにセッ
トする。そして、ステップ100でROOTにLWNTの値をセッ
トしてから第5図のメインルーチンにリターンする。
ステップ96に移る。ステップ96では、iの値が9又は10
か判定し、この判定結果が肯定的(Y)であればステッ
プ98でiから2を差引いた値(7又は8)をTYPEにセッ
トする。そして、ステップ100でROOTにLWNTの値をセッ
トしてから第5図のメインルーチンにリターンする。
ステップ96の判定結果が否定的(N)であったときは、
ステップ102に移り、iの値が11か判定する。この判定
結果が肯定的(Y)であればステップ104に移る。
ステップ102に移り、iの値が11か判定する。この判定
結果が肯定的(Y)であればステップ104に移る。
ステップ104では、(RRT+3).MOD.12なる演算式(こ
れはRRT値+3を12で割算(整数演算)して余りを求め
ることを意味する)の演算結果がLWNTの値と等しいか判
定する。この判定は、換言すれば、押鍵の際に3度音を
最低音としたかの判定であり、この判定結果が否定的
(N)であればステップ106に移る。
れはRRT値+3を12で割算(整数演算)して余りを求め
ることを意味する)の演算結果がLWNTの値と等しいか判
定する。この判定は、換言すれば、押鍵の際に3度音を
最低音としたかの判定であり、この判定結果が否定的
(N)であればステップ106に移る。
ステップ106では、TYPEに3をセットする。そして、ス
テップ108でROOTにRRTの値をセットしてから第5図のメ
インルーチンにリターンする。
テップ108でROOTにRRTの値をセットしてから第5図のメ
インルーチンにリターンする。
ステップ104の判定結果が肯定的(Y)であったとき
は、ステップ110に移る。ステップ110では、TYPEに10を
セットする。そして、ステップ112でROOTにRRTの値をセ
ットしてから第5図のルーチンにリターンする。
は、ステップ110に移る。ステップ110では、TYPEに10を
セットする。そして、ステップ112でROOTにRRTの値をセ
ットしてから第5図のルーチンにリターンする。
ステップ102の判定結果が否定的(N)であったとき
は、ステップ114に移る。ステップ114では、iの値が12
か判定し、この判定結果が肯定的(Y)であればステッ
プ116に移る。
は、ステップ114に移る。ステップ114では、iの値が12
か判定し、この判定結果が肯定的(Y)であればステッ
プ116に移る。
ステップ116では、前述のステップ104と同様の判定を行
ない、この判定結果が否定的(N)であればステップ11
8に移る。ステップ118では、TYPEに5をセットする。そ
して、ステップ120でROOTにRRTの値をセットしてから第
5図のメインルーチンにリターンする。
ない、この判定結果が否定的(N)であればステップ11
8に移る。ステップ118では、TYPEに5をセットする。そ
して、ステップ120でROOTにRRTの値をセットしてから第
5図のメインルーチンにリターンする。
ステップ116の判定結果が肯定的(Y)であったとき
は、ステップ122に移る。ステップ122では、TYPEに11を
セットする。そして、ステップ124でROOTにLWNTの値を
セットしてから第5図のルーチンにリターンする。
は、ステップ122に移る。ステップ122では、TYPEに11を
セットする。そして、ステップ124でROOTにLWNTの値を
セットしてから第5図のルーチンにリターンする。
ステップ114の判定結果が否定的(N)であったとき
は、ステップ126に移る。ステップ126では、iの値が13
か判定する。この判定結果が肯定的(Y)であればステ
ップ128に移る。
は、ステップ126に移る。ステップ126では、iの値が13
か判定する。この判定結果が肯定的(Y)であればステ
ップ128に移る。
ステップ128では、(RRT+10).MOD.12なる演算式の演
算結果がLWNTの値と等しいか(押鍵の際に短7度音(TY
PE値=12の分数コードのベース根音)を最低音とした
か)判定する。この判定結果が否定的(N)であればス
テップ130に移る。
算結果がLWNTの値と等しいか(押鍵の際に短7度音(TY
PE値=12の分数コードのベース根音)を最低音とした
か)判定する。この判定結果が否定的(N)であればス
テップ130に移る。
ステップ130では、TYPEに2をセットする。そして、ス
テップ132でROOTにRRTの値をセットしてから第5図のメ
インルーチンにリターンする。
テップ132でROOTにRRTの値をセットしてから第5図のメ
インルーチンにリターンする。
ステップ128の判定結果が肯定的(Y)であったとき
は、ステップ134に移る。ステップ134では、TYPEに12を
セットする。そして、ステップ136でROOTにRRTの値をセ
ットしてから第5図のメインルーチンにリターンする。
は、ステップ134に移る。ステップ134では、TYPEに12を
セットする。そして、ステップ136でROOTにRRTの値をセ
ットしてから第5図のメインルーチンにリターンする。
ステップ126の判定結果が否定的(N)であったとき
は、ステップ138に移る。ステップ138では、iの値が14
か判定する。この判定結果が肯定的(Y)であればステ
ップ140に移る。
は、ステップ138に移る。ステップ138では、iの値が14
か判定する。この判定結果が肯定的(Y)であればステ
ップ140に移る。
ステップ140では、(RRT+11).MOD.12なる演算式の演
算結果がLWNTの値と等しいか(押鍵の際に7度音(TYPE
値=13の分数コードのベース根音)を最低音としたか)
判定する。この判定結果が否定的(N)であればステッ
プ142に移る。
算結果がLWNTの値と等しいか(押鍵の際に7度音(TYPE
値=13の分数コードのベース根音)を最低音としたか)
判定する。この判定結果が否定的(N)であればステッ
プ142に移る。
ステップ142では、TYPEに4をセットする。そして、ス
テップ144でROOTにRRTの値をセットしてから第5図のメ
インルーチンにリターンする。
テップ144でROOTにRRTの値をセットしてから第5図のメ
インルーチンにリターンする。
ステップ140の判定結果が肯定的(Y)であったとき
は、ステップ146に移り、TYPEに13をセットする。そし
て、ステップ148でROOTにRRTの値をセットしてから第5
図のメインルーチンにリターンする。
は、ステップ146に移り、TYPEに13をセットする。そし
て、ステップ148でROOTにRRTの値をセットしてから第5
図のメインルーチンにリターンする。
ステップ138の判定結果が否定的(N)であったとき
は、iの値が15又は16であったことになり、ステップ15
0に移る。
は、iの値が15又は16であったことになり、ステップ15
0に移る。
ステップ150では、iから1を差引いた値(14又は15)
をTYPEにセットする。そして、ステップ152でROOTにRRT
の値をセットしてから第5図のメインルーチンにリター
ンする。
をTYPEにセットする。そして、ステップ152でROOTにRRT
の値をセットしてから第5図のメインルーチンにリター
ンする。
上記したステップ72〜152の処理によれば、第4図
(a)及び(b)に示すようなコード根音及びコードタ
イプの指定が可能になる。
(a)及び(b)に示すようなコード根音及びコードタ
イプの指定が可能になる。
クロック割込みルーチン(第7図) 第7図は、クロック割込みルーチンの処理の流れを示す
もので、このルーチンは、テンポクロック信号TCLの各
パルス(割込み命令)毎にスタートする。
もので、このルーチンは、テンポクロック信号TCLの各
パルス(割込み命令)毎にスタートする。
まず、ステップ160では、RUNの値が1か(リズムオン
か)判定し、1でない(N)ならば第5図のメインルー
チンにリターンする。また、ステップ160の判定結果が
肯定的(Y)であればステップ162に移る。
か)判定し、1でない(N)ならば第5図のメインルー
チンにリターンする。また、ステップ160の判定結果が
肯定的(Y)であればステップ162に移る。
ステップ162では、リズムセレクトスイッチで選択され
たリズム種類に対応するリズムパターンを選択し、CLK
の値をアドレスとして選択に係るリズムパターンのデー
タ(リズム音源オン/オフ情報)を読出してリズム音源
TG2に送出する。このときの読出データにおいて6ビッ
トのいずれかが1であれば、TG2では、1であるビット
に対応する打楽器音発生チャンネルから打楽器音信号が
発生される。テンポクロック信号TCLの各パルス毎にス
テップ162を通ることにより選択に係るリズムパターン
に従って自動リズム演奏が遂行される。
たリズム種類に対応するリズムパターンを選択し、CLK
の値をアドレスとして選択に係るリズムパターンのデー
タ(リズム音源オン/オフ情報)を読出してリズム音源
TG2に送出する。このときの読出データにおいて6ビッ
トのいずれかが1であれば、TG2では、1であるビット
に対応する打楽器音発生チャンネルから打楽器音信号が
発生される。テンポクロック信号TCLの各パルス毎にス
テップ162を通ることにより選択に係るリズムパターン
に従って自動リズム演奏が遂行される。
次に、ステップ164では、TYPEの値が16か(不成立か)
判定する。この判定結果が肯定的(Y)であればステッ
プ200に移り、CLKの値を1アップする。そして、第5図
のメインルーチンにリターンする。従って、この場合に
は、自動コード・ベース演奏は行なわれない。
判定する。この判定結果が肯定的(Y)であればステッ
プ200に移り、CLKの値を1アップする。そして、第5図
のメインルーチンにリターンする。従って、この場合に
は、自動コード・ベース演奏は行なわれない。
ステップ164の判定結果が否定的(N)であったとき
は、ステップ166に移る。ステップ166では、リズムセレ
クトスイッチで選択されたリズム種類に対応するコード
パターンを選択し、CLKの値をアドレスとして選択に係
るコードパターンのデータ(キー情報)を読出す。そし
て、ステップ168に移る。
は、ステップ166に移る。ステップ166では、リズムセレ
クトスイッチで選択されたリズム種類に対応するコード
パターンを選択し、CLKの値をアドレスとして選択に係
るコードパターンのデータ(キー情報)を読出す。そし
て、ステップ168に移る。
ステップ168では、読出されたキー情報が発音すべきも
のか(キーコード値が0でないか)判定する。この判定
結果が肯定的(Y)であればステップ170に移り、TYPE
値に応じた音高修正値を音高修正値テーブルから読出し
てキー情報としてのキーコード値に加算することにより
TYPE値に応じた音高を決定する。例えば、TYPE値=1で
マイナならば3度音のキーコード値に音高修正値「−
1」を加算して音高を半音分下げる。ステップ170の後
は、ステップ172に移る。
のか(キーコード値が0でないか)判定する。この判定
結果が肯定的(Y)であればステップ170に移り、TYPE
値に応じた音高修正値を音高修正値テーブルから読出し
てキー情報としてのキーコード値に加算することにより
TYPE値に応じた音高を決定する。例えば、TYPE値=1で
マイナならば3度音のキーコード値に音高修正値「−
1」を加算して音高を半音分下げる。ステップ170の後
は、ステップ172に移る。
ステップ172では、キーコード値にさらにROOTの値を加
算して発音すべきコード音に対応するキーコードを求
め、このキーコードを音源TG1に送出する。例えば、ROO
T値=2でコード根音=Dならばキーコード値に2を加
えたものをTG1に送出する。テンポクロック信号TCLの各
パルス毎にステップ170、172を通ることによりコードパ
ターンとROOTの値(コード根音)とTYPEの値(コードタ
イプ)とに従って自動コード演奏が遂行される。
算して発音すべきコード音に対応するキーコードを求
め、このキーコードを音源TG1に送出する。例えば、ROO
T値=2でコード根音=Dならばキーコード値に2を加
えたものをTG1に送出する。テンポクロック信号TCLの各
パルス毎にステップ170、172を通ることによりコードパ
ターンとROOTの値(コード根音)とTYPEの値(コードタ
イプ)とに従って自動コード演奏が遂行される。
ステップ168の判定結果が否定的(N)であったとき又
はステップ172の処理が終ったときは、ステップ174に移
る。ステップ174では、リズムセレクトスイッチで選択
されたリズム種類に対応するベースパターンを選択し、
CLKの値をアドレスとして選択に係るベースパターンの
データ(キー情報)を読出す。そして、ステップ176に
移る。
はステップ172の処理が終ったときは、ステップ174に移
る。ステップ174では、リズムセレクトスイッチで選択
されたリズム種類に対応するベースパターンを選択し、
CLKの値をアドレスとして選択に係るベースパターンの
データ(キー情報)を読出す。そして、ステップ176に
移る。
ステップ176では、前述のステップ168と同様にして読出
しに係るキー情報が発音すべきものか判定する。この判
定結果が否定的(N)であれば、ステップ200でCLKの値
を1アップしてから第5図のメインルーチンにリターン
する。
しに係るキー情報が発音すべきものか判定する。この判
定結果が否定的(N)であれば、ステップ200でCLKの値
を1アップしてから第5図のメインルーチンにリターン
する。
ステップ176の判定結果が肯定的(Y)であったとき
は、ステップ178に移り、TYPEの値が12〜15のいずれか
と等しいか(分数コードか)判定する。この判定結果が
否定的(N)であればステップ180に移る。
は、ステップ178に移り、TYPEの値が12〜15のいずれか
と等しいか(分数コードか)判定する。この判定結果が
否定的(N)であればステップ180に移る。
ステップ180では、前述のステップ170と同様にしてTYPE
値に応じた音高修正値をキーコード値に加算して音高を
決定する。そして、ステップ182に移り、前述のステッ
プ172と同様にしてキーコード値をさらにROOT値を加算
して発音すべきベース音に対応するキーコードを求め、
このキーコードをTG1に送出する。テンポクロック信号T
CLの各パルス毎にステップ180、182を通ることによりベ
ースパターンとROOTの値(コード根音)とTYPEの値(コ
ードタイプ)とに従って分数コードでない自動ベース演
奏が遂行される。
値に応じた音高修正値をキーコード値に加算して音高を
決定する。そして、ステップ182に移り、前述のステッ
プ172と同様にしてキーコード値をさらにROOT値を加算
して発音すべきベース音に対応するキーコードを求め、
このキーコードをTG1に送出する。テンポクロック信号T
CLの各パルス毎にステップ180、182を通ることによりベ
ースパターンとROOTの値(コード根音)とTYPEの値(コ
ードタイプ)とに従って分数コードでない自動ベース演
奏が遂行される。
ステップ182の処理が終ったときは、ステップ200でCLK
の値を1アップしてから、第5図のメインルーチンにリ
ターンする。
の値を1アップしてから、第5図のメインルーチンにリ
ターンする。
ステップ178の判定結果が肯定的(Y)であったとき
は、分数コードであったことになり、ステップ184に移
る。ステップ184では、TYPEの値が12か(メジャ・オン
・フラット・セブンスか)判定する。この判定結果が肯
定的(Y)であればステップ186に移り、ベース音程テ
ーブルからTYPE値=12に対応する音程情報「−2」を読
出してDLTにセットする。
は、分数コードであったことになり、ステップ184に移
る。ステップ184では、TYPEの値が12か(メジャ・オン
・フラット・セブンスか)判定する。この判定結果が肯
定的(Y)であればステップ186に移り、ベース音程テ
ーブルからTYPE値=12に対応する音程情報「−2」を読
出してDLTにセットする。
ステップ184の判定結果が否定的(N)であったとき
は、ステップ188に移り、TYPEの値が13か(メジャ・オ
ン・セブンスか)判定する。この判定結果が肯定的
(Y)であればステップ190に移り、ベース音程テーブ
ルからTYPE値=13に対応する音程情報「−1」を読出し
てDLTにセットする。
は、ステップ188に移り、TYPEの値が13か(メジャ・オ
ン・セブンスか)判定する。この判定結果が肯定的
(Y)であればステップ190に移り、ベース音程テーブ
ルからTYPE値=13に対応する音程情報「−1」を読出し
てDLTにセットする。
ステップ188の判定結果が否定的(N)であったとき
は、ステップ192に移り、TYPEの値が14か(メジャ・オ
ン・セカンドか)判定する。この判定結果が肯定的
(Y)であればステップ194に移り、ベース音程テーブ
ルからTYPE値=14に対応する音程情報「2」を読出して
DLTにセットする。
は、ステップ192に移り、TYPEの値が14か(メジャ・オ
ン・セカンドか)判定する。この判定結果が肯定的
(Y)であればステップ194に移り、ベース音程テーブ
ルからTYPE値=14に対応する音程情報「2」を読出して
DLTにセットする。
ステップ192の判定結果が否定的(N)であったとき
は、TYPEの値が15(メジャ・オン・フラット・セカン
ド)であったことになり、ステップ196に移る。ステッ
プ196では、ベース音程テーブルからTYPE値=15に対応
する音程情報「1」を読出してDLTにセットする。
は、TYPEの値が15(メジャ・オン・フラット・セカン
ド)であったことになり、ステップ196に移る。ステッ
プ196では、ベース音程テーブルからTYPE値=15に対応
する音程情報「1」を読出してDLTにセットする。
ステップ186、190、194又は196の処理が終ったときは、
ステップ198に移る。ステップ198では、キー情報として
のキーコード値にROOTの値とDLTの値との和(ROOT+DL
T)を加算することにより発音すべきベース音に対応す
るキーコードを求め、このキーコードをTG1に送出す
る。テンポクロック信号TCLの各パルス毎にステップ198
を通ることによりベースパターンとROOTの値(コード根
音)とTYPE値対応のベース音程とに従って分数コードの
自動ベース演奏が遂行される。
ステップ198に移る。ステップ198では、キー情報として
のキーコード値にROOTの値とDLTの値との和(ROOT+DL
T)を加算することにより発音すべきベース音に対応す
るキーコードを求め、このキーコードをTG1に送出す
る。テンポクロック信号TCLの各パルス毎にステップ198
を通ることによりベースパターンとROOTの値(コード根
音)とTYPE値対応のベース音程とに従って分数コードの
自動ベース演奏が遂行される。
ステップ198の処理が終ったときは、ステップ200でCLK
の値を1アップしてから、第5図のメインルーチンにリ
ターンする。
の値を1アップしてから、第5図のメインルーチンにリ
ターンする。
変形例 この発明は、上記実施例に限定されるものではなく、種
々の改変形態で実施可能なものである。
々の改変形態で実施可能なものである。
例えば、次のような変更が可能である。
(1)分数コードの例としてメジャタイプのみ挙げた
が、マイナ(例えばAm/C)、セブンス(例えばC7/E)等
を含めてもよい。
が、マイナ(例えばAm/C)、セブンス(例えばC7/E)等
を含めてもよい。
(2)分数コードが検出された場合、実施例ではベース
パターンで決まる発音タイミングでベース根音と音名同
一のベース音のみ発音させるようにしたが、自動コード
と調和を保ってウォーキングするようにしてもよい。例
えば、CM/Bのとき、音名Bのベース音のみならず、E、
G等の音名のベース音を発音させてもよい。
パターンで決まる発音タイミングでベース根音と音名同
一のベース音のみ発音させるようにしたが、自動コード
と調和を保ってウォーキングするようにしてもよい。例
えば、CM/Bのとき、音名Bのベース音のみならず、E、
G等の音名のベース音を発音させてもよい。
[発明の効果] 以上のように、この発明によれば、音高情報のみから分
数コードを検出しているので、分数コード指定のための
特別な操作や記憶しておく情報を必要とせず、簡単な操
作や少ない記憶容量で多彩な伴奏が得られる効果を有す
る。
数コードを検出しているので、分数コード指定のための
特別な操作や記憶しておく情報を必要とせず、簡単な操
作や少ない記憶容量で多彩な伴奏が得られる効果を有す
る。
第1図は、この発明の一実施例による自動伴奏装置をそ
なえた電子楽器の構成を示すブロック図、 第2図は、レジスタROOTの値と根音との対応関係を示す
図、 第3図は、レジスタTYPEの値とコードタイプとの対応関
係を示す図、 第4図は、コードタイプ検出テーブルCDTBLを示す図、 第5図は、メインルーチンを示すフローチャート、 第6図は、コード検出のサブルーチンを示すフローチャ
ート、 第7図は、クロック割込みルーチンを示すフローチャー
トである。 10……バス、12……鍵盤回路、14……スイッチ群、16…
…中央処理装置、18……プログラムメモリ、20……レジ
スタ群、22……パターンメモリ、24……テンポクロック
発生器、26……トーンジェネレータ、28……サウンドシ
ステム。
なえた電子楽器の構成を示すブロック図、 第2図は、レジスタROOTの値と根音との対応関係を示す
図、 第3図は、レジスタTYPEの値とコードタイプとの対応関
係を示す図、 第4図は、コードタイプ検出テーブルCDTBLを示す図、 第5図は、メインルーチンを示すフローチャート、 第6図は、コード検出のサブルーチンを示すフローチャ
ート、 第7図は、クロック割込みルーチンを示すフローチャー
トである。 10……バス、12……鍵盤回路、14……スイッチ群、16…
…中央処理装置、18……プログラムメモリ、20……レジ
スタ群、22……パターンメモリ、24……テンポクロック
発生器、26……トーンジェネレータ、28……サウンドシ
ステム。
Claims (1)
- 【請求項1】(a)伴奏用の複数の音高情報を発生する
情報発生手段と、 (b)前記情報発生手段からの複数の音高情報に対応す
るコード根音及びタイプを検出するコード検出手段と、 (c)前記情報発生手段からの複数の音高情報のうち特
定の音高順位のものの音名を検知する音名検知手段と、 (d)前記コード検出手段によって検出されたコードタ
イプが所定の分数コードに対応し、かつ前記コード検出
手段によって検出されたコード根音と前記音名検知手段
によって検知された音名とが所定の音高差か否か判定す
る判定手段と、 (e)コードパターン及びベースパターンを記憶する記
憶手段と、 (f)前記記憶手段からコードパターンを読み出すこと
により前記コード検知手段によって検出されたコード根
音及びタイプに従ってコード音を生成するコード音生成
手段と、 (g)前記判定手段による判定が否定的なとき、前記記
憶手段からベースパターンを読み出すことにより前記コ
ード検出手段によって検出されたコード根音及びタイプ
に従ってベース音を生成し、前記判定手段による判定が
肯定的なとき、所定の音名に従ってベース音を生成する
ベース音生成手段と を備えた自動伴奏装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63331489A JPH0769698B2 (ja) | 1988-12-30 | 1988-12-30 | 自動伴奏装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63331489A JPH0769698B2 (ja) | 1988-12-30 | 1988-12-30 | 自動伴奏装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02179690A JPH02179690A (ja) | 1990-07-12 |
JPH0769698B2 true JPH0769698B2 (ja) | 1995-07-31 |
Family
ID=18244215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63331489A Expired - Fee Related JPH0769698B2 (ja) | 1988-12-30 | 1988-12-30 | 自動伴奏装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0769698B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0411041A (ja) * | 1990-04-25 | 1992-01-16 | Daido Steel Co Ltd | 綜絖 |
JPH0465398U (ja) * | 1990-10-18 | 1992-06-05 | ||
JP2551245B2 (ja) * | 1991-03-01 | 1996-11-06 | ヤマハ株式会社 | 自動伴奏装置 |
JP2714893B2 (ja) * | 1991-08-20 | 1998-02-16 | 株式会社河合楽器製作所 | 和音情報出力装置 |
JP2956867B2 (ja) * | 1992-08-31 | 1999-10-04 | ヤマハ株式会社 | 自動伴奏装置 |
JPH0627959A (ja) * | 1993-06-25 | 1994-02-04 | Casio Comput Co Ltd | コード判別装置 |
JP6790362B2 (ja) * | 2016-01-18 | 2020-11-25 | ヤマハ株式会社 | 電子音響装置 |
-
1988
- 1988-12-30 JP JP63331489A patent/JPH0769698B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH02179690A (ja) | 1990-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2623809B2 (ja) | 自動押鍵指示装置 | |
JPH079586B2 (ja) | 電子楽器の自動伴奏装置 | |
JPH0584920B2 (ja) | ||
JPH0769698B2 (ja) | 自動伴奏装置 | |
US4887503A (en) | Automatic accompaniment apparatus for electronic musical instrument | |
JPH0527763A (ja) | フレーズ演奏装置 | |
JPH01179090A (ja) | 自動伴奏装置 | |
JPH04274497A (ja) | 自動伴奏装置 | |
JP2768233B2 (ja) | 電子楽器 | |
JP2587737B2 (ja) | 自動伴奏装置 | |
JP3661963B2 (ja) | 電子楽器 | |
JP2943560B2 (ja) | 自動演奏装置 | |
JP2636393B2 (ja) | 自動演奏装置 | |
JP3141448B2 (ja) | 自動伴奏装置 | |
JP2619237B2 (ja) | 電子楽器の自動伴奏装置 | |
JP3097382B2 (ja) | 和音検出装置 | |
JPH0527762A (ja) | 電子楽器 | |
JP2513014B2 (ja) | 電子楽器の自動演奏装置 | |
JPH0734158B2 (ja) | 自動演奏装置 | |
JPH05188961A (ja) | 自動伴奏装置 | |
JP2565152B2 (ja) | 自動伴奏装置 | |
JPS62135894A (ja) | 自動伴奏装置 | |
JPH06337677A (ja) | 自動伴奏装置 | |
CA1068949A (en) | Automatic chord and rhythm system for electronic organ | |
JPH04319999A (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 |
|
LAPS | Cancellation because of no payment of annual fees |