JP3533764B2 - 自動伴奏装置 - Google Patents

自動伴奏装置

Info

Publication number
JP3533764B2
JP3533764B2 JP17027595A JP17027595A JP3533764B2 JP 3533764 B2 JP3533764 B2 JP 3533764B2 JP 17027595 A JP17027595 A JP 17027595A JP 17027595 A JP17027595 A JP 17027595A JP 3533764 B2 JP3533764 B2 JP 3533764B2
Authority
JP
Japan
Prior art keywords
tempo
key
automatic accompaniment
value
register
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 - Lifetime
Application number
JP17027595A
Other languages
English (en)
Other versions
JPH08339189A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP17027595A priority Critical patent/JP3533764B2/ja
Publication of JPH08339189A publication Critical patent/JPH08339189A/ja
Application granted granted Critical
Publication of JP3533764B2 publication Critical patent/JP3533764B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、自動伴奏のテンポを変
化させ得る自動伴奏装置に関する。
【0002】
【従来の技術】従来、自動伴奏のテンポを変化させる装
置として、実開昭57−9994号公報に開示されたも
のが知られている。この装置は、押鍵速度つまり押鍵の
強さを検出して、この押鍵の強さに応じて、自動伴奏の
テンポを可変制御するものである。
【0003】
【発明が解決しようとする課題】ところで、鍵盤楽器で
演奏を行う場合、一般に演奏者は、テンポが速くなるに
従って強く押鍵し、テンポが遅くなるに従って弱く押鍵
する傾向にある。したがって、この傾向のみを前提とす
る場合、前記従来の装置であっても、メロディ演奏のテ
ンポに合わせて自動伴奏のテンポを変化させることが可
能となる。しかし、テンポが速くなるに従って強く押鍵
している場合であっても、特定の音符に対応する押鍵の
みは弱く行い、テンポが遅くなるに従って弱く押鍵を行
っている場合であっても、特定の音符に対応する押鍵の
みは強く行うことが、演奏表現上必要な場合がある。こ
のとき、従来の装置では、単に押鍵の強さに応じて自動
伴奏のテンポを変化させることから、テンポが速くなる
に従って強く押鍵しているにも拘わらず、特定の弱い押
鍵があった時点で自動伴奏のテンポが遅くなってしま
う。また、逆にテンポが遅くなるに従って弱く押鍵して
いるにも拘わらず、特定の強い押鍵があった時点で自動
伴奏テンポが遅くなってしまう。したがって、従来の装
置では、前述のテンポが速くなるに従って強く押鍵し、
テンポが遅くなるに従って弱く押鍵する演奏者の意図に
合わせて、自動伴奏のテンポを精度よく制御し得るもの
ではなかった。
【0004】本発明は、このような従来の課題に鑑みて
なされたものであり、演奏者の意図に合わせて、自動伴
奏のテンポを精度よく制御することのできる自動伴奏装
置を提供することを目的とするものである。
【0005】
【課題を解決するための手段】前記課題を解決するため
に本発明にあっては、押鍵の強さを検出する検出手段
と、自動伴奏データを記憶してなる記憶手段と、この記
憶手段から前記自動伴奏データを順次読み出す読出手段
と、この読み出し手段による前記自動伴奏データの読み
出しの速度の可変幅を設定する設定手段と、前記検出手
段により検出された押鍵の強さの所定時間内における平
均値を算出する算出手段と、この算出手段により算出さ
れた前記平均値に基づき、前記設定手段により設定され
た前記可変幅の範囲内において、前記読出手段の前記自
動伴奏データの読み出し速度を制御する制御手段とを有
している。
【0006】
【作用】前記構成において、押鍵を行うとその強さが検
出手段により検出され、算出手段はこの検出された押鍵
の強さの所定時間内における平均値を算出する。する
と、制御手段は、この平均値に基づき読出手段の読み出
し速度を制御し、よって、自動伴奏データの読み出し速
度は、所定時間内における押鍵の強さの平均値に依存し
て変化する。したがって、全体的に強く(もしくは弱
く)押鍵して演奏を行っている場合であって、特定の音
符に対応する押鍵のみを弱く(もしくは強く)行った場
合であっても、この特定の音符に対応する押鍵に左右さ
れずに、全体の演奏傾向に対応して自動伴奏のテンポが
制御されるようになる。また、制御手段は、読み出し速
度を制御するときに、設定手段で設定された可変幅の範
囲内において速度制御を行う。したがって、自動伴奏の
テンポが極端に速くなったり遅くなったりすることを防
止でき、演奏者や演奏曲の意図に合ったテンポ制御がな
されるようになる。
【0007】
【実施例】以下、本発明の一実施例を図にしたがって説
明する。この実施例は、本発明を電子楽器に適用したも
のであり、この電子楽器は、図1に示す外観構成からな
る楽器本体1を有している。この楽器本体1には、一対
のスピーカ2,2や鍵盤部3等が設けられている。この
鍵盤部3には、キーコードに各々対応する複数の鍵が設
けられているとともに、押鍵に伴って順次オンとなる2
個の鍵スイッチが各鍵毎に設けられており、この2個の
鍵スイッチのオン時間差により、各鍵毎に押鍵の強さを
検出することが可能である。また、鍵盤部3は、後述す
るノーマルモード時には、全鍵が発生する楽音の音高を
指定するメロディ鍵として機能し、自動伴奏モード時に
は、音高C1からB2までの伴奏鍵域3Aと、音高C3
以上のメロディ鍵域3Bとにスプリットされる。そし
て、伴奏鍵域3Aには、コードを指定するコード指定機
能が付与され、メロディ鍵域3Bはノーマルモード時と
同様に音高指定機能が付与される。
【0008】また、楽器本体1のパネル部には、図2に
示すように、モードSW4、アップ/ダウンSW5、表
示部6、設定値切換SW7、スタート/ストップSW8
が設けられている。モードSW4は、“Off”、ノー
マルモードを示す“Nor”及び自動伴奏モードを示す
“Accomp”の各位置に摺動可能なスライドスイッ
チからなる。アップ/ダウンSW5は、常開型のアップ
SW5UとダウンSW5Dからなり、設定値切換SW7
及びスタート/ストップSW8も常開型のスイッチから
なる。なお、楽器本体1のパネル部には、これら図示し
たスイッチ以外に、音色スイッチや音量スイッチ等の、
通常電子楽器に配備されいている機能スイッチが設けら
れている。
【0009】前記表示部6には、基準テンポ表示領域6
a、現在テンポ表示領域6b、変化量表示領域6c、及
びタッチカーブ表示領域6dが設けられている。基準テ
ンポ表示領域6aには、アップ/ダウンSW5の操作に
より設定される基準テンポ値が表示され、現在テンポ表
示領域6bには、自動伴奏実行中における現在のテンポ
が表示される。なお、これら表示部6a,6bに表示さ
れるテンポの値は、1分間における4分音符の拍数であ
り、よって、その値が大きいほどテンポが速いことを示
す。
【0010】変化量表示領域6cには、設定手段として
のアップ/ダウンSW5の操作により設定された変化量
(可変幅)がパーセンテージで表示され、タッチカーブ
表示領域6dには、アップ/ダウンSW5の操作により
選択された後述するタッチカーブのナンバが表示され
る。また、基準テンポ表示領域6a、変化量表示領域6
c及びタッチカーブ表示領域6dには、選択的に網かけ
部6eが表示され、この網かけ部6eは設定切換SW7
の操作により、表示される領域が変化する。そして、こ
の設定切換SW7を操作して、前記領域6a、6c、6
dのいずれかに網かけ部6eを移動させた後、アップS
W5U又はダウンSW5Dを操作することにより、網か
け部6eが表示されている領域の数値が増減変化するよ
うに構成されている。
【0011】図3は、本実施例を適用した電子楽器の全
体構成を示すブロック図である。このブロック図におい
て、図2に示した各種スイッチ等の操作情報は、パネル
スイッチ部9からCPU10に取り込まれる。CPU1
0は、このパネルスイッチ部9及び前記鍵盤部3からの
入力情報とROM11に記憶されているプログラム等に
基づいて動作し、RAM12をワークエリアとして使用
しつつ、この電子楽器において必要な全ての処理を実行
する。すなわち、CPU10は、後述するフローに従っ
て処理を実行することにより、本実施例において押鍵の
強さを検出検出手段、自動伴奏データの読出手段、押鍵
の強さの平均値を算出する算出手段、及び自動伴奏デー
タの読み出し速度を制御する制御手段を構成するもであ
るとともに、前記表示部6及びサウンドシステム13を
制御する。このサウンドシステム12は、音源、アンプ
及びスピーカ2,2等により構成される。音源は、CP
U10からの指示に従った周波数の楽音波形を生成し、
この楽音波形がアンプにより増幅されてスピーカ2,2
に与えられることにより、該スピーカ2,2から指示さ
れた音高の楽音が発生する。
【0012】記憶手段としてのROM11には、プログ
ラムとともに自動伴奏データとベロシティ変換テーブル
とが格納されている。この自動伴奏データは、Cメジャ
ーのコードが指定された場合に発生させる音高を示す複
数の音高データと、各音高データに基づく発音のタイミ
ングを示す時間データとで構成されている。したがっ
て、Cメジャー以外のコードが指定された場合には、こ
の指定されたコードに基づきコード変換を行って音高デ
ータをシフトし、このシフトした音高データに基づき発
音が指示される。また、自動伴奏データは、複数小節分
をもって構成され、各小節の終わりには小節線データを
有しており、自動伴奏実行中においてはこの複数小節分
の自動伴奏データが繰り返し読み出される。なお、自動
伴奏データを構成する各データは、シリアルなアドレス
に対応して記憶されている。
【0013】前記ベロシティ変換テーブルは、図4に示
すように、各々異なるタッチカーブナンバ01,02,
03・・・が付された複数の変換テーブルで構成されて
いる。各変換テーブルは、縦軸に前述の2個の鍵スイッ
チのオン時間差により検出される押鍵の強さを設定し、
横軸にベロシティを設定した二次元テーブルからなり、
各々異なる変化特性のタッチカーブが記憶されている。
したがって、2個の鍵スイッチのオン時間差により検出
される押鍵の強さを、変換テーブルの種類に応じて、異
なるベロシティデータに変換することが可能であり、変
換されるベロシティデータの値は、0〜127である。
【0014】また、CPU10は、下記に示す各種レジ
スタを有している。 自動伴奏モードフラグAF:“0”でノーマルモードで
あること示し、“1”で自動伴奏モードであることを示
す。 自動伴奏実行フラグASF:“0”で自動伴奏停止中を
示し、“1”で自動伴奏実行中を示す。 伴奏データアドレスレジスタAD:自動伴奏データの読
み出しアドレスを格納する。 タッチカーブナンバレジスタTC:選択された変換テー
ブルを示すタッチカーブナンバを格納する。 キーコードレジスタKC:操作された鍵に対応するキー
コードを格納する。 ベロシティデータレジスタVD:ベロシティ変換テーブ
ルで変換したベロシティデータを格納する。 トータルベロシティデータレジスタRTDT:1小節分
の演奏毎のベロシティデータの積算値を格納する。 押鍵回数カウンタVC:1小節分演奏した際の押鍵回数
をカウントする。 伴奏データアドレスカウンタCT:自動伴奏データの読
み出しアドレスを歩進させる際の時間間隔をカウントす
る。 伴奏テンポ目標値レジスタTMPD:目標とするテンポ
の値を格納する。 伴奏テンポ加算レジスタTMPS:1回の処理毎に加算
するテンポ値を格納する。 現在テンポレジスタtmp:現時点におけるテンポの値
を格納する。 変化量レジスタtmpr:設定されたテンポの変化量
(パーセンテージ)を格納する。 基準テンポレジスタtmpit:設定された基準テンポ
を格納する。 ベロシティ平均値レジスタvelh:1小節内における
ベロシティの平均値を格納する。 ベロシティ基準値レジスタvelst:所定のベロシテ
ィ基準値(本実施例では、ベロシティデータ0〜127
の中間値である“64”)を常時格納している。 ベロシティ最高値レジスタvelmx:所定のベロシテ
ィ最高値(本実施例では、ベロシティデータ0〜127
の最高値である“127”)を常時格納している。
【0015】次に、以上の構成にかかる本実施例の動作
を図5以降に示したフローチャートに従って説明する。
CPU10は、モードSW4が“Off”以外の位置に
操作されるに伴って図5に示すフローに従って動作を開
始し、先ずイニシャライズ処理(SA1)を実行する。
このイニシャライズ処理においては、前述の各種レジス
タをクリアしあるいは所定の初期値を格納する。引き続
き、後述するスイッチ処理(SA2)と鍵盤処理(SA
3)とを実行するとともに、その他の処理(SA4)を
実行する。このその他の処理(SA4)では、音色スイ
ッチの操作に応じた音色切り換え、音量スイッチの操作
に応じた音量制御等の、スイッチ処理(SA2)と鍵盤
処理(SA3)とで実行される以外の必要な処理を行
い、電源スイッチがオンとなっている間、SA2〜SA
4のループを繰り返す。
【0016】前記スイッチ処理(SA2)は、図6に示
すフローに従って行われ、モードSW4がノーマルモー
ド(Nor)と自動伴奏モード(Accomp)のいず
れに設定されているかを判別する(SB1)。この判別
の結果、自動伴奏モード(Accomp)が設定されて
いる場合には、自動伴奏モードフラグAFをセットし
(SB2)、ノーマルモード(Nor)が設定されてい
る場合には、自動伴奏モードフラグAFと自動伴奏実行
フラグASFとをリセットする(SB3)。
【0017】次に、設定値切換SW7が操作されたか否
かを判別し(SB4)、操作されたならば、表示部6の
網かけ部6eを移動させる(SB5)。したがって、表
示部6の網かけ部6eは、設定値切換SW7が操作され
る都度、例えば基準テンポ表示領域6a→変化量表示領
域6c→タッチカーブ表示領域6d→基準テンポ表示領
域6aの順に移動する。そして、ユーザーが設定値切換
SW7を操作して、いずれか所望の領域6a、6c、6
dに網かけ部6eを移動させた後、アップ/ダウンSW
5を操作すると、SB6からSB7に進み、このアップ
/ダウンSW5が操作された時点における表示部6の網
かけ部6eの位置を識別する(SB7)。
【0018】この識別の結果、網かけ部6eが基準テン
ポ表示領域6aに位置する状態で、アップ/ダウンSW
5が操作された場合には、このアップ/ダウンSW5の
操作により新たに設定された更新値を、基準テンポレジ
スタtmpitに格納するとともに、この基準テンポレ
ジスタtmpitに格納した値を、現在テンポレジスタ
tmpと伴奏テンポ目標レジスタTMPDとに格納する
(SB8)。したがって、アップSW5UとダウンSW
5Dを操作して、基準テンポ表示領域6aに表示されて
いる現在の基準テンポを増減変化させた時点において
は、各レジスタtmpit、tmp、TMPDに同一の
値が格納されている。そして、次のSB9では、両レジ
スタtmpit、tmpの内容に基づき、基準テンポ表
示領域6aと現在テンポ表示領域6bの表示変更処理を
行い、これにより、両表示領域6a、6bには同一の値
が表示されることとなる。
【0019】また、SB7での識別の結果、網かけ部6
eが変化量表示領域6cに位置する状態で、アップ/ダ
ウンSW5が操作された場合には、このアップ/ダウン
SW5の操作により新たに設定された更新値を、変化量
レジスタtmprに格納する(SB10)。引き続き、
この変化量レジスタtmprの内容に基づき、変化量表
示領域6cの表示変更処理を行い、これにより、変化量
表示領域6cには、基準テンポに対するパーセンテージ
であるテンポの変化幅が数値表示される。
【0020】さらに、SB7での識別の結果、網かけ部
6eがタッチカーブ表示領域6dに位置する状態で、ア
ップ/ダウンSW5が操作された場合には、このアップ
/ダウンSW5の操作により新たに設定された更新値
を、タッチカーブナンバレジスタTCに格納する(SB
12)。引き続き、このタッチカーブナンバレジスタT
Cの内容に基づき、タッチカーブ表示領域6cの表示変
更処理を行い、これにより、変化量表示領域6cには、
選択されたベロシティ変換テーブルを示すタッチカーブ
ナンバが表示される。
【0021】そして、SB9,SB11,SB13に続
くSB14では、スタート/ストップSW8が操作され
たか否かを判別し、スタート/ストップSW8が操作さ
れない場合には、SB15及びSB16の処理を行うこ
となく、その他のスイッチ処理(SB17)を行う。そ
して、このスイッチ処理(SB17)で、音色選択スイ
ッチの操作状態を取り込む等の処理を行って、図5のゼ
ネラルフローに戻る。また、スタート/ストップSW8
が操作されたならば、自動伴奏モードフラグAFがセッ
トされているか否かを判別し、AF=0であってノーマ
ルモードが設定されている場合には、前述と同様にSB
17の処理を実行した後、ゼネラルフローに戻る。
【0022】しかし、AF=1であって、自動伴奏モー
ドが設定されている状態で、スタート/ストップSW8
が操作された場合には、SB16の処理を行う。すなわ
ち、基準テンポレジスタtmpitの現在値を現在テン
ポレジスタtmpと伴奏テンポ目標値レジスタTMPD
とに格納し、トータルベロシティデータレジスタRTD
Tと押鍵回数カウンタVCとをリセットするとともに、
自動伴奏実行フラグASFを反転させて“1”にする。
しかる後に、前述のSB17の処理を実行した後、ゼネ
ラルフローに戻る。
【0023】前記鍵盤処理(SA3)は、図7に示すフ
ローに従って行われ、鍵盤部3の各鍵に設けられている
鍵スイッチを走査して、この操作した鍵スイッチに基づ
き各鍵の状態を識別する(SC1)。そして、鍵盤部3
において押鍵及び離鍵のいずれも発生せず、鍵スイッチ
の状態に変化がなければ、ゼネラルフローに戻る。ま
た、鍵スイッチがオフからオンに変化して、押鍵が発生
したならば、自動伴奏モードフラグAFが1セットされ
ているか否か、つまり自動伴奏モードが設定されている
か否かを判別する(SC2)。この判別の結果、AF=
0であってノーマルモードが設定されている場合には、
キーコードレジスタKCに押鍵された鍵のキーコードを
格納する(SC3)。
【0024】引き続き、タッチカーブナンバレジスタT
Cの内容に対応するタッチカーブに基づいて、ベロシテ
ィデータを求めてベロシティデータレジスタVDに格納
する(SC4)。すなわち、前述のように押鍵時には、
2個の鍵スイッチのオン時間差により押鍵の強さを検出
することができる。よって、この押鍵の強さを予めタッ
チカーブナンバレジスタTCに格納されているタッチカ
ーブナンバに対応する変換テーブルを用いて、ベロシテ
ィデータに変換し、この変換したベロシティデータをベ
ロシティデータレジスタVDに格納するのである。
【0025】次に、KCとVDの内容に基づき発音処理
を行う(SC10)。このSC10の処理により、CP
U10は、KCに格納されているキーコードに対応する
周波数であって、VDに格納されているベロシティデー
タに従ったエンベロープの楽音信号の生成をサウンドシ
ステム13に指示する。この指示に従ってサウンドシス
テム13が動作することにより、スピーカ2,2からは
KCの内容に対応する音高であって、VDの内容に対応
する音量等からなる楽音が発生し始める。
【0026】また、SC2での判別の結果、AF=1で
あって自動伴奏モードが設定されている場合には、SC
2からSC5に進んで、押鍵がメロディ鍵域3Bである
か否かを判別する。そして、押鍵がメロディ鍵域であっ
た場合には、前述のSC3及びSC4と同様に、キーコ
ードレジスタKCに押鍵された鍵のキーコードを格納す
るとともに(SC6)、タッチカーブナンバレジスタT
Cの内容に対応するタッチカーブに基づいて、ベロシテ
ィデータを求めてベロシティデータレジスタVDに格納
する(SC7)。
【0027】次に、トータルベロシティデータレジスタ
RTDTに格納されているベロシティデータに、今回ベ
ロシティデータレジスタVDに格納された値を加算し
て、トータルベロシティデータレジスタRTDTの格納
データを更新する(SC8)。引き続き、押鍵回数カウ
ンタVCをカウントアップさせて(SC9)、前述のノ
ーマルモード時と同様に、KCとVDの内容に基づき発
音処理を行う(SC10)。したがって、自動伴奏モー
ドにおいてメロディ鍵域3Bで押鍵を行うと、前述のノ
ーマルモード時と同様に、スピーカ2,2からはKCの
内容に対応する音高であって、VDの内容に対応する音
量等からなる楽音が発生し始める。また、押鍵に伴っ
て、トータルベロシティデータレジスタRTDTには、
押鍵時のベロシティデータが加算され、押鍵回数カウン
タVCはメロディ鍵域3Bでの押鍵回数カウントして行
く。
【0028】また、SC5での判別の結果、押鍵がメロ
ディ鍵域3Aではなく、伴奏鍵域3Aであった場合に
は、自動伴奏実行フラグASFがセットされているか否
か、つまり自動伴奏が実行中であるか否かを判別する
(SC11)。この判別の結果、自動伴奏が実行中でな
い場合には、即時にゼネラルフローに戻る。したがっ
て、自動伴奏モードが設定されている状態であっても、
自動伴奏が実行中でない状態で伴奏鍵域3Aを操作して
た場合には、その操作は無効であって何の処理も開始さ
れない。
【0029】しかし、SC11での判別の結果、ASF
=1であって自動伴奏が実行中であったならば、コード
判別処理(SC12)を行って、伴奏鍵域3Aでの押鍵
により指定されたコードを判別する。次に、このコード
判別結果に基づいて自動伴奏のコードを変換する。すな
わち、前述のように自動伴奏データは、Cメジャーのコ
ードが指定された場合に発生させる音高を示す複数の音
高データで構成されている。したがって、Cメジャー以
外のコードが指定された場合には、この指定されたコー
ドに基づきコードを変換して音高データをシフトした
後、ゼネラルフローに戻る。
【0030】また、SC1での判別の結果、鍵スイッチ
がオンからオフに変化して、離鍵が発生したならば、自
動伴奏モードフラグAFがセットされているか否かを判
別する(SC14)。この判別の結果、AF=0であっ
てノーマルモードが設定されている場合には、キーオフ
された鍵のキーコードに対応する楽音の消音を指示する
(SC16)。このSC16の処理により、サウンドシ
ステム13は対応する楽音信号を減衰させ、スピーカ
2,2から発生していたキーコードに対応する楽音が消
音する。また、SC14での判別の結果、AF=1であ
って自動伴奏モードが設定されている場合には、発生し
た離鍵がメロディ鍵域3Bであるか否かを判別し(SC
15)、メロディ鍵域3Bである場合にのみ、前述した
SC16の処理を行う。したがって、ノーマルモードの
状態で鍵盤部3を操作した場合、及び自動伴奏モードで
メロディ鍵域3Bを操作した場合には、前述のSC10
で押鍵に対応した発音処理が行われるとともに、このS
C16で離鍵に対応した消音指示が行われ、これによ
り、演奏操作に応じたメロディ等が発生することとな
る。
【0031】一方 図8に示すタイマインタラプト1
は、所定の周期でゼネラルフローに割り込んで実行さ
れ、自動伴奏実行フラグASFがセットされているか否
かを判別する(SD1)。この判別の結果、ASF=0
であって自動伴奏が停止中であれば、以降の処理を実行
することなくゼネラルフローに戻る。また、ASF=1
であって自動伴奏が実行中であれば、CTの現在格納値
にtmpに比例した値を加算して、CTの格納値を更新
する(SD2)。
【0032】すなわち、現在テンポレジスタtmpは現
時点のテンポを示す値を格納しており、この値は前述の
ように、テンポが速くなるに連れて大きくなる値であ
り、よって、このtmpに比例した値も、テンポが速く
なるに連れて大きくなる値である。したがって、このS
D2の処理で、tmpに比例した値をCTに加算して、
CTを更新することにより、伴奏データアドレスカウン
タCTの値はテンポが速くなるに従って、大きな変化速
度で増大することとなる。そして、次のSD3では、こ
のCTの値が所定値以上となったか否かを判別し、所定
値以上となった時点で、CTをリセットするとともに、
伴奏データアドレスレジスタADの値をインクリメント
し(SD4)、このADの内容に応じて伴奏データを読
み出す(SD5)。したがって、以上のSD2〜SD5
の処理によって、伴奏データは現在テンポに応じた速度
で順次読み出されることとなる。
【0033】そして、次のSD6では、読み出したデー
タが小節線データか否かを判別し、小節線データではな
く発音データ等である場合には、読み出したデータをサ
ウンドシステム13に送出して、発音指示する(SD1
4)。このとき、前述のSD2〜SD5の処理によっ
て、伴奏データは現在テンポに応じた速度で順次読み出
されることから、この発音指示も現在テンポに応じた速
度で順次実行され、よって、自動伴奏はtmpが示す現
在テンポに応じて速度を変化させつつ進行する。しか
も、図7のSC13では前述のように、伴奏鍵域3Aで
の押鍵に応じて、自動伴奏のコードを変更する処理も実
行されることから、自動伴奏は、伴奏鍵域3Aでの押鍵
に応じて構成音高を変化させ、且つtmpが示す現在テ
ンポに応じてテンポを変化させつつ進行することにな
る。
【0034】また、SD6での判別の結果、読み出した
データが小節線データであった場合には、押鍵回数カウ
ンタVCの値が“0”であるか否かを判別する。この押
鍵回数カウンタVCは、小節線データが読み出される都
度、後述するSD13でリセットされ、且つ前述した図
7のSC9で押鍵がある都度カウントアップされてい
る。よって、その値は前の小節線データが読み出された
時点から、今回の小節線データが読み出された時点まで
のメロディ鍵域3Bでの押鍵回数、すなわち自動伴奏が
1小節進行する間におけるメロディ鍵域3Bでの押鍵回
数を示している。したがって、VC=0とは、自動伴奏
が1小節進行する間に、1度もメロディ鍵域での押鍵が
なかった場合であり、演奏者が一時的に演奏を休止した
等の特殊な場合である。そして、VC=0である特殊な
場合も含めて、1小節内での押鍵回数に応じて後述する
処理により自動伴奏のテンポを変化さると、自動伴奏の
テンポが急激に変化することから、この場合を排斥すべ
く、VC=0であった場合には、以降の処理を行うこと
なく、ゼネラルフローに戻る。
【0035】また、VC≠0であって、自動伴奏が1小
節進行する間にメロディ鍵域3Bでの押鍵があった場合
には、トータルベロシティデータレジスタRTDTに格
納されている値を、押鍵回数カウンタVCに格納されて
いる押鍵回数で除し、その結果をベロシティ平均値レジ
スタvelhに格納する(SD8)。すなわち、トータ
ルベロシティデータレジスタRTDTは、小節線データ
が読み出される都度、後述するSD13でリセットさ
れ、且つ前述した図7のSC8で押鍵がある都度ベロシ
ティデータが加算されている。よって、その値は前の小
節線データが読み出された時点から、今回の小節線デー
タが読み出された時点までのメロディ鍵域3Bでの押鍵
時のベロシティデータの合計、すなわち自動伴奏が1小
節進行する間におけるメロディ鍵域3Bでの押鍵時のベ
ロシティデータの合計を示している。また、前述のよう
に、押鍵回数カウンタVCは、同様に自動伴奏が1小節
進行する間におけるメロディ鍵域3Bでの押鍵回数を示
している。したがって、RTDT/VCにより、当該1
小節における1回の押鍵当たりのベロシティであるベロ
シティ平均値を得ることができ、このベロシティ平均値
をvelhに格納するのである。
【0036】次に、velh−velstを演算してそ
の結果が“プラス”“ゼロ”“マイナス”のいずれであ
るかを識別する。ここで、ベロシティ基準時レジスタv
elstには、所定のベロシティ基準値が常時格納され
ており、このベロシティ基準値は本実施例においては
“64”である。したがって、ベロシティ平均値レジス
タvelhの格納値も“64”であった場合には、64
−64=0となって、SD9からSD12に進むことに
なる。
【0037】しかし、ベロシティ平均値レジスタvel
hの格納値が“64”を超える場合には、SD9の判別
は“プラス”となることから、該SD9からSD10に
進み、このSD10に図示した下記式で演算を行ってそ
の演算結果を、伴奏テンポ目標値レジスタTMPDに格
納する。
【0038】tmpit+tmpit×tmpr/10
0×(velh−velst)/(velmx−vel
st) ここで、仮に 基準テンポレジスタtmpit=100 変化量レジスタtmpr=20 ベロシティ平均値レジスタvelh=95.5 であったすると、 ベロシティ基準値レジスタvelst=64 ベロシティ最高値レジスタ=127 であるから、前記式に基づく演算は、 100+100×20/100×(95.5−64)/
(127−64)=110 となり、伴奏テンポ目標値レジスタTMPDには、予め
設定されているtmpit=100よりも10%増加し
た“110”が格納されることとなる。
【0039】また、仮にベロシティ平均値レジスタve
lh=127であって、ベロシティの最高値が平均値と
して格納されていたとすると、 100+100×20/100×(127−64)/
(127−64)=120 となって、伴奏テンポ目標値レジスタTMPDには、予
め設定されているtmpit=100よりも20%増加
した“120”が格納されることとなる。つまり、SD
9の判別結果が“プラス”であった場合、前記式に基づ
いて演算を実行することにより、予め基準テンポレジス
タtmpitに格納されている基準テンポに対して、変
化量レジスタtmprに格納されている値が示すパーセ
ンテージを最大として、伴奏テンポ目標値レジスタTM
PDの値が増加変更されることとなる。
【0040】そして、このSD10の処理により、TM
PDに演算結果を格納した後、次のSD12では、現在
テンポレジスタtmpに格納されている現在テンポの値
から、伴奏テンポ目標値レジスタTMPDに格納された
目標とするテンポの値を引き、その値の絶対値を所定値
で除し、その結果を伴奏テンポ加算レジスタTMPSに
格納する(SD12)。しかる後に、両レジスタRTD
TとVCとをリセットし(SD13)、ゼネラルフロー
に戻る。
【0041】他方、ベロシティ平均値レジスタvelh
の格納値が64未満であった場合には、SD9の判別は
“マイナス”となることから、該SD9からSD11に
進み、このSD11に図示した下記式で演算を行ってそ
の演算結果を、伴奏テンポ目標値レジスタTMPDに格
納する。
【0042】tmpit+tmpit×(tmpr/
2)/100×(velh−velst)/velst ここで、仮に 基準テンポレジスタtmpit=100 変化量レジスタtmpr=20 ベロシティ平均値レジスタvelh=32 であったすると、 ベロシティ基準値レジスタvelst=64 であるから、前記式に基づく演算は、 100+100×(20/2)/100×(32−6
4)/64=95 となり、伴奏テンポ目標値レジスタTMPDには、予め
設定されているtmpit=100よりも5%減少した
“95”が格納されることとなる。
【0043】また、ここでvelh=0を代入してみる
と、 100+100×(20/2)/100×(0−64)
/64=90 となって、伴奏テンポ目標値レジスタTMPDには、予
め設定されているtmpit=100よりも10%減少
した“90”算出される。つまり、SD9の判別結果が
“マイナス”であった場合、この式に基づいて演算を実
行することにより、予め基準テンポレジスタtmpit
に格納されている基準テンポに対して、変化量レジスタ
tmprに格納されている値が示すパーセンテージの約
1/2を最大として、伴奏テンポ目標値レジスタTMP
Dが減少変更されることとなる。そして、このSD11
の処理により、TMPDに演算結果を格納したならば、
前述と同様に、SD12及びSD13の処理を行って、
ゼネラルフローに戻る。
【0044】なお、SD9の判別が“ゼロ”であった場
合にも、SD12及びSD13の処理を行って、ゼネラ
ルフローに戻る。しかし、この場合には、SD10及び
SD11の処理が実行されないことから、伴奏テンポ目
標値レジスタTMPDには従前の値が格納されている。
また、図9のタイマインタラプト2が実行されることに
より、後述するようにtmp=TMPDの状態になるこ
とから、SD12の│tmp−TMPD│は“0”とな
り、TMPSに“0が格納された状態で、ゼネラルフロ
ーに戻る。
【0045】また、図9に示すタイマインタラプト2
も、所定の周期でゼネラルフローに割り込んで実行さ
れ、自動伴奏実行フラグASFがセットされているか否
かを判別する(SE1)。この判別の結果、ASF=0
であって自動伴奏停止中であれば、以降の処理を実行す
ることなくゼネラルフローに戻る。また、ASF=1で
あって自動伴奏実行中であれば、現在テンポレジスタt
mpの格納値と伴奏テンポ目標値レジスタTMPDの格
納値とが等しいか否かを判別する(SE2)。この判別
の結果、tmp≠TMPDであって、現在の自動伴奏の
テンポが目標とする自動伴奏のテンポに到達していない
状態にあれば、さらに、現在テンポレジスタtmpの格
納値が伴奏テンポ目標値レジスタTMPDの格納値より
も大きいか否かを判別する(SE3)。
【0046】そして、tmp<TMPDであって、現在
のテンポ値が目標とするテンポ値よりも小さい場合に
は、前述した図8のSD12で伴奏テンポ加算レジスタ
TMPSに格納した値を、現在テンポレジスタtmpの
格納値に加算してこれを更新する(SE4)。また、t
mp>TMPDであって、現在のテンポ値が目標とする
テンポ値よりも大きい場合には、前記伴奏テンポ加算レ
ジスタTMPSに格納した値を、現在テンポレジスタt
mpの格納値から減算してこれを更新する(SE5)。
しかる後に、SE4又はSE5に続くSE6では、現在
テンポレジスタtmpの内容に基づいて表示処理を実行
し、このSE6の処理により、表示部6の現在テンポ表
示領域6bの表示値が、徐々に増減変化する。
【0047】そして、このタイマインタラプト2が実行
される都度、SE4又はSE5の処理がなされることに
より、tmp=TMPDとなると、以降このタイマイン
タラプト2では、SE1→SE2→リターンと進むこと
となる。よって、現在テンポレジスタtmpの格納値
は、伴奏テンポ加算レジスタTMPSの格納値と等しい
状態に維持されるとともに、表示部6の現在テンポ表示
領域6bには、伴奏テンポ目標値レジスタTMPDに格
納されている目標とするテンポと等しい値からなるテン
ポ値が表示されることとなる。
【0048】また、このタイマインタラプト2により、
tmp=TMPDの状態が形成されることから、図8の
前述したSD2〜SD5の処理によって、伴奏データは
現在テンポに応じた速度で順次読み出されることによ
り、自動伴奏はtmpが示す現在テンポに応じて1小節
毎にテンポを変化させつつ進行する。このとき、tmp
が示す現在テンポは、SD8で算出された、1小節分の
自動伴奏中におけるベロシティ平均値に基づいて変更さ
れる。
【0049】したがって、テンポが速くなるに従って強
く押鍵している場合であって、特定の音符に対応する押
鍵のみを弱く行った場合であっても、この特定の音符に
対応する押鍵に左右されずに、速くなるテンポに自動伴
奏のテンポを追従させることができる。また、逆にテン
ポが遅くなるに従って弱く押鍵している場合であって、
特定の音符に対応する押鍵のみを強く行った場合であっ
ても、この特定の音符に対応する押鍵に左右されずに、
遅くなるテンポに自動伴奏を追従させることができる。
よって、自動伴奏を伴ってメロディ鍵域3Bにてメロデ
ィ演奏を行っている演奏者の意図に合わせて、自動伴奏
のテンポを精度よく制御することが可能となる。
【0050】なお、実施例においては、1小節の自動伴
奏が実行される時間内における押鍵の強さの平均値に基
づき、自動伴奏のテンポを変更するようにしたが、1小
節に限らず、複数小節毎の平均値や、押鍵が所定の回数
に達する毎の平均値に基づき、自動伴奏のテンポを変更
するようにしてもよい。
【0051】
【発明の効果】以上説明したように本発明は、鍵の強さ
の所定時間内における平均値に基づき、自動伴奏データ
の読み出し速度を制御するようにしたことから、テンポ
が速く(または遅く)なるに従って強く(または弱く)
押鍵する傾向に、精度よく自動伴奏のテンポを合致させ
ることが可能になる。また、自動伴奏データの読み出し
速度を、設定された可変幅の範囲内において制御するよ
うにしたことから、自動伴奏のテンポが極端に速くなっ
たり遅くなったりするような過剰なテンポ変化を未然に
防止することができる。
【0052】また、テンポが遅くなる場合には速くなる
場合よりも、その変化が顕著に感じられてしまうことか
ら、読み出し速度を遅くする場合には、速くする場合よ
りも少ない可変幅の範囲内で、前記読み出し速度を制御
することにより、自然な変化で自動伴奏のテンポを変更
することができる。さらに、現在の自動伴奏データの読
み出し速度と変更すべき読み出し速度との差を所定値で
除し、その値を順次加算して、変更すべき読み出し速度
に到達させることにより、急峻なテンポ変化を伴うこと
なく自動伴奏のテンポを制御することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例を適用した電子楽器の外観平
面図である。
【図2】パネルスイッチ部の一部を示す平面図である。
【図3】本実施例を適用した電子楽器のブロック図であ
る。
【図4】ベロシティ変換テーブルの一部を示す図であ
る。
【図5】ゼネラルフローを示すフローチャートである。
【図6】スイッチ処理の内容を示すフローチャートであ
る。
【図7】鍵盤処理の内容を示すフローチャートである。
【図8】タイマインタラプト1の処理内容を示すフロー
チャートである。
【図9】タイマインタラプト2の処理内容を示すフロー
チャートである。
【符号の説明】
3 鍵盤部 4 モードSW 7 設定値切換SW 10 CPU 11 ROM
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 - 7/12

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 押鍵の強さを検出する検出手段と、 自動伴奏データを記憶してなる記憶手段と、 この記憶手段から前記自動伴奏データを順次読み出す読
    出手段と、この読み出し手段による前記自動伴奏データの読み出し
    の速度の可変幅を設定する設定手段と、 前記検出手段により検出された押鍵の強さの所定時間内
    における平均値を算出する算出手段と、 この算出手段により算出された前記平均値に基づき、
    記設定手段により設定された前記可変幅の範囲内におい
    て、前記読出手段の前記自動伴奏データの読み出し速度
    を制御する制御手段と、 を有することを特徴とする自動伴奏装置。
  2. 【請求項2】 前記制御手段は、前記読み出し速度を遅
    くする場合には、速くする場合よりも少ない可変幅の範
    囲内で、前記読み出し速度を制御することを特徴とする
    請求項1記載の自動伴奏装置。
  3. 【請求項3】 前記制御手段は、現在の自動伴奏データ
    の読み出し速度と前記平均値に基づき変更すべき読み出
    し速度との差を所定値で除し、その値を順次現在の読み
    出し速度に加算することにより、前記変更すべき読み出
    し速度に到達させることを特徴とする請求項1又は2に
    記載の自動伴奏装置。
JP17027595A 1995-06-13 1995-06-13 自動伴奏装置 Expired - Lifetime JP3533764B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17027595A JP3533764B2 (ja) 1995-06-13 1995-06-13 自動伴奏装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17027595A JP3533764B2 (ja) 1995-06-13 1995-06-13 自動伴奏装置

Publications (2)

Publication Number Publication Date
JPH08339189A JPH08339189A (ja) 1996-12-24
JP3533764B2 true JP3533764B2 (ja) 2004-05-31

Family

ID=15901933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17027595A Expired - Lifetime JP3533764B2 (ja) 1995-06-13 1995-06-13 自動伴奏装置

Country Status (1)

Country Link
JP (1) JP3533764B2 (ja)

Also Published As

Publication number Publication date
JPH08339189A (ja) 1996-12-24

Similar Documents

Publication Publication Date Title
JP3533764B2 (ja) 自動伴奏装置
JP6565225B2 (ja) 電子楽器、音量制御方法およびプログラム
JP2002140067A (ja) 電子楽器および電子楽器のレジストレーション方法
JP4225362B2 (ja) コード判定装置およびコード判定処理プログラム
JP6817551B2 (ja) 楽音発生装置、楽音発生方法、プログラムおよび電子楽器
JP3781167B2 (ja) 演奏情報入力装置および演奏情報入力方法
JP3567294B2 (ja) 音声発生装置
JP2015179229A (ja) 楽音発生装置、電子楽器、楽音発生方法およびプログラム
JP6210356B2 (ja) 演奏装置、演奏方法およびプログラム
JP3399068B2 (ja) 電子楽器
JP4217978B2 (ja) コード判定装置およびコード判定処理プログラム
JP3543126B2 (ja) 自動演奏装置
JP2745831B2 (ja) 電子楽器
JP3205662B2 (ja) 電子楽器
JP3940999B2 (ja) 演奏装置および演奏方法
JP2006178268A (ja) 楽音制御装置および楽音制御プログラム
JP5029770B2 (ja) 演奏支援情報生成装置および演奏支援情報生成プログラム
JP4816930B2 (ja) 演奏支援情報生成装置および演奏支援情報生成プログラム
JP3543158B2 (ja) 自動伴奏装置
JP3744667B2 (ja) 自動伴奏装置および自動伴奏方法
JP3543159B2 (ja) 自動伴奏装置
JP2577330Y2 (ja) 楽音制御装置
JPH06161450A (ja) 自動伴奏装置
JPH0752345B2 (ja) イニシャルタッチ制御装置
JPH1031481A (ja) 波形発生装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040301

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090319

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090319

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100319

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110319

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110319

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 9