JPH067331B2 - 自動伴奏装置 - Google Patents

自動伴奏装置

Info

Publication number
JPH067331B2
JPH067331B2 JP62333220A JP33322087A JPH067331B2 JP H067331 B2 JPH067331 B2 JP H067331B2 JP 62333220 A JP62333220 A JP 62333220A JP 33322087 A JP33322087 A JP 33322087A JP H067331 B2 JPH067331 B2 JP H067331B2
Authority
JP
Japan
Prior art keywords
register
key
chord
sound
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP62333220A
Other languages
English (en)
Other versions
JPH01177089A (ja
Inventor
隆 石田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP62333220A priority Critical patent/JPH067331B2/ja
Priority to US07/291,110 priority patent/US4939974A/en
Publication of JPH01177089A publication Critical patent/JPH01177089A/ja
Publication of JPH067331B2 publication Critical patent/JPH067331B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は、自動伴奏の和音変更時にタイ表現を行うこ
とができる自動伴奏装置に関する。
「従来の技術」 鍵盤の押鍵データに対応して和音による自動伴奏を行う
自動伴奏装置が開発されている(特公昭60−2335
5号等)。
「発明が解決しようとする問題点」 ところで、人が実際に行う和音演奏においては、和音の
構成音の一部を変更する時には、変更する音に対応する
指のみを動かし、共通する構成音については押鍵したま
まの場合が多い。すなわち、共通構成音については、タ
イ表現にて演奏することが多い。
しかしながら、従来の自動伴奏装置にあっては、和音変
化があった場合には全ての音が再発音されてしまい、よ
り自然な演奏効果を達成することが困難であった。
この発明は、上述した事情に鑑みてなされたもので、和
音変更時に構成音に共通なものがある場合はタイ表現が
可能な自動伴奏装置を提供することを目的としている。
「問題点を解決するための手段」 上記目的を達成するために、演奏すべき和音を指定する
和音指定手段と、クロック信号に基づく各演奏タイミン
グにおける和音の発生および和音のタイ表現発生を制御
するパターンデータを記憶する記憶手段と、クロック信
号に基づいて前記記憶手段から順次読み出されたパター
ンデータと前記和音指定手段で指定された和音とに基づ
いて和音の構成音を発生する楽音発生手段と、前記読み
出されたパターンデータが和音のタイ表現発生を指示し
ているとき、前記楽音発生手段において現在発生されて
いる和音の構成音のうち前記楽音発生手段において新た
に発生すべき和音の構成音と同一音高の音を検出して検
出した音についてはその発生をそのまま継続させる発音
制御手段とを具備している。
「作用」 前記パターンデータがタイ表現発生を指示した場合、和
音変更時において現在発生されている和音の構成音の中
に新たに発生される和音の構成音と同一音高の音がある
ことが検出されると、この音の発生はそのまま継続され
て新たな発音開始制御は行われない。このため、当該音
については、タイ表現による発音がなされる。
「実施例」 以下、図面を参照してこの発明の実施例について説明す
る。
(1:実施例の構成) 第1図は、この発明の一実施例の構成を示すブロック図
である。
第1図において、符号1は鍵盤ユニットであり、複数の
キーと、各キーのオン/オフ状態を検出するための複数
のキースイッチと、各キースイッチのキーコードをバス
ラインBに供給するインターフェイス回路とから構成さ
れている。ここで、第2図にキーとキーコードとの対応
関係を示す。第2図はキーコードを10進表示してあ
り、この図から判るように半音毎にキーコードの数値が
1変化するようになっており、C3音がキーコード「6
0」となっている。
2は装置各部を制御するCPU(中央処理装置)、3は
CPU2のプログラムが記憶されたプログラムメモリ、
4は各種レジスタおよびフラグが設定されるワーキング
メモリである。なお、ワーキングメモリ4内の各レジス
タおよびフラグについては、後述する。
次に、符号5は、リズム音および和音の伴奏者発生の際
に使用されるパターンデータRPDが記憶されたパター
ンメモリである。この場合パターンメモリ5には、予め
リズム種類(サンバ,スローロック等)およびコードタ
イプに対応した多数のパターンデータRPDが記憶され
ている。このパターンデータRPDのフォーマットを第
3図に示す。図示のように、パターンデータは、26バ
イトのデータにより構成されており、各バイトには相対
的なアドレス「−2」,「−1」,「0」,「1」,…
…「22」,「23」が設定されている。以下に各アド
レスのデータについて説明する。
アドレス「−2」:このアドレスには、第4図に示すテ
ーブル#0,#1……のいずれかを指定する8ビットの
テーブルセレクトデータTBLSELが記憶されてい
る。このテーブル#0,#1……はテーブルメモリ6に
記憶されている。
アドレス「−1」:このアドレスには、和音伴奏におい
て本来同時発音すべき和音の構成音を微少時間ずらして
発音する際のずらし時間を指示するディレイタイムデー
タが記憶されている。このデータは、ギターのストロー
ク演奏のように、全体としては各弦がほぼ同時に鳴らさ
れるが実際には弦により微妙に発音タイミングがずれて
いる場合(6弦側が速く1弦側が遅い、あるいはその
逆)を再現するときなどに用いられる。
アドレス「0」〜「23」:これらの各アドレスには、
和音の音程態様およびキーオン態様を示す発音態様指示
データPDが第0番から第47番まで記憶されている。
このように48の発音態様指示データPD0〜PD47
記憶されているのは、この実施例において1小節(4拍
子)を48分割し、各分割タイミングにおいて発音制御
を行うようにしているからである。この発音態様指示デ
ータPDは、16進表示の(0)〜(F)で表され
る4ビットのデータであり、各発音タイミングに応じ4
ビット単位で順次使用される。ここで、その内容と指示
する発音態様の関係を第5図に示す。
第5図において、「ノーマル」とは当該分割タイミング
において発音を行う通常のキーオン態様であり、「タイ
キーオン」とは当該分割タイミングにおける発音音符
(和音構成音)のいずれかがそれ以前の音符(和音構成
音)とタイ記号によりつながれていた場合(第17図参
照)には、当該音符については新たに発音をし直さず継
続して以前の音を伸ばす態様である。また、「ディレイ
キーオン」とは、前述のディレイタイムデータを用いる
演奏を行う態様である。図の上段横軸の数値は音程態様
番号TEBNOであり、第4図に示す各テーブル内にお
いて設定されている音程態様のいずれかを指示する。こ
こで、テーブル#0においては、TEBNO「0」がコ
ードタイプによって決まる通常の和音構成音の音程関係
を指示し、TEBNO「1」が9th(ナインス)の音
を含む和音構成音の音程関係を指示し、TEBNO
「2」が通常の和音構成音の各音を半音下げた音程関係
を指示する。また、テーブル#1においては、音程態様
番号TEBNO「0」が通常の和音構成音の音程関係
を、「1」が通常の和音構成音の各音を半音下げた音程
関係を指示する。このように、音程態様番号TEBNO
の値は、選択されるテーブルの番号により、その機能が
任意に設定される。
また、第4図に示すコードタイプの記号は、汎用のコー
ドタイプ記号を用いており、例えば、Mはメジャー、m
はマイナー,susはサス、Augはオーグメント、d
imはディミニッシュ、数字はセブンスあるいはシック
スス等を示している。これらのコードタイプは、1〜D
の16進コードによって指定されるようになっている。
chは、発音チャンネルを示しており、この実施例にお
いてはch0〜ch2の3つのチャンネルによって複数
音による自動伴奏を行うようにしている。第4図の各発
音チャンネルchの欄に記載されている数値「0」〜
「255」(10進表示)はキーコードである。
また、発音態様指示データPDの内容が(1)
(C)の場合は、上述のように音程態様番号TEBN
Oを指示するが、(0)ときはキーオフを指示し、ま
た、(F)のときは何もせず前の状態を保持すること
を指示する。なお、発音態様指示データPDの内容の
(D),(E)は本実施例では使用していない(第
5図参照)。
以上がパターン内の各データの機能であり、第3図に示
すフォーマットに従ったパターンデータがリズム種類お
よびコードタイプに対応して複数記憶されている。ま
た、アドレス「−2」「−1」は、パターンデータのヘ
ッダとなっている。
次に、第1図における7は、テンポクロック発生器であ
り、自動演奏音のテンポの基となる一定周期のテンポク
ロックTPをCPU2へ出力する。このテンポクロック
TPによってCPU2に割込みがかかる。この場合、テ
ンポクロックTPの周期は、CPU2からバスラインB
を介して供給されるテンポデータTDに応じて決まる。
8はタイマであり、一定周期のパルス信号をCPU2に
割り込み信号として供給する。このタイマ8は、ディレ
イタイムデータ(第3図参照)を用いる演奏において、
設定されたディレイタイムを経時するために用いられ
る。
10は、リズム選択スイッチ、リズムスタート/ストッ
プスイッチ、音色選択スイッチ、および各種効果選択ス
イッチ等から構成されているスイッチ群である。12
は、トーンジェネレータであり、鍵盤回路1の押鍵/離
鍵に従ってCPU2から発せられるキーオン/キーオフ
情報に基づいてプレーヤの鍵演奏に対応する楽音を発生
するとともに、パターンデータRPDに基づく伴奏和音
を発生する。また、トーンジェネレータ12は、パーカ
ッション系のリズム音源を有しており、選択されたリズ
ムに対応するリズム音を、テンポクロックTPに従って
発生するようになっている。
ここで、上述したワーキングメモリ4内の各種レジスタ
およびフラグの主なものについて説明する。
フラグRUN:自動伴奏走行時に“1”、停止時に
“0”が書き込まれる。
レジスタCLK:テンポクロックTPのカウント数が書
き込まれるレジスタであり、各小節毎に「0」〜「4
7」の値がサイクリックに書き込まれる。
レジスタDL1,DL2:チャンネルch1,ch2の
ディレイタイムを計時するレジスタであり、第3図に示
すディレイタイムデータを書き込まれる。ディレイ演奏
時においては、タイマ8がクロックを出力する毎に減算
され、このレジスタDL1,DL2の内容が0となった
ときに該当するチャンネルの発音が許可される。
キーコードバッファKCBUF:押鍵されたキーのキー
コードが書き込まれるレジスタであり、複数設けられて
いる。
レジスタCHD:和音情報が書き込まれるレジスタであ
り、CPU2が伴奏用鍵盤のキーコードからコードタイ
プと根音を検出するとコードタイプデータが上位4ビッ
トに、根音データが下位4ビットに各々書き込まれる。
根音データは「0」,「1」,……「11」のデータで
あり、C音、C#音、……B音に対応する。コードタイ
プデータは第4図に示すコードタイプに対応したデータ
であり、メジャーM、マイナスm、セブンス7th等に
応じた「1」〜「13」のデータである。
レジスタTCHD:上記和音情報が一時記憶されるレジ
スタである。
レジスタROOT:上記根音データが一時記憶されるレ
ジスタである。
レジスタTYPE:コードタイプデータが記憶されるレ
ジスタである。
レジスタCHK:CLK.MOD.12の演算値が記憶
されるレジスタである。ここで、CLK.MOD.12
とは、レジスタCLKの内容を12で割った商の余りを
いう。このCLK.MOD.12は、一拍内のタイミン
グを表現する。
レジスタTBLSEL/R:テーブルセレクトデータ
(第3図参照)TBLSELが書き込まれるレジスタで
ある。
レジスタDLYTM:ディレイタイムデータ(第3図参
照)が書き込まれるレジスタである。
アドレスポインタPNT:第3図に示すパターンフォー
マットのアドレスを示すポインタである。
レジスタDTおよびNDT:各々発音態様指示データP
Dが書き込まれるレジスタであり、レジスタDTにはそ
の時点の発音態様指示データPDnが書き込まれ、レジ
スタNDTには次のタイミングの発音態様指示データP
n+1が書き込まれる。
レジスタKEY0〜2:トーンジェネレータ12内の発音
チャンネルch0〜ch2に対応して設けられているキ
ーコードバッファである。このレジスタKEY0〜KE
2に書き込まれるキーコードによって発音チャンネル
ch0〜ch2が発音する音の音高が決定される。
レジスタOKEY0〜2:レジスタKEY0〜2の前回の値
が記憶されるレジスタである。
フラグMODE:“0”のときはチャンネルchi(
i=1〜2)に新たにキーコードを書き込んでキーオンさせ
る通常のキーオンモードを指示する。また、“1”のと
きは、すでに発音状態にある発音チャンネルに対しキー
コードのみをすり替える発音処理(この処理の詳細は後
述)を指示する。
レジスタRTKEY:レジスタROOT内の根音データ
の音域を変換したキーコードが書き込まれるレジスタで
ある。
以上がワーキングメモリ内に設けられている主なレジス
タ、フラグ等である。
(2:実施例の動作) 次に、上述した構成によるこの実施例の動作について説
明する。
この実施例の動作は、基本的にはリズムに応じて和音
(3音)を刻む自動伴奏である。また、この実施例にお
いては、キーオン態様により発音処理が異なるため、以
下に各キーオン態様毎に説明を行う。
A:ノーマル メインルーチン“MAIN” 第6図は、この実施例のメインルーチンを示すフロチャ
ートである。まず、電源が投入されると、イニシャル処
理としてワーキングメモリ4内の各種レジスタ、フラグ
(KCBUF、RUN、DL1、DL2等)はクリアさ
れ、その後においてステップSP2以降の処理に移る。
ステップSP2においては、スイッチ群10内のスター
トスイッチにオンイベントがあったかどうかが判断され
る。ここで、イベントとはスイッチやキーの状態に変化
があったことをいい、オフからオンへ変化するオンイベ
ントと、オンからオフへ変化するオフイベントとがあ
る。ステップSP2において、スタートスイッチのオン
イベントが検出されると、ステップSP3においてフラ
グRUNの値を反転する。このステップSP2,SP3
の処理により、スタートスイッチが押される毎にフラグ
RUNの値が反転する。次に、ステップSP4におい
て、フラグRUNが“1”か否かが判定され、「NO」
であれば、自動伴奏走行の停止指示となるため、ステッ
プSP5に移って、トーンジェネレータ12のチャンネ
ルch0〜ch2をオフするとともに、リズム音(パー
カッション類)の発生も全てオフする。そして、ステッ
プSP4において「YES」と判定された場合は、自動
伴奏走行の開始が指示された場合であるから、ステップ
SP6に移り、レジスタCLK,DL1,DL2をクリ
アして自動伴奏の開始に備える。ステップSP5,SP
6の処理の後は、ステップSP7に移りリズム選択が変
更されたか否かが判断される。一方、ステップSP2の
判定が「NO」の場合、すなわち、スタートスイッチが
オンもしくはオフのままである場合は、ステップSP3
〜SP5の処理を行わず、ステップSP7に至る。ステ
ップSP7の判定が「YES」のときは、変更されたリ
ズム種類を示すデータに変更し(ステップSP8)、ス
テップSP9でフラグRUNが“1”かどうかが判定さ
れる。この判定が、「YES」のときは、自動伴奏走行
中にリズム種類が切換られた場合であるから、ステップ
SP10において、それ以前に選択されていたリズム種
類による伴奏の発音を停止し、新たに選択されたリズム
による伴奏に備え、その後にステップSP11において
キーイベントの有無の判定を行う。一方、ステップSP
9の判定が、「NO」の場合は、以前から継続して自動
伴奏が行われていない場合か、自動伴奏を停止すべくス
テップSP3においてフラグRUNをクリアした場合で
ある。したがって、すでにトーンジェネレータ12内の
チャンネルch0〜ch2の発音は停止されているか
ら、ステップSP10の処理を行わず、直ちにステップ
SP11の判定を行う。ステップSP11の判定は、C
PU2が鍵盤回路1から供給されるキーコードの変化を
みることによって行われる。キーイベントがない場合
は、ステップSP12に移り、スイッチ群10内の他の
スイッチの操作に応じて音色や音量の設定、変更等を行
い、再び、ステップSP2に戻って、上記処理を繰り返
し行う。
一方、キーイベントがあった場合は、サブルーチン“K
EY・EVT”に処理に移る。
サブルーチン“KEY・EVT” まず、ステップSPa1において、鍵盤回路1から発せ
られるキーコードを、キーコードバッファKCBUFに
書き込む。キーコードが複数発せられた場合は、所定の
割り当て処理にしたがって各キーコードバッファKCB
UFに割り当てる。そして、ステップSPa2に移り、
イベントのあったキーの発音処理を行う。この発音処理
は、トーンジェネレータ12のチャンネルch0〜ch
2とは別の発音チャンネルにより行われる。すなわち、
この発音はメロディ演奏等の和音演奏とは別の押鍵に応
じた直接的な発音処理である。次に、ステップSPa3
においては、キーコードバッファKCBUF内のキーコ
ードに基づきコードタイプおよび根音を検出し、これら
をレジスタTCHDに書き込む。そして、ステップSP
a4においてCLK.MOD.12の演算、すなわち、
レジスタCLKの内容を12で除して余りを求める演算
を行って、演算結果をレジスタCHKに書き込む。この
演算の結果は、前述のように1拍内におけるタイミング
を示す。ここで、レジスタCLKの内容は、自動伴奏ス
タート開始時にはリセットされて「0」であるが、テン
ポクロック発生器7からテンポクロックTPが発生され
る毎にサブルーチンCLK・ERQ(第12図参照)の
処理により1づつインクリメントされ、小節内のタイミ
ング(「0」〜「47」)を示す値となっている。ステ
ップSPa4の処理が終わると、ステップSPa5に移
りレジスタCHKの内容が1〜3か否かが判断される。
この判断は、キーイベントがあったタイミングが、拍の
最初から1/4のタイミング以内であるか否かの判断であ
る。この判定が「YES」の場合は、レジスタCHDに
レジスタTCHD内のデータが書き込まれる。このレジ
スタTCHD書き込まれたデータ(根音データ+コード
タイムデータ)は、以下の発音処理に用いられる。一
方、ステップSPa5の判定が「NO」の場合は、メイ
ンルーチン“MAIN”に戻り、次の拍の先頭タイミン
グにおいてレジスタCHDに書き込まれる(第12図ス
テップSPd4参照)。すなわち、キーイベントが拍の
先頭部分で生じた場合は、直ちにその変更された和音の
根音データ,コードタイプデータをレジスタCHDに書
き込んで自動伴奏の発音処理に用いるが、キーイベント
が拍の先頭部分以外で生じた場合は、次の拍の先頭タイ
ミングまで待ってから変更された和音の根音データ,コ
ードタイプデータをレジスタCHDに書き込む。これ
は、拍の途中で自動伴奏の和音が変化すると音楽的に不
自然となるので、それを回避するためである。
ステップSPa6の処理が終わると、レジスタCHD内
の根音データおよびコードタイプデータをレジスタRO
OTおよびレジスタTYPEに各々書き込み(ステップ
SPa7、SPa8参照)、“サブルーチンPAT・C
HG”の処理に移る。
“サブルーチンPAT・CHG” この処理は、キーイベントがあった場合において、それ
以前に行われていた自動伴奏と、新たなキーイベントに
基づく自動伴奏との整合をとるための処理である。
まず、ステップSPb1において、選択されているリズ
ム種類と、レジスタTYPEの内容にもとづいて次に演
奏すべきパターンデータRPDを読出し、レジスタPA
Tに書き込む。そして、ステップSPb2においては、
読出したパターンデータRPDのアドレス「−2」にあ
るテーブルセレクトデータTBLSELおよびアドレス
「−1」にあるディレイタイムデータ(第3図参照)
を、各々レジスタTBLSEL.RおよびレジスタDL
YTMに書き込む。次に、ポインタPNTにレジスタC
LKの値、すなわち、その時点におけるクロックのカウ
ント値を書き込み(ステップSPb3)、PMT.MO
D.2の演算値「0」から否かが判断される(ステップ
SPb4)。この演算は、その時点のクロックカウント
値(CLKの値)が偶数か奇数かを調べる演算であり、
「0」となった場合が偶数である。そして、偶数の場合
は、ステップSPb5に進み、パターンデータRPDの
アドレス「PNT/2」の下位4ビットにある発音態様
指示データPDをレジスタDTに書き込む。また、ステ
ップSPb4における演算が奇数の場合は、ステップS
Pb6に進み、パターンデータRPDのアドレス「(P
NT−1)/2」の上位4ビットにある発音態様指示デ
ータPDをレジスタDTに書き込む。上述したステップ
SPb4〜SPb6の処理は、クロックカウント値と発
音態様指示データPDの番号とを合致させる処理であ
る。例えば、ポインタPNTに書き込まれるクロックカ
ウント値「1」のときは、アドレス「0」の上位4ビッ
トにある発音態様指示データPD1が選択され、また、
クロックカウント値が「46」のときはアドレス23の
下位4ビットにある発音態様指示データPD46が選択さ
れる(第3図参照)。上記処理において、クロックカウ
ント値に対応した発音態様指示データPDがレジスタD
Tに書き込まれると、ステップSPb7に移りレジスタ
DTの内容が(F)Hか否か、すなわち、「何もしな
い」を指示するものであるかどうかが判断される。この
判断が「YES」の場合は、ポインタPNTの値を1減
算し、ステップSPb9を介して再びステップSPb4
以降の処理を行う。この処理はレジスタDTの内容が
(F)H以外のものとなるまで続けられる。そして、
(F)H以外のデータが検出されると、ステップSPb
11に移りレジスタDTの内容が「0」かどうか、すな
わち、キーオフを指示するデータであるかどうかを判断
する。この判定が「YES」の場合は、レジスタKEY
0〜2の内容が「0」であればメインルーチン“MAI
N”(第6図参照)ヘリターンし、「0」でなければト
ーンジェネレータ12のチャンネルch0〜ch2を全
てキーオフするとともに(ステップSPb16,SPb
17)、レジスタKEY0〜2をクリアした後にリターン
する。
ここで、上述したステップSPb4〜SPb11および
ステップSPb15〜SPb17の一連の処理の意味に
ついて説明する。
いま、第9図(イ)に示すように、第3拍目の先頭タイ
ミングにおいて和音Cメジャから和音Fメジャへの変更
があったとする。この変更によって新たに読出された和
音Fメジャに対応するパターンデータRPDが譜面上で
第9図(ロ)に示されるものであったとする。この譜面
を発音態様指示データにすると例えば第10図に示すよ
うになる。ここで、第3拍目の先頭タイミングにおける
レジスタCLKの値は「24」であるから、ステップS
Pb3においてポインタPNTに書き込まれる値は「2
4」となる。そして、ステップSPb4→SPb5→S
Pb7の処理により、ステップSPb7においては発音
態様指示データPD24の値が(F)Hか否かが判断され
る。この場合は、(F)Hであるから判定は「YES」
となる。ところで、(F)Hの意味は「何もしない」で
あるから、それ以前にキーオンが指示されていればその
発音を継続し、キーオフが指示されていれば消音状態を
維持しなければならない。したがって、あるタイミング
における発音態様指示データPDが(F)Hである場合
には、新たにどのような発音制御をすべきか不明であ
る。このため、それ以前のタイミングの発音態様指示デ
ータPDであって(F)H以外のものをサーチする必要
がある。ステップSPb4〜SPb10の処理は、この
サーチを行う処理である。さて、上記例にあっては、発
音態様指示データPD24が(F)Hであるから、1つ前
の発音態様指示データPD23を調べると、(0)Hにな
っており、クロックカウント値「24」においては消音
を維持しなければならないことが判る。この消音の判断
は、ステップSPb11において「YES」となった場
合に対応する。
ところで、キーイベントがある前の和音Cメジャの伴奏
時のパターンデータRPDが譜面上では第9図(ハ)の
ように表されるとする。この場合にあっては、同図に示
すようにクロックカウント値「23」で消音が指示され
ているから、この時点におけるレジスタKEY0〜2の内
容は、消音指示のためにすべて「0」となっている。す
なわち、クロックカウント値「24」における発音態様
が、変更前(同図(ハ))と変更後(同図(ロ))とで
同じである。このような場合には、ステップSPb15
の判定が「YES」となり、発音制御処理は行わずにそ
のままリターンする。
一方、キーイベントがある前の和音Cメジャの伴奏時の
パターンデータRPDが譜面上では第9図(ニ)のよう
に表されるとする。この場合にあっては、同図に示すよ
うに、クロックカウント値「23」では2拍目に発音し
た音を継続している必要がある。したがって、レジスタ
KEY0〜2には2拍目の発音に対応するキーコード(付
点4分音符のキーコード)が各々書き込まれている。し
かし、和音変更後のクロックカウント値「24」(3拍
目)にあっては消音の必要がある(同図(ロ)参照)。
そこで、このような場合にあっては、ステップSPb1
6に進んでトーンジェネレータ12の発音チャンネルc
h0〜2をキーオフして消音させ、さらに、レジスタK
EY0〜2をクリアしてからリターンする(ステップSP
b17)。
以上が、ステップSPb4〜SPb11およびステップ
SPb15〜SPb17の処理の意味である。
上記ステップSPb11〜SPb17の処理は、変更後
の当該タイミングにおいて消音が指示された場合の処理
であったが、逆に、発音が指示される場合もある。この
場合には、ステップSPb11〜SPb14の処理を行
う。この処理を以下に説明する。
変更後のパターンデータにおける当該タイミングの発音
態様指示データPD24が(F)H、(0)H以外のとき、
および、当該タイミングから順次さかのぼって検出され
た発音態様指示データPD24が(0)H以外のときは、
変更後において発音が指示される場合である。この場合
にはステップSPb11の判定が「NO」となるから、
ステップSPb12の判定を行う。この判定は前述のス
テップSPb15の判定と同様の判定であり、「YE
S」の場合は、変更前のパターンデータにより当該タイ
ミングにおいて消音されている。また、「NO」の場合
には変更前のパターンデータにより当該タイミングで発
音がなされている。そして、ステップSPb12の判定
が「YES」のときはフラグMODEに“0”が書き込
まれ、「NO」のときはフラグMODEに“1”が書き
込まれる(ステップSPb13,14)。そして、この
処理の後にサブルーチン“PAT・KEY”の処理に移
る。発音処理は、このサブルーチンにおいて行われる。
サブルーチン“PAT・KEY(ノーマル)” このサブルーチンは、トーンジェネレータ12の発音チ
ャンネルch0〜2を制御するためのサブルーチンであ
る。但し、第5図に示すキーオン態様が「ノーマル」、
「タイキーオン」、「ディレイキーオン」の各場合にお
いて各々処理が異なるため、ここでは「ノーマル」の場
合について説明する。
まず、第11図に示すステップSPc1において、(D
T−1).MOD.4の演算を行い、演算結果をレジス
タTBLNO.Rに書き込む。この演算は、発音態様指
示データPDの値を音程態様番号TBLNOに変換する
演算である(第5図参照)。次に、ステップSPc2に
おいては、発音態様指示データPDの値をキーオン態様
番号に変換する演算、すなわち、INT{(DT−1)
/4}を行い、その演算結果をレジスタKONTPに書
き込む。ステップSPc3においては、レジスタOKE
YiにレジスタKEYi(i=0〜2)の値を書き込
む。ステップSPc3の処理は、この時点でチャンネル
ch0〜2において発生されている前回のキーコード
を、同一番号のレジスタOKEYに書き込む処理であ
る。次に、ステップSPc4に移り、図示の演算によっ
て根音の音域をG3〜F#3に変更し、変更後の根音をレ
ジスタRTKEYに書き込む処理を行う。この処理例を
示す。今、レジスタROOT内の根音データがC音を示
す「0」の場合は、(ROOT+5).MOD.12の
演算を行うと「5」となり、これの「55」を加算する
と「60」となる。キーコード「60」は第2図に示す
ように、C3音のキーコードである。
次に、ステップSPc5においては、レジスタTBLS
EL.R(ステップSPb2でセット済み)内のセレク
ト番号に一致するテーブルを読出し、このテーブルにお
いてレジスタTBLNO.R内の音程態様番号TBLN
Oに対応するデータを読出す。そして、この読出したデ
ータの各チャンネルch0〜2に対応する数値をレジス
タRTKEYの値にそれぞれ加え、この加算結果をレジ
スタKEY0〜2に各々書き込む。今、レジスタRTKE
Yの内容がキーコード「60」であり、かつ、テーブル
が#0、音程態様番号TBLNOが0、コードタイプが
M(メジャー)であった場合は、第4図に示すように
4,7,12が各々60に加算される。したがって、レ
ジスタKEY0にはキーコード「64」が、レジスタK
EY1にはキーコード「67」、レジスタKEY2にはキ
ーコード「72」が各々書き込まれる。これらのキーコ
ード「64」,「67」,「72」は各々E3音、G
3音、C4音に対応する。
ステップSPc5の処理が終わると、ステップSPc6
に移りレジスタKONTPの内容が「0」,「1」,
「2」のいずれであるかが判断される。すなわち、キー
オン態様が「ノーマル」であるか、「ディレイキーオ
ン」であるか、「タイキーオン」であるかが判断され
る。
ここでは、「ノーマル」について説明するので、ステッ
プSPc7に進む。このステップSPc7においては、
レジスタMODEの内容が“1”か否かが判断され、
「NO」であればステップSPc5においてレジスタK
EY0〜2に書き込んだキーコードを、トーンジェネレー
タ12内の各発音チャンネルch0〜ch2に各々供給
し、当該キーコードの発音を行う(ステップSPc
8)。一方、レジスタMODEの内容が“1”であれ
ば、ステップSPc7の判断が「NO」となり、レジス
タKEY0〜2に書き込んだキーコードとトーンジェネレ
ータ12内の発音チャンネルch0〜ch2内のキーコ
ードとを入れ換えて発音を行う(ステップSPc9)。
このように、キーコードの入れ換えを行うのは、レジス
タMODEが“1”の場合は発音チャンネルch0〜c
h2がそれ以前に供給されたキーコードにより発音継続
している場合であるから(ステップSPb12,SPb
14参照)、途切れのない発音(スラー記号に対応する
発音)を行うために前のキーコードと新たなキーコード
との入れ換えを行う。
ステップSPc8、SPc9のキーオン処理が終了する
とリターンする。リターン先は、このサブルーチンが
“PAT・CHG”(第8図)において呼ばれた場合
は、メインルーチンである。
上述の動作説明は、自動伴奏中においてキーイベント
(和音変更)があった場合の発音処理であり、“MAI
N”→“KEY・EVT”→“PAT・CHG”→“P
AT・KEY”なるルーチンを経て、メインルーチン
“MAIN”にリターンする。なお、変更後のパターン
データの当該タイミングにおいて発音が指示されない場
合は、サブルーチン“PAT・CHG”において消音処
理(ステップSPb16)等を行った後にメインルーチ
ン“MAIN”にリターンする。
ところで、自動伴奏の通常の発音処理は、テンポクロッ
クTPに基づいて自動的に行われる処理である。この場
合の処理は、第12図に示すサブルーチン“CLK・I
RQ”および第13図に示すサブルーチン“PAT・R
EAD”によって行われる。以下に、これらについて説
明する。
サブルーチン“CLK・IRQ” まず、第1図に示すテンポクロック発生器7からテンポ
クロックTPが発せられると、CPU2に割り込みがか
かり、この結果、処理がサブルーチン“CLK・IR
Q”に移る。そして、ステップSPd1においてフラグ
RUN“1”が否が判定され、〔NO」であればリター
ンし、「YES」であればステップSPd2に移る。ス
テップSPd2においては、レジスタCLKの値および
選択されているリズム種に応じて、リズム音発生処理
(パーカッション系の発音)が行われる。次に、ステッ
プSPd3に移り、レジスタCLKの内容を12で割っ
た余りが「0」か否かが判断される。この判断が「YE
S」の場合は、レジスタCLKの内容が拍の先頭タイミ
ング(0,12,24,36)を示している。このステップSPd
3の判定が「NO」のときは直ちにサブルーチン“PA
T・READ”の処理を行い、「YES」の場合にはレ
ジスタTCHDの内容をレジスタCHDに書き込んだ後
に上記サブルーチン“PAT・READ”に移る。ステ
ップSPd4の処理は、前述したステップSPd5の判
定が「NO」となって、レジスタCHKに書き込まれな
かったキーコードを、ここにおいて書き込むための処理
である。
サブルーチン“PAT・READ” まず、第13図に示すステップSPe1においては、リ
ズム種類とレジスタTYPE内のコードタイプデータに
基づき、演奏すべきパターンデータRPDが選択され、
レジスタPATに書き込まれる。そして、パターンデー
タRPDのアドレス「−2」、「−1」にあるテーブル
セレクトデータTBLSELおよびディレイタイムデー
タを、各々レジスタTBLSEL.RおよびレジスタD
LYTMに書き込む。次に、ステップSPe3において
は、レジスタCLKの内容が偶数か奇数かが判断され、
偶数であればステップSPe4に進み、レジスタDTお
よびNDTにパターンデータのアドレス「CLK/2」
の下位4ビットおよび上位4ビットにある発音態様指示
データPDnおよびPDn+1(nはレジスタCLKの内
容)を各々書き込む。また、レジスタCLKの内容が奇
数であればレジスタDTおよびNDTに、パターンデー
タのアドレス「(CLK−1)/2」の上位4ビットお
よびアドレス「(CLK+1)/2」の下位4ビットに
ある発音態様指示データPDnおよびPPDn+1が書き込
まれる(ステップSPe5)。このステップSPe4,
SPe5の処理により、レジスタDTにはその時点で処
理すべき発音態様指示データPDが書き込まれ、レジス
タNDTには次のタイミング(CLK+1)で処理すべ
き発音態様指示データPDが書き込まれる。例えば、レ
ジスタCLKの内容が「4」の場合は、第5図に示すア
ドレス「2」の発音態様指示データPD4,PD5がレジ
スタDT,NDTに書き込まれ、レジスタCLKの内容
が「5」の場合はアドレス「2」の発音態様指示データ
PD5と、アドレス「3」の発音態様指示データPD6
レジスタDT,NDTに書き込まれる。なお、ステップ
SPe5においてCLK+1の値が「48」となった場
合は、アドレス「0」の下位4ビットを書き込むように
なっている。
次に、ステップSPe6においては、レジスタDTの内
容が(F)Hかどうか、すなわち、当該タイミングにお
いて処理すべき発音態様指示データPDが「何もしな
い」であるかどうかが判断される。この判定が「YE
S」の場合は、ステップSPe11に進み、レジスタN
DTの内容が(F)Hかどうか、すなわち、次に処理す
べき発音態様指示データPDが「何もしない」であるか
どうかが判断される。この判定が「YES」であればリ
ターンし、「NO」であればステップSPe12におい
てレジスタDL1の内容が「0」かどうか判断される。
レジスタDL1は、第6図に示すステップSP1のイニ
シャライズ処理によりクリアされているから、ステップ
SPe12の判定が「YES」となり、ステップSPe
15に進んでレジスタDL2の内容が「0」か否かが判
定される。このレジスタDL2もステップSP1におい
てリセットされているから、判定は「YES」となって
リターンする。このように、レジスタDTの内容が
(F)Hである場合には、ステップSPe6,SPe1
1を介し、あるいはさらにステップSPe12,SPe
15を介してサブルーチン“CLK・IRQ”のステッ
プSPd5にリターンする。ステップSPd5において
は、レジスタCLKの内容を1インクリメントする処理
が行われる。なお、ステップSPd5において図示の演
算を行っているのは、レジスタCLKの内容を「0」〜
「47」で循環させるためである。
一方、第13図に示すステップSPe6において「N
O」となると、ステップSPe7に移り、レジスタDT
の内容が(0)Hであるか否かが判断される。この判断
が「YES」であれば、当該タイミングにおいてキーオ
フが指示されているから、トーンジェネレータ12の発
音チャンネルch0〜ch2をすべてキーオフさせ、ま
た、レジスタKEY0〜2をクリアする(ステップSPe
8,SPe9)。ステップSPe7において「NO」と
判断された場合は、ステップSPe10においてフラグ
MODEを“0”にした後サブルーチン“PAT・KE
Y”の処理に移る。
サブルーチン“PAT・KEY”の処理は、前述した通
りであり、キーオン態様がノーマルで、フラグMODE
が“0”の場合は、ステップSPc1〜SPc8の処理
による発音がなされる。この発音処理後においては、ス
テップSPe11にリターンする。キーオン態様がノー
マルの場合は、ステップSPe11もしくはステップS
Pe12 SPe15を経て第12図のステップSPd
5にリターンし、レジスタCLKをインクリメントス
る。
以上の処理をテンポクロックTPが発せられる毎に行
う。以上がキーオン態様「ノーマル」の処理である。
B:ディレイキーオン 次に、ディレイキーオンの場合について説明する。
このディレイキーオンは、サブルーチン“PAT・KE
Y”、“PAT・READ”における処理内容が変わる
点と、サブルーチン“TIMER・IRQ”の処理が加
わる以外は前述のノーマルの場合と同様である。始め
に、サブルーチン“PAT・KEY”の処理について説
明する。
サブルーチン“PAT・KEY”(ディレイキーオ
ン) まず、ステップSPc1からSPc6までは、ノーマル
の場合と同様であるが、ステップSPc6の判定により
ステップSPc10に移り、レジスタMODが“1”か
否かが判断される。この判定が「YES」の場合は、ス
テップSPc9に移り、チャンネルCh0〜ch2内に
キコードをレジスタKEY0〜2内のキコードにすり替え
て3つのキコードをすべて発音する。すなわち、ディレ
イキーオン処理を行わず、3音同時発音とする。これ
は、レジスタMODが“1”となるのは、和音変更のキ
ーイベントがあった場合において、変更前のパターンデ
ータによって発音が継続される場合であるから、新たな
キコードによってディレイキーオンを行うと音楽的に不
自然となるためである。
一方、ステップSPc10で「NO」と判定された場合
は、ステップSPb2あるいはステップSPe2におい
てレジスタDLYTMに書き込んだディレイタイムデー
タ(第5図参照)を、レジスタDL1に書き込み、ま
た、ディレイタイムデータを2倍してレジスタDL2に
書き込む。そして、ステップSPc12に移り、レジス
タKEY0内のキコードをチャンネルch0に供給してキ
ーオンする。すなわち、レジスタKEY0のキコード
(第4図に示すように和音を構成する音の最低音)はデ
ィレイキーオンせず直ちに発音する。ステップSPc1
2の処理が終わると、直ちにメインルーチン“MAI
N”にリターンするか、第13図のステップSPe11
→(SPc12,15)→第12図のSPd5を介して
メインルーチンにリターンする。前者は、サブルーチン
“PAT・CHG”において“PAT・KEY”がコー
ルされた場合であり、後者はサブルーチン“PAT・R
EAD”において“PAT・KEY”がコールされた場
合である。そして、メインルーチン“MAIN”を循環
中においてタイマ8からパルス信号IPが出力される
と、処理はサブルーチン“TIMER・IRQ”に移
る。この場合、パルス信号IPの周期はテンポクロック
TPより充分に短く設定されているため、通常は次のテ
ンポクロックTPが供給される前にサブルーチン“TI
MER・IRQ”の処理が行われる。
サブルーチン“TIMER・IRQ” まず、ステップSPf1においてフラグRUNの内容が
“1”か否かが判断され、「NO」であればメインルー
チン“MAIN”にリターンし、「YES」であればス
テップSPf2に進む。ステップSPf2ではレジスタ
DL1の内容が「0」でなければレジスタDL1の内容
が1減算される(ステップSPf3)。そして、減算後
のレジスタDL1の内容が「0」か否かが判断され(ス
テップSPf4)、「0」であればチャンネルch1に
レジスタKEY1内のキーコードを供給してキーオンす
る。ステップSPf4の判定が「NO」の場合は、ステ
ップSPf6に進む。
次に、ステップSPf6〜SPf9の処理は、上述した
SPf2〜SPf5までの処理と全く同様の処理をレジ
スタDL2について行う処理である。そして、ステップ
SPf9の処理が終わるとリターンし、再び、パルス信
号IPが供給された時点でこのサブルーチン“TIME
R・IRQ”に戻る。このように、パルス信号IPが供
給される毎にサブルーチン“TIMER・IRQ”の処
理が行われると、当初ディレイタイムデータが書き込ま
れていたレジスタDL1,DL2の内容がステップSP
f3,SPf7の処理により順次減算されていき、減算
結果が「0」となったときにおいてレジスタKEY1
KEY2内にキーコードが、チャンネルch1もしくは
チャネンルch2に供給されキーオンされる。すなわ
ち、チャンネルch1の発音はチャネンルch0よりデ
ィレイタイムデータ分だけ遅れ、また、レジスタDL2
の内容がレジスタDL1内容の2倍であることから(ス
テップSPc11参照)、チャネンルch2の発音はチ
ャネンルch1の発音よりさらにディレイタイムデータ
分だけ遅れる。図示すると第15図のようになる。
サブルーチン“PAT・READ”のステップSPe
13〜SPe17 ところで、曲のテンポが速い場合は、ディレイキーオン
処理を行うと、ディレイ処理されたキーコードの発音タ
イミングが後に発音されるべき次の音符よりも遅れるこ
とが生じる。例えば、第16図に示すように、最初の1
6分音符の和音についえディレイキーオン処理を行った
場合に、チャネンルch2の発音タイミングが、次の1
6分音符の発音タイミングt1より遅れる場合がある。
これは音楽的に不自然なため、かかる場合はディレイ処
理を中断し、チャネンルch2の発音タイミングをタイ
ミングt1の前にずらす処理を行うようにしている。
サブルーチン“PAT・READ”のステップSPe1
3〜SPe17の処理はこのための処理である。以下に
この処理について説明する。
今、ディレイキーオンの処理が終了してないうちに、次
のテンポクロックTPが発せられたとする。この結果、
処理はサブルーチン“CLK・IRQ”を介して“PA
T・READ”に至る。そして、ステップSPe1〜ス
テップSPe6を経てステップSPe11の判定が行わ
れる。この場合、次のテンポクロックTPのタイミング
において音発生を行う場合は、ステップSPe11の判
定が「NO」となるから。ステップSPe12に移り、
レジスタDL1の内容が「0」か否かが判断される。こ
の判定が「NO」であれば、発音チャンネルch1につ
いては未だディレイキーオン処理が行われていない場合
であるから、ステップSPe13おいてレジスタDL1
をクリアし、さらにチャンネルch1にレジスタKEY
1内にキーコードを供給して強制的にキーオンする(ス
テップSPe14)。一方、ステップSPe12の判定
が「YES」であれば、ステップSPe15においてレ
ジスタDL2の内容が「0」か否かが判断される。この
判断が「YES」であれば、チャンネルch1、ch2
の双方のディレイキーオン処理が終了しているため、ス
テップSPd5を介してメインルーチン“MAIN”へ
リターンする。また、ステップSP15で「NO」とな
った場合は、レジスタDL2をクリアしチャンネルch
2にレジスタKEY2内のキーコードを供給して強制的
にキーオンさせる。この処理の後は、ステップSPd5
を介してメインルーチン“MAIN”にリターンする。
以上がディレイキーオンの処理である。
C:タイキーオン 次に、タイキーオンの処理について説明する。この場合
は、サブルーチン“PAT・KEY”の処理以外は、前
述たノーマルの処理と同様である。
サブルーチン“PAT・KEY”のステップSPc1〜
SPc6までの処理は、ノーマルの場合と同様の処理と
なるが、ステップSPc6の判定において「1」とな
り、ステップSPc13に進む。ステップSPc13に
おいては、レジスタiをクリアし、さらに、ステップS
Pc14においてレジスタjをクリアする。そして、ス
テップSPc15に移りレジスタOKEYiとレジスタ
KEYiの内容が比較される。この処理は、ステップS
Pc3においてレジスタOKEYiに書き込んだ前回の
キーコードデータとステップSPc5においてレジスタ
KEYiに書き込んだ今回のキーコードデータとが一致
してうかどうかを判断する処理である。また、ステップ
SPc15においては、レシスタiとサジスタjの内容
が異なっているか否かも判定する。このステップSPc
15における最初の判断は、レジスタOKEY0とレジ
スタKEY0の内容比較となるが、i=jであるので判
定はNOとなり、ステップSPc17に移る。ステップ
SPc17においては、レジスタjの内容に1が加算さ
れ、ステップSPc18の処理に移る。ステップSPc
18は、レジスタjの値が「3」未満か否かを判定する
処理であり、ステップSPc17の加算処理が2回以下
のときは「YES」となり、再びステップSPc15に
移り比較処理を行う。ステップSPc15における2回
目の比較処理は、OKEY0=KEY1か否かの比較であ
る。この判断が「YES」であれば、レジスタKEYi
とレジスタKEYjの内容を入れ換える(ステップSP
c16)。すなわち、上記の場合においては、レジスタ
KEY0とレジスタKEY1の内容を入れ換える。以後同
様にしてレジスタjの内容をインクリメントし、再びス
テップSPc15の処理を行う。この処理の後にステッ
プSPc17の処理を行うと、ステップSPc1の判定
が「NO」となり、ステップSPc19においてレジス
タiの内容がインクリメントされる。次に、ステップS
Pc20に進み、レジスタiの内容が3未満か否かが判
断される。この判断はステップSPc19の処理が2回
以下のときは「YES」となるから、処理は再びステッ
プSPc14に戻る。すなわち、レジスタiの値を
「1」として、上記処理を繰り返す。以後同様にレジス
タiの値を2にして上記処理を行い、再度ステップSP
c20に至るとこの判定が「NO」となり、ステップS
Pc14〜ステップSPc20からなるループを抜け
る。
このループの処理によってレジスタOKEYi=KEY
jとなった場合は、レジスタKEYiの内容とレジスタ
KEYjの内容が入れ換えられる。これにより、レジス
タKEYi(i=0〜2)内の次に発音すべきキーコードが、
現在発音されている発音チャンネルchiのキーコード
と同じ場合は、当該発音チャンネルと同一の番号のレジ
スタKEYiに入れ換えらえる。ただし、発音チャンネ
ルchiと同一のレジスタKEYiに初めから同じキー
コードが書き込まれている場合は、入れ換えの必要がな
いので、この処理は行われない。
例えば、第17図に示すように現在G3音,B3音,D4
音による和音(和音G)が奏せられており、レジスタO
KEY0,OKEY1,OKEY2に各々キーコード「6
7」,「71」,「74」は書き込まれているとする。
そして、次に発音すべき音がE3音,G3音,D4音(和
音C9th)でレジスタKEY0,KEY1,KEY2に各々
キーコード「64」,「67」,「74」が書き込まれ
ているとする。この場合には、KEY2=OKEY2、K
EY1=OKEY0であり、KEY0については一致する
ものがない。したがって、レジスタKEY2はそのまま
であるが、レジスタKEY1とKEY0の内容は入れ換え
らえる。対応関係を示すと以下のようになる。
次に、ステップSPc21においてレジスタiがクリア
されると、ステップSPc22においてレジスタOKE
YiとレジスタKEYiの同一番号のものの内容が等し
いかどうかが判定される。この判定結果が「NO」のと
きは、ステップSPc23に進みフラグMODEが
“1”か否かが判断され、「NO」であれば、現在発音
中に音がない場合であるから発音チャンネルchiにレ
ジスタKEYiのキーコードを供給してキーオン処理を
行う(ステップSPc24)。また、ステップSPc2
3の判定が「YES」の場合は、現在発音中の音がある
場合であるから、発音チャンネルchiのキーコードと
レジスタKEYiのキーコードを入れ換えて発音処理を
行う(ステップSPc25)。これらの処理の後はステ
ップSPc26においてレジスタiをインクリメント
し、ステップSPc27を介してステップSPc22に
移り上記動作を繰り返す。
一方、ステップSPc22の判定が「YES」の場合
は、新たな発音処理(ステップSPc24,25)を行
わず、ステップSPc26,SPc27を介してステッ
プSPc22に至り、上記処理を繰り返す。このように
新たな発音処理が行われないと、発音チャンネルchi
は前回の音をそのまま継続して発し続ける。
そして、ステップSPc22〜SPc26の処理が3回
行われると、ステップSPc27の判定が「NO」とな
ってリターンする。
ここで、第1表に示した例において上記処理がおこなわ
れると、i=0とi=2のときにおいてOKEYi=K
EYiとなるので、発音チャンネルch0とch2につ
いては新たな発音処理が行われず、前回の音であるD4
音とG3音が継続して発せられる。また、発音チャンネ
ルch1については、ステップSPc24において新た
にE3音の発音が為される。この結果、第17図に示す
ように、D4音とG3音は、タイ記号によりつながれた音
符として発音される。
以上がタイキーオンの処理である。
D:総合的動作例 第18図は、パターンデータの一例である。そして、上
記パターンデータでて#0が選択され、かつ、コードタ
イプがCメジャーである場合の演奏例を第19図に示
す。この図に示すように、1拍目の先頭タイミング(C
LK=「0」)においては、発音態様指示データPD0
が(9)Hであるから、第5図に示すようにキーオン態
様がディレイキーオンで、音程態様番号TBLNOが
「0」である。したがって、演奏は第19図に示すよう
にE3音,G3音,C4音のディレイキーオンとなる。そ
して、レジスタCLKが「1」〜「10」となるタイミ
ングにおいては発音態様指示データPDが(F)Hであ
るから何もしない。レジスタCLKが「11」となるタ
イミングにおいては、発音態様指示データPDが(0)
Hとなるため、上記各音を消音する。この結果、第19
図に示すようにE3音,G3音,C4音が4分音符の長さ
で発音される。そして、レジスタCLKが「12」とな
るタイミングにおいては、発音態様指示データPDが
(1)Hであるからノーマルキーオンで音程態様番号T
BLNOが「0」が選択される。したがって、このタイ
ミングにおいては、E3音,G3音,C4音が発せられ
る。そして、レジスタCLKが「17」となるタイミン
グの発音態様指示データが(0)Hとなっているから上
記各音はこの時点で消音される。この結果、上記各音
は、8分音符の長さで発音される。次に、レジスタCL
Kが「18」となるタイミングの発音態様指示データP
Dは(A)Hであるから、ディレイキーオンで音程態様
番号TBLNOが「1」となる。この結果、C9thのコ
ードの発音となり(第4図参照)、E3音,G3音,D4
音が発音される。そして、レジスタCLKが「24」と
なるタイミングの発音態様指示データPDが(5)H
なっているから、第5図に示すようにキーオン態様がタ
イキーオンで音程態様番号TBLNOが「0」となる。
この結果、E3音,G3音,C4音の発音となり、かつ、
3音,G3音がタイ記号によりつながれた発音となる。
また、2拍目の最終タイミング(CLK=「23」)の
発音態様指示データPDが(0)Hとなっていないから
3拍目のC4音は消音を介さずに発音され(キーコード
入れ換えの発音)、スラー記号によってつながれた音の
発音となる。次に、レジスタCLKが「29」となるタ
イミングにおいては消音が指示され、以後4拍目の先頭
タイミングまで発音態様指示データPDが(F)Hとな
っている。これにより、第19図に示すように8分休符
が表現される。そして、4拍目の先頭タイミングと、4
拍目の1/2のタイミングにおいて発音態様指示データP
Dが(3)H,(1)Hとなっているので、♭E3音、♭
3音、♭C4音(=B3音)およびE3音,G3音,C4
がそれぞれ8分音符の長さで発音される。
(3:実施例の変形) 上記実施例は以下のように変形することが可能である。
上述した実施例は、主に伴奏鍵盤の演奏について説明
したが、メロディ鍵盤を付加し、メロディ演奏を合わせ
て行うよう構成してもよい。
自動伴奏形態として、単独の和音演奏を示したが、ベ
ース音や自動アルペジオ演奏等の他のパートと組み合わ
せることも可能である。さらに、上記実施例では根音自
体の発音は行わなかったが、根音も合わせて発音するよ
うに構成してもよい。
ディレイキーオンにおいて、専用のタイマ8によって
ディレイ時間の計時を行ったが、デンポクロックTPを
用いてディレイ時間を計時してもよい。
テンポの分解能や拍子は、実施例においては「48」
および4/4拍子であったが、これに限定されず、他の任
意の分解能および拍子を設定すことも可能であり、ま
た、組み合わせて構成することも可能である。
実施例においては、テーブルが複数設けられていた
が、これは1つでもよい。この場合は、テーブルセレク
トデータTBSELは不要となる。
音程の変化は、実施例においては、発音態様指示デー
タPDによってテーブル内の音程態様番号TBLNOを
選択することによって行ったが、テーブルによらず演算
で行ってもよい。
例えば、半音下げる変化(第5図の音程態様番号2)な
どは、機械的にキーコードの数値を1減算するような処
理を行えばよい。
「発明の効果」 以上説明したように、この発明によれば、パターンデー
タがタイ表現発生を指示した場合、和音変更時において
現在発生されている和音の構成音中に新たに発生される
和音の構成音と同一音高の音があることが検出される
と、この音の発生がそのまま維持されるので、自動伴奏
における任意の音符に対してタイ表現を自動的に付与す
ることができ、従来にない演奏効果を奏することができ
る。
【図面の簡単な説明】
第1図はこの発明の一実施例の構成を示すブロック図、 第2図は同実施例で用いるキーコードとキーとの関係を
示す図、 第3図は同実施例におけるリズムパターンデータのフォ
ーマットを示す図、 第4図は自動伴奏の和音の音程を決定するテーブルの内
容を示す図、 第5図は発音態様指示データの機能を示す図、 第6図は同実施例のメインルーチンを示すフローチャー
ト、 第7図、第8図、第11図、第12図、第13図、第1
4図は各々同実施例のサブルーチンを示すフローチャー
ト、 第9図は自動伴奏中にキーイベントがあった場合の発音
処理を示すための図、 第10図は発音態様指示データの一例を示す図、 第15図はディレイキーオン処理を説明するためのタイ
ミング図、 第16図はディレイキーオン処理における禁止処理を示
すためのタイミグ図、 第17図はタイキーオン処理を説明するための楽譜、 第18図は総合動作例における発音態様指示データの一
例を示す図、 第19図は第18図に示す発音態様指示データを用いた
場合の演奏例を示す楽譜である。 1……鍵盤回路、2……CPU、3………プログラムメ
モリ、4……ワーキングメモリ、5……リズムパターン
メモリ、6……テーブルメモリ、7……テンポクロック
発生器、8……タイマ、12……トーンジェネレータ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】a.演奏すべき和音を指定する和音指定手
    段と、 b.クロック信号に基づく各演奏タイミングにおける和
    音の発生および和音のタイ表現発生を制御するパターン
    データを記憶する記憶手段と、 c.クロック信号に基づいて前記記憶手段から順次読み
    出されたパターンデータと前記和音指定手段で指定され
    た和音とに基づいて和音の構成音を発生する楽音発生手
    段と、 d.前記読み出されたパターンデータが和音のタイ表現
    発生を指示しているとき、前記楽音発生手段において現
    在発生されている和音の構成音のうち前記楽音発生手段
    において新たに発生すべき和音の構成音と同一音高の音
    を検出して検出した音についてはその発生をそのまま継
    続させる発音制御手段と を具備していることを特徴とする自動伴奏装置。
JP62333220A 1987-12-29 1987-12-29 自動伴奏装置 Expired - Fee Related JPH067331B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP62333220A JPH067331B2 (ja) 1987-12-29 1987-12-29 自動伴奏装置
US07/291,110 US4939974A (en) 1987-12-29 1988-12-28 Automatic accompaniment apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62333220A JPH067331B2 (ja) 1987-12-29 1987-12-29 自動伴奏装置

Publications (2)

Publication Number Publication Date
JPH01177089A JPH01177089A (ja) 1989-07-13
JPH067331B2 true JPH067331B2 (ja) 1994-01-26

Family

ID=18263659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62333220A Expired - Fee Related JPH067331B2 (ja) 1987-12-29 1987-12-29 自動伴奏装置

Country Status (1)

Country Link
JP (1) JPH067331B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2768233B2 (ja) * 1993-08-26 1998-06-25 ヤマハ株式会社 電子楽器
KR0121126B1 (ko) * 1994-06-09 1997-12-04 구자홍 전자악기의 자동반주시 코드변화처리방법

Also Published As

Publication number Publication date
JPH01177089A (ja) 1989-07-13

Similar Documents

Publication Publication Date Title
JP2576700B2 (ja) 自動伴奏装置
JPS59220796A (ja) 電子楽器
US4939974A (en) Automatic accompaniment apparatus
JP3099436B2 (ja) 和音検出装置および自動伴奏装置
JPH0782325B2 (ja) モチーフ演奏装置
JPH067331B2 (ja) 自動伴奏装置
JP2956867B2 (ja) 自動伴奏装置
JPH0727382B2 (ja) 自動伴奏装置
JPH0769698B2 (ja) 自動伴奏装置
JPH0664471B2 (ja) 自動伴奏装置
JP2714455B2 (ja) モチーフ演奏装置及びモチーフ演奏方法
JP3296182B2 (ja) 自動伴奏装置
JP2705421B2 (ja) 自動伴奏装置
JP2988371B2 (ja) 自動伴奏装置
JP3082294B2 (ja) 伴奏音信号形成装置
JPH0769697B2 (ja) 自動伴奏装置
JP2619237B2 (ja) 電子楽器の自動伴奏装置
JPS61292689A (ja) 自動伴奏装置付き電子楽器
JP3289037B2 (ja) モチーフ演奏装置及びモチーフ演奏方法
JP3055352B2 (ja) 伴奏パターン作成装置
JPH0320794A (ja) 電子楽器
JPH05188961A (ja) 自動伴奏装置
JP3314079B2 (ja) モチーフ演奏装置及びモチーフ演奏方法
JP3171436B2 (ja) 自動伴奏装置
JP2962546B2 (ja) モチーフ演奏装置及びモチーフ演奏方法

Legal Events

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