JP2531424B2 - 自動伴奏装置 - Google Patents

自動伴奏装置

Info

Publication number
JP2531424B2
JP2531424B2 JP4310581A JP31058192A JP2531424B2 JP 2531424 B2 JP2531424 B2 JP 2531424B2 JP 4310581 A JP4310581 A JP 4310581A JP 31058192 A JP31058192 A JP 31058192A JP 2531424 B2 JP2531424 B2 JP 2531424B2
Authority
JP
Japan
Prior art keywords
chord
data
accompaniment
anticipation
beat
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
JP4310581A
Other languages
English (en)
Other versions
JPH06161450A (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 JP4310581A priority Critical patent/JP2531424B2/ja
Publication of JPH06161450A publication Critical patent/JPH06161450A/ja
Application granted granted Critical
Publication of JP2531424B2 publication Critical patent/JP2531424B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、記憶されたデータに
従って自動的に伴奏音を発生する自動伴奏装置に関す
る。
【0002】
【従来の技術】周知のように、自動的に伴奏音を発生す
る自動伴奏装置が各種開発されている。この種の自動伴
奏装置としては、コード進行を記憶しておき、読み出し
たコードに基づいて伴奏を行うものが知られている。
【0003】
【発明が解決しようとする課題】ところで、上記従来の
自動伴奏装置は、単に順次読み出したコードに従って伴
奏を行うため、伴奏が各時点に対応するコードに追従す
るのみとなり、伴奏にドライブ感がなく面白味のないも
のであった。
【0004】この発明は、このような背景の下になされ
たもので、伴奏にドライブ感を与えることができる自動
伴奏装置を提供することを目的としている。
【0005】
【課題を解決するための手段】請求項1に記載の発明
は、1乃至複数の所定の拍数単位でコード進行に関する
和音データを記憶したコード進行メモリと、アンティシ
ペーションを指示するアンティシペーション指示手段
と、伴奏演奏における拍の進行を指示する拍指示手段
と、上記拍指示手段に従って上記コード進行メモリに記
憶された和音データを読み出し、読み出された和音デー
タに基づいて伴奏音を発生するものであって、上記アン
ティシペーション指示手段によってアンティシペーショ
ンが指示されていない時は現在の拍に対応する上記和音
データに基づき伴奏音を発生し、上記アンティシペーシ
ョン指示手段によってアンティシペーションが指示され
た時は、現在の拍の次の拍に対応する上記和音データに
基づき伴奏音を発生する自動伴奏音発生手段とを具備す
ることを特徴とする自動伴奏装置である。また、請求項
2に記載の発明は、1乃至複数の所定の拍数単位でコー
ド進行に関する和音データを記憶したコード進行メモリ
と、アンティシペーションを指示するアンティシペーシ
ョン指示手段と、伴奏演奏における拍の進行を指示する
拍指示手段と、音高データを含む伴奏パターンデータを
記憶したメモリと、前記メモリから読み出された伴奏パ
ターンデータおよび前記コード進行メモリから読み出さ
れた和音データに基づいて伴奏音を発生するものであっ
て、上記アンティシペーション指示手段によってアンテ
ィシペーションが指示されていない時は現在の拍に対応
する前記和音データに基づき前記伴奏パターンデータ中
の音高データを音高変換し、前記アンティシペーション
指示手段によってアンティシペーションが指示された時
は、現在の拍の次の拍に対応する前記和音データに基づ
き前記伴奏パターンデータ中の音高データを音高変換
し、この音高変換したデータに基づいて伴奏音を発生す
るすることを特徴とする自動伴奏装置である。なお、上
述した各構成要件の詳細は、以下の実施例において、次
の各段落に記載されている。 1乃至複数の所定の拍数単位で・・・「0027」 コード進行に関する和音データを記憶したコード進行メ
モリ ・・・「0009」 アンティシペーションを指示するアンティシペーション
指示手段 ・・・「0011」、「0056」 伴奏演奏における拍の進行を指示する拍指示手段 ・・・「0030」、「0031」 アンティシペーション指示手段によってアンティシペー
ションが指示されて いない時は現在の拍に対応する上記
和音データに基づき伴奏音を発生 ・・・「0054」 アンティシペーション指示手段によってアンティシペー
ションが指示された 時は、現在の拍の次の拍に対応する
上記和音データに基づき伴奏音を発生 ・・・「0053」 音高データを含む伴奏パターンデータを記憶したメモリ
・・・「0010」
【0006】
【作用】この発明によれば、アンティシペーション指示
手段を有し、この指示手段によってアンティシペーショ
ンが指示された時、現在の拍の次の拍に対応する上記和
音データに基づき伴奏音を発生する。これにより、本来
のタイミングより早いタイミングにおいて伴奏音を変化
させることができ、ドライブ感のある表情豊かな伴奏音
を発生することができる。
【0007】
【実施例】以下、図面を参照して、この発明の実施例に
ついて説明する。図1はこの発明の一実施例による自動
伴奏装置の構成を示すブロック図である。この図におい
て、1は押鍵検出回路である。この押鍵検出回路1は、
図示せぬ鍵盤に対する押離鍵操作を検出し、これに応じ
た検出信号を出力する。
【0008】2はCPU(中央処理装置)であり、バス
11を介し接続されるこの装置の各部を制御する。この
CPU2の動作の詳細については後述する。3はタイマ
であり、64分長(4分音符の長さの16分の1)相当
の時間が経過する毎にCPU2に割り込み信号を供給す
る。この割り込み信号の供給により、CPU2は後述す
るタイマ割り込み処理を実行する。4はROM(読み出
し専用メモリ)で構成されたプログラムメモリであり、
CPU3が実行する制御プログラムが記憶される。5は
RAM(読み書き可能メモリ)で構成されたワーキング
メモリであり、CPU2による各種演算結果やレジスタ
値が一時記憶される。
【0009】6はRAMで構成されたコード進行メモリ
である。このコード進行メモリ6は、図2に示すよう
に、6種類のコード進行を表すテーブルCS0〜CS5
記憶されており、各テーブルCS0〜CS5には、根音R
Tと和音種類CTとから成る1拍毎の和音データCDが
先頭から順次記述されている。
【0010】また、7はROMで構成された伴奏パター
ンメモリである。この伴奏パターンメモリ7には、伴奏
スタイル(ロック、ディスコ等)毎かつ伴奏パート(リ
ズム、コード1、コード2およびベースの4パート)毎
に、2小節分の伴奏パターンデータが記憶されている。
そして、各伴奏パターンデータは、例えば図3に示すよ
うに、発音指示を表すキーオンコードKONと発音すべ
きキーコードKC、消音指示を表すキーオフコードKO
FFと消音すべきキーコードKC、前のイベントから次
の処理までの時間を表すデュレーションコードDLおよ
びデュレーションタイムDT(計時単位は64分長であ
る)、アンティシペーション(後述する)のイネーブル
を表すアンティシペーションオンコードAON、および
伴奏の終りを表すエンドコードENDの5種類のデータ
から成っている。ただし、リズムパートの伴奏パターン
データには、上記キーコードの代わりに打楽器音を表す
打楽器コードが記憶されており、また、上記アンティシ
ペーションオンコードAONはリズムパートの伴奏パタ
ーンデータにのみ含まれるものとする。
【0011】ここで、アンティシペーションとは、先行
音あるいは先取音とも呼ばれ、後続するコードを先のコ
ードへ所定時間(通常半拍程度)先行させ、曲にドライ
ブ感を持たせる手法である。この実施例では、例えば、
図4に示すようなアンティシペーションの制御を行って
いる。すなわち、同図において、まずBn-1,Bn,B
n+1が1拍の区切りのタイミングを示すものする。そし
て、図示Aonのタイミングでアンティシペーションがオ
ンされたとすると、これ以後アンティシペーションがイ
ネーブルされる。このアンティシペーションは、拍の区
切り毎にディスエーブルされるようになっており、この
場合、次の拍の区切りBnでアンティシペーションがデ
ィスエーブルされるので、区間Tにおいてアンティシペ
ーションがイネーブルとなる。つまり、この区間T内に
音符があれば、本来Bnの拍からBn+1の拍までの間に指
定されているコードに調和するようにその音符を変換す
る。なお、Aonが拍中央より前方であるのは、3連符の
場合に中央よりやや前方にも音符があることがあるか
ら、それをもカバーするためである。
【0012】この実施例では、アンティシペーションが
オンされてから次の拍の区切りBnでコードが変更され
ている場合、コード変更のタイミングが図示Aonのタイ
ミングまで先行することになる。そして、本来のコード
変更のタイミングである拍の区切りBnでアンティシペ
ーションがディスエーブルされ、通常のモードに戻る。
一方、拍の区切りBnでコードが変更されていない場合
は、上述したように、拍の区切りBnでアンティシペー
ションがディスエーブルされるのみとなる。このように
することで、通常は強拍のタイミング(1拍目、2拍
目、3拍目、……)でしか変更されないコードが、アン
ティシペーションがオンされた部分では半拍程度先行し
て弱拍でも変更されるようになり、いわゆる裏拍のタイ
ミングでコード変化が可能となり、演奏にドライブ感が
与えられる。
【0013】さて、再び図1に戻ってこの装置の構成を
説明する。同図において、8はスイッチ検出回路であ
る。このスイッチ検出回路8は、自動伴奏のスタート/
ストップや伴奏スタイルの選択等を行う各スイッチのオ
ン/オフを検出し、これに応じた操作信号を出力する。
【0014】9は音源であり、CPU2からバス11を
介し供給される楽音制御信号に応じた楽音信号を発生す
る。10はサウンドシステムであり、音源9から供給さ
れる楽音信号にノイズ除去等のフィルタリング処理を施
した後、これを増幅してスピーカから楽音として発音さ
せる。
【0015】次に、上記構成による自動伴奏装置の動作
について図5〜図8に示すフローチャートを参照し、説
明する。
【0016】A:全体動作 まず、この自動演奏装置に電源が投入されると、CPU
2はプログラムメモリ4から制御プログラムをロードす
る。そして、図5に示すメインルーチンを起動し、この
ルーチンのステップSa1に処理を進める。ステップS
a1では、各種レジスタ値をリセットする等の初期設定
を行う。そして、ステップSa2に進むと、スイッチ検
出回路8から供給される操作信号に基づき、自動伴奏の
スタート/ストップスイッチが新たに操作されたか否か
を判断する。
【0017】ここで、スタート/ストップスイッチが新
たに操作された場合、この判断結果は「Yes」とな
り、次のステップSa3に進む。ステップSa3では、
自動伴奏実行中であるか否かを表すフラグRUNの値を
反転する。そして、ステップSa4に進むと、フラグR
UNの値が「1」であるか否か、すなわち自動伴奏実行
中であるか否かを判断する。
【0018】ここで、フラグRUNの値が「1」である
場合、この判断結果「Yes」となり、次のステップS
a5に進む。ステップSa5では、以下に示す各種レジ
スタ値およびフラグ値を初期化する。 レジスタCLK:伴奏パターンデータに対応する2
小節の長さを64分長単位でカウントする際のカウント
値を記憶するレジスタであり、ここでは「0」がセット
される。 レジスタDL0〜DL3:4つの伴奏パート毎に設定
されるデュレーションタイムをダウンカウントする際の
残時間をそれぞれ記憶するレジスタであり、ここでは全
て「0」がセットされる。
【0019】 レジスタPP0〜PP3:伴奏パターン
メモリ7から伴奏パターンデータを読み出す際のポイン
タを記憶するレジスタであり、ここでは全て「0」がセ
ットされる。 フラグANT:アンティシペーションのイネーブル
/ディスエーブルの2値状態を記憶するフラグであり、
ここでは「0」がセットされ、アンティシペーションが
ディスエーブルされる。 レジスタNRT:コードの先読みを行う際に根音の
データを記憶するレジスタであり、ここではコード進行
メモリ6の先頭の根音のデータCSCSN(0)がセット
される。
【0020】 レジスタNTP:コードの先読みを行
う際に和音種類のデータを記憶するレジスタであり、こ
こではコード進行メモリ6の先頭の和音種類のデータC
CSN(1)がセットされる。 レジスタCSP:コード進行メモリ6からコード
(和音データ)を読み出す際のポインタを記憶するレジ
スタであり、ここでは先頭から2番目の和音データのア
ドレス「2」がセットされる。 そして、この初期化を行った後、ステップSa7に進
む。
【0021】一方、前述のステップSa4において、フ
ラグRUNの値が「0」である場合、ステップSa4の
判断結果は「No」となり、ステップSa6に進む。ス
テップSa6では、CPU2が音源9の伴奏用チャネル
に消音指示信号を出力し、自動伴奏が停止される。そし
て、ステップSa7に進む。
【0022】また、前述のステップSa2において、ス
タート/ストップスイッチが新たに操作されていない場
合、ステップSa2の判断結果は「No」となり、上記
ステップSa3〜Sa6の処理を行わず、直接ステップ
Sa7に進む。
【0023】次に、ステップSa7に進むと、鍵盤の各
キーを走査し、キーイベントが有ったか否かを判断す
る。ここで、キーイベントが有った場合、この判断結果
は「Yes」となり、次のステップSa8に進む。ステ
ップSa8では、押鍵検出回路1から出力される検出信
号を取り込み、これに応じたキーオンあるいはキーオフ
信号、キーコード信号等を音源9へ供給する。これによ
り、自動伴奏に合わせたメロディー演奏等の鍵盤操作に
応じた楽音が発生される。そして、ステップSa9に進
む。一方、ステップSa7においてキーイベントがない
場合、ここでの判断結果は「No」となり、ステップS
a8のキーイベント処理を行わず、直接ステップSa9
に進む。
【0024】そして、ステップSa9に進むと、スイッ
チ検出回路8から供給される操作信号に基づき、スタイ
ル選択スイッチが新たに操作されたか否かを判断する。
ここで、スタイル選択スイッチが新たに操作された場
合、この判断結果は「Yes」となり、次のステップS
a10に進む。ステップSa10では、操作者が選択し
た伴奏スタイルに対応するスタイルナンバをレジスタS
TYLにセットする。次に、ステップSa11に進む
と、音源9の伴奏用の各チャネルに、レジスタSTYL
にセットしてあるスタイルナンバに対応した音色をセッ
トする。そして、ステップSa12に進む。一方、上記
ステップSa9において、スタイル選択スイッチが操作
されていない場合、ここでの判断結果は「No」とな
り、ステップSa10,Sa11のスタイル選択処理を
行わず、直接ステップSa12に進む。
【0025】次に、ステップSa12に進むと、スイッ
チ検出回路8から供給される操作信号に基づき、コード
進行選択スイッチが新たに操作されたか否かを判断す
る。ここで、コード進行選択スイッチが新たに操作され
た場合、この判断結果は「Yes」となり、次のステッ
プSa13に進む。ステップSa13では、操作者が選
択したコード進行に対応するコード進行ナンバ(6種類
のコード進行を表すテーブルCS0〜CS5に対応するナ
ンバ)をレジスタCSNにセットする。そして、ステッ
プSa14に進む。一方、上記ステップSa12におい
て、コード進行選択スイッチが操作されていない場合、
ここでの判断結果は「No」となり、ステップSa13
のコード進行選択処理を行わず、直接ステップSa14
に進む。
【0026】ステップSa14では、スイッチ検出回路
8から供給される操作信号に基づき、コード進行入力モ
ードスイッチがオン状態になっているか否かを判断す
る。ここで、コード進行入力モードスイッチがオン状態
になっている場合、この判断結果は「Yes」となり、
次のステップSa15に進む。ステップSa15では、
フラグRUNの値が「0」であるか否か、すなわち自動
伴奏実行中でないか否かを判断する。
【0027】ここで、自動伴奏実行中でなければ、この
判断結果が「Yes」となり、ステップSa16に進
む。ステップSa16では、操作者によって入力される
コード進行のデータをコード進行メモリ6に書き込む。
ただし、ここで入力されるコード進行のデータは、1拍
単位あるいはそれ以上の拍数の単位を最小単位するデー
タである。そして、ステップSa17に進む。
【0028】一方、上記ステップSa15において自動
伴奏実行中であれば、ここでの判断結果は「No」とな
り、ステップSa16のコード進行入力処理を行わず、
直接ステップSa17に進む。また、上記ステップSa
14において、コード進行入力モードスイッチがオン状
態でない場合、ここでの判断結果は「No」となり、ス
テップSa15,Sa16の処理を行わず、直接ステッ
プSa17に進む。
【0029】そして、ステップSa17において上記以
外の種々の処理を行った後、CPU2の処理は前述のス
テップSa2に戻り、以後、後述するタイマ3による割
り込みがかからない間、上記ステップSa2〜Sa17
の動作が繰り返し実行される。
【0030】B:タイマ割り込み処理 タイマ3から64分長経過毎の割り込み信号が供給され
ると、CPU2はその度に図6に示すタイマ割り込み処
理ルーチンを起動し、ステップSb1に処理を進める。
ステップSa1では、レジスタCLKの値を16で除算
したときの余りCLKmod16が「0」であるか否か、
すなわち現在が拍の先頭のタイミングであるか否かを判
断する。
【0031】ここで、拍の先頭のタイミングであれば、
この判断結果は「Yes」となり、次のステップSb2
に進む。ステップSb2では、コードの先読みを行うた
めに、レジスタNRTの値をワーク用のレジスタRTに
セットすると共に、レジスタNTPの値をワーク用のレ
ジスタTPにセットする。これにより、現在のコードに
対応したデータがワーク用のレジスタRT,TPに保持
される。次に、ステップSb3に進むと、コード進行メ
モリ6のポインタが指しているデータCSCSN(CS
P)がエンドコードでないか否か、すなわちコード進行
メモリ6の読み出すべきコードデータが有るか無いかを
判断する。
【0032】ここで、データCSCSN(CSP)がエン
ドコードでなければ、この判断結果は「Yes」とな
り、次のステップSb4に進む。ステップSb4では、
コード進行メモリ6のポインタが指している和音データ
のうち、根音のデータCSCSN(CSP)をレジスタN
RTに、和音種類のデータCSCSN(CSP+1)をレ
ジスタNTPにそれぞれセットする。これにより、先読
みしたコードデータがレジスタNRT,NTPに保持さ
れる。次に、ステップSb5に進むと、レジスタCSP
の値を「2」インクリメントし、コード進行メモリ6の
ポインタが次の拍に対応する和音データを指すようにす
る。そして、ステップSb6に進む。
【0033】一方、ステップSb3において、コード進
行メモリ6のポインタが指しているデータCSCSN(C
SP)がエンドコードで、読み出すべきデータの終了を
示している場合、ここでの判断結果は「No」となり、
ステップSb4,Sb5の処理を行わず直接ステップS
a6に進む。次に、ステップSb6に進むと、CPU2
は再生処理ルーチン(図7参照)を起動し、再生処理を
行う(後述する)。
【0034】再生処理が終了し、タイマ割り込み処理ル
ーチン(図6参照)に処理が復帰すると、ステップSb
7に進む。ステップSb7では、レジスタCLKの値を
「1」インクリメントし、64分長単位のタイムカウン
トを行う。そして、ステップSb8に進むと、レジスタ
CLKの値が2小節の長さに達したか否か、すなわち現
在が2小節の終わりのタイミングであるか否かを判断す
る。
【0035】ここで、現在が2小節の終わりのタイミン
グである場合、この判断結果は「Yes」となり、次の
ステップSb9に進む。ステップSb9では、レジスタ
PP0〜PP3の全てを「0」クリアし、伴奏パターンメ
モリ7のポインタを先頭アドレスに戻す。これにより、
伴奏パターンデータが再び先頭から読み出される。ま
た、レジスタCLKを「0」クリアし、2小節の長さの
計時を再開する。そして、ステップSb10に進む。一
方、上記ステップSb8において、2小節の終わりのタ
イミングでない場合、ステップSb8の判断結果は「N
o」となり、ステップSb9の処理を行わず、直接ステ
ップSa10に進む。
【0036】次に、ステップSb10では、ステップS
b1と同様、現在が拍の先頭のタイミングであるか否か
を判断する。ここで、拍の先頭のタイミングであれば、
この判断結果は「Yes」となり、次のステップSb1
1に進む。ステップSb11では、フラグANTを
「0」に反転してアンティシペーションをディスエーブ
ルする。すなわち、この実施例では、拍の区切り毎にア
ンティシペーションをディスエーブルするようになって
いる。そして、CPU2の処理はメインルーチンに復帰
する。一方、上記ステップSb10において、拍の先頭
のタイミングでない場合、ここでの判断結果は「No」
となり、ステップSb11の処理を行わず、処理はその
ままメインルーチンに復帰する。
【0037】C:再生処理 上記タイマ割り込み処理ルーチンのステップSb6(図
6参照)に処理が進むと、CPU2は、図7に示す再生
処理ルーチンを起動し、このルーチンのステップSc1
に処理を進める。ステップSc1では、リズム、コード
1、コード2およびベースの各パートに対応するパート
ナンバのうち、リズムパートに対応するパートナンバ
「0」をレジスタPNにセットする。なお、その他のパ
ートナンバとしては、コード1には「1」、コード2に
は「2」、ベースには「3」がそれぞれ対応している。
【0038】次に、ステップSc2に進むと、レジスタ
DLPNの値が「0」であるか否か、すなわちこの場合リ
ズムパートに設定されているデュレーションタイムが経
過したか否かを判断する。
【0039】ここで、デュレーションタイムが経過して
いなければ、ステップSc11に進む。ステップSc1
1では、レジスタDLPNの値を「1」デクリメントし、
デュレーションタイムをダウンカウントする。そして、
ステップSc9に進むと、レジスタPNの値を「1」イ
ンクリメントし、次のパートであるコード1に再生処理
の対象を切り替える。
【0040】次に、ステップSc10に進むと、レジス
タPNにセットされている現在のパートナンバが「4」
であるか否か、すなわち全ての伴奏パートの再生処理を
終えたか否かを判断する。この場合、伴奏パートは上記
ステップSc9でコード1に設定されているので、ここ
での判断結果は「No」となり、前述のステップSc2
に戻る。そして、各パートについてデュレーションタイ
ムが経過していなければ、上記ステップSc2,Sc1
1,Sc9,Sc10の動作を繰り返えす。こうして、
レジスタPNの値が「4」に達すると、ステップSc1
0の判断結果が「Yes」となり、処理は前述のタイマ
割り込み処理ルーチンに復帰する。そして、タイマ割り
込み処理ルーチンが起動される毎に、前述のステップS
b6(図6参照)でこの再生処理ルーチンが起動され、
上記動作が繰り返される。
【0041】こうして、例えばリズムパートのデュレー
ションタイムが経過したとすると、前述のステップSc
2の判断結果が「Yes」となり、ステップSc3に処
理が進む。ステップSc3では、前述のステップSa1
0においてレジスタSTYLにセットしてあるスタイル
ナンバに対応し、かつ当該パート(この場合、リズムパ
ート)に対応したポインタPPPNが指している伴奏パタ
ーンデータPTNSTYL ,PN(PPPN)を、伴奏パターン
メモリ7から読み出し、これをレジスタDATAにセッ
トする。
【0042】そして、ステップSc4に進むと、レジス
タDATAの値がエンドコードであるか否か、すなわち
当該パートが伴奏の終わりに達したか否かを判断する。
ここで、レジスタDATAの値がエンドコードである場
合、ステップSc9に進み、以下、前述したように、再
生処理の対象となるパートを切り替え、他のパートにつ
いてデュレーションタイムが経過していなければ、上記
ステップSc2,Sc11,Sc9,Sc10の動作を
繰り返す。
【0043】一方、上記ステップSc4において、レジ
スタDATAの値がエンドコードでない場合、ステップ
Sc5に進む。ステップSc5では、レジスタDATA
の値がキーオンコードであるか否かを判断する。ここ
で、レジスタDATAの値がキーオンコードである場
合、ステップSc12に進む。ステップSc12では、
CPU2が発音処理ルーチン(図8参照)を起動し、発
音処理を行う(後述する)。
【0044】発音処理が終了し、再生処理ルーチン(図
7参照)に処理が復帰すると、ステップSc16に進
む。ステップSc16では、レジスタPPPNの値を
「2」インクリメントした後、前述のステップSc3に
戻る。そして、次の伴奏パターンデータを読み出し、上
記ステップSc4以下の判断を繰り返す。
【0045】一方、上記ステップSc5において、レジ
スタDATAの値がキーオンコードでない場合、ステッ
プSc6に進む。ステップSc6では、レジスタDAT
Aの値がキーオフコードであるか否かを判断する。ここ
で、レジスタDATAの値がキーオフコードである場
合、ステップSc13に進む。ステップSc13では、
伴奏パターンメモリ7から、次のアドレスに記憶されて
いるキーコード(ただし、この場合、リズムパートであ
るから打楽器コードとなる)PTNSTYL,PN(PPP N
1)を読み出し、これをレジスタKCにセットする。
【0046】次に、ステップSc14に進むと、CPU
2は、キーオフ信号とレジスタKCにセットしてあるキ
ーコード(打楽器コード)とを音源9へ供給する。これ
により、音源9による楽音信号の発生が停止され、消音
される。次に、CPU1の処理がステップSc16に進
むと、レジスタPPPNの値を「2」インクリメントし、
伴奏パターンメモリ7のポインタが次の伴奏パターンデ
ータを指すようにする。そして、前述のステップSc3
に戻って次の伴奏パターンデータを読み出した後、上記
ステップSc4以下の判断を繰り返す。
【0047】一方、上記ステップSc6において、レジ
スタDATAの値がキーオフコードでない場合、ステッ
プSc7に進む。ステップSc7では、レジスタDAT
Aの値がアンティシペーションオンコードであるか否か
を判断する。ここで、レジスタDATAの値がアンティ
シペーションオンコードである場合、ステップSc15
に進む。ステップSc15では、フラグANTの値を
「1」に反転し、アンティシペーションをイネーブルす
る。そして、ステップSc16でレジスタPPPNの値を
「2」インクリメントした後、前述のステップSc3に
戻り、上記動作を繰り返す。
【0048】一方、上記ステップSc7において、レジ
スタDATAの値がアンティシペーションオンコードで
ない場合(この場合、レジスタDATAの値がデュレー
ションコードであることを意味している。)、次のステ
ップSc8に進む。ステップSc8では、伴奏パターン
メモリ7の次アドレスに記憶されているデュレーション
タイムのデータPTNSTYL,PN(PPPN+1)を読み出
し、これをレジスタDLPNにセットする。これにより、
デュレーションタイムが再設定される。そして、ステッ
プSc9において伴奏パートが切り替えられ、以後、上
述した再生動作が他のパートについて繰り返えされる。
【0049】D:発音処理 上記再生処理ルーチンのステップSc12(図7参照)
に処理が進むと、CPU2は、図8に示す発音処理ルー
チンを起動し、ステップSd1に処理を進める。ステッ
プSd1では、レジスタPNの値が「0」であるか否
か、すなわち当該パートがリズムパートであるか、それ
ともリズムパート以外のパートであるかを判断する。
【0050】ここで、当該パートがリズムパートである
場合、この判断結果は「Yes」となり、ステップSd
7に進む。ステップSd7では、伴奏パターンメモリ7
から、次のアドレスに記憶されている打楽器コードPT
STYL,PN(PPPN+1)を読み出し、これをレジスタ
RNにセットする。次に、ステップSd8に進むと、C
PU2は、キーオン信号とレジスタRNにセットしてあ
る打楽器コードとを音源9へ供給する。これにより、音
源9が打楽器によるリズム音をサウンドシステム10へ
供給し、発音が行われる。そして、CPU2の処理はこ
の発音処理ルーチンを終了し、再生処理ルーチン(図7
参照)に復帰する。すなわち、リズムパートでは、アン
ティシペーションのオン/オフに関係なく発音処理が行
われる。
【0051】一方、当該パートがリズムパート以外のパ
ートである場合、前述のステップSd1の判断結果は
「No」となり、ステップSd2に進む。ステップSd
2では、伴奏パターンメモリ7から、キーオンコードの
次のアドレスに記憶されているキーコードPTN
STYL,PN(PPPN+1)を読み出し、これをレジスタK
Cにセットする。次に、ステップSd3に進むと、フラ
グANTの値が「1」であるか否か、すなわちアンティ
シペーションがイネーブルされているか否かを判断す
る。
【0052】ここで、アンティシペーションがイネーブ
ルされている場合、次のステップSd4に進む。ステッ
プSd4では、レジスタNRTの値とレジスタRTの値
とが等しく、かつレジスタNTPの値とレジスタTPの
値とが等しいか否かを判断する。すなわち、ここでは、
先読みしたコードを用いて、コード変化がないか否かを
判断している。
【0053】ここで、コード変化がある場合、この判断
結果は「No」となり、ステップSd5に進む。ステッ
プSd5では、レジスタNRTの値とレジスタNTPの
値、すなわち先読みしてあるコードに対応した根音のデ
ータと和音種類のデータとに基づき、レジスタKCにセ
ットしてあるキーコードの音高変換を行う。次に、ステ
ップSd6に進むと、CPU2は、キーオン信号と上記
ステップSd5で音高変換を行ったキーコードとを音源
9へ供給する。これにより、音源9は先読みした変更後
のコードに基づいた楽音信号をサウンドシステム10へ
供給し、発音が行われる。そして、CPU2の処理はこ
の発音処理ルーチンを終了し、再生処理ルーチン(図7
参照)に復帰する。
【0054】一方、前述のステップSd4において、コ
ード変化がない場合、ステップSd9に進む。ステップ
Sd9では、レジスタRTの値とレジスタTPの値、す
なわち現在のコードに対応した根音のデータと和音種類
のデータとに基づき、レジスタKCにセットしてあるキ
ーコードの音高変換を行う。次に、ステップSd6に進
むと、CPU2はキーオン信号と上記ステップSd9で
音高変換を行ったキーコードとを音源9へ供給し、これ
によりアンティシペーションでない通常の発音が行われ
る。そして、CPU2の処理はこの発音処理ルーチンを
終了し、再生処理ルーチン(図7参照)に復帰する。
【0055】上述したように、この実施例では、伴奏パ
ターンメモリ7のリズムパートに対応する伴奏パターン
データにアンティシペーションオンコードを含ませてお
き、このコードが読み出されたタイミングでアンティシ
ペーションをイネーブルしている(ステップSc1
5)。一方、コード進行メモリ6の和音データを1拍分
先読みしておき(ステップSb4)、アンティシペーシ
ョンがイネーブルされている間、コード変化が検出され
ると(ステップSd5)、そのコード変化を現在の発音
タイミングまで先行させ(ステップSd6)、リズムパ
ート以外のパートについて変更後のコードに基づいた発
音を行うようにしている。そして、本来のコード変化の
タイミング、すなわち次の拍の区切りのタイミングでア
ンティシペーションをディスエーブルする(ステップS
b11)。このような動作が、アンティシペーションオ
ンコードが読み出される毎に繰り返される。
【0056】なお、この実施例では、アンティシペーシ
ョンオンコードをリズムパートの伴奏パターンデータに
のみ含ませるようにしているが、これに限らず、例えば
各パートの伴奏パターンデータにそれぞれ個別にアンテ
ィシペーションオンコードを含ませ、伴奏パート毎独立
にアンティシペーションの制御を行うようにしてもよ
い。その際、それぞれのパートのシンコペーションのあ
る部分に対してアンティシペーションを行うと、よりシ
ンコペーションが強調される。また、アンティシペーシ
ョンのイネーブル/ディスエーブルの制御を、本実施例
のような態様にするのでなく、例えばアンティシペーシ
ョン制御用のスイッチを設け、これを操作して制御する
ようにしてもよい。
【0057】
【発明の効果】以上説明したように、この発明によれ
ば、アンティシペーションの指示によってコード変化の
タイミングが先行され、拍タイミング以外のタイミング
でも和音が進行変化するので、伴奏にドライブ感を与え
ることができ、表情豊かな伴奏音が実現される。
【図面の簡単な説明】
【図1】 この発明の一実施例による自動伴奏装置の構
成を示すブロック図である。
【図2】 同実施例におけるコード進行メモリの記憶内
容を示す図である。
【図3】 同実施例における伴奏パターンメモリの記憶
内容を示す図である。
【図4】 同実施例によるアンティシペーション制御の
概略を示す図である。
【図5】 同実施例において、CPUが実行する制御プ
ログラムのメインルーチンを示すフローチャートであ
る。
【図6】 同実施例において、CPUが実行する制御プ
ログラムのタイマ割り込み処理ルーチンを示すフローチ
ャートである。
【図7】 同実施例において、CPUが実行する制御プ
ログラムの再生処理ルーチンを示すフローチャートであ
る。
【図8】 同実施例において、CPUが実行する制御プ
ログラムの発音処理ルーチンを示すフローチャートであ
る。
【符号の説明】
1……押鍵検出回路、2……CPU、3……タイマ、4
……プログラムメモリ、5……ワーキングメモリ、6…
…コード進行メモリ、7……伴奏パターンメモリ、8…
…スイッチ検出回路、9……音源、10……サウンドシ
ステム、11……バス

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 1乃至複数の所定の拍数単位でコード進
    行に関する和音データを記憶したコード進行メモリと、 アンティシペーションを指示するアンティシペーション
    指示手段と、 伴奏演奏における拍の進行を指示する拍指示手段と、 上記拍指示手段に従って上記コード進行メモリに記憶さ
    れた和音データを読み出し、読み出された和音データに
    基づいて伴奏音を発生するものであって、上記アンティ
    シペーション指示手段によってアンティシペーションが
    指示されていない時は現在の拍に対応する上記和音デー
    タに基づき伴奏音を発生し、上記アンティシペーション
    指示手段によってアンティシペーションが指示された時
    は、現在の拍の次の拍に対応する上記和音データに基づ
    き伴奏音を発生する自動伴奏音発生手段と、 を具備することを特徴とする自動伴奏装置。
  2. 【請求項2】 1乃至複数の所定の拍数単位でコード進
    行に関する和音データを記憶したコード進行メモリと、 アンティシペーションを指示するアンティシペーション
    指示手段と、 伴奏演奏における拍の進行を指示する拍指示手段と、 音高データを含む伴奏パターンデータを記憶したメモリ
    と、 前記メモリから読み出された伴奏パターンデータおよび
    前記コード進行メモリから読み出された和音データに基
    づいて伴奏音を発生するものであって、上記アンティシ
    ペーション指示手段によってアンティシペーションが指
    示されていない時は現在の拍に対応する前記和音データ
    に基づき前記伴奏パターンデータ中の音高データを音高
    変換し、、前記アンティシペーション指示手段によって
    アンティシペーションが指示された時は、現在の拍の次
    の拍に対応する前記和音データに基づき前記伴奏パター
    ンデータ中の音高データを音高変換し、この音高変換し
    たデータに基づいて伴奏音を発生するすることを特徴と
    する自動伴奏装置。
JP4310581A 1992-11-19 1992-11-19 自動伴奏装置 Expired - Fee Related JP2531424B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4310581A JP2531424B2 (ja) 1992-11-19 1992-11-19 自動伴奏装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4310581A JP2531424B2 (ja) 1992-11-19 1992-11-19 自動伴奏装置

Publications (2)

Publication Number Publication Date
JPH06161450A JPH06161450A (ja) 1994-06-07
JP2531424B2 true JP2531424B2 (ja) 1996-09-04

Family

ID=18006967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4310581A Expired - Fee Related JP2531424B2 (ja) 1992-11-19 1992-11-19 自動伴奏装置

Country Status (1)

Country Link
JP (1) JP2531424B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5504883B2 (ja) * 2009-12-25 2014-05-28 ヤマハ株式会社 自動伴奏装置
JP5504884B2 (ja) * 2009-12-25 2014-05-28 ヤマハ株式会社 自動伴奏装置
JP6507477B2 (ja) * 2014-03-20 2019-05-08 カシオ計算機株式会社 コード演奏タイミング指定装置、方法、およびプログラム

Also Published As

Publication number Publication date
JPH06161450A (ja) 1994-06-07

Similar Documents

Publication Publication Date Title
US5481066A (en) Automatic performance apparatus for storing chord progression suitable that is user settable for adequately matching a performance style
JP2531424B2 (ja) 自動伴奏装置
JP2586740B2 (ja) 電子楽器
JP3785934B2 (ja) 自動伴奏装置、方法、プログラム及び媒体
JP3509116B2 (ja) 電子楽器
JP2555560B2 (ja) 電子楽器
JP3039311B2 (ja) 電子楽器
JP2546467B2 (ja) 電子楽器
JP2530744Y2 (ja) 電子楽器
JP2640992B2 (ja) 電子楽器の発音指示装置及び発音指示方法
JP3940999B2 (ja) 演奏装置および演奏方法
JP3667387B2 (ja) 電子楽器
JPH0743593B2 (ja) 電子楽器の音域変換装置
JPH1185153A (ja) 演奏装置
JP3329030B2 (ja) 楽音信号発生装置
JP2842440B2 (ja) 自動伴奏装置
JP2879742B2 (ja) 自動伴奏装置
JP2526439B2 (ja) 電子楽器
JP2848092B2 (ja) 自動伴奏装置
JP2694788B2 (ja) 電子楽器
JP2674454B2 (ja) 自動伴奏装置
JP2001282243A (ja) 電子楽音発生装置、電子楽音発生方法及び記録媒体
JP3548810B2 (ja) 楽曲データ記録装置
JP2646925B2 (ja) 電子楽器の自動伴奏装置
JPH11194773A (ja) 自動伴奏装置および自動伴奏方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19960507

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080627

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090627

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees