JPH10222166A - 自動伴奏装置 - Google Patents

自動伴奏装置

Info

Publication number
JPH10222166A
JPH10222166A JP9034327A JP3432797A JPH10222166A JP H10222166 A JPH10222166 A JP H10222166A JP 9034327 A JP9034327 A JP 9034327A JP 3432797 A JP3432797 A JP 3432797A JP H10222166 A JPH10222166 A JP H10222166A
Authority
JP
Japan
Prior art keywords
automatic accompaniment
data
code
chord
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.)
Granted
Application number
JP9034327A
Other languages
English (en)
Other versions
JP3455050B2 (ja
Inventor
Kiyomi Kurebayashi
清巳 紅林
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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing Co Ltd
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 Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP03432797A priority Critical patent/JP3455050B2/ja
Publication of JPH10222166A publication Critical patent/JPH10222166A/ja
Application granted granted Critical
Publication of JP3455050B2 publication Critical patent/JP3455050B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】本発明は、簡単な操作であるにも拘わらず、ユ
ーザの曲想に合致した変化に富んだ自動伴奏を行うこと
のできる自動伴奏装置を提供する。 【解決手段】楽音信号に基づいて自動伴奏音を発生する
自動伴奏装置であって、ベーシックパターン用の自動伴
奏データ及びフィルインパターン用の自動伴奏データを
記憶する自動伴奏データ記憶手段1と、押鍵データから
コードを検出するコード検出手段2と、特定コードを設
定する特定コード設定手段3と、該コード検出手段で検
出されたコードが該特定コード設定手段で設定された特
定コードに一致する場合に該自動伴奏データ記憶手段か
らフィルインパターン用の自動伴奏データを読み出し、
そうでない場合にベーシックパターン用の自動伴奏デー
タを読み出す読出手段4と、該読出手段で読み出された
自動伴奏データに基づき楽音信号を生成する楽音信号生
成手段5、とを備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は自動伴奏装置に関
し、特に簡単な操作によって変化に富んだ自動伴奏を可
能にする技術に関する。
【0002】
【従来の技術】従来、ユーザによって選択されたリズム
に従って自動伴奏を行う自動伴奏装置が知られている。
この自動伴奏装置は、複数のリズムの各々に対応する複
数の自動伴奏データを記憶するための自動伴奏データメ
モリ及び楽音信号を生成するための楽音信号生成装置を
備えている。自動伴奏データメモリに記憶される各自動
伴奏データは、1〜数小節程度の自動伴奏音を発生させ
るための音符データ群で構成されている。
【0003】この自動伴奏装置は、自動伴奏を開始させ
るための自動伴奏スイッチが押されると、ユーザによっ
て選択されたリズムに対応する自動伴奏データを自動伴
奏データメモリから読み出し、楽音信号生成装置に送
る。楽音信号生成装置は、この自動伴奏データに基づい
て楽音信号を生成し、スピーカに送る。これにより、ユ
ーザによって選択されたリズムに対応する自動伴奏音が
発生される。
【0004】ここで、各リズムの基本的な伴奏パターン
を当該リズムのベーシックパターンという。自動伴奏装
置は、このベーシックパターンを繰り返して発生する。
ところが、かかるベーシックパターンの繰り返しのみで
は自動伴奏が単調になってしまう。そこで、従来の自動
伴奏装置では、ベーシックパターンの繰り返しの途中
で、該ベーシックパターンとは異なった伴奏パターンを
挿入できるようになっている。この伴奏パターンをフィ
ルインパターンという。フィルインパターンの挿入は、
例えば操作パネル上のフィルインスイッチ又はフットペ
ダルを操作することによって行われる。
【0005】従って、フィルインパターンの挿入にフィ
ルインスイッチが用いられる自動伴奏装置においては、
例えば左手でコードを指定しながら右手でメロディを演
奏している状態でフィルインパターンを挿入しようとす
ると、コードの指定かメロディの演奏の何れかを中断し
なければならない。従って、この自動伴奏装置では演奏
が制限されるという問題がある。また、フィルインパタ
ーンの挿入にフットペダルを用いる自動伴奏装置では、
両手の他に足による指定も必要であるので、演奏に集中
できないという問題がある。
【0006】また、従来の自動伴奏装置は、上述したよ
うに、自動伴奏データメモリから自動伴奏データを読み
出して楽音信号生成装置に送ることにより自動伴奏音を
発生する。従って、ユーザが自動伴奏に合わせてメロデ
ィやソロフレーズを弾いたとしても、これと自動伴奏と
は無関係である。即ち、ユーザが所謂「ノリ」のよい演
奏をしたとしても、このノリは自動伴奏に反映されず、
自動伴奏は自動伴奏データに忠実に従った自動伴奏音を
発生しながら独自に進行するだけである。
【0007】近年の多くの自動伴奏装置においては、ユ
ーザは、膨大な種類のリズムの中から該ユーザが所望す
る曲想に近いリズムを選ぶことができる。従って、ユー
ザは、或る程度ノリのよいリズムを選ぶことが可能であ
る。しかしながら、自動伴奏は自動伴奏データに忠実に
従った自動伴奏音を発生するだけであるので、ユーザは
自分のノリに自動伴奏を合わせることは不可能である。
従って、ユーザは、選択したリズムの自動伴奏のノリに
自分の演奏を合わせるしかなかった。この問題は、ユー
ザのノリに合致するように自動伴奏データを編集し直す
ことによって解決できるが、この編集を行うには、音楽
及び自動伴奏に関する高度な知識と膨大な手間が必要で
ある。
【0008】また、自動伴奏をバックにした演奏を行う
場合、曲の進行の途中でテンションノートを含んだコー
ド(以下、「テンションコード」という)を挿入したい
場合がしばしば発生する。ここでテンションコードと
は、基本的なコード構成音の上部に、所定の非コード構
成音、即ちテンションノートを積み重ねることによって
一種の緊張感を感じさせるコードをいう。しかしなが
ら、テンションコードは押鍵フォームが特殊であるので
押さえ難く、且つ該押鍵フォームを覚えることも困難で
あった。
【0009】
【発明が解決しようとする課題】本発明の目的は、かか
る諸問題を解消するためになされたもので、簡単な操作
であるにも拘わらず、ユーザの曲想に合致した変化に富
んだ自動伴奏を行うことのできる自動伴奏装置を提供す
ることにある。
【0010】
【課題を解決するための手段】本発明の第1の態様に係
る自動伴奏装置は、上記目的を達成するために、図1に
示すように、楽音信号に基づいて自動伴奏音を発生する
自動伴奏装置であって、ベーシックパターン用の自動伴
奏データ及びフィルインパターン用の自動伴奏データを
記憶する自動伴奏データ記憶手段と、押鍵データからコ
ードを検出するコード検出手段と、特定コードを設定す
る特定コード設定手段と、該コード検出手段で検出され
たコードが該特定コード設定手段で設定された特定コー
ドに一致する場合に該自動伴奏データ記憶手段からフィ
ルインパターン用の自動伴奏データを読み出し、そうで
ない場合にベーシックパターン用の自動伴奏データを読
み出す読出手段と、該読出手段で読み出された自動伴奏
データに基づき楽音信号を生成する楽音信号生成手段、
とを備えている。
【0011】自動伴奏データ記憶手段は、例えばリード
オンリメモリ(以下、「ROM」と略す)又はランダム
アクセスメモリ(以下、「RAM」と略す)で構成でき
る。自動伴奏データ記憶手段をRAMで構成する場合
は、本自動伴奏装置を動作させるに先立って、自動伴奏
データ記憶手段にベーシックパターン用及びフィルイン
パターン用の各自動伴奏データをロードしておく。
【0012】この自動伴奏データ記憶手段には、複数の
リズムの各々に対応する複数のベーシックパターン用の
自動伴奏データ及びフィルインパターン用の自動伴奏デ
ータを記憶するように構成できる。この場合、リズムの
種類は、例えば操作パネルに設けたリズム選択スイッチ
で選択するように構成できる。各自動伴奏データは、1
〜数小節程度の短い伴奏パターンを発生するための音符
データ群で構成できる。なお、1つの音符データは、1
つの音を発生するためのデータで構成される。図2は所
定のリズムの1小節で成るベーシックパターンの一例を
示す譜面であり、図3は該リズムの1小節で成るフィル
インパターンの一例を示す譜面である。自動伴奏データ
記憶手段には、これらの譜面に表された伴奏パターンを
発生するための音符データ群が記憶される。
【0013】なお、この音符データ群には、コード構成
音を発生するためのデータのみならず、ドラム音、ベー
ス音等を発生するためのデータを加えることもできる。
また、ベーシックパターン及びフィルインパターンの長
さは1小節に限定されず、任意の長さとすることができ
る。
【0014】コード検出手段は、例えば中央処理装置
(以下、「CPU」という)で構成できる。このコード
検出手段は、押鍵データからコードを検出する。押鍵デ
ータとしては、例えば鍵盤装置から得られる鍵盤デー
タ、又は外部装置から送られてくるノートオンのMID
Iメッセージ等を用いることができる。この押鍵データ
には、音高、音長及び音の強さを指定するデータが含ま
れる。このコード検出手段におけるコードの検出方法
は、周知の如何なる方法をも用いることができる。この
コード検出手段で検出されたコードは読出手段に供給さ
れる。
【0015】特定コード設定手段は、例えばコードを表
すデータを入力可能な操作パネルで構成できる。ユーザ
は、この特定コード設定手段によって任意のコードを特
定コードとして設定できる。ここでいう特定コードに
は、1つのコード及び複数のコードが含まれる。この特
定コード設定手段で設定された特定コードは読出手段に
供給される。
【0016】読出手段は例えばCPUで構成できる。こ
の読出手段は、上記コード検出手段で検出されたコード
と特定コード設定手段で設定された特定コードとを比較
する。そして、これらが一致すると、上記自動伴奏デー
タ記憶手段からフィルインパターン用の自動伴奏データ
を読み出し、一致しなければベーシックパターン用の自
動伴奏データを読み出す。この読出手段で読み出された
自動伴奏データは楽音信号生成手段に供給される。
【0017】楽音信号生成手段は、読出手段からの自動
伴奏データに基づいて楽音信号を生成する。この楽音信
号生成手段は、所謂トーンジェネレータで構成できる。
本自動伴奏装置は、この楽音信号生成手段で生成された
楽音信号に基づいて自動伴奏音を発生する。
【0018】本発明の第1の態様に係る自動伴奏装置に
おいては、上記コード検出手段で検出されるコード及び
上記特定コード設定手段で設定される特定コードは各々
コードタイプ及びコードルートで成り、上記読出手段
は、該コード検出手段で検出されたコードのコードタイ
プ及びコードルートの双方が該特定コード設定手段で設
定された特定コードのコードタイプ及びコードルートに
一致する場合に該自動伴奏データ記憶手段からフィルイ
ンパターン用の自動伴奏データを読み出し、そうでない
場合にベーシックパターン用の自動伴奏データを読み出
すように構成できる。
【0019】例えば、特定コードとして「C7」が設定
された状態で、『FM7→F6→Em7→A7→Dm7
→G7→CM7→C7』の各コードが1小節毎に順次指
定されたとする。この場合、先頭から7小節の間はベー
シックパターンの自動伴奏データが読み出され、第8小
節目にフィルインパターンの自動伴奏データが読み出さ
れる。従って、図4(a)及び(b)に示すように、第
1〜第7小節では、コード検出手段で検出されたコード
ルート及びコードタイプに従って展開されたコード構成
音がベーシックパターンに従って発生され、第8小節で
は、コード検出手段で検出されたコードルート及びコー
ドタイプに従って展開されたコード構成音がフィルイン
パターンに従って発生される。
【0020】この自動伴奏装置によれば、ユーザが特定
コードが押される度にフィルインパターンが挿入されな
がら自動伴奏が進行するので、従来の自動伴奏装置のよ
うに、フィルインパターンを挿入するためのスイッチや
ペダルを操作する必要がない。従って、スイッチ操作に
伴う演奏の中断は起こらず、またペダル操作に伴って演
奏が散漫になることもない。
【0021】また、本発明の第1の態様に係る自動伴奏
装置においては、上記コード検出手段で検出されるコー
ドはコードタイプ及びコードルートで成り、上記特定コ
ード設定手段で設定される特定コードはコードタイプで
成り、上記読出手段は、該コード検出手段で検出された
コードのコードタイプが該特定コード設定手段で設定さ
れた特定コードに一致する場合に該自動伴奏データ記憶
手段からフィルインパターン用の自動伴奏データを読み
出し、そうでない場合にベーシックパターン用の自動伴
奏データを読み出すように構成できる。
【0022】例えば、ユーザが特定コードとして「7t
h」(コードルートを含まない)を設定し、『FM7→
F6→Em7→A7→Dm7→G7→CM7→C7』の
各コードを1小節毎に順次押さえたとする。この場合、
第4、6及び8小節目ではフィルインパターン用の自動
伴奏データが読み出され、第4、6及び8小節目以外で
はベーシックパターン用の自動伴奏データが読み出され
る。従って、第4、6及び8小節目以外では、コード検
出手段で検出されたコードルート及びコードタイプに従
って展開されたコード構成音がベーシックパターンのリ
ズムで発生され、第4、6及び8小節目では、コード検
出手段で検出されたコードルート及びコードタイプに従
って展開されたコード構成音がフィルインパターンのリ
ズムで発生される。
【0023】この自動伴奏装置によれば、特定コードと
してコードタイプのみが指定されるので、同一のコード
タイプが押される度に、フィルインパターンが挿入され
ながら自動伴奏が進行する。従って、簡単な操作である
にも拘わらず、変化に富んだ自動伴奏を行うことができ
る。
【0024】また、本発明の第1の態様に係る自動伴奏
装置においては、上記コード検出手段で検出されるコー
ドはコードタイプ及びコードルートで成り、上記特定コ
ード設定手段で設定される特定コードはコードルートで
成り、上記読出手段は、該コード検出手段で検出された
コードのコードルートが該特定コード設定手段で設定さ
れた特定コードに一致する場合に該自動伴奏データ記憶
手段からフィルインパターン用の自動伴奏データを読み
出し、そうでない場合にベーシックパターン用の自動伴
奏データを読み出すように構成できる。
【0025】例えば、ユーザが特定コードとして「C」
(コードタイプを含まない)を設定し、『FM7→F6
→Em7→A7→Dm7→G7→CM7→C7』の各コ
ードを1小節毎に順次押さえたとする。この場合、第1
〜第6小節ではベーシックパターン用の自動伴奏データ
が読み出され、第7及び第8小節ではフィルインパター
ン用の自動伴奏データが読み出される。従って、第1〜
第6小節では、コード検出手段で検出されたコードルー
ト及びコードタイプに従って展開されたコード構成音が
ベーシックパターンのリズムで発生され、第7及び第8
小節では、コード検出手段で検出されたコードルート及
びコードタイプに従って展開されたコード構成音がフィ
ルインパターンのリズムで発生される。
【0026】この自動伴奏装置によれば、特定コードと
してコードルートのみが指定されるので、同一のコード
ルートが押される度に、フィルインパターンが挿入され
ながら自動伴奏が進行する。従って、簡単な操作である
にも拘わらず、変化に富んだ自動伴奏を行うことができ
る。
【0027】また、本発明の第2の態様に係る自動伴奏
装置は、上記と同様の目的で、図16に示すように、楽
音信号に基づいて自動伴奏音を発生する自動伴奏装置で
あって、自動伴奏データを記憶する自動伴奏データ記憶
手段と、外部から供給される押鍵データに基づいて、強
拍の音の強さと弱拍の音の強さとの関係を表す演奏強弱
データを生成する演奏強弱データ生成手段と、該自動伴
奏データ記憶手段から読み出された自動伴奏データに含
まれる音の強さを指示するベロシティデータを、該演奏
強弱データ生成手段からの演奏強弱データに基づいて加
工し、新たな自動伴奏データを生成する強弱制御手段
と、該強弱制御手段からの新たな自動伴奏データに基づ
いて楽音信号を生成する楽音信号生成手段、とを備えて
いる。
【0028】自動伴奏データ記憶手段は、上記第1の態
様に係る自動伴奏装置と同様に、ROM又はRAMで構
成できる。この自動伴奏データ記憶手段には、複数のリ
ズムの各々に対応する複数のベーシックパターン用の自
動伴奏データを記憶し、リズムの種類は、例えば操作パ
ネルに設けられたリズム選択スイッチで選択するように
構成できる。また、各リズムに対応するベーシックパタ
ーン用の自動伴奏データは複数のパートで構成し、自動
伴奏に用いるパートを、例えば操作パネルに設けられた
パート選択スイッチで設定するように構成できる。な
お、この自動伴奏データ記憶手段には、ベーシックパタ
ーン用の自動伴奏データに加え、イントロパターン用、
フィルインパターン用及びエンディングパターン用の各
自動伴奏データを記憶するように構成してもよい。
【0029】また、各自動伴奏データは、1〜数小節程
度の短い伴奏パターンを発生するための音符データ群で
構成できる。この場合、この音符データには、コード構
成音を発生するためのデータのみならず、ドラム音、ベ
ース音等を発生するためのデータを含めることもでき
る。
【0030】演奏強弱データ生成手段及び強弱制御手段
は、例えばCPUで構成できる。演奏強弱データ生成手
段に供給される押鍵データとしては、上述した第1の態
様に係る自動伴奏装置と同様に、鍵盤データ及びノート
オンのMIDIメッセージ等を用いることができる。
【0031】上記演奏強弱データ生成手段は、自動伴奏
の各拍に対応するタイミングにおいて、外部から供給さ
れる一定量の押鍵データの強拍の音の強さと弱拍の音の
強さとの比を順次算出し、該算出結果を定常化して演奏
強弱データを生成するように構成できる。
【0032】ここで、「一定量の押鍵データ」は、例え
ば1〜数小節分のメロディやソロフレーズを表す押鍵デ
ータとすることができる。演奏強弱データは、より具体
的には、自動伴奏の各拍に対応するタイミングが到来す
る度に、外部から順次入力されるメロディやソロフレー
ズを表す押鍵データの強拍のベロシティ値及びこれに続
いて入力される弱拍のベロシティ値を一対のデータと
し、この一対のデータの比を複数(1〜数小節分)とっ
て定常化することにより生成できる。
【0033】上記一対の強拍のベロシティ値と弱拍のベ
ロシティ値との比は、例えば強拍のベロシティ値に対す
る弱拍のベロシティ値の割合又は弱拍のベロシティ値に
対する強拍のベロシティ値の割合とすることができる。
また、上記定常化は、単純に上記複数の比の平均をとる
ことによって求めることができる。或いはまた、最大比
と最小比を除く複数の比の平均をとることによって、或
いはその他の方法によって求めることができる。なお、
演奏強弱データは強拍のベロシティ値と弱拍のベロシテ
ィ値との差に基づいて算出することもできる。
【0034】ここで、自動伴奏の各拍に対応するタイミ
ングにおける押鍵データの強弱に基づいて演奏強弱デー
タを作成するのは、これら各拍が演奏全体の抑揚の基本
であり、演奏上の制約でもあるからである。また、この
各拍には必ずといっていいほど表(強拍)と裏(弱拍)
があり、シンコペーションや変拍子等の場合を除けば、
奇数拍が強拍であり偶数拍が弱拍である。そこで、強拍
及びこれに続く弱拍を一対として、強拍と弱拍とのベロ
シティの比を算出するようにしている。また、この比を
一定量の押鍵データ(一定時間に外部から入力された押
鍵データ)について算出し、それらを定常化するのは、
演奏全体の抑揚感はメロディやソロフレーズの一瞬の抑
揚によってではなく、定常的な抑揚によって得られるも
のだからである。
【0035】また、本自動伴奏装置は、自動伴奏の強拍
及び弱拍の位置を規定する強弱位置データを記憶した強
弱位置データ記憶手段を更に備え、上記強弱制御手段
は、上記自動伴奏データ記憶手段から読み出された自動
伴奏データに含まれる音の強さを指示するベロシティデ
ータを、該強弱位置データ記憶手段からの強弱位置デー
タ及び上記演奏強弱データ生成手段からの演奏強弱デー
タに基づいて加工し、新たな自動伴奏データを生成する
ように構成できる。
【0036】上記強弱制御手段は、例えば、上記演奏強
弱データから自動伴奏強弱データを減算し、該減算結果
にベロシティ値換算係数を乗算した値を、弱拍のベロシ
ティ値に加算し、以て新たなベロシティ値を算出するよ
うに構成できる。ここで、自動伴奏強弱データは、押鍵
データの代わりに自動伴奏データを用い、上述した演奏
強弱データを作成する場合と同様の方法で作成できる。
ベロシティ値換算係数は、上記減算結果のレンジを本自
動伴奏装置で使用されるベロシティ値のレンジに変換す
るための定数である。これにより、自動伴奏に対し演奏
の強弱の抑揚が大きい場合はベロシティ値が小さく、演
奏の強弱の抑揚の方が小さければベロシティ値が大きく
なり、演奏されるメロディやソロフレーズにより自動伴
奏の抑揚が制御される。なお、上記の構成によれば、弱
拍の音量のみが変化するため、自動伴奏全体の音量が大
きく変わったり、各パート間の音量バランスが崩れたり
することはない。
【0037】また、本発明の第3の態様に係る自動伴奏
装置は、同様の目的で、図26に示すように、楽音信号
に基づいて自動伴奏音を発生する自動伴奏装置であっ
て、自動伴奏データを記憶する自動伴奏データ記憶手段
と、押鍵データからコードを検出するコード検出手段
と、該コード検出手段で検出されたコードが特定コード
である場合に該検出されたコードをテンションコードに
変換して出力し、そうでない場合に該検出されたコード
をそのまま出力するコード変換手段と、該自動伴奏デー
タ記憶手段から自動伴奏データを読み出す読出手段と、
該読出手段で読み出された自動伴奏データを該コード変
換手段からのコードに基づいて展開し、該展開によって
得られたコード構成音に対応する楽音信号を生成する楽
音信号生成手段、とを備えている。
【0038】自動伴奏データ記憶手段は、上記第1の態
様に係る自動伴奏装置と同様に、ROM又はRAMで構
成できる。また、この自動伴奏データ記憶手段には、上
述した第2の態様に係る自動伴奏装置と同様に、複数の
リズム及び複数のパートの自動伴奏データを記憶するよ
うに構成できる。
【0039】上記コード検出手段、コード変換手段、読
出手段及び楽音信号生成手段の一部は、例えばCPUで
構成できる。また、コード検出手段に供給される押鍵デ
ータとしては、上述した第1の態様に係る自動伴奏装置
と同様のデータを用いることができる。
【0040】本自動伴奏素によれば、特定コードが指定
されると該特定コードがテンションコードに変換されて
自動伴奏音が発生される。従って、簡単な押鍵フォーム
によって特定コードを押さえるだけで、テンションノー
トが含まれた豊かな響きを有するコード伴奏を行うこと
ができる。
【0041】また、上記コード変換手段は、前記特定コ
ードと前記テンションコードとの対応付けを規定するテ
ーブルを有し、本自動伴奏装置は該テーブルに特定コー
ド及びテンションコードを設定するコード設定手段を更
に備え、該コード変換手段は、該テーブルの内容に基づ
いてコード変換を行うように構成できる。
【0042】この構成によれば、ユーザは、特定コード
とテンションコードとの対応付けを自由にテーブルに設
定できるので、所望のコードの部分でテンションノート
が含まれた豊かな響きを有するコード伴奏を行うことが
できる。
【0043】
【発明の実施の形態】以下、本発明の自動伴奏装置の実
施の形態につき図面を参照しながら詳細に説明する。
【0044】(実施の形態1) (1−1)ハードウェア構成 図5は、本発明の自動伴奏装置の実施の形態1の構成を
示すブロック図である。本自動伴奏装置は、システムバ
ス20で相互に接続されたCPU10、プログラムメモ
リ11、ワークメモリ12、自動伴奏データメモリ1
3、テーブルデータメモリ14、操作パネル15、鍵盤
装置16及び楽音信号生成装置17で構成されている。
システムバス20は、上記各要素間で、例えばアドレス
信号、データ信号又は制御信号等を送受する。
【0045】CPU10は、プログラムメモリ11に記
憶されている制御プログラムに従って本自動伴奏装置の
全体を制御する。このCPU10が行う処理の詳細につ
いては後にフローチャートを参照しながら説明する。こ
のCPU10にはタイマ10aが接続されている。この
タイマ10aは一定時間間隔でタイマ割込信号を発生
し、CPU10に供給する。このタイマ割込信号は、テ
ンポに従って自動伴奏を進めるために使用される。
【0046】また、このCPU10には外部インタフェ
ース回路10bが接続されている。外部インタフェース
回路10bは、本自動伴奏装置と外部装置との間のデー
タの送受を制御する。この外部インタフェース回路10
bが制御するインタフェースとしては、外部に接続され
る機器の種類に応じて、例えばMIDIインタフェー
ス、RS232Cインタフェース、SCSIインタフェ
ース等の汎用インタフェース又は独自の規格を有する各
種インタフェースを用いることができる。外部装置とし
ては、例えば他の電子楽器、パーソナルコンピュータ、
シーケンサ等を用いることができる。以下においては、
外部インタフェース回路10bとしてMIDIインタフ
ェース回路が用いられるものとする。
【0047】この外部インタフェース回路10bは外部
装置から送られてきたMIDIメッセージを受信し、C
PU10に送る。CPU10は、このMIDIメッセー
ジを「押鍵データ」としてコード検出の対象とする。ま
た、CPU10は、このMIDIメッセージに基づいて
発音/消音処理を行い、更には操作パネル15の設定状
態を変更する。逆に、操作パネル15及び鍵盤装置16
が操作されることによって発生されたデータはMIDI
メッセージに変換され、外部インタフェース回路10b
を介して外部装置に送られる。これにより、本自動伴奏
装置の操作パネル15及び鍵盤装置16から外部装置を
制御することが可能となっている。
【0048】プログラムメモリ11は、例えばROMで
構成されている。このプログラムメモリ11には、上述
した制御プログラムの他に、CPU10が使用する種々
の固定データが記憶されている。このプログラムメモリ
11には、更に複数の楽器音の複数の音域に対応した複
数の音色パラメータか記憶されている。1つの音色パラ
メータは、所定の楽器音の所定の音域の音色を指定する
ために使用される。各音色パラメータは、例えば波形ア
ドレス、周波数データ、エンベロープデータ、フィルタ
係数等で構成されている。
【0049】なお、このプログラムメモリ11はRAM
で構成できる。この場合、本自動伴奏装置を動作させる
に先立って、上記制御プログラム、固定データ、音色パ
ラメータ等を、例えばフロッピーディスク、磁気ディス
ク、光ディスク、ROMカード、CD−ROM等といっ
た記憶媒体からプログラムメモリ(RAM)にロードす
るように構成すればよい。
【0050】ワークメモリ12はRAMで構成され、C
PU10が各種処理を行う際に、種々のデータを一時記
憶するために使用される。このワークメモリ12には、
本自動伴奏装置を制御するための各種レジスタ、カウン
タ、フラグ等が定義されている。以下に本実施の形態で
使用される主要なレジスタ、カウンタ、フラグ等につい
て説明する。
【0051】(1)自動伴奏フラグ:本自動伴奏装置が
自動伴奏モードにあるか通常演奏モードにあるかを記憶
する。 (2)クロックカウンタ:タイマ割込に同期してインク
リメントされる。 (3)アドレスレジスタ:現在処理中である自動伴奏デ
ータ内の音符データが置かれているアドレス(以下、
「読出アドレス」という)を保持する。 (4)読出タイミングカウンタ:テンポに応じた時間間
隔(1ステップタイムに相当する時間)でインクリメン
トされる。ここで1ステップタイムとは、例えば1拍の
1/24、1/48、1/96等といった時間をいい、
自動伴奏装置で固有に決められる。以下では、1ステッ
プタイムは1拍の1/24とする。この1ステップタイ
ムの絶対時間はテンポによって決定される。この読出タ
イミングカウンタの内容が変化した場合に、発音タイミ
ングになったかどうかを調べるタイミング(以下、「チ
ェックタイミング」という)であると判断される。 (5)ステップタイムカウンタ:自動伴奏の進行を管理
する。小節の先頭でゼロにクリアされ、以後1ステップ
タイム毎にインクリメントされる。 (6)リズム番号レジスタ:操作パネル15のリズム選
択スイッチ151によって選択されたリズムのリズム番
号を記憶する。 (7)コード名レジスタ:コード検出処理により検出さ
れたコード(コードルート及びコードタイプで成る)を
表すデータを記憶する。 (8)特定コード名レジスタ:コード入力スイッチ15
3で入力されたコード(コードルート及びコードタイプ
で成る)を表すデータを記憶する。 (9)新パネルデータレジスタ:今回のスキャンで操作
パネル15から得られたパネルデータを記憶する。 (10)旧パネルデータレジスタ:前回のスキャンで操
作パネル15から得られたパネルデータを記憶する。 (11)新鍵盤データレジスタ:今回のスキャンで鍵盤
装置16から得られた鍵盤データを記憶する。 (12)旧鍵盤データレジスタ:前回のスキャンで鍵盤
装置16から得られた鍵盤データを記憶する。
【0052】操作パネル15には、例えば図6に示すよ
うに、本自動伴奏装置を制御するための自動伴奏スイッ
チ150、リズム選択スイッチ151、音色選択スイッ
チ152、コード入力スイッチ153、音響効果選択ス
イッチ156、音量スイッチ157が設けられている。
また、メッセージを表示するためのLCDディスプレイ
158、スイッチの設定状態を表示するLEDインジケ
ータ159(図6では一部についてのみ符号を付してあ
る)が設けられている。なお、図6には本実施の形態1
を説明するために必要なもののみを示している。
【0053】上記各種スイッチのうち、主要なスイッチ
について以下簡単に説明する。自動伴奏スイッチ150
は、例えば押釦スイッチで構成され、ユーザが自動伴奏
の開始又は停止を制御するために使用される。この自動
伴奏スイッチ150の設定状態は、上述した自動伴奏フ
ラグによって記憶される。自動伴奏フラグは、自動伴奏
スイッチ150が押される度に反転する。即ち、自動伴
奏停止中(自動伴奏フラグが「0」)に自動伴奏スイッ
チ150が押されると自動伴奏フラグが「1」にセット
されると共に自動伴奏が開始される。一方、自動伴奏中
(自動伴奏フラグが「1」)に自動伴奏スイッチ150
が押されると自動伴奏フラグが「0」にクリアされると
共に自動伴奏は停止される(詳細は後述する)。
【0054】リズム選択スイッチ151は、例えば複数
の押釦スイッチで構成され、ユーザが複数のリズムの中
から所望のリズムを選択するために使用される。自動伴
奏の伴奏パターンは、このリズム選択スイッチ151で
選択されたリズムにより決定される。このリズム選択ス
イッチ151で選択されたリズムに付されたリズム番号
はリズム番号レジスタに記憶される。なお、各リズムが
複数のパートで構成される場合は、この操作パネル15
には、更に自動伴奏に用いるパートを選択するためのパ
ート選択スイッチが設けられる。
【0055】コード入力スイッチ153は、例えばコー
ドルート指定スイッチ154とコードタイプ指定スイッ
チ155とで構成されている。コードルート指定スイッ
チ154は例えば押釦スイッチで構成されており、コー
ドルートを指定するために使用される。このコードルー
ト指定スイッチ154が押される毎に、図7に示すよう
に、『C→C#→・・・→B→ALL→C→・・・』の
順番でコードルート名がLCDディスプレイ158に表
示されると共に、図9に示すような特定コード名レジス
タの上位バイトにコードルートを表すデータ(図7の下
欄の数値)が記憶される。なお、上記「ALL」は全て
のコードルートが指定されることを意味する。コードタ
イプ指定スイッチ155は例えば押釦スイッチで構成さ
れており、コードタイプを指定するために使用される。
このコードルート指定スイッチ154が押される毎に、
図8に示すように、『Maj→6→・・・→dim→A
LL→Maj→・・・』の順番でコードタイプ名がLC
Dディスプレイ158に表示されると共に、コード名レ
ジスタの下位バイトにコードタイプを表すデータ(図8
の下欄の数値)が記憶される。なお、上記「ALL」は
全てのコードタイプが指定されることを意味する。
【0056】音色選択スイッチ152は、メロディやソ
ロフレーズの音色を指定するために使用される。音響効
果選択スイッチ156は、例えばリバーブ、コーラス等
といった音響効果を指定するために使用される。音量ス
イッチ157は、楽音の音量を制御するために使用され
る。
【0057】操作パネル15には、図示しないパネルイ
ンタフェース回路が含まれている。このパネルインタフ
ェース回路は、CPU10からの指令に応じて操作パネ
ル15上の各スイッチをスキャンする。パネルインタフ
ェース回路は、このスキャンにより得られた各スイッチ
の開閉状態を示す信号に基づいて、各スイッチをそれぞ
れ1ビットに対応させたパネルデータを作成する。各ビ
ットは、例えば「1」でスイッチオン、「0」でスイッ
チオフ状態を表す。このパネルデータは、システムバス
20を介してCPU10に送られる。このパネルデータ
は、操作パネル15上の各スイッチのオン又はオフイベ
ントが発生したかどうかを判断するために使用される
(詳細は後述する)。
【0058】また、パネルインタフェース回路は、CP
U10から送られてきた文字データを操作パネル15上
のLCDディスプレイ158に送り、点灯制御データを
LEDインジケータ159に送る。これにより、CPU
10から送られてきた例えば文字データに従ったメッセ
ージがLCDディスプレイ158に表示され、またLE
Dインジケータ159が点灯又は消灯される。
【0059】鍵盤装置16は複数の鍵を有している。こ
の鍵盤装置16は、通常演奏モードにおいては、押鍵に
よって発音を、離鍵によって消音をそれぞれ指示するた
めに使用される。一方、自動伴奏モードにおいては、鍵
盤装置16の鍵域は機能的に2つに分割される。鍵盤装
置16の所定位置(以下、「スプリットポイント」とい
う)より下位側をロワー鍵盤、上位側をアッパー鍵盤と
呼ぶ。このスプリットポイントは固定的に決めてもよい
し、変更できるように構成してもよい。ロワー鍵盤はユ
ーザがコードを指定するために使用され、コード検出の
対象となる。アッパー鍵盤は、上記通常演奏モードの場
合と同様に、発音/消音を指示するために使用される。
この鍵盤装置16としては、例えば、異なる押圧深さで
それぞれオンになる第1及び第2のキースイッチを各鍵
に備えた2接点方式の鍵盤装置を用いることができる。
【0060】上記鍵盤装置16には、図示しない鍵盤イ
ンタフェース回路が含まれている。鍵盤インタフェース
回路は、CPU10からの指令に応じて鍵盤装置16の
各キースイッチをスキャンする。そして、このスキャン
により得られた各キースイッチの開閉状態を示す信号に
基づいて、鍵盤データを作成する。鍵盤データは、各鍵
を1ビットに対応させたビット列で成り、各ビットは、
例えば「1」で押鍵中、「0」で離鍵中であることを表
す。この際、例えば第1及び第2のキースイッチの双方
がオンになっている場合に押鍵中であることを表す
「1」のデータを作成し、それ以外の場合は離鍵中であ
ることを表す「0」のデータを作成するように構成でき
る。
【0061】また、押鍵によって第1のキースイッチが
オンになってから第2のキースイッチがオンになるまで
の時間が計測され、この計測された時間に基づいてベロ
シティデータが作成される。これら鍵盤データ及びベロ
シティデータは、システムバス20を介してCPU10
に送られる。CPU10は、鍵盤データに基づいて鍵盤
イベントかあったかどうかを判断し、ベロシティデータ
に応じた強さで楽音を発生する(詳細は後述する)。
【0062】自動伴奏データメモリ13は、例えばRO
Mで構成されている。この自動伴奏データメモリ13に
は、図10に示すように、リズム毎に自動伴奏データが
記憶されている。各リズムに対応する自動伴奏データ
は、ベーシックパターンの自動伴奏データとフィルイン
パターンの自動伴奏データとで構成されている。なお、
各リズムが複数のパートで構成される場合は、各自動伴
奏データはパート毎に作成される。
【0063】各自動伴奏データは、複数の音符データ
(音符データ群)と、自動伴奏データの終わりを表すE
NDデータとで構成されている。各音符データは1音を
発生するために使用される。また、自動伴奏データは、
例えば図2及び図3に示すように、基本コードCによっ
て所定のリズムパターンが形成されるように構成されて
いる。この基本コードCは、発音に際し、コード検出さ
れたコードの構成音に展開される。
【0064】上記各音符データは、キーナンバ、ステッ
プタイム、ゲートタイム及びベロシティと呼ばれる各1
バイトのデータで構成されている。ENDデータは、キ
ーナンバ及びステップタイムと呼ばれる各1バイトのデ
ータで構成される。
【0065】「キーナンバ」の最上位ビットは、当該デ
ータが音符データであるかENDデータであるかを識別
するために使用される。この最上位ビットが音符データ
であることを表している場合は、以下の7ビットはキー
ナンバとしで使用される。一方、最上位ビットがEND
データであることを表している場合は、以下の7ビット
は使用されない。キーナンバは例えば鍵盤装置16の各
鍵に付された番号に対応するものであり、音高を指定す
るために使用される。
【0066】「ステップタイム」は発音開始のタイミン
グ(時刻)を指定するために使用される。「ゲートタイ
ム」は発音すべき音の長さ(音長)を指定するために使
用される。「ベロシティ」は発音すべき音の強さを指定
するために使用される。1つの伴奏パターンに対応する
自動伴奏データは、このような音符データ及びENDデ
ータがステップタイム順に並べられて構成されている。
【0067】なお、この自動伴奏データメモリ13は、
RAM、ROMカード、RAMカード、フロッピーディ
スク、CD−ROM等で構成できる。自動伴奏データメ
モリ13としてフロッピーディスク、CD−ROMを用
いた場合は、これらに記憶された自動伴奏データを一且
ワークメモリ12にロードし、ワークメモリ12内の自
動伴奏データに基づき自動伴奏を行うように構成するの
が好ましい。また、自動伴奏データメモリ13としてR
AMを用いた場合は、本自動伴奏装置を動作させるに先
立って、自動伴奏データを、例えばフロッピーディス
ク、磁気ディスク、光ディスク、ROMカード、CD−
ROM等といった記憶媒体から自動伴奏データメモリ
(RAM)にロードするように構成すればよい。
【0068】テーブルデータメモリ14は、本実施の形
態1では使用されない。
【0069】楽音信号生成装置17は複数の発音チャン
ネルを備えている。この楽音信号生成装置17は、詳細
は図示しないが、波形メモリ、波形読出回路、エンベロ
ープ生成回路、D/A変換器等により構成されている。
波形メモリは例えばROMで構成され、各音色パラメー
タに対応する波形データを記憶している。波形データ
は、例えば楽器音に対応する楽音信号をパルスコード変
調(PCM)することによって作成できる。波形読出回
路は、この波形メモリから波形データを読み出す。エン
ベロープ生成回路は、この波形読出回路で読み出された
波形データにエンベロープを付加するためのエンベロー
プ信号を生成する。
【0070】CPU10は、鍵盤装置16の押鍵、外部
インタフェース回路10bからのノートオンメッセージ
の受信、又は自動伴奏データメモリ13からの音符デー
タの読み出しがあると、少なくとも1個の楽音信号生成
装置17の中の発音チャンネルを発音用に割り当て、こ
の割り当てられた発音チャンネルに音色パラメータを供
給する。この割り当てられた発音チャンネルは、音色パ
ラメータを受け取ることにより楽音信号の生成を開始す
る。即ち、音色パラメータ中の波形アドレスで示される
波形メモリの位置から、同じく音色パラメータ中の周波
数データに応じた速度で波形データを順次読み出し、こ
れに音色パラメータ中のエンベロープデータで指定され
るエンベロープを付加し、以て楽音信号を生成する。
【0071】この楽音信号生成装置17で生成された楽
音信号は、例えば増幅器10、スピーカ19等で成るサ
ウンドシステムに送られる。そして、該サウンドシステ
ムで音響信号に変換されて放音される。
【0072】次に、以上の構成において、図11〜図1
5に示したフローチャートを参照しながら実施の形態1
に係る自動伴奏装置の動作について説明する。なお、上
記フローチャートに示された処理は、何れもCPU10
によって行われる。
【0073】本発明の実施の形態1に係る自動伴奏装置
は、鍵盤装置16で指定されたコードが特定コードであ
る場合に、フィルインパターンを挿入しながら自動伴奏
を行う自動伴奏装置である。
【0074】(1−2)メイン処理 図11は本自動伴奏装置のメイン処理を示すフローチャ
ートである。このメイン処理ルーチンは電源の投入又は
図示しないリセットスイッチの押下により起動される。
メイン処理では、先ず、初期化処理が行われる(ステッ
プS10)。この初期化処理では、CPU10の内部の
ハードウェアが初期状態に設定されると共に、ワークメ
モリ12に定義されているレジスタ、カウンタ、フラグ
等に初期値が設定される。また、この初期化処理では、
楽音信号生成装置17に所定のデータが送られることに
より、電源投入時に不要な音が発生されるのを防止する
ための処理が行われる。
【0075】この初期化処理が終了すると、次いで、パ
ネル処理が行われる(ステップS11)。このパネル処
理においては、操作パネル15上の各種スイッチの操作
に応じて、その操作されたスイッチの機能を実現するた
めの処理が行われる。このパネル処理の詳細は後述す
る。
【0076】次いで、鍵盤イベント処理が行われる(ス
テップS12)。この鍵盤イベント処理では、鍵盤装置
16の操作に応じて発音/消音処理、コード検出処理等
が行われる。この鍵盤イベント処理の詳細は後述する。
【0077】次いで、自動伴奏処理が行われる(ステッ
プS13)。この自動伴奏処理では、自動伴奏データに
基づく発音処理が行われる。この自動伴奏処理の詳細に
ついても後述する。
【0078】次いで、「その他の処理」が行われる(ス
テップS14)。この「その他の処理」では、上述した
以外の処理、例えばMIDI処理が行われる。このMI
DI処理においては、外部インタフェース回路10bで
受信されたMIDIメッセージに基づく各種処理、外部
にMIDIメッセージを送信する処理等が行われる。そ
の後シーケンスはステップS11に戻り、以下ステップ
S11〜S14の各処理が繰り返される。この繰り返し
実行の過程で、操作パネル15及び鍵盤装置16が操作
され、或いは外部インタフェース回路10bでMIDI
メッセージが受信されると、それらに応じた処理が行わ
れ、また自動伴奏データに基づく発音処理が行われる。
これにより自動伴奏装置としての各種機能が実現されて
いる。
【0079】(1−3)タイマ割込処理 上記メイン処理と並行して、タイマ割込処理が行われ
る。タイマ割込処理は、タイマ10aから一定周期(例
えば数ミリ秒)で発生される割込信号に応じて、上記メ
イン処理に割り込んで行われる。このタイマ割込処理を
図12のフローチャートに示す。
【0080】タイマ割込処理では、先ずクロックカウン
タの内容がインクリメントされる(ステップS20)。
次いで、クロックカウンタの内容が1ステップタイムに
相当する値になったかどうかが調べられる(ステップS
21)。そして、1ステップタイムに相当する値になっ
たことが判断されると、読出タイミングカウンタの内容
がインクリメントされ(ステップS22)、その後、シ
ーケンスはメイン処理ルーチンの割り込まれた位置にリ
ターンする。この読出タイミングカウンタの内容は、後
述する自動伴奏処理において、チェックタイミングが到
来したかどうかを判断するために使用される。なお、チ
ェックタイミングは、ゲートタイムをデクリメントする
かどうかを判断するために使用される。一方、上記ステ
ップS21で1ステップタイムに相当する値になってい
ないことが判断されると、シーケンスはメイン処理ルー
チンの割り込まれた位置にリターンする。従って、この
場合は読出タイミングカウンタの内容はインクリメント
されない。
【0081】(1−4)パネル処理 パネル処理の詳細を、図13のフローチャートに示す。
このパネル処理ルーチンは、メイン処理ルーチンから一
定周期でコールされる。
【0082】パネル処理では、先ず、スイッチイベント
の有無が調べられる(ステップS30)。これは以下の
手順で行われる。先ず、CPU10は、操作パネル15
からパネルデータ(以下、「新パネルデータ」という)
を読み込み、新パネルデータレジスタに格納する。次い
で、この新パネルデータと、前回のパネル処理で読み込
まれて既に旧パネルデータレジスタに記憶されているパ
ネルデータ(以下、「旧パネルデータ」という)との排
他的論理和をとってパネルイベントマップを作成する。
このパネルイベントマップの全ビットがゼロであればス
イッチイベントは発生しなかったものと判断され、そう
でなければスイッチイベントが発生したものと判断され
る。
【0083】このステップS30でスイッチイベントが
ないことが判断されると、シーケンスはこのパネル処理
ルーチンからメイン処理ルーチンにリターンする。一
方、スイッチイベントがあることが判断されると、次い
で、自動伴奏スイッチ150のオンイベントがあるかど
うかが調べられる(ステップS31)。これは、パネル
イベントマップ中の自動伴奏スイッチ150に対応する
ビットが「1」であり、且つ新パネルデータ中の自動伴
奏スイッチ150に対応するビットが「1」であるかど
うかを調べることにより行われる。ここで、自動伴奏ス
イッチ150のオンイベントがないことが判断される
と、シーケンスはステップS36へ分岐する。
【0084】上記ステップS31で、自動伴奏スイッチ
150のオンイベントがあることが判断されると、次い
で、自動伴奏モードであるかどうかが調べられる(ステ
ップS32)。これは、自動伴奏フラグを調べることに
より行われる。自動伴奏モードであるかどうかの判断
は、以下においても同じ方法で行われる。そして、自動
伴奏モードであることが判断されると、自動伴奏フラグ
が「0」にクリアされ(ステップS33)、その後シー
ケンスはステップS36に進む。一方、自動伴奏モード
でないことが判断されると自動伴奏フラグが「1」にセ
ットされ(ステップS34)、次いで、リズム番号レジ
スタにセットされているリズム番号に対応するベーシッ
クパターン用の自動伴奏データの先頭の読出アドレスが
アドレスレジスタにセットされる(ステップS35)。
その後シーケンスはステップS36に分岐する。
【0085】上記ステップS32〜S34の処理によ
り、自動伴奏スイッチ150が押される度に自動伴奏モ
ードと通常演奏モードとが交互に反転されるトグル機能
が実現されている。また、上記ステップS35の処理に
より、最初に特定コードが検出される前においては、ベ
ーシックパターンによる自動伴奏が行われることにな
る。
【0086】ステップS36では、複数のリズム選択ス
イッチ151の中の何れかのスイッチのオンイベントが
あるかどうかが調べられる。これは、パネルイベントマ
ップ中のリズム選択スイッチ151の中の何れかのスイ
ッチに対応するビットが「1」であり、且つ新パネルデ
ータ中の当該スイッチに対応するビットが「1」である
かどうかを順次調べることにより行われる。ここで、リ
ズム選択スイッチ151の中の何れかのスイッチのオン
イベントがあることが判断されると、そのスイッチに対
応するリズム番号が、リズム番号レジスタにセットされ
る(ステップS37)。このリズム番号は、上述したよ
うに、読出アドレスを決定するために使用される。上記
ステップS36でリズム選択スイッチ151のイベント
がないことが判断されると、ステップS37はスキップ
される。
【0087】次いで、コードルート指定スイッチ154
のオンイベントがあるかどうかが調べられる(ステップ
S38)。これは、パネルイベントマップ中の所定のコ
ードルート指定スイッチ154に対応するビットが
「1」であり、且つ新パネルデータ中の当該コードルー
ト指定スイッチ154に対応するビットが「1」である
かどうかを調べることにより行われる。ここで、コード
ルート指定スイッチ154のオンイベントがあることが
判断されると、コードルートを表すデータが特定コード
名レジスタの上位バイトにセットされる(ステップS3
9)。より具体的には、特定コード名レジスタの上位バ
イトの内容がインクリメントされる。なお、該インクリ
メントの結果が最大値0CH(末桁のHは16進数であ
ることを表す。以下においても同じ)を越える場合は0
0Hにラウンドする。上記ステップS38でコードルー
ト指定スイッチ154のイベントがないことが判断され
ると、ステップS39はスキップされる。
【0088】次いで、コードタイプ指定スイッチ155
のオンイベントがあるかどうかが調べられる(ステップ
S40)。これは、パネルイベントマップ中の所定のコ
ードタイプ指定スイッチ155に対応するビットが
「1」であり、且つ新パネルデータ中の当該コードタイ
プ指定スイッチ155に対応するビットが「1」である
かどうかを調べることにより行われる。ここで、コード
タイプ指定スイッチ155のオンイベントがあることが
判断されると、コードタイプを表すデータが特定コード
名レジスタの下位バイトにセットされる(ステップS4
1)。より具体的には、特定コード名レジスタの下位バ
イトの内容がインクリメントされる。なお、該インクリ
メントの結果が最大値08Hを越える場合は00Hにラ
ウンドする。上記ステップS40でコードタイプ指定ス
イッチ155のイベントがないことが判断されると、ス
テップS41はスキップされる。
【0089】次いで、「その他のスイッチ処理」が行わ
れる(ステップS42)。この「その他のスイッチ処
理」では、例えば音色選択スイッチ152のイベントが
あることが判断されると、現在設定されている音色が、
音色選択スイッチ152の中のイベントが発生したスイ
ッチに対応する音色に変更される。このように、パネル
処理においては、操作パネル15上の各スイッチに割り
当てられている機能を実現するための処理が実行され
る。そして、最後に、新パネルデータが旧パネルデータ
レジスタに移動され(図示しない)、パネル処理は終了
する。
【0090】(1−5)鍵盤イベント処理 鍵盤イベント処理の詳細を、図14のフローチャートに
示す。この鍵盤イベント処理ルーチンは、メイン処理ル
ーチンから一定周期でコールされる。
【0091】鍵盤イベント処理では、先ず、鍵盤イベン
トの有無が調べられる(ステップS50)。これは以下
の手順で行われる。先ず、CPU10は、鍵盤装置16
から鍵盤データ(以下、「新鍵盤データ」という)を読
み込み、新鍵盤データレジスタに格納する。次いで、こ
の新鍵盤データと、前回の鍵盤イベント処理で取り込ま
れて既に旧鍵盤データレジスタに記憶されている鍵盤デ
ータ(以下、「旧鍵盤データ」という)との排他的論理
和をとって鍵盤イベントマップを作成する。そして、こ
のイベントマップ中に「1」であるビットが存在すれ
ば、そのビットに対応する鍵のイベントが発生したと判
断され、存在しなければ鍵盤イベントは発生しなかった
ものと判断される。
【0092】このステップS50で、鍵盤イベントがな
いことが判断されると、シーケンスはこの鍵盤イベント
処理ルーチンからメイン処理ルーチンにリターンする。
一方、鍵盤イベントがあることが判断されると、次い
で、自動伴奏モードであるかどうかが調べられる(ステ
ップS51)。そして、自動伴奏モードでないことが判
断されると、通常の発音/消音処理が行われ(ステップ
S52)、その後シーケンスはこの鍵盤イベント処理ル
ーチンからメイン処理ルーチンにリターンする。この通
常の発音/消音処理では、先ず鍵盤イベントは押鍵イベ
ントであるか離鍵イベントであるかが調べられる。これ
は、鍵盤イベントマップ中の「1」になっているビット
に対応する新鍵盤データ中のビットを調べることにより
行われる。そして、新鍵盤データ中の該ビットが「1」
であれば押鍵イベントがあったものと判断されて発音処
理が行われる。一方、「0」であれば離鍵イベントがあ
ったものと判断されて消音処理が行われる。以下におい
ても同じである。
【0093】発音処理では、鍵盤イベントマップ中の
「1」になっているビットに対応する鍵のキーナンバが
算出されると共に、鍵盤インタフェース回路から当該鍵
に対応するベロシティデータが読み込まれる。そして、
このキーナンバに対応する音色パラメータがプログラム
メモリ11から読み出され、ベロシティデータと一緒に
楽音信号生成装置17に送られる。これにより、押され
た鍵に応じた音高であって押鍵に応じた強さの音が発生
される。
【0094】消音処理では、鍵盤イベントマップ中の
「1」になっているビットに対応する鍵のキーナンバが
算出される。そして、このキーナンバに対応する発音チ
ャンネルが検索され、検索された発音チャンネルに高速
で減衰するエンベロープデータが送られる。これによ
り、離された鍵に対応する音が消音される。
【0095】上記ステップS51で自動伴奏モードであ
ることが判断されると、次いで、その鍵盤イベントはロ
ワー鍵盤に属する鍵のイベントがあるかどうかが調べら
れる(ステップS53)。これは、鍵盤イベントマップ
中で「1」になっているビットに対応する鍵のキーナン
バを算出し、この算出されたキーナンバがスプリットポ
イントを表すデータより小さいかどうかを調べることに
より行われる。そして、ロワー鍵盤に属する鍵のイベン
トがない、つまりアッパー鍵盤に属する鍵のイベントが
あることが判断されるとステップS52へ分岐し、通常
の発音/消音処理が行われる。これにより、自動伴奏モ
ードであっても、アッパー鍵盤を用いて例えばメロディ
やソロフレーズの演奏を行うことができるようになって
いる。
【0096】上記ステップS53でロワー鍵盤に属する
鍵のイベントがあることが判断されると、コード検出処
理が行われる(ステップS54)。このコード検出処理
では、ロワー鍵盤の押された鍵に応じて、コードルート
及びコードタイプが検出される。このコード検出方法と
しては周知の種々の方法を用いることができる。ここで
検出されたコードルート及びコードタイプはコード名レ
ジスタに記憶され、後述する自動伴奏処理においてコー
ド展開を行う時に使用される。なお、コード名レジスタ
の構成は、上述した特定コード名レジスタの構成(図9
参照)と同じである。
【0097】次いで、上記ステップS54で検出された
コードは特定コードであるかどうかが調べられる(ステ
ップS55)。これは、コード名レジスタの内容と特定
コード名レジスタの内容とを比較することにより行われ
る。この比較においては、特定コード名レジスタの上位
バイトがALL(0CH)以外であり且つ下位バイトが
ALL(08H)以外であれば、コード名レジスタの上
下2バイトの内容と特定コード名レジスタの上下2バイ
トの内容とが比較される。即ち、コードルート及びコー
ドタイプの双方が一致するかどうかが調べられる。ま
た、特定コード名レジスタの上位バイトがALL(0C
H)であり且つ下位バイトがALL(08H)以外であ
れば、コード名レジスタの下位1バイトの内容と特定コ
ード名レジスタの下位1バイトの内容とが比較される。
即ち、コードタイプが一致するかどうかが調べられる。
更に、特定コード名レジスタの上位バイトがALL(0
CH)以外であり且つ下位バイトがALL(08H)で
あれば、コード名レジスタの上位1バイトの内容と特定
コード名レジスタの上位1バイトの内容とが比較され
る。即ち、コードルートが一致するかどうかが調べられ
る。これら比較の結果が一致し、特定コードであること
が判断されると、リズム番号レジスタにセットされてい
るリズム番号に対応するフィルインパターン用の自動伴
奏データの先頭の読出アドレスがアドレスレジスタにセ
ットされる(ステップS56)。これにより、以降はフ
ィルインパターンの自動伴奏が行われることになる。一
方、特定コードでないことが判断されると、リズム番号
レジスタにセットされているリズム番号に対応するベー
シックパターン用の自動伴奏データの先頭の読出アドレ
スがアドレスレジスタにセットされる(ステップS5
7)。これにより、以降はベーシックパターンの自動伴
奏が行われることになる。
【0098】次いで、読出アドレスの更新が行われる
(ステップS58)。小節の途中でコードが検出された
場合は、以後の自動伴奏パターンを変更する必要が生じ
る。かかる場合に対応するために、その時点で自動伴奏
されている位置(ステップ)まで読出アドレスを進める
処理が行われる。より具体的には、上記ステップS56
及びS57でセットされた読出アドレスから1つの音符
データを取り出し、この音符データに含まれるステップ
タイムと、その時点のステップタイムカウンタの内容と
を比較する。そして、音符データに含まれるステップタ
イムがステップタイムカウンタの内容より小さければ読
出アドレスに「4」を加え、次の音符データを読み出
す。以下同様の処理を行って、音符データに含まれるス
テップタイムがステップタイムカウンタの内容以上にな
った時点で上記処理を中止する。そして、その時点の読
出アドレスをアドレスレジスタにセットして読出アドレ
ス更新処理を終了する。これにより、自動伴奏の途中で
コードが変更された場合に、自動伴奏の進行を乱すこと
なく、変更されたコードに対応する伴奏パターンにスム
ーズに移行できる。以上の処理が終了すると、シーケン
スはこの鍵盤イベント処理ルーチンからメイン処理ルー
チンにリターンする。
【0099】以上のように、コードルート指定スイッチ
154及びコードタイプ指定スイッチ155でALLを
指定するかどうかにより、コードルート及びコードタイ
プの双方が一致、コードルートとは無関係にコードタイ
プが一致、又はコードタイプとは無関係にコードルート
が一致の何れかの場合にフィルタパターンを演奏させる
ことができる。従って、ユーザは、その熟練度や好みに
応じてフィルインパターンが挿入される演奏を行うこと
ができる。
【0100】(1−6)自動伴奏処理 自動伴奏処理の詳細を図15のフローチャートに示す。
この自動伴奏処理ルーチンは、メイン処理ルーチンから
一定周期でコールされる。
【0101】自動伴奏処理では、先ず、自動伴奏モード
であるかどうかが調べられる(ステップS60)。そし
て、自動伴奏モードでないことが判断されると、シーケ
ンスはこの自動伴奏処理ルーチンからメイン処理ルーチ
ンにリターンする。即ち、自動伴奏処理ルーチンはメイ
ン処理ルーチンから一定周期でコールされるが、自動伴
奏モードでなければ直ちにメイン処理ルーチンに戻ると
いう処理により、自動伴奏の停止機能が実現されてい
る。
【0102】一方、自動伴奏モードであることが判断さ
れると、チェックタイミングであるかどうかが調べられ
る(ステップS61)。これは、読出タイミングカウン
タの内容が、前回の自動伴奏処理で調べた値から変化し
たかどうかを調べることにより行われる。ここで、チェ
ックタイミングでないことか判断されると、未だ前回の
自動伴奏処理から1ステップタイムが経過していないこ
とが認識され、シーケンスはこの自動伴奏処理ルーチン
からメイン処理ルーチンにリターンする。
【0103】一方、チェックタイミングであることが判
断されると、次いで、アドレスレジスタに保持されてい
る読出アドレスで指定される音符データ又はENDデー
タ中のステップタイムSTEPとステップタイムカウン
タの内容COUNTとが比較される(ステップS6
2)。そして、これらが一致しないことが判断される
と、当該ステップタイムSTEPが含まれた音符データ
又はENDデータは未だ実行タイミングに至っていない
ものと認識される。そして、ステップタイムカウンタの
内容COUNTがインクリメントされ(ステップS6
3)、その後シーケンスはこの自動伴奏処理ルーチンか
らメイン処理ルーチンにリターンする。これにより、1
ステップタイム毎にステップタイムカウンタの内容かイ
ンクリメントされる機能が実現されている。
【0104】このようにしてステップタイムカウンタの
内容COUNTがインクリメントされた結果、ステップ
タイムSTEPとステップタイムカウンタの内容COU
NTとが一致したことが判断されると、当該ステップタ
イムSTEPが含まれる音符データ又はENDデータは
実行タイミングに至ったものと判断され、その音符デー
タ又はENDデータが、自動伴奏データメモリ13から
読み出される(ステップS64)。そして、そのデータ
はENDデータであるかどうかが調べられる(ステップ
S65)。これは、そのデータの第1バイト目の最上位
ビットを調べることにより行われる。ここで、ENDデ
ータであることが判断されると、自動伴奏データの最後
に至ったことが認識され、現在実行しているリズムに対
応するベーシックパターン用の自動伴奏データの先頭の
読出アドレスがアドレスレジスタにセットされる(ステ
ップS66)。これにより、ベーシックパターンの自動
伴奏を繰り返して行う機能、及びフィルインパターンの
自動伴奏が終了した場合に引き続いてベーシックパター
ンの自動伴奏を行う機能が実現されている。
【0105】上記ステップS65でENDデータでない
ことが判断されると、当該データは音符データであるこ
とが認識され、コード展開処理が行われる(ステップS
67)。コード展開処理では、基本コードCのコード構
成音で自動伴奏データメモリ13に記憶されている音符
データを、コード名レジスタに格納されているコードに
応じたコード構成音に変更する処理が行われる。例え
ば、コードEmが検出されている場合は、音名「ミ」及
び「ソ」は元のままであるが、音名「ド」は「シ」に変
更される。
【0106】次いで、発音処理が行われる(ステップS
68)。発音処理では、コード展開によって得られた音
符データ中のキーナンバに対応する音色パラメータがプ
ログラムメモリ11から読み出され、ベロシティデータ
と一緒に楽音信号生成装置17に送られる。これによ
り、音符データに応じた音がベロシティで指定された強
さでスピーカ19から発生される。
【0107】次いで、読出アドレスに「4」が加えられ
る(ステップS69)。その後ステップS62に戻り、
同様の処理が繰り返される。これにより、同一ステップ
タイムSTEPを有する全ての音符データに基づく音が
発音される。例えば、上述した図2及び図3に示した自
動伴奏データでは、コードを形成する4音は同一のステ
ップタイムSTEPを有するので、ステップS63〜S
69の処理が4回繰り返され、4音が同時に発音される
ことになる。
【0108】以上説明した例では、自動伴奏データは予
め自動伴奏データメモリ13に記憶されているものとし
たが、ユーザが作成した自動伴奏データに基づいて自動
伴奏を行うように構成することもできる。この場合、自
動伴奏データメモリ13は、RAMで構成される。この
場合、自動伴奏データメモリ13に記憶する自動伴奏デ
ータを生成するために鍵盤装置16が用いられる。そし
て、鍵盤装置16の操作により発生した鍵盤データから
音符データを作成し、自動伴奏データメモリ13に順次
記憶する。この音符データの作成においては、「キーナ
ンバ」は鍵盤イベントマップ中でイベントがあったこと
を示しているビットに基づいて作成できる。ベロシティ
データとしては、押鍵時に鍵盤インタフェース回路で検
出されたベロシティデータをそのまま用いることができ
る。ステップタイムのデータとしては、録音(記憶)の
開始と同時に動作を開始するように設けられたカウンタ
の内容を用いることができる。更に、ゲートタイムは、
押鍵時の該カウンタの内容と当該鍵の離鍵時のカウンタ
の内容との差を算出して求めることができる。これらの
各データを求める処理は、例えば鍵盤イベント処理ルー
チン(図14)のステップS52で、発音/消音処理の
代わりに又は発音/消音処理と同時に行うように構成で
きる。
【0109】なお、上記鍵盤装置16の代わりにMID
Iインタフェース回路を用いることもできる。この場合
は、鍵盤装置16で発生される鍵盤データの代わりに、
MIDIインタフェース回路で受信されたMIDIメッ
セージに含まれるノートオンデータが使用される。
【0110】(実施の形態2)本発明の実施の形態2に
係る自動伴奏装置は、鍵盤装置16の操作により発生さ
れた押鍵データに応じて自動伴奏の抑揚を変化させる機
能を有する。以下においては、各リズムに対応する自動
伴奏データは4分の4拍子であって1小節分の自動伴奏
を行うための音符データで構成されているものとする。
また、1拍(4分音符)は、24ステップで構成されて
いるものとする。
【0111】(2−1)ハードウェア構成 本実施の形態2に係る自動伴奏装置の構成は、上述した
実施の形態1に係る自動伴奏装置の構成と大部分におい
て同じであるので、以下においては、相違部分を中心に
説明する。
【0112】テーブルデータメモリ14は、例えばRO
Mで構成される。このテーブルデータメモリ14には、
図17に示すように、リズム毎に自動伴奏ビートデー
タ、自動伴奏強弱位置データ及び自動伴奏強弱データが
記憶されている。なお、このテーブルデータメモリ14
はRAMで構成することもできる。この場合、本自動伴
奏装置を動作させるに先立って、毎に自動伴奏ビートデ
ータ、自動伴奏強弱位置データ及び自動伴奏強弱データ
がテーブルデータメモリ14(RAM)にロードするよ
うに構成される。
【0113】「自動伴奏ビートデータ」は自動伴奏のビ
ート数を示す値である。例えば、8ビートのリズムであ
れば「8」、16ビートのリズムであれば「16」とい
う値が自動伴奏ビートデータとして用いられる。
【0114】「自動伴奏強弱位置データ」は、強拍及び
弱拍の位置を表すデータである。図18は、8ビートの
リズムの一例を示す。図18において、「>」印が付さ
れた音符は強拍を表し、無印の音符は弱拍を表す。この
リズムからは、8個の強拍及び弱拍で成る自動伴奏強弱
位置データが得られる。この8ビートのリズムに対応す
る自動伴奏強弱位置データの例を図19に示す。図19
においては、各拍を1ビットに対応させ、「1」で強拍
を、「0」で弱拍をそれぞれ表している。
【0115】なお、通常の8ビートであれば奇数拍が強
拍、偶数拍が弱拍であると一意的に決定できるので、上
記のような強拍及び弱拍の位置を表すデータは不要であ
る。しかし、シンコペートする位置は強拍になるので、
この構成ではシンコペーションを含むリズムには対応で
きない。そこで、本実施の形態2では、あらゆるリズム
に対応できるように、強拍及び弱拍の位置を表すデータ
をテーブルデータメモリ14に記憶するように構成され
ている。
【0116】自動伴奏強弱データは、押鍵データの代わ
りに自動伴奏データを用い、後述する演奏強弱データを
作成する場合と同様の方法で作成されたデータである。
この自動伴奏強弱データは、自動伴奏データ自身が有す
る抑揚を表すデータと考えることができる。これに対
し、演奏強弱データは、ユーザが演奏したメロディやソ
ロフレーズの抑揚を表すデータと考えることができる。
【0117】また、本実施の形態2においては、ワーク
メモリ12には、上述した実施の形態1で定義されてい
るものの他に、更に次のレジスタ、カウンタ、フラグ等
が定義される。 (1)演奏強弱データレジスタ:鍵盤装置16のアッパ
ー鍵域からの押鍵データに基づいて作成される演奏強弱
データを記憶する。 (2)ビートカウンタ:各拍(ビート)内におけるステ
ップタイムをカウントする。例えば8ビートの場合は、
「0」から「11」までカウントアップし、その後
「0」にラウンドして再度カウントアップを継続する。 (3)ビートステップレジスタ:1拍のステップ数(ビ
ートステップBSという)を記憶する。例えば、8ビー
トの場合は「12」がセットされる。 (4)弱拍フラグ:現在処理中の拍が強拍であるか弱拍
であるかを記憶する。ビートカウンタの内容がビートレ
ジスタの内容に一致する毎に反転される。 (5)強拍カウンタ:何拍目の強拍であるかをカウント
する。 (6)弱拍カウンタ:何拍目の弱拍であるかをカウント
する。 (7)強拍ベロシティバッファDWVELO:強拍のベ
ロシティ値を記憶する。記憶位置は強拍カウンタの内容
(強拍カウント)で指定される。 (8)弱拍ベロシティバッファUPVELO:弱拍のベ
ロシティ値を記憶する。記憶位置は弱拍カウンタの内容
(弱拍カウント)で指定される。 (9)ポインタN:DWVELO及びUPVELO内の
ベロシティ値のうち現在処理中のベロシティ値を指す。 (10)カウンタM:ワーク用のレジスタである。 (11)強弱割合データレジスタ:強拍のベロシティ値
に対する弱拍のベロシティ値を表す強弱割合データを記
憶する。
【0118】(2−2)メイン処理 本発明の実施の形態2に係る自動伴奏装置のメイン処理
ルーチンは、図11のフローチャートに示した実施の形
態1で使用したものと同じである。
【0119】(2−3)タイマ割込処理 本発明の実施の形態2に係る自動伴奏装置のタイマ割込
処理ルーチンは、図12のフローチャートに示した実施
の形態1で使用したものと同じである。
【0120】(2−4)パネル処理 本発明の実施の形態2に係る自動伴奏装置のパネル処理
ルーチンは、下記の点を除き、図13のフローチャート
に示した実施の形態1で使用したものと同じである。即
ち、その他のスイッチ処理(ステップS42)では、リ
ズム選択スイッチ151によって新たなリズムが選択さ
れた場合に、DWVELO及びUPVELOの内容がゼ
ロにクリアされると共に、当該リズムのビートステップ
BSがビートステップレジスタに格納される。ビートス
テップは、4分の4拍子の1小節に相当するステップ数
96を、テーブルデータメモリ14に格納されている当
該リズムの自動伴奏ビートデータで除算することにより
得られる。
【0121】また、図13では図示されていないが、自
動伴奏スイッチがオンにされたことが判断された直後に
(ステップS31とS32との間で)、DWVELO及
びUPVELOの内容がゼロにクリアされると共に、弱
拍フラグが「0」にクリアされる。従って、自動伴奏が
スタートした直後は強拍となっている。
【0122】(2−5)鍵盤イベント処理 鍵盤イベント処理の詳細を、図20のフローチャートに
示す。この鍵盤イベント処理は、ステップS59の処理
が追加されている点を除き、実施の形態1の鍵盤イベン
ト処理(図14)と同じである。以下においては、同一
部分には同一符号を付して説明を省略し、相違する部分
を中心に説明する。
【0123】本実施の形態2において追加されたステッ
プS59では、強弱の深さ検出処理が行われる。この強
弱の深さ検出処理では、押鍵イベントが発生した際の強
拍及び弱拍の各ベロシティ値が検出される。この強弱の
深さ検出処理の詳細を図21のフローチャートに示す。
【0124】強弱の深さ検出処理では、先ず、ビートカ
ウンタの内容BCが、『0≦BC<3』という条件(以
下、「条件1」という)を満足するかどうかが調べられ
る(ステップS70)。換言すれば、押鍵イベントは、
拍の先頭から2ステップタイム以内に発生したかどうか
が調べられる。そして、条件1を満足することが判断さ
れた場合にのみベロシティ値の取り込みが行われる(ス
テップS71〜S73)。このように、拍の先頭から短
時間内に発生した押鍵イベントのベロシティ値のみを取
り込むのは次の理由による。例えば、8ビートの場合
は、1拍は8分音符分の時間があるが、その8分音符分
の時間内でビート感を出す、或いは保つために寄与する
音は、その拍の先頭付近で発生する音であることが経験
的に知られている。従って、この拍の先頭付近の音のみ
を強弱の深さ検出の対象とするべく、上記条件1を満足
する押鍵イベントのベロシティ値のみを取り込むように
している。なお、上記ビートカウンタの内容BCが
「3」未満ということは32分音符未満の時間の長さと
いうことになるが、「3」に限定されず「3」近傍の任
意の値を用いることができる。
【0125】上記ステップS70で、ビートカウンタの
内容BCが条件1を満足することが判断されると、次い
で、弱拍フラグが「0」であるかどうかが調べられる
(ステップS71)。ここで弱拍フラグが「0」、即ち
現在処理中の拍が強拍であることが判断されると、ベロ
シティ値がDWVELOの強拍カウンタの内容で指され
る位置に格納され(ステップS72)、その後シーケン
スは、この強弱の深さ検出処理ルーチンから鍵盤イベン
ト処理ルーチンにリターンし、更に鍵盤イベント処理ル
ーチンからメインルーチンにリターンする。一方、弱拍
フラグが「1」、即ち現在処理中の拍が弱拍であること
が判断されると、ベロシティ値がUPVELOの弱拍カ
ウンタの内容で指される位置に格納され(ステップS7
3)、その後シーケンスは、この強弱の深さ検出処理ル
ーチンから鍵盤イベント処理ルーチンにリターンし、更
に鍵盤イベント処理ルーチンからメインルーチンにリタ
ーンする。なお、上記条件1を満足する複数の鍵盤イベ
ントが発生した場合は、最後に発生した鍵盤イベントの
ベロシティ値がDWVELO又はUPVELOに格納さ
れる。
【0126】上記ステップSS70で、ビートカウンタ
の内容BCが、条件1を満足しないことが判断される
と、次いで、ビートカウンタの内容BCが、『9<BC
≦11』という条件(以下、「条件2」という)を満足
するかどうかが調べられる(ステップS74)。換言す
れば、押鍵イベントは、拍の最後から2ステップタイム
以内に発生したかどうかが調べられる。そして、条件2
を満足することが判断された場合にのみベロシティ値の
取り込みが行われる(ステップS75〜S77)。この
ように、拍の最後の短時間内に発生した押鍵イベントを
ベロシティ値のみを取り込むのは、ユーザによっては、
本来拍の先頭のタイミングで押鍵すべきところを早めに
押鍵することがあることが経験的に知られているからで
ある。なお、上記ビートカウンタの内容BCが「9」以
上ということは32分音符未満の時間の長さということ
になるが、「9」に限定されず「9」近傍の任意の値を
用いることができる。
【0127】上記ステップS74で、ビートカウンタの
内容BCが、条件2を満足しないことが判断されると、
シーケンスは、この強弱の深さ検出処理ルーチンから鍵
盤イベント処理ルーチンにリターンし、更に鍵盤イベン
ト処理ルーチンからメインルーチンにリターンする。以
上の処理により、所定の拍の先頭から前後2ステップタ
イム以外のタイミングで発生された押鍵イベントは強弱
の深さ検出の対象とされないことになる。
【0128】一方、上記ステップS74で、ビートカウ
ンタの内容BCが、条件2を満足することが判断される
と、次いで、弱拍フラグが「0」であるかどうかが調べ
られる(ステップS75)。ここで弱拍フラグが
「0」、即ち現在処理中の拍が強拍であることが判断さ
れると、ベロシティ値がUPVELOの弱拍カウンタの
内容で指される位置に格納され(ステップS76)、そ
の後シーケンスは、この強弱の深さ検出処理ルーチンか
ら鍵盤イベント処理ルーチンにリターンし、更に鍵盤イ
ベント処理ルーチンからメインルーチンにリターンす
る。一方、弱拍フラグが「1」、即ち現在処理中の拍が
弱拍であることが判断されると、ベロシティ値がDWV
ELOの強拍カウンタの内容で指される位置に格納され
(ステップS77)、その後シーケンスは、この強弱の
深さ検出処理ルーチンから鍵盤イベント処理ルーチンに
リターンし、更に鍵盤イベント処理ルーチンからメイン
ルーチンにリターンする。
【0129】ここで注意すべきことは、弱拍時に発生し
た押鍵イベントは、次の強拍時に発生した押鍵イベント
として取り扱われ、その押鍵イベントに対応するベロシ
ティ値はDWVELOに格納されるという点である。同
様に、強拍時に発生した押鍵イベントは、次の弱拍時に
発生した押鍵イベントとして取り扱われ、その押鍵イベ
ントに対応するベロシティ値はUPVELOに格納され
る。
【0130】以上の処理を時下の経過と共に繰り返すこ
とにより、自動伴奏が1小節進む間の複数の強拍時及び
弱拍時の押鍵イベントにおけるベロシティ値が各々DW
VELO及びUPVELOに格納される。例えば8ビー
トのリズムの場合、8分音符で休みなく押鍵した場合
は、DWVELO及びUPVELOには、各々4つのベ
ロシティ値が格納されることになる。
【0131】(2−6)自動伴奏処理 自動伴奏処理の詳細を図22のフローチャートに示す。
この自動伴奏処理は、ステップS80〜S84の各処理
が追加されている点を除き、実施の形態1の自動伴奏処
理(図15)と同じである。以下においては、同一部分
には同一符号を付して説明は簡略化し、相違する部分を
中心に説明する。
【0132】自動伴奏処理では、先ず、自動伴奏モード
であるかどうかが調べられ(ステップS60)、自動伴
奏モードでないことが判断されると、シーケンスはこの
自動伴奏処理ルーチンからメイン処理ルーチンにリター
ンする。一方、自動伴奏モードであることが判断される
と、チェックタイミングであるかどうかが調べられ(ス
テップS61)、チェックタイミングでないことか判断
されると、シーケンスはこの自動伴奏処理ルーチンから
メイン処理ルーチンにリターンする。
【0133】上記ステップS61でチェックタイミング
であることが判断されると、次いで、ステップタイムカ
ウンタの内容COUNTがゼロであるかどうか、つまり
小節の先頭であるかどうかが調べられる(ステップS8
0)。ここで、小節の先頭であることが判断されると、
強拍カウンタ及び弱拍カウンタの内容が初期化される
(ステップS81)。即ち、弱拍カウンタに「0」が、
強拍カウンタに「1」がそれぞれ初期値として設定され
る。次いで、演奏強弱データ算出処理が行われる(ステ
ップS82)。この演奏強弱データ算出処理では、上述
した強弱の深さ検出処理によって得られたベロシティ値
に基づいて演奏強弱データを算出する処理が行われる。
この処理の詳細は、以下に示す。上記ステップS80で
小節の先頭でないことが判断されると、ステップS81
及びS82の各処理はスキップされる。
【0134】(2−6−1)演奏強弱データ算出処理 演奏強弱データ算出処理の詳細を図23のフローチャー
トに示す。この処理では、先ずポインタN及びカウンタ
Mの内容がクリアされる(ステップS90)。次いで、
DWVELO内のポインタNで指される位置(以下、
「DWVELO(N)と表す)に格納されているベロシ
ティ値がゼロであるかどうかが調べられる(ステップS
91)。そして、ゼロでないことが判断されると、次い
で、UPVELO内のポインタNで指される位置(以
下、「UPVELO(N)と表す)に格納されているベ
ロシティ値がゼロであるかどうかが調べられる(ステッ
プS93)。ポインタNの内容は最初はゼロであるの
で、ステップS91及びS92では、先ずDWVELO
及びUPVELOの先頭のベロシティ値が調べられるこ
とになる。
【0135】ここで、DWVELO及びUPVELOの
内容は、電源投入時又は操作パネル15でリズムを選択
した時にゼロにクリアされている。従って、上述した条
件1及び条件2を満足する押鍵イベント(以下、「実効
押鍵イベント」という)がなかった場合、つまり、上述
した鍵盤イベント処理ルーチンでDWVELO及びUP
VELOにベロシティ値が格納されなかった場合には、
ゼロが残っているので、DWVELO及びUPVELO
の内容を順次調べることにより各拍で実効押鍵イベント
があったかどうかがわかる。
【0136】上記ステップS92でゼロでないことが判
断されると、演奏強弱データの生成処理の一部(ステッ
プS94及びS95)が実行される。一方、上記ステッ
プS91又はS92でゼロであることが判断されると、
ある1拍において、その強拍又は弱拍のどちらかに実効
押鍵イベントがなかったことが認識され、演奏強弱デー
タの生成処理の一部は行われず、カウンタMの内容がイ
ンクリメントされる(ステップS92)。これは、任意
の1拍の強拍と弱拍時のどちらかに実効押鍵イベントが
なければ一対の実効押鍵イベントが得られず、強弱の深
さを求めることができないからである。
【0137】上記ステップS92でゼロでないことが判
断されると、UPVELO(N)をDWVELO(N)
で除算した結果が強弱割合データレジスタに格納される
(ステップS94)。即ち、強拍時のベロシティ値に対
する弱拍時のベロシティ値の割合が算出され、その結果
が強弱割合データとして強弱割合データレジスタに格納
される。この強弱割合データは、任意の一対の実効押鍵
イベントの強弱の深さを表す。次いで、演奏強弱データ
レジスタの内容に強弱割合データレジスタの内容が加算
され、その結果が演奏強弱データレジスタに格納される
(ステップS95)。即ち、演奏強弱データレジスタに
強弱割合データが順次累算される。
【0138】次いで、ポインタNの内容が自動伴奏ビー
トデータの半分の値に等しいかどうかが調べられる(ス
テップS96)。ここで、等しくないことが判断される
と、未だDWVELO及びUPVELOの全領域を調べ
ていないことが認識され、ポインタNの内容がインクリ
メントされる(ステップS97)。その後シーケンスは
ステップS91に戻り、以下同様の処理が繰り返され
る。この繰り返しの過程で、上記ステップS96で、ポ
インタNの内容が自動伴奏ビートデータの半分の値に等
しいことが判断されると、1小節の終わり、つまりDW
VELO及びUPVELOの全領域を調べ終わったこと
が認識され、次いで、ポインタNの内容とカウンタMの
内容とが等しいかどうかが調べられる(ステップS9
8)。ここで、等しいことが判断されると、強拍時と弱
拍時の一対の実効押鍵イベントが1小節、つまりDWV
ELO及びUPVELOの全てを通して1つもなかっ
た、換言すれば強弱割合データが算出されなかったこと
が認識され、シーケンスはこの演奏強弱データ算出処理
ルーチンから自動伴奏処理ルーチンにリターンする。
【0139】上記ステップS98で、ポインタNの内容
とカウンタMの内容とが等しくないことが判断された場
合、つまり幾つかの強弱割合データが算出された場合
は、演奏強弱データの内容が、ポインタNの内容からカ
ウンタMの内容を減算した結果で除算される(ステップ
S99)。即ち、上記の処理で算出された強弱割合デー
タを累算した値が、強弱割合データの総数で除算され
る。これにより、最終的な演奏強弱データが算出され、
演奏強弱データレジスタに格納される。この演奏強弱デ
ータは、後述する自動伴奏のベロシティ値を変更するた
めに使用される。次いで、DWVELO及びUPVEL
Oの内容が初期化され(ステップS100)、その後、
シーケンスはこの演奏強弱データ算出処理ルーチンから
自動伴奏処理ルーチンにリターンする。
【0140】自動伴奏処理では、次いで、アドレスレジ
スタに保持されている読出アドレスで指定される音符デ
ータ又はENDデータ中のステップタイムSTEPとス
テップタイムカウンタの内容COUNTとが比較される
(ステップS62)。そして、これらが一致しないこと
が判断されると、当該ステップタイムSTEPが含まれ
た音符データ又はENDデータは未だ実行タイミングに
至っていないものと認識され、ステップタイムカウンタ
の内容COUNTがインクリメントされる(ステップS
63)。これにより、1ステップタイム毎にステップタ
イムカウンタの内容かインクリメントされる機能が実現
されている。
【0141】次いで、その他のカウンタ処理が行われる
(ステップS83)。この「その他のカウンタ処理」の
詳細を図24のフローチャートに示す。
【0142】(2−6−2)その他のカウンタ処理 この「その他のカウンタ処理」では、先ず、ビートカウ
ンタの内容BCがインクリメントされる(ステップS1
10)。この処理は、ステップタイムカウンタの内容C
OUNTをインクリメントした直後に行われるので、ビ
ートカウンタの内容はステップタイムカウンタに同期し
てインクリメントされることになる。次いで、ビートカ
ウンタの内容BCとビートステップレジスの内容BSと
が比較される(ステップS111)。
【0143】ここで、ビートカウンタの内容BCがビー
トステップレジスの内容BSと一致しないことが判断さ
れると、1拍分の時間は未だ経過していないことが認識
され、シーケンスはこの「その他のカウンタ処理」ルー
チンから自動伴奏処理ルーチンにリターンし、更に自動
伴奏処理ルーチンからメイン処理ルーチンにリターンす
る。一方、ビートカウンタの内容BCがビートステップ
レジスの内容BSと一致することが判断されると1拍分
の時間が経過したことが認識され、ビートカウンタの内
容がクリアされる(ステップS112)。これにより、
ビートカウンタは、ビートステップBSを法としてカウ
ントアップ動作を繰り返す。
【0144】次いで、弱拍フラグがゼロであるかどうか
が調べられる(ステップS113)。即ち、現在処理中
の拍が強拍であるか弱拍であるかが調べられる。そし
て、弱拍フラグが「0」であることが判断されると、弱
拍フラグが「1」にセットされ(ステップS114)、
続いて弱拍カウンタがインクリメントされる(ステップ
S115)。これにより、その弱拍が自動伴奏の先頭か
ら何拍目であるかを知ることができるようになってい
る。その後、シーケンスはこの「その他のカウンタ処
理」ルーチンから自動伴奏処理ルーチンにリターンし、
更に、自動伴奏処理ルーチンからメインルーチンにリタ
ーンする。
【0145】上記ステップS113で弱拍フラグが
「1」であることが判断されると、弱拍フラグが「0」
にクリアされ(ステップS116)、続いて強拍カウン
タがインクリメントされる(ステップS117)。これ
により、その強拍が自動伴奏の先頭から何拍目であるか
を知ることができるようになっている。その後、シーケ
ンスはこの「その他のカウンタ処理」ルーチンから自動
伴奏処理ルーチンにリターンし、更に、自動伴奏処理ル
ーチンからメインルーチンにリターンする。以上で、
「その他のカウンタ処理」を終了する。
【0146】自動伴奏処理ルーチンのステップS62
で、ステップタイムSTEPとステップタイムカウンタ
の内容COUNTとが一致したことが判断されると、そ
のステップタイムSTEPが含まれた音符データ又はE
NDデータが、自動伴奏データメモリ13から読み出さ
れる(ステップS64)。そして、読み出されたデータ
はENDデータであるかどうかが調べられる(ステップ
S65)。ここで、ENDデータであることが判断され
ると、現在実行しているリズムに対応するベーシックパ
ターン用の自動伴奏データの先頭の読出アドレスがアド
レスレジスタにセットされる(ステップS66)。これ
により、ベーシックパターンの自動伴奏が繰り返して行
われる機能が実現されている。
【0147】上記ステップS65でENDデータでない
ことが判断されると、当該データは音符データであるこ
とが認識され、ベロシティ値の強弱制御処理が行われる
(ステップS84)。この処理の詳細は以下に説明す
る。次いで、コード展開処理が行われ(ステップS6
7)、発音処理が行われ(ステップS68)、読出アド
レスに「4」が加えられる(ステップS69)。その後
ステップS62に戻り、以下同様の処理が繰り返され
る。
【0148】(2−6−3)ベロシティ値の強弱制御処
理 この処理では、先ず、ビートカウンタの内容BCがゼロ
であるかどうかが調べられる(ステップS120)。そ
して、ゼロであることが判断されると、強弱位置データ
がテーブルデータメモリ14から読み出される(ステッ
プS121)。そして、この強弱位置データの現在処理
中の拍に対応するデータが「0」であるかどうか、つま
り弱拍であるかどうかが調べられる(ステップS12
2)。そして、弱拍でないことが判断されると、この強
弱制御処理ルーチンから自動伴奏処理ルーチンにリター
ンする。これは、本実施の形態2では、弱拍の場合にの
み音符データに含まれるベロシティ値が加工されるため
である。
【0149】上記ステップS122で、弱拍であること
が判断されると、演奏強弱データレジスタに記憶されて
いる演奏強弱データから自動伴奏強弱データが減算さ
れ、再度演奏強弱データレジスタに格納される(ステッ
プS123)。次いで、上記ステップS123で得られ
た演奏強弱データにベロシティ変換係数が乗算され、こ
の乗算結果(これを「制御データ」という)が音符デー
タ中のベロシティ値に加算される(ステップS12
4)。この加算結果が、最終的なベロシティ値となる。
なお、ベロシティ値換算係数は、上記減算結果のレンジ
を本自動伴奏装置で使用されるベロシティ値のレンジに
変換するための定数である。
【0150】これにより、演奏されるメロディやソロフ
レーズの強拍及び弱拍の抑揚感が自動伴奏の抑揚感より
大きければ、換言すれば演奏強弱データの方が自動伴奏
強弱データより小さければ、最終的な演奏強弱データは
負の値となる。従って、これを弱拍のベロシティ値に加
算することによりベロシティ値が元の値より小さくなる
ので、自動伴奏の抑揚感も大きくなる。一方、演奏され
るメロディやソロフレーズの強拍及び弱拍の抑揚感が自
動伴奏の抑揚感より小さければ、最終的な演奏強弱デー
タは正の値となる。これにより、自動伴奏の弱拍のベロ
シティ値が元の値より大きくなるので、抑揚感が小さく
なる。
【0151】以上説明した実施の形態2では、強拍及び
弱拍の識別のために強弱位置データをテーブルデータメ
モリに記憶する構成としたが、この強弱位置データは、
音符データの中に記憶するように構成してもよい。この
場合、音符データ中の不使用ビットを用いることができ
るので、メモリ容量を小さくできるという利点がある。
【0152】また、上記の実施の形態2では、演奏強弱
データから自動伴奏強弱データを減算した結果にベロシ
ティ値換算係数を乗算することによって得られた制御デ
ータと弱拍のベロシティ値とを演算して新たなベロシテ
ィ値を得るように構成したが、該制御データと強拍及び
弱拍の双方、或いは強拍のみと演算するように構成する
こともできる。この場合、該制御データを求める式及び
ベロシティ値換算係数は適宜定めることができる。
【0153】更に、上記の実施の形態2では、予め計算
された自動伴奏強弱データを用いて制御データを算出し
たが、次の方法によって制御データを算出することもで
きる。即ち、先ず自動伴奏データを読み出す際に強拍の
ベロシティ値を保持し、該強拍に対をなす弱拍を発音す
る都度、該弱拍のベロシティ値の割合を算出して自動伴
奏強弱データを作成する。その他の処理は上述した実施
の形態2の処理と同じである。この方法によれば、更に
厳密に自動伴奏の抑揚を制御することができる。なお、
制御データを弱拍のベロシティ値に加算する前に、対応
する自動伴奏強弱データの逆数を一定の係数と共に乗算
するように構成することもできる。この構成によれば、
各々の拍の強弱において抑揚の制御が可能であり、且つ
元の自動伴奏データの強弱の雰囲気を残すことができ
る。
【0154】(3)実施の形態3 本発明の実施の形態3に係る自動伴奏装置は、押鍵によ
って特定コードが指定された場合に、該コードをテンシ
ョンコードに変換し、該変換されたテンションコードに
基づいて自動伴奏データを展開して自動伴奏音を発生す
る。
【0155】(3−1)ハードウェア構成 本実施の形態3に係る自動伴奏装置の構成は、上述した
実施の形態1の構成と大部分において同じであるので、
以下においては、相違部分を中心に説明する。
【0156】テーブルデータメモリ14は、例えばRA
Mで構成されている。このテーブルデータメモリ14に
は、図27に示すように、変換前コードと変換後のテン
ションコードとを対応付けるテーブルが記憶されてい
る。変換前コードはコードルート欄とコードタイプ欄と
で構成されている。変換前コードのコードルート欄の
「*」印は、任意のルート名を指定可能であることを意
味する。なお、このテーブルデータメモリ14に規定さ
れていないコードが検出された場合はコード変換が行わ
れず、該検出されたコードがそのままコード展開に用い
られる。
【0157】例えば、『FM7→F6→Em7→A7→
Dm7→G7→CM7→C7』の順番でコードが指定さ
れた場合、『FM9→F6(9)→[Em7]→[A
7]→Dm11→G7(9、♭13)→CM9→C7
(♭9)』の順番でコードが得られる。上記の例では、
[ ]で示したコードは変換されず、指定されたコード
がそのままコード展開に用いられる。
【0158】操作パネル15に設けられたコード入力ス
イッチ153には、図28に示すように、実施の形態1
の操作パネル15(図6参照)にテンションコードタイ
プ指定スイッチ160及び書込スイッチ161が追加さ
れている。テンションコードタイプ指定スイッチ160
は、例えば押釦スイッチで構成されており、変換後のテ
ンションコードのコードタイプを指定するために使用さ
れる。このテンションコードタイプ指定スイッチ160
が押される毎に、『M9→6(9)→m11→7(9、
♭13)→7(♭9)→M7→・・・』の順番でコード
タイプ名がLCDディスプレイ158に表示されると共
に、テンションコードタイプレジスタにテンションコー
ドタイプを表すデータが記憶される。
【0159】書込スイッチ161は、変換前コード及び
変換後のテンションコードとをテーブルに書き込むこと
を指示するために使用される。この書込スイッチ161
が押されると、コード名レジスタ及びテンションコード
タイプレジスタの内容がテーブルに書き込まれる。
【0160】また、本実施の形態3においては、ワーク
メモリ12には、上述した実施の形態1及び実施の形態
2で定義されているものの他に、更に次のレジスタ、カ
ウンタ、フラグ等が定義される。 (1)テンションコードタイプレジスタ:変換後のテン
ションコードのコードタイプを表すデータが記憶され
る。 (2)テーブルポインタ:変換前のコード(コードルー
ト及びコードタイプ)と変換後のテンションコードのコ
ードタイプとの対応付けを記憶するテーブルの記憶位置
を指す。
【0161】(3−2)メイン処理 本発明の実施の形態2に係る自動伴奏装置のメイン処理
は、図11のフローチャートに示した実施の形態1で使
用したものと同じである。なお、テーブルポインタは、
このメイン処理ルーチンの初期化処理において初期化さ
れる。
【0162】(3−3)タイマ割込処理 本発明の実施の形態2に係る自動伴奏装置のタイマ割込
処理ルーチンは、図12のフローチャートに示した実施
の形態1で使用したものと同じである。
【0163】(3−4)パネル処理 パネル処理の詳細を、図29及び図30のフローチャー
トに示す。このパネル処理は、実施の形態1で使用した
パネル処理(図13)にステップS130〜S134の
各処理が追加されている。以下においては、実施の形態
1と同一部分には同一符号を付して説明は簡略化し、相
違する部分を中心に説明する。
【0164】図29において、ステップS40でコード
タイプ指定スイッチ155のオンイベントがないことが
判断された場合又はステップS41の処理が終了した場
合は、次いで、図30に示すように、テンションコード
タイプ指定スイッチ160のオンイベントがあるかどう
かが調べられる(ステップS130)。これは、パネル
イベントマップ中の所定のテンションコードタイプ指定
スイッチ160に対応するビットが「1」であり、且つ
新パネルデータ中の当該テンションコードタイプ指定ス
イッチ160に対応するビットが「1」であるかどうか
を調べることにより行われる。ここで、テンションコー
ドタイプ指定スイッチ160のオンイベントがあること
が判断されると、テンションコードのコードタイプを表
すデータがテンションコードタイプレジスタにセットさ
れる(ステップS131)。上記ステップS130でテ
ンションコードタイプ指定スイッチ160のイベントが
ないことが判断されると、ステップS131はスキップ
される。
【0165】次いで、書込スイッチ161のオンイベン
トがあるかどうかが調べられる(ステップS132)。
これは、パネルイベントマップ中の所定の書込スイッチ
161に対応するビットが「1」であり、且つ新パネル
データ中の当該書込スイッチ161に対応するビットが
「1」であるかどうかを調べることにより行われる。こ
こで、書込スイッチ161のオンイベントがあることが
判断されると、特定コード名レジスタ及びテンションコ
ードタイプレジスタの内容がテーブルに書き込まれる
(ステップS133)。次いで、テーブルポインタがイ
ンクリメントされる(ステップS134)。これによ
り、次に特定コード名レジスタ及びテンションコードタ
イプレジスタの内容を書き込む位置が決定される。上記
ステップS133で書込スイッチ161のイベントがな
いことが判断されると、ステップS133はスキップさ
れる。次いで、その他の処理が行われ(ステップS4
2)、その後、シーケンスはこのパネル処理ルーチンか
らメイン処理ルーチンにリターンする。
【0166】(3−5)鍵盤イベント処理 鍵盤イベント処理の詳細を、図31のフローチャートに
示す。この鍵盤イベント処理は、ステップS56〜S5
7の処理が削除され、ステップS140の処理が追加さ
れている点のみが、実施の形態1の鍵盤イベント処理
(図14)と異なっている。従って、同一部分には同一
符号を付して説明は省略し、以下においては、相違する
部分を中心に説明する。
【0167】コード検出処理(ステップS54)が終了
すると、次いで、該処理で検出されたコードは特定コー
ドであるかどうかが調べられる(ステップS55)。こ
れは、コード検出処理で検出されてコード名レジスタに
格納されているコードと、上記テーブルに格納されてい
る変換前コードとを順次比較することにより行われる。
【0168】ここで、特定コードであることが判断され
ると、コード名レジスタの下位バイトの内容、つまりコ
ードタイプが、該変換前コードに対応する変換後のテン
ションコードのコードタイプに入れ替えられる(ステッ
プS140)。その後、このシーケンスは鍵盤イベント
処理からメイン処理ルーチンにリターンする。一方、特
定コードでないことが判断されると、このステップS1
40の処理はスキップされる。従って、コード名レジス
タの内容はコード検出時のものがそのまま残される。こ
のコード名レジスタの内容が、後述する自動伴奏処理に
おいてコード展開を行う時に使用される。
【0169】(3−6)自動伴奏処理 本発明の実施の形態3に係る自動伴奏処理ルーチンとし
ては、図15のフローチャートに示した実施の形態1で
使用したものがそのまま使用される。
【0170】以上説明した例では、変換前コードと変換
後のテンションコードのコードタイプとの関連付けを行
うテーブルを操作パネル15から変更できるように構成
したが、このテーブルは、予め固定的なデータを記憶す
るように構成してもよい。
【0171】
【発明の効果】以上詳述したように、本発明によれば、
簡単な操作であるにも拘わらず、ユーザの曲想に合致し
た変化に富んだ自動伴奏を行うことのできる自動伴奏装
置を提供できる。
【図面の簡単な説明】
【図1】本発明の第1の態様に係る自動伴奏装置の構成
を示す図である。
【図2】本発明の第1の態様に係る自動伴奏装置で使用
されるベーシックパターンの一例を示す譜面である。
【図3】本発明の第1の態様に係る自動伴奏装置で使用
されるフィルインパターンの一例を示す譜面である。
【図4】本発明の第1の態様に係る自動伴奏装置を用い
て自動伴奏した場合の一例を示す譜面である。
【図5】本発明の自動伴奏装置の実施の形態1〜3で共
通に使用される自動伴奏装置の構成を示すブロック図で
ある。
【図6】本発明の自動伴奏装置の実施の形態1及び2で
共通に使用される操作パネルの構成を示す図である。
【図7】本発明の自動伴奏装置の実施の形態1で使用さ
れるコードルートとコードルートを表すデータの一例を
示す図である。
【図8】本発明の自動伴奏装置の実施の形態1で使用さ
れるコードタイプとコードタイプを表すデータの一例を
示す図である。
【図9】本発明の自動伴奏装置の実施の形態1で使用さ
れる特定コード名レジスタの一例を示す図である。
【図10】本発明の自動伴奏装置の実施の形態1〜3で
共通に使用される自動伴奏データメモリの構成例を示す
図である。
【図11】本発明の自動伴奏装置の実施の形態1〜3で
共通に使用されるメイン処理を示すフローチャートであ
る。
【図12】本発明の自動伴奏装置の実施の形態1〜3で
共通に使用されるタイマ割込処理を示すフローチャート
である。
【図13】本発明の自動伴奏装置の実施の形態1で使用
されるパネル処理を示すフローチャートである。
【図14】本発明の自動伴奏装置の実施の形態1で使用
される鍵盤イベント処理を示すフローチャートである。
【図15】本発明の自動伴奏装置の実施の形態1及び3
で共通に使用される自動伴奏処理を示すフローチャート
である。
【図16】本発明の第2の態様に係る自動伴奏装置の構
成を示す図である。
【図17】本発明の自動伴奏装置の実施の形態2で使用
されるテーブルデータメモリの構成例を示す図である。
【図18】本発明の自動伴奏装置の実施の形態2で使用
される自動伴奏の強弱位置を表す譜面の一例を示す図で
ある。
【図19】本発明の自動伴奏装置の実施の形態2で使用
される自動伴奏強弱位置データの一例を示す図である。
【図20】本発明の自動伴奏装置の実施の形態2で使用
される鍵盤イベント処理を示すフローチャートである。
【図21】本発明の自動伴奏装置の実施の形態2で使用
される強弱の深さ検出処理を示すフローチャートであ
る。
【図22】本発明の自動伴奏装置の実施の形態2で使用
される自動伴奏処理を示すフローチャートである。
【図23】本発明の自動伴奏装置の実施の形態2で使用
される演奏強弱データ算出処理を示すフローチャートで
ある。
【図24】本発明の自動伴奏装置の実施の形態2で使用
される「その他のカウンタ処理」を示すフローチャート
である。
【図25】本発明の自動伴奏装置の実施の形態2で使用
されるベロシティ値の強弱制御処理を示すフローチャー
トである。
【図26】本発明の第3の態様に係る自動伴奏装置の構
成を示す図である。
【図27】本発明の自動伴奏装置の実施の形態3で使用
されるテーブルデータメモリの構成例を示す図である。
【図28】本発明の自動伴奏装置の実施の形態3で使用
される操作パネルの構成を示す図である。
【図29】本発明の自動伴奏装置の実施の形態3で使用
されるパネル処理(その1)を示すフローチャートであ
る。
【図30】本発明の自動伴奏装置の実施の形態3で使用
されるパネル処理(その2)を示すフローチャートであ
る。
【図31】本発明の自動伴奏装置の実施の形態3で使用
される鍵盤イベント処理を示すフローチャートである。
【符号の説明】 10 CPU 10a タイマ 10b 外部インタフェース回路 11 プログラムメモリ 12 ワークメモリ 13 自動伴奏データメモリ 14 テーブルデータメモリ 15 操作パネル 16 鍵盤装置 17 楽音信号生成装置 18 増幅器 19 スピーカシステム 20 システムバス 150 自動伴奏スイッチ 151 リズム選択スイッチ 152 音色選択スイッチ 153 コード入力スイッチ 154 コードルート指定スイッチ 155 コードタイプ指定スイッチ 156 音響効果選択スイッチ 157 音量スイッチ 158 LCDディスプレイ 159 LEDインジケータ 160 テンションコードタイプ指定スイッチ 161 書込スイッチ

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】楽音信号に基づいて自動伴奏音を発生する
    自動伴奏装置であって、 ベーシックパターン用の自動伴奏データ及びフィルイン
    パターン用の自動伴奏データを記憶する自動伴奏データ
    記憶手段と、 押鍵データからコードを検出するコード検出手段と、 特定コードを設定する特定コード設定手段と、 該コード検出手段で検出されたコードが該特定コード設
    定手段で設定された特定コードに一致する場合に該自動
    伴奏データ記憶手段からフィルインパターン用の自動伴
    奏データを読み出し、そうでない場合にベーシックパタ
    ーン用の自動伴奏データを読み出す読出手段と、 該読出手段で読み出された自動伴奏データに基づき楽音
    信号を生成する楽音信号生成手段、とを備えた自動伴奏
    装置。
  2. 【請求項2】前記コード検出手段で検出されるコード及
    び前記特定コード設定手段で設定される特定コードは各
    々コードタイプ及びコードルートで成り、前記読出手段
    は、該コード検出手段で検出されたコードのコードタイ
    プ及びコードルートの双方が該特定コード設定手段で設
    定された特定コードのコードタイプ及びコードルートに
    一致する場合に該自動伴奏データ記憶手段からフィルイ
    ンパターン用の自動伴奏データを読み出し、そうでない
    場合にベーシックパターン用の自動伴奏データを読み出
    す請求項1に記載の自動伴奏装置。
  3. 【請求項3】前記コード検出手段で検出されるコードは
    コードタイプ及びコードルートで成り、前記特定コード
    設定手段で設定される特定コードはコードタイプで成
    り、前記読出手段は、該コード検出手段で検出されたコ
    ードのコードタイプが該特定コード設定手段で設定され
    た特定コードに一致する場合に該自動伴奏データ記憶手
    段からフィルインパターン用の自動伴奏データを読み出
    し、そうでない場合にベーシックパターン用の自動伴奏
    データを読み出す請求項1に記載の自動伴奏装置。
  4. 【請求項4】前記コード検出手段で検出されるコードは
    コードタイプ及びコードルートで成り、前記特定コード
    設定手段で設定される特定コードはコードルートで成
    り、前記読出手段は、該コード検出手段で検出されたコ
    ードのコードルートが該特定コード設定手段で設定され
    た特定コードに一致する場合に該自動伴奏データ記憶手
    段からフィルインパターン用の自動伴奏データを読み出
    し、そうでない場合にベーシックパターン用の自動伴奏
    データを読み出す請求項1に記載の自動伴奏装置。
  5. 【請求項5】楽音信号に基づいて自動伴奏音を発生する
    自動伴奏装置であって、 自動伴奏データを記憶する自動伴奏データ記憶手段と、 外部から供給される押鍵データに基づいて、強拍の音の
    強さと弱拍の音の強さとの関係を表す演奏強弱データを
    生成する演奏強弱データ生成手段と、 該自動伴奏データ記憶手段から読み出された自動伴奏デ
    ータに含まれる音の強さを指示するベロシティデータ
    を、該演奏強弱データ生成手段からの演奏強弱データに
    基づいて加工し、新たな自動伴奏データを生成する強弱
    制御手段と、 該強弱制御手段からの新たな自動伴奏データに基づいて
    楽音信号を生成する楽音信号生成手段、とを備えた自動
    伴奏装置。
  6. 【請求項6】前記演奏強弱データ生成手段は、自動伴奏
    の各拍に対応するタイミングにおいて、外部から供給さ
    れる一定量の押鍵データの強拍の音の強さと弱拍の音の
    強さとの比を順次算出し、該算出結果を定常化して演奏
    強弱データを生成する請求項5に記載の自動伴奏装置。
  7. 【請求項7】自動伴奏の強拍及び弱拍の位置を規定する
    強弱位置データを記憶した強弱位置データ記憶手段を更
    に備え、 前記強弱制御手段は、前記自動伴奏データ記憶手段から
    読み出された自動伴奏データに含まれる音の強さを指示
    するベロシティデータを、該強弱位置データ記憶手段か
    らの強弱位置データ及び前記演奏強弱データ生成手段か
    らの演奏強弱データに基づいて加工し、新たな自動伴奏
    データを生成する請求項5又は請求項6に記載の自動伴
    奏装置。
  8. 【請求項8】楽音信号に基づいて自動伴奏音を発生する
    自動伴奏装置であって、 自動伴奏データを記憶する自動伴奏データ記憶手段と、 押鍵データからコードを検出するコード検出手段と、 該コード検出手段で検出されたコードが特定コードであ
    る場合に該検出されたコードをテンションコードに変換
    して出力し、そうでない場合に該検出されたコードをそ
    のまま出力するコード変換手段と、 該自動伴奏データ記憶手段から自動伴奏データを読み出
    す読出手段と、 該読出手段で読み出された自動伴奏データを該コード変
    換手段からのコードに基づいて展開し、該展開によって
    得られたコード構成音に対応する楽音信号を生成する楽
    音信号生成手段、とを備えた自動伴奏装置。
  9. 【請求項9】前記コード変換手段は、前記特定コードと
    前記テンションコードとの対応付けを規定するテーブル
    を有し、 該テーブルに特定コード及びテンションコードを設定す
    るコード設定手段を更に備え、 該コード変換手段は、該テーブルの内容に基づいてコー
    ド変換を行う請求項8に記載の自動伴奏装置。
JP03432797A 1997-02-03 1997-02-03 自動伴奏装置 Expired - Fee Related JP3455050B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03432797A JP3455050B2 (ja) 1997-02-03 1997-02-03 自動伴奏装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03432797A JP3455050B2 (ja) 1997-02-03 1997-02-03 自動伴奏装置

Publications (2)

Publication Number Publication Date
JPH10222166A true JPH10222166A (ja) 1998-08-21
JP3455050B2 JP3455050B2 (ja) 2003-10-06

Family

ID=12411070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03432797A Expired - Fee Related JP3455050B2 (ja) 1997-02-03 1997-02-03 自動伴奏装置

Country Status (1)

Country Link
JP (1) JP3455050B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222052A (ja) * 2004-02-06 2005-08-18 Roland Europ Spa 自動伴奏装置
JP2011128517A (ja) * 2009-12-21 2011-06-30 Yamaha Corp 演奏補助装置および演奏補助方法を実現するためのプログラム
WO2014170968A1 (ja) * 2013-04-16 2014-10-23 Clover Japon株式会社 コード譜作成装置、コード譜作成方法及びコード譜作成プログラム
JP2016004220A (ja) * 2014-06-19 2016-01-12 カシオ計算機株式会社 自動伴奏装置、電子楽器、自動伴奏方法および自動伴奏プログラム
CN113920969A (zh) * 2021-10-09 2022-01-11 北京灵动音科技有限公司 信息处理方法、装置、电子设备及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222052A (ja) * 2004-02-06 2005-08-18 Roland Europ Spa 自動伴奏装置
JP2011128517A (ja) * 2009-12-21 2011-06-30 Yamaha Corp 演奏補助装置および演奏補助方法を実現するためのプログラム
WO2014170968A1 (ja) * 2013-04-16 2014-10-23 Clover Japon株式会社 コード譜作成装置、コード譜作成方法及びコード譜作成プログラム
JP2016004220A (ja) * 2014-06-19 2016-01-12 カシオ計算機株式会社 自動伴奏装置、電子楽器、自動伴奏方法および自動伴奏プログラム
CN113920969A (zh) * 2021-10-09 2022-01-11 北京灵动音科技有限公司 信息处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP3455050B2 (ja) 2003-10-06

Similar Documents

Publication Publication Date Title
JPH0997083A (ja) 自動伴奏装置
JP3455050B2 (ja) 自動伴奏装置
JPH09179559A (ja) 自動伴奏装置及び自動伴奏方法
JP3844286B2 (ja) 電子楽器の自動伴奏装置
JP3640235B2 (ja) 自動伴奏装置及び自動伴奏方法
JP4318194B2 (ja) 電子楽器の自動伴奏装置及び自動伴奏方法
JP3226268B2 (ja) コンサートマジック自動演奏装置
JP3630266B2 (ja) 自動伴奏装置
JPH0822282A (ja) ギター自動伴奏装置
JP3549083B2 (ja) 音量制御装置
JPH06348258A (ja) 電子楽器の自動演奏装置
JPH06337674A (ja) 電子楽器の自動演奏装置
JPH10177382A (ja) 電子楽器の自動演奏装置
JP3169535B2 (ja) 自動演奏装置及び自動演奏方法
JP3150580B2 (ja) 自動演奏装置及び自動演奏方法
JPH0954580A (ja) 自動演奏装置及び自動演奏方法
JPH05108068A (ja) フレーズ情報入出力装置
JP2714893B2 (ja) 和音情報出力装置
JP3529123B2 (ja) 自動演奏装置及び自動演奏方法
JPH07121172A (ja) 伴奏内容検出装置及び自動伴奏装置
JPH07129177A (ja) 電子楽器の自動伴奏装置
JPH08221072A (ja) 自動伴奏装置
JPH06314096A (ja) 電子楽器の前コード検出装置
JPH07121176A (ja) 伴奏内容検出装置及び自動伴奏装置
JPH11327545A (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: 20030715

LAPS Cancellation because of no payment of annual fees