JP2956924B2 - 電子楽器の自動伴奏装置 - Google Patents

電子楽器の自動伴奏装置

Info

Publication number
JP2956924B2
JP2956924B2 JP5294405A JP29440593A JP2956924B2 JP 2956924 B2 JP2956924 B2 JP 2956924B2 JP 5294405 A JP5294405 A JP 5294405A JP 29440593 A JP29440593 A JP 29440593A JP 2956924 B2 JP2956924 B2 JP 2956924B2
Authority
JP
Japan
Prior art keywords
automatic accompaniment
chord
sound
data
accompaniment
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
JP5294405A
Other languages
English (en)
Other versions
JPH07129177A (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.)
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 JP5294405A priority Critical patent/JP2956924B2/ja
Publication of JPH07129177A publication Critical patent/JPH07129177A/ja
Application granted granted Critical
Publication of JP2956924B2 publication Critical patent/JP2956924B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、鍵盤操作に応じて検出
されたコードに基づいて伴奏音を発生する電子楽器の自
動伴奏装置に関する。
【0002】
【従来の技術】近年、自動伴奏機能を備えた電子楽器が
開発され実用に供されている。かかる電子楽器の一種と
して、鍵盤装置をコード検出用鍵盤と通常演奏用鍵盤と
に分け、コード検出用鍵盤の操作に応じてコード検出を
行って自動的に伴奏音を発生し、一方、通用演奏用鍵盤
の操作に応じて通常の楽音を発生するものが知られてい
る。
【0003】かかる電子楽器における伴奏音の発生は、
より具体的には、次のようにして行われる。即ち、先
ず、コード検出用鍵盤の鍵の押下パターンに応じてコー
ド検出を行う。このコード検出では、鍵の押下に応じて
コード(例えばコードルート及びコードタイプ、ベース
ルート等)が検出される。次いで、予め記憶手段に記憶
された自動伴奏データが読み出され、この自動伴奏デー
タに含まれるステップタイムデータが別途計数されてい
るステップタイムカウンタSTEPの内容と一致した場
合に、即ち自動伴奏データの発音タイミングが到来した
場合に、自動伴奏データを先に検出されたコードに応じ
て展開し、この展開により得られた楽音データを音源に
送ることにより伴奏音が発生される。
【0004】このような伴奏音を発生させるための処理
は、演奏者がコード検出用鍵盤を押下する度に行われ
る。従って、演奏者は、コード検出用鍵盤を所定の押下
パターンで順次押鍵することにより、所望のコード進行
に従った自動伴奏音を発生させることができるようにな
っている。
【0005】ところで、上記のように構成される従来の
自動伴奏装置では、演奏者がコード検出用鍵盤を押鍵し
た瞬間から自動伴奏音が発生される訳ではなく、自動伴
奏データで指定されている発音タイミングが到来するま
で発音は開始されない。即ち、コードの変更は音符の変
更に同期して行われるようになっている。また、他の従
来の自動伴奏装置では、次の小節の先頭に至るまで発音
は開始されない。即ち、コードの変更は小節の変更に同
期して行われるようになっている。
【0006】このような従来の自動伴奏装置では、押鍵
タイミングと押鍵に起因するコード音の発音タイミング
とがずれるので演奏しにくいという欠点があり、押鍵と
同時にコードが変わって欲しいという演奏者の要請に応
えることができないという問題があった。
【0007】そこで、かかる問題を解決するために、押
鍵に応じて新たなコードが検出された際に、その時点で
発音されているパートの音を、検出された新たなコード
で再発音するという機能(以下、「リトリガー機能」と
いう)が搭載された自動伴奏装置が開発されている。こ
のリトリガー機能を用いることにより、押鍵した瞬間に
コード音が変更されるので演奏者の感覚に合致したスム
ーズなコード変更が可能となっている。
【0008】
【発明が解決しようとする課題】しかしながら、例えば
ストリングスのように持続音の音色は、リトリガーによ
る再発音を行っても不自然さは感じられないが、例えば
ピアノのようにアタックが強くリリースの長い音色でリ
トリガーによる再発音を行うと、音が消える直前にアタ
ックが入る場合が発生し、不自然な演奏になるという問
題があった。かかる問題は、テンポが遅く、コード変更
が頻繁に行われるような場合には、特に顕著であった。
【0009】本発明は、かかる事情に鑑みなされたもの
で、押鍵時のコード変化をより自然に行うことのできる
電子楽器の自動伴奏装置を提供することを目的とする。
【0010】
【課題を解決するための手段】本発明の電子楽器の自動
伴奏装置は、上記目的を達成するために、押鍵に応じて
コードを検出し、この検出されたコードに基づき予め用
意された自動伴奏データを展開し、該自動伴奏データで
規定されている発音タイミングに則って音源に与えるこ
とにより自動的に伴奏音を発生する電子楽器の自動伴奏
装置において、伴奏音の発音開始からの時間を計測する
計測手段と、該計測手段で所定時間が計測される前に押
鍵に伴うコードが検出された場合には、この検出された
コードに基づく伴奏音を発生し、前記所定時間が計測さ
れた後に押鍵に伴うコードが検出された場合には、次の
発音タイミングが到来したときに伴奏音を発生させる制
御手段、とを具備したことを特徴とする。
【0011】また、本発明の電子楽器の自動伴奏装置
は、上記と同様の目的で、前記計測手段を、発音開始か
ら消音に至るまでの時間を規定するゲートタイムを計数
するゲートカウンタで構成したことを特徴とする。
【0012】また、本発明の電子楽器の自動伴奏装置
は、上記と同様の目的で、前記制御手段の制御によって
発音される伴奏音は、ベース音であることを特徴とす
る。
【0013】また、本発明の電子楽器の自動伴奏装置
は、上記と同様の目的で、前記制御手段の制御によって
発音される伴奏音は、コード音であることを特徴とす
る。
【0014】
【作用】本発明の電子楽器の自動伴奏装置においては、
押鍵に応じてコードを検出し、この検出されたコードに
基づき予め用意された自動伴奏データを展開し、該自動
伴奏データで規定されている発音タイミングに則って音
源に与えることにより自動的に伴奏音を発生する電子楽
器の自動伴奏装置において、所定の伴奏音の発音開始か
らの所定時間が経過する前に押鍵されてコードが検出さ
れた場合は、直ちに検出されたコードに基づく伴奏音を
発生させる所謂リトリガー処理が行われる。しかし、所
定の伴奏音の発音開始から所定時間が経過した後に押鍵
されてコードが検出された場合は、直ちに検出されたコ
ードに基づく発音は行われず、自動伴奏データ中で指定
された発音タイミングが到来するまで発音が遅らされ
る。
【0015】これにより、例えばピアノのようにアタッ
クが強くリリースの長い音色で、音が消える直前にアタ
ックが入ったリトリガーによる発音が抑止されるので、
不自然な演奏になるという問題は解消され、押鍵時のコ
ード変化をより自然に行うことができるものとなってい
る。
【0016】また、本発明の第1の実施態様において
は、所定の伴奏音の発音開始から所定時間が経過したこ
とを検出するために、ゲートタイムを計数するゲートカ
ウンタを用いている。通常の自動伴奏装置においては、
消音タイミングを検出するためにゲートタイムを計測す
るためのゲートカウンタを備えている。この第1の実施
態様においては、このゲートカウンタで計数されるゲー
トタイム値をリトリガー処理を行うか否かの判断に用い
るようにしたので、新たな計数機構を設ける必要がな
く、構成及び処理が簡単になっている。
【0017】また、本発明の第2の実施態様において
は、制御手段の制御によりベース音に対し、また、本発
明の第3の実施態様においては、制御手段の制御により
コード音に対し、それぞれリトリガー処理を行うかどう
かを判断し、所定時間の経過後はリトリガー処理を抑止
するようにしている。これにより、アタックが強く長い
リリース時間を有する音色のベース音又はコード音の場
合に、不自然な演奏になるという問題は解消され、押鍵
時のベース変化をより自然に行うことができるものとな
っている。
【0018】
【実施例】以下、本発明の実施例につき図面を参照しな
がら詳細に説明する。図1は、本発明に係る自動伴奏装
置が適用された電子楽器の実施例の概略的な構成を示す
ブロック図である。
【0019】図1において、10は中央処理装置(以
下、「CPU」という。)、11は鍵盤装置、12は操
作パネル、14は自動伴奏データ記憶部、15は楽音信
号発生部、16は増幅器、及び17はスピーカである。
【0020】CPU10は、ソフトウエアの機能、又は
ソフトウエア及びハードウエアの両機能により実現され
る押鍵検出部30、コード検出部31、データ読出部3
2、コード展開部33及び発音チャンネル割当部34を
有している。これら各構成要素の詳細については後述す
る。
【0021】また、CPU10には、図示しないリード
オンリメモリ(以下、「ROM」という。)が接続され
ており、本CPU10を動作させるための制御プログラ
ム、コード検出処理に使用するためのコードテーブル或
いはCPU10が各種処理に使用する種々の固定データ
が記憶されている。
【0022】また、CPU10には、図示しないランダ
ムアクセスメモリ(以下、「RAM」という。)が接続
されており、CPU10が各種処理に使用するためのバ
ッファ、レジスタ、カウンタ或いはフラグ等の各領域が
設けられている。このRAMには、例えば図2(B)に
示すように、本実施例で使用するステップタイムカウン
タSTEP、ゲートカウンタB、[1]、[2]、…、
[i]、…等が設けられている。ステップタイムカウン
タSTEPは、自動伴奏データを実行すべきタイミング
を決定するために用いられる。ゲートカウンタは計測手
段の一部に対応するものであり、ゲートタイムを計数す
るために用いられる。
【0023】また、CPU10には図示しないタイマが
含まれている。このタイマは一定時間間隔で割込を発生
するために使用される。このタイマ割込の回数は、上記
ステップタイムカウンタSTEPで計数される。このス
テップタイムカウンタSTEPは、後述する自動伴奏処
理において、自動伴奏イベントの有無、即ち所定の自動
伴奏データの発音タイミングが到来したか否かを調べる
ために使用される。
【0024】更に、CPU10には図示しない時計機構
が含まれている。この時計機構は計測手段の一部に対応
するものであり、後述する自動伴奏処理において自動伴
奏処理を実施すべきタイミングが到来したか否かを調べ
るために使用される(詳細は後述する)。
【0025】鍵盤装置11は、音程を指示するための複
数の鍵を備えている。この鍵盤装置11は、通常演奏モ
ードでは全鍵域が発音すべき音を指定するために用いら
れる。一方、自動伴奏モードでは、所定の連続した2鍵
の間をスプリットポイントとして、例えばロワー側がコ
ード検出用鍵盤、アッパー側が通常演奏用鍵盤として機
能的に分離される。以下、この鍵盤装置11を分離して
使用する機能をスプリット機能という。なお、自動伴奏
モードとは、自動伴奏データ記憶部14に記憶された自
動伴奏データに基づいて自動伴奏音を発生するモードで
あり、通常演奏モードとは、鍵盤装置11の操作により
生成されたデータに基づいて楽音を発生するモードであ
る。
【0026】鍵盤装置11のコード検出用鍵盤は、演奏
者がコード及びベースルートを指定するために用いられ
る。このコード検出用鍵盤は、押鍵されてもその鍵に対
応する音高の楽音が発生される訳ではなく、コードを指
定するためにのみ用いられる。一方、通常演奏用鍵盤
は、発音すべき音を指定するために用いられる。なお、
本実施例では、自動伴奏モードにされた時にスプリット
機能が動作するように構成されているが、自動伴奏モー
ドにされた時ではなく、所定のスイッチが押された時に
スプリット機能が動作するように構成しても良い。
【0027】この鍵盤装置11は、各鍵のオン/オフ状
態を1ビットに対応させたビット列からなるデータ(以
下、「キーデータ」という。)を出力する。この鍵盤装
置11のコード検出用鍵盤から出力されるキーデータと
通常演奏用鍵盤から出力されるキーデータとは特に区別
されていない。この鍵盤装置11が出力するキーデータ
は、CPU10の押鍵検出部30に送られる。なお、上
記鍵盤装置11としては、例えば、所謂イニシャルタッ
チデータを検出するために2接点方式の鍵盤装置を用い
ることができる。
【0028】操作パネル12は、本電子楽器に各種動作
を指示するものであり、複数のスイッチ及び表示器等に
より構成されている。本実施例で使用する自動伴奏スイ
ッチ120は、この操作パネル12に搭載されている。
自動伴奏スイッチ120は当該電子楽器を自動伴奏モー
ドにするか通常演奏モードにするかを制御するために使
用される。この自動伴奏スイッチ120の設定状態は図
示しないRAMに設けられた自動伴奏フラグにより記憶
され、押下される度に自動伴奏モードと通常演奏モード
とが反転するトグルスイッチとして機能する。
【0029】操作パネル12には、上記以外の各種スイ
ッチ、例えば音色を切り換えるための音色スイッチ、音
量を変更するための音量スイッチ、リズムを切り換える
ためのリズムスイッチ等が設けられているが、本発明と
は直接関係しないので説明は省略する。
【0030】また、操作パネル12には表示器122が
設けられている。この表示器122は、例えばLCD表
示器で構成されている。この表示器122には、電子楽
器の状態や電子楽器からの種々のメッセージ等が表示さ
れる。この表示器122は、図示しないバスによってC
PU10に接続されており、その表示内容はCPU10
から送られてくるデータに応じて更新される。
【0031】上記自動伴奏データ記憶部14は、自動伴
奏に用いる自動伴奏データを予め記憶するものであり、
例えばリードオンリメモリ(以下、「ROM」とい
う。)で構成されている。この自動伴奏データ記憶部1
4には、コードパートデータ、ベースパートデータ及び
ドラムパートデータの3種類の自動伴奏データが記憶さ
れている。
【0032】各自動伴奏データは、例えば図2(A)に
示すように、それぞれが1バイトで構成されるキーナン
バ、ステップタイム、ゲートタイム及びベロシティの4
バイトの情報(以下、これを「単位自動伴奏データ」と
いう)が複数集まって構成されている。単位自動伴奏デ
ータは1つの音符に対応するものであり、1音の発音を
制御するために使用される。上記キーナンバは音高を指
示するデータ、ステップタイムは発音時刻を指定するデ
ータ、ゲートタイムは発音の長さを指定するデータ、ベ
ロシティは発音の強さを指定するデータである。
【0033】上記コードパートデータは、各種リズムに
対応した複数のコード演奏パターンが例えば音名Cを基
準とした単位自動伴奏データの集合として記憶されてい
る。ベースパートデータは、各種リズムに対応した複数
のベース演奏パターンが例えば音名Cを基準とした単位
自動伴奏データの集合として記憶されている。ドラムパ
ートデータは、各種リズムに対応した複数のドラム演奏
パターンが単位自動伴奏データの集合として記憶されて
いる。
【0034】この自動伴奏データ記憶部14は、CPU
10のデータ読出部32に接続されている。
【0035】楽音信号発生部15は所謂音源であり、複
数のオシレータを有して構成されている。この楽音信号
発生部15は、CPU10の発音チャンネル割当部34
で割り当てられたオシレータを使用して楽音信号を生成
する。即ち、この楽音信号発生部15では、鍵盤装置1
1の操作に応じた楽音、自動伴奏データに応じたコード
音、ベース音及びドラム音の各楽音信号が生成される。
この楽音信号発生部15で生成された楽音信号は増幅器
16に送られる。
【0036】増幅器16は、楽音信号発生部15から受
け取った楽音信号を所定の増幅率で増幅する周知のもの
である。この増幅器16で増幅された楽音信号は、スピ
ーカ17に送られる。
【0037】スピーカ17は、電気信号である楽音信号
を音響信号に変換する周知のものである。鍵盤装置11
の操作に基づく楽音、又は自動伴奏音はこのスピーカ1
を介して放音される。
【0038】次に、CPU10により実現される各ブロ
ックについて説明する。押鍵検出部30は、鍵盤装置1
1から送られてきたキーデータに基づき、操作された鍵
のキーナンバ及びイニシャルタッチデータを検出するも
のである。この押鍵検出部30で検出されたキーナンバ
及びイニシャルタッチデータ(以下、「鍵盤データ」と
総称する。)は、通常演奏モードの場合は全て発音チャ
ンネル割当部34に送られる。一方、自動伴奏モードの
場合は、コード検出用鍵盤からの鍵盤データはコード検
出部31に、通常演奏用鍵盤からの鍵盤データは発音チ
ャンネル割当部34にそれぞれ送られる。
【0039】コード検出部31は、上記押鍵検出部30
から送られてきたコード検出用鍵盤に対応する鍵盤デー
タを受け取って、コード検出(コードルート及びコード
タイプの検出)を行うものである。このコード検出は種
々の方法、例えば、特開平4−30197号公報に示さ
れている方法を用いることができる。なお、本実施例で
は、ベースルートとしては、コード検出により検出され
たコード構成音の最低音が用いられるものとする。この
コード検出部31で検出されたコード(コードルート及
びコードタイプ)及びベースルートはコード展開部33
に送られる。
【0040】データ読出部32は、操作パネル12の自
動伴奏スイッチ120からの指示に応じて、自動伴奏デ
ータ記憶部14から自動伴奏データ(コードパートデー
タ、ベースパートデータ及びドラムパートデータ)を時
分割で順次読み出すものである。このデータ読出部32
で読み出されたコードパートデータ及びベースパートデ
ータはコード展開部33へ送られてコード展開又はベー
ス展開に用いられ、ドラムパートデータはコード展開部
33をそのまま通過して発音チャンネル割当部34へ送
られる。
【0041】コード展開部33は、データ読出部32か
ら受け取ったコードパートデータを、コード検出部31
から送られてきたコードに従って展開し、又は、データ
読出部32から受け取ったベースパートデータを、コー
ド検出部31から送られてきたベースルートに従って展
開するものである。このコード展開及びベース展開の動
作については、例えば上掲の特開平4−30197号公
報に説明されている。このコード展開部33におけるコ
ード展開又はベース展開により生成された楽音データ
は、発音チャンネル割当部34に送られる。
【0042】発音チャンネル割当部34は、押鍵検出部
30から送られてきた鍵盤データ又はコード展開部33
から送られてきた楽音データを受け取り、これらが発音
を指示するデータである場合は発音チャンネルを割り当
てる処理を行うものである。
【0043】ここで発音チャンネルとは、楽音信号発生
部15が有するオシレータ(1又は2以上)に対応する
ものであり、発音チャンネル割当とは、発音を指示する
データが送られてきた場合に、楽音信号発生部15中の
どのオシレータを用いて発音させるかを決定する処理で
ある。この発音チャンネル割当部34で発音チャンネル
が割り当てられると、その旨の情報と発音指示に係る各
種データとが楽音信号発生部15に送られる。これによ
り、楽音信号発生部15において、割り当てられた発音
チャンネルを用いて楽音信号が生成され、増幅器16で
増幅されてスピーカ17に供給されることにより、所定
の楽音が放音されることになる。
【0044】次に、上記の構成において、本電子楽器の
自動伴奏装置の動作につき、図3〜図6に示したフロー
チャートを参照しながら説明する。
【0045】図3(A)は、本電子楽器のメインルーチ
ンを示すフローチャートであり、電源の投入により起動
される。即ち、電源が投入されると、先ず、初期化処理
が行われる(ステップS10)。この初期化処理は、C
PU10の内部状態を初期状態に設定するとともに、図
示しないRAMに定義されているレジスタ、カウンタ或
いはフラグ等を初期状態に設定する処理である。また、
この初期化処理では、楽音信号発生部15に所定のデー
タを送り、電源投入時に不要な音が発生されるのを防止
する処理も行われる。
【0046】この初期化処理が終了すると、次いで、パ
ネル処理が行われる(ステップS11)。このパネル処
理の詳細は、図4のフローチャートに示されている。
【0047】パネル処理では、先ず、パネルイベントの
有無が調べられる(ステップS20)。これは以下のよ
うにして行われる。即ち、先ずCPU10が操作パネル
12をスキャンすることにより、各スイッチのオン/オ
フ状態を示すパネルデータ(以下、「新パネルデータ」
という。)を各スイッチに対応したビット列データとし
て取り込む。
【0048】次いで、前回読み込んで図示しないRAM
に既に記憶されているパネルデータ(以下、「旧パネル
データ」という。)と、今回読み込んだ新パネルデータ
とを比較し、相違するビットをオンにしたイベントマッ
プを作成する。このステップS20におけるパネルイベ
ントの有無の判断は、このイベントマップを参照し、オ
ンになっているビットが存在するか否かを調べることに
より行われる。
【0049】ここでパネルイベントがないことが判断さ
れると、何等の処理をも行うことなくこのパネル処理ル
ーチンからリターンしてメインルーチンに戻る。一方、
パネルイベントがあることが判断されると、そのイベン
トは自動伴奏スイッチ120のイベントであるか否かが
調べられる(ステップS21)。これは、上記で作成し
たイベントマップ中の自動伴奏スイッチ120に対応す
るビットがオンになっているか否かを調べることにより
行われる。
【0050】そして、自動伴奏スイッチ120のイベン
トであることが判断されると、次いで、現在自動伴奏モ
ードであるか否かが調べられる(ステップS22)。こ
れは、自動伴奏フラグが「1」になっているか否かを調
べることにより行われる。ここで自動伴奏モードでな
い、つまり自動伴奏フラグが「0」であることが判断さ
れると、自動伴奏フラグが「1」にセットされる(ステ
ップS24)。同時に、図示しないRAMに設けられた
ステップタイムカウンタSTEPのカウントアップ及び
時計機構の動作が開始される。この自動伴奏フラグは、
後述する自動伴奏処理ルーチンにおいて参照される。
【0051】一方、自動伴奏モードである、つまり自動
伴奏フラグが「1」であることが判断されると、自動伴
奏フラグが「0」にクリアされる(ステップS23)。
同時に、ステップタイムカウンタSTEPのカウントア
ップ及び時計機構の動作が停止される。このステップS
22〜S24の処理により、自動伴奏スイッチ120を
押下する度に自動伴奏モードと通常演奏モードとが交互
に反転するトグル機能が実現されている。なお、上記ス
テップS21で自動伴奏スイッチ120のイベントでな
いことが判断されると、上記ステップS22〜S24の
処理はスキップされる。
【0052】次いで、「その他のスイッチ処理」が行わ
れる(ステップS25)。この「その他のスイッチ処
理」は、操作パネル12に設けられた上記以外のスイッ
チ操作に対する処理である。例えば、音色スイッチの操
作に対応する音色切換処理、音量スイッチの操作に対応
した音量変更処理、リズムスイッチの操作に対応したリ
ズム変更処理等が行われる。各スイッチに対応する処理
の内容は、本発明とは直接関係しないので説明は省略す
る。その後、このパネル処理ルーチンからリターンして
メインルーチンに戻る。
【0053】メインルーチンでは、次いで、鍵盤処理が
行われる(ステップS12)。この鍵盤処理の詳細は、
図5のフローチャートに示されている。
【0054】鍵盤処理では、先ず、鍵盤イベントの有無
が調べられる(ステップS30)。これは以下のように
して行われる。即ち、先ずCPU10の押鍵検出部30
で鍵盤装置11をスキャンすることにより、各鍵のオン
/オフ状態を示すデータ(以下、「新キーデータ」とい
う。)を各鍵に対応したビット列データとして取り込
む。
【0055】次いで、前回読み込んで図示しないRAM
に既に記憶されているキーデータ(以下、「旧キーデー
タ」という。)と、今回読み込んだ新キーデータとを比
較し、相違するビットをオンにしたイベントマップを作
成する。このステップS30で行う鍵盤イベントの有無
の判断は、このイベントマップ中にオンになっているビ
ットが存在するか否かを調べることにより行われる。
【0056】ここで鍵盤イベントがないことが判断され
ると、何等の処理をも行わずにこの鍵盤処理ルーチンか
らリターンしてメインルーチンに戻る。一方、鍵盤イベ
ントがあることが判断されると、次いで、現在自動伴奏
モードにされているか否かが調べられる(ステップS3
1)。これは自動伴奏フラグを参照することにより行わ
れる。ここで自動伴奏モードでないことが判断される
と、通常演奏モードであることを認識し、押鍵/離鍵処
理が行われる(ステップS33)。
【0057】この押鍵/離鍵処理では、先ず押鍵検出部
30から出力された鍵盤データが発音チャンネル割当部
34に送られる。発音チャンネル割当部34は、受け取
った鍵盤データが押鍵を示すデータである場合は、発音
チャンネルの割当てを行い、割り当てられた発音チャン
ネルに関する情報及び鍵盤データを楽音信号発生部15
に送る。これにより、楽音信号発生部15では、割り当
てられた発音チャンネルを用いて楽音信号が生成され、
増幅器16及びスピーカ17を介して発音が行われる。
【0058】一方、離鍵を示すデータである場合は、発
音チャンネル割当部34は発音チャンネルの検索を行
う。そして、検索された発音チャンネルに関する所定の
データを楽音信号発生部15に送る。これにより、その
発音チャンネルにおける楽音信号の生成が中止され、増
幅器16及びスピーカ17を介して発音されていた楽音
が停止される。その後、この検出処理ルーチンからリタ
ーンしてメインルーチンに戻る。
【0059】一方、上記ステップS31で自動伴奏モー
ドであることが判断されると、次いで、コード検出用鍵
盤のイベントであるか否かが調べられる(ステップS3
3)。これは、押鍵検出部31から出力される鍵盤デー
タ中のキーナンバがスプリットポイントより小さいか否
かを調べることにより行われる。そして、コード検出用
鍵盤でないことが判断されると、通常演奏用鍵盤のイベ
ントであることを認識してステップS33へ分岐し、上
述した押鍵/離鍵処理を行う。
【0060】上記ステップS33において、検出された
イベントがコード検出用鍵盤のイベントであることが判
断されると、次いで、コード検出部31においてコード
検出が行われる(ステップS34)。このコード検出
は、例えば特開平4−30197号公報に示された方法
と同じ方法で行うことができる。このコード検出処理で
は、押鍵パターンに応じたコード(コードルート及びコ
ードタイプ)を示す情報が得られる。
【0061】次いで、コードに変化があるか否かが調べ
られる(ステップS35)。即ち、上記ステップS34
で検出したコードが、図示しないRAMの所定領域に格
納されている現在発音中のコードから変化したか否かが
調べられる。そして、変化がないことが判断されると、
以下の処理は行わずにこの鍵盤処理ルーチンからリター
ンしてメインルーチンに戻る。
【0062】一方、コードに変化があることが判断され
ると、次いで、現在ベースパート発音中であるか否かが
調べられる(ステップS36)。これは、ベース発音中
フラグを調べることにより行われる。ここでベース発音
中フラグは、図示しないRAMに定義されるフラグであ
り、後述する自動伴奏処理ルーチンの中で、ベースノー
トがオンにされた際にセットされ、ベースノートがオフ
にされた際にクリアされるフラグである。
【0063】このステップS36でベースパート発音中
であることが判断されると、次いで、ベースパート用の
ゲートカウンタBの内容が所定値N以上であるか否かが
調べられる(ステップS37)。ここで所定値Nは、ベ
ース音のリトリガー処理を行うか否かの判断基準とされ
る定数であり、当該電子楽器に任意に定められるもので
ある。この所定値Nを大きい値にすれば、発音が開始さ
れてから短時間の間にコード変化があった場合にのみリ
トリガー処理が行われる。逆に、所定値Nを小さい値に
すれば、発音が開始されてから長時間の間はコード変化
に伴うリトリガー処理が行われることになる。
【0064】上記ステップS37で、ゲートカウンタB
の内容が所定値N以上であることが判断されると、ベー
ス音のリトリガー処理が行われる。即ち、先ず発音中の
ベース音がノートオフされる(ステップS38)。これ
は、ベース音に割り当てられている発音チャンネルに所
定のデータを送ることにより行われる。次いで、新しい
コードに対応したベース音がノートオンされる(ステッ
プS39)。これにより、現在発音中のベース音が、上
記ステップS34で検出したコードの最低音をベースル
ートとするベース音に変更されることになる。一方、ス
テップS37でゲートカウンタBの内容が所定値N以上
でないことが判断されると、ステップS38及びS39
の処理はスキップされる。以上の処理により、ベース音
の発音開始から相当の時間が経過してベース音が減衰し
ている状態ではリトリガー処理が行われないことになる
ので、リトリガー処理によるベース音の再発音は行われ
ず、不自然さが解消されるものとなっている。
【0065】次いで、現在コードパート発音中であるか
否かが調べられる(ステップS40)。これは、コード
発音中フラグを調べることにより行われる。ここでコー
ド発音中フラグは、図示しないRAMに定義されるフラ
グであり、後述する自動伴奏処理ルーチンの中で、及び
コードノートがオンにされた際にセットされ、コードノ
ートがオフにされた際にクリアされるフラグである。
【0066】このステップS40でコードパート発音中
であることが判断されると、次いで、コードパート用の
ゲートカウンタC[i]の内容が所定値N以上であるか
否かが調べられる(ステップS41)。ここで、ゲート
カウンタC[i]は、検出されたコード構成音の1つを
意味する。従って、3音でコードが構成される場合に
は、「i=1〜3」である。また、上記所定値Mは、コ
ード音のリトリガー処理を行うか否かの判断に使用され
る定数であり、当該電子楽器に任意に定められるもので
ある。この所定値Mは、上述した所定値Nと同様の意味
で用いられる。なお、この所定値Mは、上記所定値Nと
同じ値にすることもできる。
【0067】上記ステップS41で、ゲートカウンタC
[i]の内容が所定値M以上であることが判断される
と、コード音のリトリガー処理が行われる。即ち、先ず
発音中のコードの構成音[i]がノートオフされる(ス
テップS42)。これは、コード構成音[i]に割り当
てられている発音チャンネルに所定のデータを送ること
により行われる。次いで、新しいコードに対応したコー
ド構成音[i]がノートオンされる(ステップS4
3)。これにより、現在発音中のコード構成音が、上記
ステップS34で検出されたコードに対応するコード構
成音に変更されることになる。一方、ステップS41で
ゲートカウンタC[i]の内容が所定値M以上でないこ
とが判断されると、ステップS42及びS43の処理は
スキップされる。以上の処理により、コード構成音の発
音開始から相当の時間が経過してコード構成音が減衰し
ている状態ではリトリガー処理が行われないことになる
ので、リトリガー処理によるコード構成音の再発音は行
われず、不自然さが解消されるものとなっている。
【0068】なお、上記のフローチャートでは、コード
構成音[i]に対応する処理を代表して示しているが、
複数のコード構成音の全てに対してリトリガー処理を行
う場合には、上記ステップS41〜S43を全てのコー
ド構成音に対して実行するように構成すれば良い。
【0069】以上の鍵盤処理が終了すると、この鍵盤処
理ルーチンからリターンしてメインルーチンに戻る。メ
インルーチンでは、次いで、自動伴奏処理が行われる
(ステップS13)。この自動伴奏処理の詳細について
は、図6のフローチャートに示されている。
【0070】自動伴奏処理では、先ず、自動伴奏モード
であるか否かが調べられる(ステップS50)。これ
は、自動伴奏フラグが「1」であるか否かを調べること
により行われる。そして、自動伴奏モードでない、つま
り通常演奏モードであることが判断されると、何等の処
理を行うことなくこの自動伴奏処理ルーチンからリター
ンしてメインルーチンに戻る。
【0071】一方、自動伴奏モードであることが判断さ
れると、次いで、処理タイミングであるか否かが調べら
れる(ステップS51)。ここで処理タイミングとは、
以下の自動伴奏処理を実行すべきタイミングを言う。こ
の処理タイミングであるかどうかは、図示しない時計機
構が所定の時刻になったか否かにより判断される。処理
タイミングとしては、例えば1ミリ秒の整数倍の時刻を
用いることができる。この処理により、この自動伴奏処
理ルーチンがメインルーチンからコールされる周期が不
定期であっても、自動伴奏処理が確実に一定周期で行わ
れることになる。このことは、ゲートカウンタB、ゲー
トカウンタC[i]が一定周期でデクリメントされるこ
とを意味する。
【0072】このステップS51で処理タイミングでな
いことが判断されると、何等の処理を行うことなくこの
自動伴奏処理ルーチンからリターンしてメインルーチン
に戻る。一方、処理タイミングであることが判断される
と、現在ベースパート発音中であるか否かが調べられる
(ステップS52)。そして、ベースパート発音中であ
ることが判断されると、ベース用のゲートカウンタBの
内容をデクリメントし(ステップS53)、その内容が
「0」より大きいか否かが調べられる(ステップS5
4)。そして、「0」より大きくない、即ちゲートカウ
ンタBの内容が「0」であることが判断されると、ベー
スノートオフが行われるとともに、ベース発音中フラグ
が「0」にクリアされる(ステップS55)。これによ
り、1つの単位自動伴奏データ(音符)に対するベース
音の発音が終了する。
【0073】一方、ゲートカウンタBの内容が「0」よ
り大きいことが判断されると、未だベース音の消音タイ
ミングに至っていないことが認識され、ステップS55
がスキップされる。この場合は、消音は行われず、ゲー
トカウンタBのデクリメントのみが行われることにな
る。なお、上記ステップS52でベースパート発音中で
ないことが認識されると、ゲートカウンタBのデクリメ
ントやベース音の消音処理は必要でないので、ステップ
S53〜S55はスキップされる。
【0074】次いで、ベースパートデータの読み込みが
行われる(ステップS56)。即ち、データ読出部32
は、自動伴奏データメモリ14から次の単位自動伴奏デ
ータを読み出す。そして、自動伴奏データに含まれるス
テップタイムがステップタイムカウンタで計数されてい
るステップタイム値と一致するか否かが調べられる(ス
テップS57)。
【0075】ここでステップタイムが一致することが判
断されると、発音タイミングが到来したものと認識し、
ベースノートオン処理が行われるとともに、ベース発音
中フラグが「1」にセットされる(ステップS58)。
このベースノートオン処理は、ベース音の発音用に割り
当てられた発音チャンネルに、ベースパートの単位自動
伴奏データに含まれるキーナンバ及びベロシティデータ
を与えて発音を開始させる処理である。
【0076】次いで、ゲートカウンタBに単位自動伴奏
データ中のゲートタイム値がセットされる(ステップS
59)。これにより、新しい自動伴奏データに従ったベ
ース音の発音が開始されることになる。なお、上記ステ
ップS57でステップタイムが一致しないことが判断さ
れると、未だ発音タイミングに至っていないものと判断
され、ステップS58及びS59の処理はスキップされ
る。
【0077】次いで、現在コードパート発音中であるか
否かが調べられる(ステップS60)。そして、コード
パート発音中であることが判断されると、コード構成音
用のゲートカウンタC[i]の内容をデクリメントし
(ステップS61)、その内容が「0」より大きいか否
かが調べられる(ステップS62)。そして、「0」よ
り大きくない、即ちゲートカウンタC[i]の内容が
「0」であることが判断されると、コードノートオフ処
理が行われるとともに、コード発音中フラグが「0」に
クリアされる(ステップS63)。これにより、1つの
単位自動伴奏データ(音符)に対するコード構成音の発
音が終了する。
【0078】一方、ゲートカウンタC[i]の内容が
「0」より大きいことが判断されると、未だコード音の
消音タイミングに至っていないことが認識され、ステッ
プS63はスキップされる。この場合は、消音は行われ
ず、ゲートカウンタC[i]のデクリメントのみが行わ
れることになる。なお、上記ステップS60でコードパ
ート発音中でないことが認識されると、ゲートカウンタ
C[i]のデクリメントやコード構成音の消音処理は必
要でないので、ステップS61〜S63はスキップされ
る。
【0079】次いで、コードパートデータ[i]の読み
込みが行われる(ステップS64)。即ち、データ読出
部32は、自動伴奏データメモリ14から次の単位自動
伴奏データを読み出す。そして、自動伴奏データに含ま
れるステップタイムがステップタイムカウンタで計数さ
れているステップタイム値と一致するか否かが調べられ
る(ステップS65)。
【0080】ここでステップタイムが一致することが判
断されると、発音タイミングが到来したものと認識し、
コードノート[i]オン処理が行われるとともに、コー
ド発音中フラグが「1」にセットされる(ステップS6
6)。コードノートオン処理は、コード構成音の発音用
に割り当てられた発音チャンネルに、コードパートの単
位自動伴奏データに含まれるキーナンバ及びベロシティ
データを与えて発音を開始させる処理である。
【0081】次いで、ゲートカウンタC[i]に単位自
動伴奏データ中のゲートタイム値がセットされる(ステ
ップS67)。これにより、新しい自動伴奏データに従
ったコード構成音の発音が開始されることになる。な
お、上記ステップS65でステップタイムが一致しない
ことが判断されると、未だ発音タイミングに至っていな
いものと判断され、ステップS66及びS67の処理は
スキップされる。
【0082】以上の処理が終了してこの自動伴奏処理ル
ーチンからリターンしてメインルーチンに戻ると、メイ
ンルーチンでは、次いで、「その他の処理」が行われる
(ステップS14)。この「その他の処理」では、上述
した以外の各種処理、例えばMIDIデータの送受信処
理等が行われる。
【0083】このように、メインルーチンのステップS
11〜S14の繰り返し実行の過程で、パネル操作又は
鍵盤操作に応じたイベント、或いは自動伴奏イベントが
発生すると、そのイベントに対応する処理が行われるこ
とにより電子楽器の各種機能が実現されている。
【0084】また、上記のCPU10の処理とは別途独
立に、図3(B)に示すように、タイマ割込処理が行わ
れる。このタイマ割込処理は、CPU10のタイマによ
り一定周期で発生される割込を受け付けてステップタイ
ムカウンタSTEPをインクリメントする処理である
(ステップS15)。このステップタイムカウンタST
EPの内容は、上述したように、自動伴奏処理におい
て、発音タイミングを検出するために使用される。
【0085】以上説明したように、この実施例によれ
ば、ベース音又はコード音の発音開始から計数を開始す
るゲートカウンタB又はゲートカウンタC[i]の内容
が所定値N又は所定値Mに至る前に押鍵されてコードが
検出された場合は、直ちに検出されたコードに基づくベ
ース音又はコード音を発生させる所謂リトリガー処理が
行われる。しかし、ベース音又はコード音の発音開始か
ら計数を開始するゲートカウンタB又はゲートカウンタ
C[i]の内容が所定値N又は所定値Mに至った後に押
鍵されてコードが検出された場合は、直ちに検出された
コードに基づく発音は行われず、自動伴奏データ中のス
テップタイムで指定された発音タイミングが到来するま
で発音が遅らされる。
【0086】これにより、例えばピアノのようにアタッ
クが強くリリースの長い音色で、音が消える直前にアタ
ックが入ったリトリガーによる発音が抑止されるので、
不自然な演奏になるという問題は解消されるものとなっ
ている。
【0087】なお、上記実施例では、ベース音又はコー
ド音の発音開始からの時間を計測する手段としてゲート
カウンタを用いたが、別途独立に設けたカウンタを使用
しても良い。
【0088】また、上記の実施例では、自動伴奏処理ル
ーチンは、メインルーチンからコールされるように構成
したが、一定周期で割込を発生させ、この割込処理ルー
チンの中で一定周期毎に実行するように構成しても良
い。かかる構成によれば、時計機構及び自動伴奏処理ル
ーチンのステップS51の処理は不要となる。
【0089】
【発明の効果】以上詳述したように、本発明によれば、
押鍵時のコード変化をより自然に行うことのできる電子
楽器の自動伴奏装置を提供できる。
【図面の簡単な説明】
【図1】本発明の自動伴奏装置が適用された電子楽器の
実施例の構成を示すブロック図である。
【図2】(A)本発明の実施例で用いられる自動伴奏デ
ータの形式を示す図である。 (B)本発明の実施例で用いられる図示しないRAMに
設けられるワーク用レジスタの一例を示す図である。
【図3】本発明の実施例の動作(メインルーチン、タイ
マ割込処理)を示すフローチャートである。
【図4】本発明の実施例の動作(パネル処理)を示すフ
ローチャートである。
【図5】本発明の実施例の動作(鍵盤処理)を示すフロ
ーチャートである。
【図6】本発明の実施例の動作(自動伴奏処理)を示す
フローチャートである。
【符号の説明】
10 CPU 11 鍵盤装置 12 操作パネル 120 自動伴奏スイッチ 122 表示器 14 自動伴奏データ記憶部 15 楽音信号発生部 16 増幅器 17 スピーカ 30 押鍵検出部 31 コード検出部 32 データ読出部 33 コード展開部 34 発音チャンネル割当部
フロントページの続き (72)発明者 高野 純一 静岡県浜松市寺島町200番地 株式会社 河合楽器製作所内 (72)発明者 細田 恭代 静岡県浜松市寺島町200番地 株式会社 河合楽器製作所内 (72)発明者 藤本 諭 静岡県浜松市寺島町200番地 株式会社 河合楽器製作所内 (56)参考文献 特開 平4−181995(JP,A) 特開 平2−181197(JP,A) 特開 平5−281962(JP,A) (58)調査した分野(Int.Cl.6,DB名) G10H 1/38 G10H 1/00 102

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 押鍵に応じてコードを検出し、この検出
    されたコードに基づき予め用意された自動伴奏データを
    展開し、該自動伴奏データで規定されている発音タイミ
    ングに則って音源に与えることにより自動的に伴奏音を
    発生する電子楽器の自動伴奏装置において、 伴奏音の発音開始からの時間を計測する計測手段と、 該計測手段で所定時間が計測される前に押鍵に伴うコー
    ドが検出された場合には、この検出されたコードに基づ
    く伴奏音を発生し、前記所定時間が計測された後に押鍵
    に伴うコードが検出された場合には、次の発音タイミン
    グが到来したときに伴奏音を発生させる制御手段、 とを具備したことを特徴とする電子楽器の自動伴奏装
    置。
  2. 【請求項2】 前記計測手段は、発音開始から消音に至
    るまでの時間を規定するゲートタイムを計数するゲート
    カウンタであることを特徴とする請求項1に記載の電子
    楽器の自動伴奏装置。
  3. 【請求項3】 前記制御手段の制御によって発音される
    伴奏音は、ベース音であることを特徴とする請求項1又
    は請求項2に記載の電子楽器の自動伴奏装置。
  4. 【請求項4】 前記制御手段の制御によって発音される
    伴奏音は、コード音であることを特徴とする請求項1又
    は請求項2に記載の電子楽器の自動伴奏装置。
JP5294405A 1993-10-29 1993-10-29 電子楽器の自動伴奏装置 Expired - Fee Related JP2956924B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5294405A JP2956924B2 (ja) 1993-10-29 1993-10-29 電子楽器の自動伴奏装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5294405A JP2956924B2 (ja) 1993-10-29 1993-10-29 電子楽器の自動伴奏装置

Publications (2)

Publication Number Publication Date
JPH07129177A JPH07129177A (ja) 1995-05-19
JP2956924B2 true JP2956924B2 (ja) 1999-10-04

Family

ID=17807321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5294405A Expired - Fee Related JP2956924B2 (ja) 1993-10-29 1993-10-29 電子楽器の自動伴奏装置

Country Status (1)

Country Link
JP (1) JP2956924B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITBO20040057A1 (it) * 2004-02-06 2004-05-06 Roland Europe Spa Metodo per l'adattamento della tonalita' di una sequenza di note musicali

Also Published As

Publication number Publication date
JPH07129177A (ja) 1995-05-19

Similar Documents

Publication Publication Date Title
JP3372124B2 (ja) 電子楽器
JPH09179559A (ja) 自動伴奏装置及び自動伴奏方法
JP2956924B2 (ja) 電子楽器の自動伴奏装置
JP4232882B2 (ja) 電子楽器のデモ曲演奏装置及びデモ曲演奏方法
JP3844286B2 (ja) 電子楽器の自動伴奏装置
JP3192579B2 (ja) 自動演奏装置及び自動演奏方法
JP3307742B2 (ja) 電子楽器の伴奏内容表示装置
JP2002032083A (ja) 電子楽器
JP3226268B2 (ja) コンサートマジック自動演奏装置
JP2953937B2 (ja) 電子楽器の音量調整装置
JP3169535B2 (ja) 自動演奏装置及び自動演奏方法
JPH07175480A (ja) 電子楽器のデータ設定装置
JP2513014B2 (ja) 電子楽器の自動演奏装置
JP3150580B2 (ja) 自動演奏装置及び自動演奏方法
JPH10319949A (ja) 電子楽器
JPH07146681A (ja) 電子楽器
JPH06314096A (ja) 電子楽器の前コード検出装置
JPH0320758B2 (ja)
JPS636794Y2 (ja)
JPH1063269A (ja) 消音ピアノ
JPH0736456A (ja) 電子楽器
JPH06230782A (ja) 電子楽器
JPH07121176A (ja) 伴奏内容検出装置及び自動伴奏装置
JPH10124052A (ja) タッチ検出装置
JPH0830273A (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: 19990709

LAPS Cancellation because of no payment of annual fees