JP3427569B2 - 音楽制御装置 - Google Patents

音楽制御装置

Info

Publication number
JP3427569B2
JP3427569B2 JP13995595A JP13995595A JP3427569B2 JP 3427569 B2 JP3427569 B2 JP 3427569B2 JP 13995595 A JP13995595 A JP 13995595A JP 13995595 A JP13995595 A JP 13995595A JP 3427569 B2 JP3427569 B2 JP 3427569B2
Authority
JP
Japan
Prior art keywords
tempo
tempo control
automatic performance
value
degree
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
JP13995595A
Other languages
English (en)
Other versions
JPH08314454A (ja
Inventor
聡史 宇佐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP13995595A priority Critical patent/JP3427569B2/ja
Publication of JPH08314454A publication Critical patent/JPH08314454A/ja
Application granted granted Critical
Publication of JP3427569B2 publication Critical patent/JP3427569B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、テンポ、ダイナミクス
および音源パラメータ等をリアルタイムに制御できる音
楽制御装置に関する。
【0002】
【従来の技術】従来、テンポ、ダイナミクスおよび音源
パラメータ等の音楽情報をリアルタイムに制御できる音
楽制御装置として、予め設定された初期音楽情報によっ
て演奏を開始し、その後に操作者が音楽制御のための信
号出力装置を操作することにより、その操作方向や強さ
に応じて音楽情報をリアルタイムに制御するように構成
されたものは知られている(例えば特開平6−2795
7号公報には、音楽情報としてテンポを制御するように
したものが開示されている)。
【0003】
【発明が解決しようとする課題】しかしながら、上記従
来の音楽制御装置では、操作者は曲や装置への自分の習
熟度に合わせて音楽制御の難易度(換言すれば、安定度
または音楽表現力)を調節することができないために、
習熟度が向上した操作者にとっては物足りなさを感じる
ようになり、また、初心者や習熟度が向上した操作者で
あっても初めて演奏する曲に対しては、思い通りの音楽
制御を行うことができないことがあった。
【0004】本発明は、上記問題に鑑みてなされたもの
で、操作者が曲や装置への自分の習熟度に合わせて音楽
特性制御の難易度(安定度または音楽表現力)を調節す
ることが可能な音楽制御装置を提供することを目的とす
る。
【0005】
【課題を解決するための手段】上記目的を達成するため
本発明は、操作者の操作に応じてテンポ制御信号を発生
するテンポ制御信号発生手段と、操作者がテンポ制御の
難易度を調節するための難易度調節手段と、自動演奏デ
ータを記憶する自動演奏データ記憶手段と、該記憶され
た自動演奏データを読み出して自動演奏する自動演奏手
段と、該自動演奏手段による自動演奏のテンポを前記発
生されたテンポ制御信号に基づいて制御するテンポ制御
手段と、前記難易度調節手段により調節された難易度
易から難に行くに従って、当該自動演奏のテンポを制御
する際の追従の程度が高くなって行くように変更する変
更手段とを有し、前記テンポ制御手段は、前記変更手段
によって変更された追従の程度で、当該自動演奏のテン
ポを制御することを特徴とする。
【0006】好ましくは、前記テンポ制御信号発生手段
により発生されたテンポ制御信号および前記自動演奏手
段により読み出された自動演奏データに基づいて、前記
テンポ制御手段がテンポ制御に用いるテンポ制御値を算
出するテンポ制御値算出手段を有し、前記テンポ制御手
段は、前記変更手段によって変更された自由度に応じて
前記算出されたテンポ制御値を変更し、該変更後のテン
制御値に基づいて自動演奏のテンポを制御することを
特徴とする。
【0007】また、好ましくは、前記テンポ制御信号発
生手段により発生されたテンポ制御信号および前記自動
演奏手段により読み出された自動演奏データに基づい
て、前記テンポ制御手段がテンポ制御に用いるテンポ制
御値を算出するテンポ制御値算出手段であって、前記テ
ンポ制御値を所定個記憶し、新たなテンポ制御値が算出
される度に該所定個のテンポ制御値を更新して記憶する
テンポ制御値記憶手段と、前記難易度調節手段により調
節された難易度に応じて、前記記憶されたテンポ制御値
から所定個のテンポ制御値を選択し、該選択された所定
個のテンポ制御値と前記テンポ制御値算出手段により新
たに算出されたテンポ制御値とを平均化する平均化手段
とを有し、前記テンポ制御手段は、前記平均化されたテ
ンポ制御値に基づいて自動演奏のテンポを制御すること
を特徴とする。
【0008】さらに、好ましくは、前記難易度調節手段
により調節された難易度に応じて、前記テンポ制御値算
出手段により算出されたテンポ制御値を変更する際の上
限値または下限値を変更する上下限値変更手段、または
前記テンポ制御値算出手段により算出されたテンポ制御
を変更する際の変化幅を変更する変化幅変更手段を有
することを特徴とする。
【0009】また、操作者の操作に応じてテンポ制御信
号を発生するテンポ制御信号発生手段と、操作者がテン
ポ制御の難易度を調節するための難易度調節手段と、自
動演奏データを記憶する自動演奏データ記憶手段と、該
記憶された自動演奏データを読み出して自動演奏する自
動演奏手段と、該自動演奏手段による自動演奏のテンポ
を前記発生されたテンポ制御信号に基づいて制御するテ
ンポ制御手段と、前記自動演奏手段による現在の自動演
奏のテンポから前記テンポ制御手段によるテンポへ制御
可能な許容範囲を、前記難易度調節手段により調節され
た難易度に応じて変更する変更手段とを有し、前記テン
制御手段は、前記変更手段によって変更された許容範
囲内で当該自動演奏のテンポを制御することを特徴とす
る。
【0010】さらに、前記自動演奏データ記憶手段は、
前記自動演奏データとともに、該自動演奏データ固有の
追従度データであって、該追従度データは当該自動演奏
のテンポを制御する際の追従の程度を示すものを記憶
し、前記自動演奏手段は、該記憶された追従度データを
読み出し、前記変更手段は、前記難易度調節手段によっ
て調節された難易度に応じて、該読み出された追従度デ
ータによって示される追従の程度の高低を変更すること
を特徴とする。
【0011】
【0012】
【作用】請求項1記載の発明の構成に依れば、自動演奏
データ記憶手段から自動演奏データが読み出されて自動
演奏されているときに、操作者がテンポ制御信号発生手
段を操作すると、その操作状態および難易度調節手段に
より調節された難易度に応じて変更された追従の程度
で、自動演奏のテンポが制御される。
【0013】請求項2記載の発明の構成に依れば、テン
制御信号発生手段から発生されたテンポ制御信号およ
び自動演奏手段により読み出された自動演奏データに基
づいてテンポ制御値が算出され、その算出されたテンポ
制御値が難易度調節手段により調節された難易度に応
じて変更された自由度で変更され、その変更されたテン
制御値に基づいて自動演奏のテンポが制御される。
【0014】請求項3記載の発明の構成に依れば、テン
ポ制御値記憶手段に記憶された所定個のテンポ制御値か
ら、難易度調節手段により調節された難易度に応じて選
択された所定個のテンポ制御値と、テンポ制御値算出手
段により算出された新たなテンポ制御値とが平均化さ
れ、その平均化されたテンポ制御値に基づいて自動演奏
テンポ特性が制御される。
【0015】請求項4記載の発明の構成に依れば、難易
度調節手段により調節された難易度に応じて、テンポ制
御値算出手段により算出されたテンポ制御値を変更する
の上限値または下限値が変更され、その変更された値
に基づいて自動演奏のテンポ特性が制御される。
【0016】請求項5記載の発明の構成に依れば、難易
度調節手段により調節された難易度に応じて、テンポ制
御値算出手段により算出されたテンポ制御値を変更する
の変化幅が変更され、その変更された変化幅のテンポ
制御値に基づいて自動演奏のテンポが制御される。
【0017】請求項6記載の発明の構成に依れば、自動
演奏データ記憶手段から自動演奏データが読み出されて
自動演奏されているときに、操作者がテンポ制御信号発
生手段を操作すると、その操作状態および難易度調節手
段により調節された難易度に応じて変更された許容範囲
内で、自動演奏のテンポが制御される。
【0018】請求項7記載の発明の構成に依れば、自動
演奏データ記憶手段に記憶された追従度データが読み出
され、その追従度データによって示される追従の程度の
高低を決定するための難易度が難易度調節手段により調
節され、その調節された難易度に応じて自動演奏のテン
ポが制御される。
【0019】
【0020】
【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。
【0021】図1は、本発明の一実施例に係る音楽制御
装置の概略構成を示すブロック図であり、本実施例の音
楽制御装置は、テンポ制御信号を出力するテンポ制御信
号出力装置1と該テンポ制御信号出力装置1からのテン
ポ制御信号に基づいて音楽情報が制御される自動演奏装
置付き電子楽器21とにより構成されている。なお、本
実施例では制御できる音楽情報として、テンポおよびダ
イナミクスを例に挙げて説明するが、これに限る必要は
ないことは云うまでもない。
【0022】同図において、テンポ制御信号出力装置1
は、操作者が行った該装置1の揺動動作のX軸(水平)
方向の角速度を検出し、アナログ電気信号に変換する圧
電振動ジャイロセンサ(X)2と、同様に装置1の揺動
動作のY軸(垂直)方向の角速度を検出し、アナログ電
気信号に変換する圧電振動ジャイロセンサ(Y)3と、
各種情報を入力するためのスイッチ群4と、圧電振動ジ
ャイロセンサ2,3からの各出力信号のノイズをそれぞ
れ除去するノイズ除去回路5,6と、該ノイズ除去回路
5,6からのアナログ出力信号をそれぞれデジタル信号
に変換するA/D変換回路7,8と、スイッチ群4の各
スイッチの操作状態を検出するスイッチ検出回路9と、
装置1全体の制御を司るCPU10と、該CPU10が
実行する制御プログラムやテーブルデータ等を記憶する
ROM11と、各種入力情報および演算結果等を一時的
に記憶するRAM12と、タイマ割込み処理における割
込み時間や各種時間を計時するタイマ13と、外部から
のMIDI(Musical Instrument Digital Interface)
信号を入力したり、MIDI信号として外部に出力した
りするMIDIインターフェース(I/F)14とによ
り構成されている。そして、上記構成要素7〜14は、
バス15を介して相互に接続され、CPU10にはタイ
マ13が接続されている。
【0023】自動演奏装置付き電子楽器21は、音高情
報を入力するための鍵盤22と、各種情報を入力するた
めのスイッチ群23と、鍵盤22の押鍵状態を検出する
押鍵検出回路24と、スイッチ群23の各スイッチの操
作状態を検出するスイッチ検出回路25と、装置21全
体の制御を司るCPU26と、該CPU26が実行する
制御プログラムやテーブルデータ等を記憶するROM2
7と、自動演奏データ、各種入力情報および演算結果等
を一時的に記憶するRAM28と、タイマ割込み処理に
おける割込み時間や各種時間を計時するタイマ29と、
自動演奏データや各種情報等を表示する、例えばLCD
等のディスプレイ30と、外部からのMIDI信号を入
力したり、MIDI信号として外部に出力したりするM
IDIインターフェース(I/F)31と、記憶媒体で
あるフロッピディスク(FD)をドライブするフロッピ
ディスクドライブ(FDD)32と、鍵盤22からの演
奏データや自動演奏データ等を楽音信号に変換する音源
回路33と、該音源回路33からの楽音信号に各種効果
を付与する効果回路34と、該効果回路34からの楽音
信号を音響に変換する、例えばスピーカ等のサウンドシ
ステム35とにより構成されている。そして、上記構成
要素24〜34は、バス36を介して相互に接続され、
CPU26にはタイマ29が接続され、音源回路33に
は効果回路34が接続され、効果回路34にはサウンド
システム35が接続されている。
【0024】さらに、テンポ制御信号出力装置1のMI
DII/F14は、電子楽器21のMIDII/F31
と相互に接続され、テンポ制御信号出力装置1と電子楽
器21との間でMIDI信号の送受信が行われる。この
MIDII/F14,31間の接続は、有線で行っても
よいし、無線で行ってもよい。
【0025】操作者は、テンポ制御信号出力装置1を片
手で把持し、該装置1を曲の所定のタイミングに応じて
所定の方向に振ることにより、マニュアルで音楽情報を
制御することができる。
【0026】図2は、前記スイッチ群23中の一スイッ
チである難易度設定操作子231を示す図であり、本実
施例では、難易度設定操作子231はロータリーボリュ
ーム形式のものを用いている。
【0027】操作者は難易度設定操作子231を回転さ
せることにより曲の難易度を調節することができ、難易
度設定操作子231が“0”の位置にある場合には曲に
予め設定された難易度でテンポ制御でき、その位置から
時計方向に回転させた場合には、その回転角度に応じて
「難」の程度が増加する一方、反時計方向に回転させた
場合には、その回転角度に応じて「易」の程度が増加す
る。
【0028】なお、難易度設定操作子231の形式は、
これに限らず、スライドスイッチやアップダウンスイッ
チ等のどのような形式のものであってもよい。また、難
易度設定操作子231は、本実施例のように電子楽器2
1側に設けずに、テンポ制御信号出力装置1側に設けて
もよい。
【0029】図3は、テンポ制御信号出力装置1が検出
する揺動動作の種類の一例を示す図であり、(a)は、
3角形の各辺の方向にテンポ制御信号出力装置1を振っ
た場合に検出する3種類の揺動動作を示し、(b)は、
上または下方向にテンポ制御信号出力装置1を振った場
合に検出する2種類の揺動動作を示している。
【0030】操作者がテンポ制御信号出力装置1を振る
と、その揺動動作に応じて圧電振動ジャイロセンサ2,
3からそれぞれ信号が出力され、CPU10は、各信号
から操作者が行っている動作状態、すなわち、操作者の
動作が図の動作1〜3のうちいずれの動作に該当する
かを判別するとともに、その判別された動作における絶
対角速度がピークとなる位置(テンポ制御信号出力装置
1の振り方にもよるが、各動作1〜3のほぼ中間地点で
速度がピークとなるであろう)を検出し、該ピーク位置
で、前記検出された動作に対応するキーコードのオンイ
ベント(マークデータ)およびこの時点の絶対角速度
(この算出方法は後述する)に応じたベロシティ値に所
定のチャンネル番号(本実施例ではチャンネル1)を付
与して、電子楽器21側へ出力する。例えば、動作1に
対してはキーコード“C3”のキーオンイベント、動作
2に対してはキーコード“C#3”のキーオンイベント
および動作3に対してはキーコード“D3”のキーオン
イベントに、この時点の絶対角速度に応じて算出された
ベロシティ値を付加し、チャンネル1のイベントデータ
として出力する。
【0031】ここで、各キーオンイベントおよびベロシ
ティ値は、MIDI信号としてMIDII/F14から
MIDII/F31に対して出力される。すなわち、本
実施例の音楽制御装置では、テンポ制御信号出力装置1
は文字どおりテンポ制御信号の出力を主として行い、実
際の自動演奏処理(自動演奏データの読み出しや発音処
理等)は全て電子楽器21側で行うように構成されてい
る。このようにして電子楽器21側に送信されたキーオ
ンイベントおよびベロシティ値はRAM28の所定領域
に一時的に格納された後に、CPU26により解析さ
れ、その解析結果がRAM28の所定領域TKONに格
納される。
【0032】図4は、電子楽器21の自動演奏データの
データフォーマットを示す図であり、自動演奏データ
は、前記RAM28の自動演奏データ格納領域281
格納される。
【0033】同図に示すように、自動演奏データは、隣
接した各イベント間の時間間隔を示すデルタタイムデー
タ41,…と、電子楽器21のキーオンやキーオフ等の
イベント、この自動演奏データ固有のテンポに追従すべ
き程度を示す追従度イベントおよび拍タイミングを示す
拍タイミングイベント(この拍タイミングイベントは、
図17を用いて後述するテンポキーオン受信処理のステ
ップS145およびS153で使用する)等のイベント
データ42,…とにより構成されている。本実施例で
は、デルタタイムデータ41として、1msを1単位と
する整数値が採られ、イベントデータ42として、チャ
ンネル番号を付与したイベントデータが採られている。
ここで、デルタタイムデータ41をこのように構成した
のは、各イベントのタイミング処理制御を1ms毎の割
込み処理中(後述する図14の再生処理中)で行ってい
るからである。また、イベントデータ42をこのように
構成したのは、本実施例の電子楽器21は前記マークデ
ータ、追従度イベントデータおよび拍タイミングイベン
トデータと通常の自動演奏データとを混在させるととも
に、マークデータとして通常の自動演奏イベントデータ
を用いているために、この双方のデータを区別する必要
があるからである。
【0034】本実施例では、追従度イベントデータとし
て3種類の追従度(A:追従度高、B:追従度中、C:
追従度低)を設け、これらの追従度イベントデータは、
曲毎に所定の位置に予め登録されている。例えば、曲が
カラオケである場合には、曲のイントロダクション(前
奏部)は、通常テンポ制御に集中できるので、追従性を
よくして、その最初の位置に追従度Aを登録し、イント
ロダクションが終了してテーマ(主題)に入ると、その
メロディーに応じて追従度BまたはCを登録するという
ように、曲の重要度に応じて3種類の追従度のうち、い
ずれかの追従度を選択して登録する。そして、CPU2
6は、一度追従度を検出すると、新たな追従度を検出す
るまで、検出した追従度に従って音楽制御を実行する。
【0035】また、マークデータは前述したように、
“C3”,“C#3”および“D3”の3種類のキーオ
ンイベントであり、自動演奏データ格納領域281の所
定の位置(アドレス)に、所定の順序で、予め格納され
ている。例えば、3拍子の曲では、各小節中、1,2,
3拍目の各タイミングのイベントデータ42中に、それ
ぞれ“C3”,“C#3”,“D3”のキーオンイベン
トデータがチャンネル番号1とともに予め格納され、4
拍子の曲では、各小節中、1,2,3,4拍目の各タイ
ミングのイベントデータ42中に、それぞれ“C3”,
“D3”,“C3”,“D3”のキーオンイベントデー
タがチャンネル番号1とともに予め格納されている。す
なわち、電子楽器21は、例えば16チャンネル(トラ
ック)分の自動演奏データを再生できるように構成さ
れ、そのうちチャンネル1は前記マークデータ、追従度
イベントデータおよび拍タイミングイベントデータ用に
使用され、その他のチャンネルは通常の自動演奏データ
用に使用されている。
【0036】なお、本実施例では、自動演奏データは、
上述のように「イベントデータ+デルタタイム」とした
が、これに限らず、「イベントデータ+絶対時間」等の
他のフォーマットでもよい。また、デルタタイムは1m
sを1単位としたが、1単位を音符の長さ(例えば、4
分音符の1/24等)としてもよい。
【0037】また、本実施例では、テンポ制御用のマー
クデータ(キーオンイベントデータ)、追従度イベント
データおよび拍タイミングイベントデータと自動演奏用
のデータとを混在させ、これらのデータをチャンネル番
号で区別するようにしたが、これに限らず、これらのデ
ータをそれぞれ異なった種類のデータとして別々に構成
してもよい。例えば、テンポ制御用のマークデータとし
て、テンポ制御すべき音符の位置に対応するメモリのア
ドレスを記憶したものを用いてもよい。また、本実施例
では、追従度イベントデータとして、上述のように
“A”,“B”,“C”を用いたが、これに限らず、任
意のキーイベントデータを用いて表すようにしてもよ
い。
【0038】以上のように構成されたテンポ制御信号出
力装置1のCPU10が実行する制御処理を図5〜10
を参照して説明し、自動演奏装置付き電子楽器21のC
PU26が実行する制御処理を図11〜20を参照して
説明する。
【0039】図5は、テンポ制御信号出力装置1のCP
U10が実行する圧電振動ジャイロセンサ出力処理の手
順を示すフローチャートであり、本処理は、前記タイマ
13が、例えば10ms毎に発生するタイマ割込み信号
に同期して実行される割込み処理中の一処理である。
【0040】同図において、まず、前述したように、ノ
イズ除去回路5,6によりノイズが除去され、A/D変
換回路7,8によりデジタル変換された圧電振動ジャイ
ロセンサ2,3からの各出力信号を取り込み、それぞれ
RAM12の所定領域ωx,ωy(以下、各領域の内容
を、それぞれ「角速度ωx」、「角速度ωy」という)に
格納する(ステップS1)。
【0041】次に、この角速度ωx,ωyから次式により
絶対角速度ωを算出し、この算出した絶対角速度ωをR
AM12の所定領域ANGV(以下、この領域の内容を
「絶対角速度ANGV」という)に格納する(ステップ
S2)。
【0042】ω = (ωx 2+ωy 21/2 なお、今回算出した絶対角速度ωを領域ANGVに格納
するときに、前回算出した絶対角速度ωが領域ANGV
に格納されている場合には、該前回算出した値をRAM
12の所定領域OANGVに保存する。
【0043】次に、絶対角速度ωがピークとなる時点を
検出するピーク検出処理サブルーチンを実行した(ステ
ップS3)後に、本圧電振動ジャイロセンサ出力処理を
終了する。
【0044】図6は、このステップS3のピーク検出処
理サブルーチンの詳細な手順を示すフローチャートであ
り、まずステップS11で、ピークが検出された否かを
判別する。
【0045】このステップS11の判別は、今回の絶対
角速度ANGVおよび前回の絶対角速度OANGVに基
づいて行う。具体的には、まず、前後の絶対角速度の値
より大きい時点を検出する。例えば、今回の絶対角速度
ANGV>前回の絶対角速度OANGVのときにはフラ
グFBIGをセットし、今回の絶対角速度ANGV≦前
回の絶対角速度OANGVのときには、フラグFBIG
の状態を検査し、フラグFBIGがセットされている場
合には、前回の絶対角速度OANGVの時点を上記条件
を満たす時点として検出すればよい。次に、このように
して検出された時点が、前回検出されたピーク時点から
所定時間以上経過し、この時点の絶対角速度ω(すなわ
ち、上記前回の絶対角速度OANGV)が所定の閾値よ
り大きく、前回のピーク値の所定値(例えば0.5)倍
よりも大きく、谷を通過している等の条件を全て満たし
ているか否かを判別する。これらの全ての条件を満たし
ている場合にはこの時点をピークとして判別し、1つで
も条件を満たしていない場合にはこの時点をピークと判
別しない。
【0046】前記ステップS11の判別で、ピークが検
出されたときには、このときのテンポ制御信号出力装置
1の揺動動作の種類(すなわち、前記図3で説明した動
作1〜3のうち操作者が行っている動作)を判定するピ
ーク種類判定処理サブルーチンを実行した(ステップS
12)後に、本ピーク検出処理を終了する。一方、ステ
ップS11の判別で、ピークが検出されないときには、
直ちに本ピーク検出処理を終了する。
【0047】図7は、上記ステップS12のピーク種類
判定処理サブルーチンの詳細な手順を示すフローチャー
トである。
【0048】同図において、まず、操作者がテンポ制御
信号出力装置1を振ったときの振り角度θが、180°
<θ≦300°という条件を満たしているか否かを判別
する(ステップS21)。図10は、この振り角度θを
算出する処理を説明するための図であり、図中点(X,
Y)は、前記角速度ωx,ωyをX−Y座標上に表わした
ものである。すなわち、この点(X,Y)および原点O
を通る直線とX軸との交角が振り角度θになる。
【0049】ステップS21の判別で、この条件を満た
している場合には、今回検出されたピークは「動作1」
によるものと判定し(ステップS22)、前述したよう
にキーコード“C3”のキーオンおよびこのときの絶対
角速度ωの値に応じたベロシティ値(ダイナミクス制御
を行うためのパラメータ値)をチャンネル1のイベント
データとして、MIDI信号に変換し出力する(ステッ
プS23)。
【0050】一方、ステップS21の判別で、振り角度
θが上記条件を満たしていないときには、動作2,3を
判定するピーク2判定処理サブルーチンを実行した(ス
テップS24)後に、本ピーク種類判定処理を終了す
る。
【0051】図8は、上記ステップS24のピーク2判
定処理サブルーチンの詳細な手順を示すフローチャート
であり、まず、振り角度θが、θ≦60°または300
°<θという条件を満たしているか否かを判別する(ス
テップS31)。
【0052】ステップS31の判別で、振り角度θが上
記条件を満たしているときには、前記ステップS22,
S23と同様にして、今回検出されたピークは「動作
2」によるものと判定し(ステップS32)、キーコー
ド“C#3”のキーオンおよびこのときの絶対角速度ω
の値に応じたベロシティ値をチャンネル1のイベントデ
ータとして出力する(ステップS33)。
【0053】一方、ステップS31の判別で、振り角度
θが上記条件を満たしていないときには、ピーク3判定
処理サブルーチンを実行した(ステップS34)後に、
本ピーク2判定処理を終了する。
【0054】図9は、このステップS34のピーク3判
定処理サブルーチンの詳細な手順を示すフローチャート
であり、前記ピーク種類判定処理のステップS22,S
23と同様にして、今回検出されたピークは「動作3」
によるものと判定し(ステップS41)、キーコード
“D3”のキーオンおよびこのときの絶対角速度ωの値
に応じたベロシティ値をチャンネル1のイベントデータ
として出力した(ステップS42)後に、本ピーク3判
定処理を終了する。
【0055】なお、本実施例は、絶対角速度ωがピーク
となる時点を音楽制御を行う時点にしたが、これに限ら
ず、絶対角速度ωの変化量が大きい時点等であってもよ
いし、また、音楽制御を行う時点を検出する検出方法は
上述の方法に限る必要もない。
【0056】図11は、自動演奏装置付き電子楽器21
が実行するメインルーチンの手順を示すフローチャート
である。なお、説明は省略したが、本メインルーチンと
同様にテンポ制御信号出力装置1においてもスイッチ群
4の各種スイッチ状態に応じた各種スイッチ処理等を含
むメインルーチンを実行している。
【0057】同図において、まず、RAM28のクリア
や各種ポートのクリア等のイニシャライズを行う(ステ
ップS51)。
【0058】次に、鍵盤22の押鍵状態に応じてキーオ
ンイベントまたはキーオフイベントの生成処理や発音ま
たは消音処理等の鍵処理を行い(ステップS52)、M
IDI信号の送受信処理や受信したMIDI信号に応じ
た各種信号処理等のMIDI処理を行い(ステップS5
3)、スイッチ群23の各種スイッチ状態に応じた各種
スイッチ処理を行い(ステップS54)、上述の処理以
外のその他処理を行った(ステップS55)後に、ステ
ップS52に戻って上述の処理を繰り返す。
【0059】図12は、前記難易度設定操作子231
操作されたときに行われる難易度操作子処理の手順を示
すフローチャートであり、前記ステップS54の各種ス
イッチ処理中の一処理である。
【0060】同図において、難易度設定操作子231
操作されたか否かを判別し(ステップS61)、難易度
設定操作子231が操作されないときには直ちに本難易
度操作子処理を終了する一方、難易度設定操作子231
が操作されたときにはステップS62に進む。
【0061】ステップS62では、難易度設定操作子2
1の操作量(回転量)に応じて該操作子231が出力す
る値(例えば、図2の“0”の位置を値0とし、反時計
方向に回転できる最大の位置(易)の値−1から時計方
向に回転できる最大の位置(難)の値1までアナログ的
に変化する値)を検出し、前記RAM28に確保された
領域D_COEF(以下、この内容を「難易度係数D_C
OEF」という)に格納する。
【0062】次に、実際に追従度制御に用いる、現在の
追従度(すなわち、前記「追従度イベントデータA
(高)」、「追従度イベントデータB(中)」および
「追従度イベントデータC(低)」のうち、最後に読み
出された追従度イベントデータに応じて設定された追従
度)に係る各種値(本実施例では、図13に示す移動平
均次数α、差分リミットβ、テンポ値の下限値γ、テン
ポ値の上限値δ)を、難易度係数D_COEFに応じて
修正する(ステップS63)。ここで、各種値は、図1
3に示すように追従度に応じて異なった値が予め設定さ
れて、それぞれRAM28の所定領域に格納されてい
る。
【0063】さらに、ステップS63で修正した各種値
が、修正前の値から大きく変化しないようにリミット処
理を行った(ステップS64)後に、本難易度操作子処
理を終了する。
【0064】なお、本実施例では、本難易度操作子処理
を前記各種スイッチ処理中で行うようにしたが、これに
限らず、難易度設定操作子231の出力を検出する時間
間隔を一定にしたい場合等には、例えば10ms毎に発
生する割込み処理中で行うようにしてもよい。
【0065】図13は、前記追従度制御を行うための各
種値α〜δの具体例および難易度設定操作子231から
出力された難易度係数D_COEFに応じて各種値α〜
δを修正する方法の一例を示す図であり、(a)は、追
従度A〜Cおよび該各追従度に応じて初期値として設定
される各種値α〜δの一例を示し、(b)は、(a)の
値のうち移動平均次数αを例に挙げて、この移動平均次
数αを難易度係数D_COEFに応じて修正する具体的
な方法の一例を示している。
【0066】(a)に示すように、追従度に応じて、移
動平均次数α、差分リミットβ、テンポ値の下限値γ、
テンポ値の上限値δの各初期値が前記RAM28の当該
領域から読み出され、追従度制御するためにRAM28
の所定位置に確保された領域に格納される。本実施例で
は、曲の途中で追従度を変更する、すなわち曲の位置に
応じて異なった追従度イベントデータが埋め込まれ、こ
れにより曲の進行に応じて追従度を変更するように構成
され、現在の追従度と異なった追従度イベントデータが
検出されると、当該追従度に応じた各種値α〜δが読み
出されて、この読み出された各種値α〜δにより、追従
度制御するために確保された領域の値が変更される。
【0067】また、本実施例では、追従度に応じて追従
度制御を行う時点を変更する。すなわち、追従度Aの場
合には全てのマークデータ(判定マーク)が検出された
時点で追従度制御が行われ、追従度Bの場合には拍上の
マークデータが検出された時点で追従度制御が行われ、
追従度Cの場合には小節頭のマークデータが検出された
時点で追従度制御が行われる。この追従度制御時点の変
更処理を行うために、前記図4で説明した拍タイミング
イベントデータを使用する。これは、本実施例では、自
動演奏データのデルタタイムデータの単位として、時間
(1ms)を採用したために、拍位置にあるマークデー
タを判別することが難しいという理由からであり、例え
ばデルタタイムデータの単位として、所定音符の音長を
基準にした場合には、拍位置にあるマークデータを簡単
に判別することができるので、拍タイミングイベントデ
ータを使用する必要はない。なお、前述のように本実施
例では、マークデータは基本的には各拍タイミングの位
置に記憶されるので、この場合には、追従度Aおよび追
従度Bにおける追従度制御を行う時点に差は生じない
が、より細かな制御を行うために、マークデータを各拍
タイミングより細かいタイミング(例えば、音符毎のタ
イミング)の位置に記憶した場合には、追従度Aより追
従度Bの方が追従度制御を行う時点が多くなり、テンポ
制御の難易度が向上することになる。
【0068】なお、各種値α〜δを追従度制御にどのよ
うに使用するかは、図19および20を用いて後述す
る。
【0069】次に、各値α〜δの意味を説明する。
【0070】移動平均次数αは、追従度制御を行う時点
で算出されたテンポ係数T_COEFを平均化して滑ら
かにテンポを変化させるために、平均化に使用するテン
ポ係数の個数を決定する変数である。移動平均次数αが
大きい程テンポの変化はより滑らかになるので、テンポ
制御の難易度が上がるに従って移動平均次数αの値を小
さくしている。
【0071】差分リミットβは、テンポ変化の差分値の
許容範囲を決定するための値であり、具体的には、今回
算出されたテンポ係数T_COEFと前回算出されたテ
ンポ係数T_COEFとの差分の許容範囲を示してい
る。差分リミットβは、その値が大きい(換言すれば、
許容範囲が広い)程、テンポ制御の自由度が向上する
が、これによりテンポが大きく変化し過ぎるおそれもあ
り、制御自体は難しくなる。このため、図13(a)に
示すように、テンポ制御の難易度が上がるに従って差分
リミットβ値を大きくしている。
【0072】テンポ値の下限値γおよび上限値δは、ぞ
れぞれテンポ係数T_COEFの下限値および上限値を
示すもので、上記差分リミットβと同様の理由により、
テンポ制御の難易度が上がるに従って下限値γを小さく
するとともに、上限値δを大きくしている。
【0073】以上説明した各種値α〜δは、前記難易度
設定操作子231の操作により、変更することができ
る。例えば移動平均次数αは、難易度を変更することに
より、(b)に示すように変更することができる。現
在、追従度Aでテンポ制御がなされている場合に、操作
者が難易度設定操作子231を「0」より「易」の方向
に回転させると、その回転量に応じて移動平均次数αを
増加させる方向に変更する。実際には、移動平均次数α
は整数値を採るため、その回転量に応じて移動平均次数
αは“1”ずつ増加していく。なお、本実施例では追従
度Aの場合の移動平均次数αを“1”としたため、追従
度Aの場合に操作者が難易度設定操作子231を「難」
の方向に回転させても、移動平均次数αは変化しないよ
うにしている。しかし、追従度Aの場合の移動平均次数
αを“1”より大きい整数値にして、追従度Aの場合で
あっても、さらに難易度を高めることができるようにし
てもよい。同様にして、追従度Cの場合には、移動平均
次数αは「難」の方向にのみ変更され、追従度Bの場合
には、移動平均次数αは「難」または「易」のいずれの
方向にも変更される。なお、移動平均次数α以外の各種
値β〜δも上述の方法により変更するが、本実施例のよ
うに直線的に調節する方法に限らず、例えば、曲線的に
調節したり、所定の関数を用いて調節したりする等、ど
のような方法で調節してもよい。
【0074】図14は、自動演奏データの再生処理の手
順を示すフローチャートであり、本処理は、前記タイマ
29が、例えば1ms毎に発生するタイマ割込み信号に
同期して実行される割込み処理中の一処理である。
【0075】同図において、まず、前記再生フラグRU
Nが“1”であるか否かを判別し(ステップS10
1)、再生フラグRUNが“0”のとき、すなわち自動
演奏データの再生要求がなされていないときには直ちに
本再生処理を終了する一方、再生フラグRUNが“1”
のとき、すなわち自動演奏データの再生要求がなされて
いるときには、フラグPAUSEが“0”であるか否か
を判別する(ステップS102)。ここで、フラグPA
USEは、電子楽器21がチャンネル1のキーオンイベ
ントデータを読み出したときに、まだテンポ制御信号出
力装置1が当該キーオンイベントデータを送出していな
い場合に、当該キーオンイベントを受信するまで自動演
奏データの再生を一時的に停止させるためのフラグであ
る。
【0076】ステップS102の判別で、フラグPAU
SEが“0”のとき、すなわちテンポ制御信号出力装置
1からのキーオンイベントを受信した後にチャンネル1
の当該キーオンイベントを読み出しているときには、カ
ウンタTIMEの値が“0”であるか否かを判別する
(ステップS103)。ここで、カウンタTIMEは、
RAM28に確保され、前記図3で説明した各イベント
データ42間の時間間隔をカウントするためのソフトカ
ウンタである。
【0077】ステップS103の判別で、カウンタTI
MEの値が“0”のとき、すなわちイベントデータ42
を出力するタイミングのときには、自動演奏データ格納
領域281のアドレスを進め、その位置のデータを読み
出し(ステップS104)、その読み出したデータがデ
ルタタイムデータであるか否かを判別する(ステップS
105)。
【0078】ステップS105の判別で、読み出したデ
ータがデルタタイムデータでないとき、すなわちイベン
トデータであるときには、当該イベントに対応するイベ
ント対応処理サブルーチン(このサブルーチンの詳細な
手順は、図16に基づいて後述する)を実行した(ステ
ップS106)後に、前記ステップS104に戻って前
述の処理を繰り返す。
【0079】一方、ステップS105の判別で、読み出
したデータがデルタタイムデータのときには該デルタタ
イムデータをカウンタTIMEに格納し(ステップS1
07)、カウンタTIMEが“0”であるか否かを判別
する(ステップS108)。ここで、カウンタTIME
の値を判別するのは、同一タイミングで複数のイベント
データが自動演奏データ格納領域281に格納されてい
る場合があるからである。
【0080】ステップS108の判別で、カウンタTI
ME=0のときには、前記ステップS104に戻って前
述の処理を繰り返し、一方、カウンタTIME≠0のと
きには、次式の演算によりカウンタTIMEの値を変更
する(ステップS109)。
【0081】TIME = TIME×T_COEF ここで、T_COEFは前記テンポ係数を示している。
すなわち、ステップS109では、デルタタイムで与え
られるイベントデータ間の時間間隔をテンポ係数T_C
OEFで変更することにより、テンポを変更している。
したがって、テンポ係数T_COEFが“1”の場合に
は標準テンポで曲が演奏され、テンポ係数T_COEF
が“1”より小さい場合には標準テンポより速いテンポ
で曲が演奏され、テンポ係数T_COEFが“1”より
大きい場合には標準テンポより遅いテンポで曲が演奏さ
れる。
【0082】一方、ステップS103の判別で、カウン
タTIMEの値が“0”でないときにはステップS11
0に進む。
【0083】ステップS110では、カウンタTIME
の値を“1”だけデクリメントし、ステップS111で
は、RAM28に確保され、隣接するチャンネル1のキ
ーオンイベント間の時間間隔をカウントするソフトカウ
ンタDELTA_ACM(Delta Accumulate)の値(以
下、この値を「デルタタイム累算値DELTA_AC
M」という)を“1”だけインクリメントし、ステップ
S112では、RAM28に確保され、テンポ制御信号
出力装置1から出力された隣接するキーオンイベント間
の時間間隔(テンポ制御間隔)をカウントするソフトカ
ウンタINTERVAL(以下、この値を「テンポ制御
間隔INTERVAL」という)の値を“1”だけイン
クリメントし、ステップS113では、図17を参照し
て後述するテンポキーオン受信処理サブルーチンを実行
した後に、本再生処理を終了する。
【0084】一方、ステップS102の判別で、フラグ
PAUSEが“1”のとき、すなわち自動演奏データ格
納領域281からチャンネル1のキーオンイベントデー
タを読み出し、テンポ制御信号出力装置1からの当該キ
ーオンイベントの出力を待っているときには、前記ステ
ップS103〜S111で説明した自動演奏データの読
み出し処理を停止(スキップ)し、前記ステップS11
2に進む。
【0085】図15は、前記テンポ制御間隔INTER
VALとデルタタイム累算値DELTA_ACMとの関
係を説明するための図であり、図中、“□”はチャンネ
ル1のキーオンイベントを示し、“○”はチャンネル1
以外のイベントを示している。
【0086】同図から分かるように、デルタタイム累積
値DELTA_ACMは、自動演奏データ格納領域281
に格納された1拍分のデルタタイムを累算したものであ
り、テンポ制御間隔INTERVALは、操作者がテン
ポ制御信号出力装置1を振ることによってテンポ制御す
る1拍分の時間間隔を計測したものである。後述するよ
うに、このデルタタイム累算値DELTA_ACMおよ
びテンポ制御間隔INTERVALに基づいてテンポ係
数T_COEFが算出される。なお、同図は、テンポ制
御間隔INTERVALの方がデルタタイム累算値DE
LTA_ACMより小さい場合、すなわち、操作者が標
準テンポより速いテンポで曲を再生するように制御して
いる場合を示している。
【0087】図16は、前記ステップS106のイベン
ト対応処理サブルーチンの詳細な手順を示すフローチャ
ートである。
【0088】同図において、まず、読み出したイベント
データがチャンネル1のイベントデータであるか否かを
判別し(ステップS121)、チャンネル1のイベント
データであるときには、そのイベントデータが追従度イ
ベントデータであるか否かを判別する(ステップS12
2)。
【0089】ステップS122の判別で、追従度イベン
トデータのときには、チャンネル1のキーオンイベント
を読み出す前にテンポ制御信号出力装置1から当該キー
オンイベントを既に受信していることを“1”で示すフ
ラグKON_RCV(Key ONRecieve)が“1”であるか
否かを判別し(ステップS123)、フラグKON_R
CVが“0”のとき、すなわち当該キーオンイベントを
テンポ制御信号出力装置1から受信していないときに
は、当該イベントのキーコードをRAM28に確保され
た領域KEYCODE(以下、この内容を「キーコード
KEYCODE」という)に格納し(ステップS12
4)、前記フラグPAUSEをセットした(ステップS
125)後に、本イベント対応処理を終了する。
【0090】一方、ステップS123の判別で、フラグ
KON_RCVが“1”のときにはこのフラグKON_R
CVをリセットして(ステップS126)、本イベント
対応処理を終了する。
【0091】一方、ステップS122の判別で、読み出
したイベントデータが追従度イベントデータのときに
は、その追従度(すなわち、追従度A〜Cのうちいずれ
かの追従度)に応じて各種値α〜δを前記図13(a)
に示す値に設定し(ステップS127)、前記ステップ
S62と同様にして該設定した各種値α〜δを難易度係
数D_COEFに応じて修正し(ステップS128)、
前記ステップS64と同様にして各種値α〜δのリミッ
ト処理を行った(ステップS129)後に、本イベント
対応処理を終了する。
【0092】一方、ステップS121の判別で、読み出
したイベントデータがチャンネル1のものでないときに
は、そのイベントデータは通常の自動演奏イベントデー
タであるので、そのイベントデータを前記音源回路33
へ出力した(ステップS130)後に、本イベント対応
処理を終了する。なお、ステップS130において、音
源回路33に出力するイベントがノートイベントの場合
には、該ノートイベントのベロシティは、後述する図1
7のステップS142で設定されたダイナミクスに応じ
て修正したものを出力する。
【0093】図17は、前記ステップS113のテンポ
キーオン受信処理サブルーチンの詳細な手順を示すフロ
ーチャートである。
【0094】同図において、まず、テンポ制御信号出力
装置1からテンポキーオンイベントを受信したか否かを
判別し(ステップS141)、受信したときには、受信
したキーオンのベロシティ値に応じてダイナミクスを設
定して、RAM28の所定位置に確保された領域に格納
する(ステップS142)。
【0095】次に、フラグPAUSEが“1”であるか
否かを判別し(ステップS143)、フラグPAUSE
が“1”のときには、受信したテンポキーオンイベント
のキーコードが前記キーコードKEYCODEと一致し
ているか否かを判別し(ステップS144)、一致して
いるときにはステップS145に進む。なお、前記ステ
ップS141のテンポキーオンイベントの判別は、前記
領域TKONの内容を検査することによって行うように
すればよい。
【0096】一方、ステップS141の判別でテンポキ
ーオンを受信していないとき、またはステップS144
の判別で受信したテンポキーオンイベントのキーコード
とキーコードKEYCODEとが一致していないときに
は、直ちに本テンポキーオン受信処理を終了する。
【0097】ステップS145では、現時点がテンポ制
御用マーク(マークデータ)の判定タイミングか否か、
すなわち前記追従度制御を行う時点か否かを判別する。
この判定タイミングか否かの判別は、前述したように追
従度に応じて設定された判定タイミング(図13(a)
参照)に基づいて行う。追従度が“A”の場合には、全
てのマークデータを検出した時点がテンポ制御用マーク
判定タイミングであり、例えばマークデータが音符毎に
記憶されているときには各音符のタイミングがテンポ制
御用マークの判定タイミングとなる。追従度が“B”の
場合には、拍上のマークデータを検出した時点がテンポ
制御用マーク判定タイミングであり、マークデータが音
符毎に記憶されているときには、そのうち拍タイミング
がテンポ制御用マークの判定タイミングとなる。具体的
には、前記拍タイミングイベントデータを検出した時点
をテンポ制御用マークの判定タイミングにすればよい。
追従度が“C”の場合には、小節頭のマークデータを検
出した時点がテンポ制御用マーク判定タイミングであ
り、マークデータが音符毎に記憶されているときには、
そのうち小節頭のタイミングがテンポ制御用マークの判
定タイミングとなる。具体的には、拍タイミングイベン
トデータを検出する度にその検出回数をカウントし、そ
のカウント値と曲の拍子を比較することにより、小節頭
か否かを判別すればよい。
【0098】ステップS145の判別で、テンポ制御用
マークの判定タイミングであるときには、前記デルタタ
イム累算値DELTA_ACMおよびテンポ制御間隔I
NTERVALから、次式によりテンポ係数T_COE
Fの値を変更するための比率(rate)を求め、RAM2
8に確保された領域RATE(以下、この内容を「比率
RATE」という)に格納する(ステップS146)。
【0099】 RATE = INTERVAL/DELTA_ACM 次に、図19を用いて後述するテンポ係数計算処理サブ
ルーチンを実行し(ステップS147)、図20を用い
て後述するテンポ係数リミット処理サブルーチンを実行
する(ステップS148)。
【0100】一方、ステップS145の判別で、テンポ
制御用マークの判定タイミングでないときにはステップ
S146〜S148をスキップして、ステップS149
に進む。
【0101】ステップS149〜151では、前記デル
タタイム累算値DELTA_ACM、テンポ制御間隔I
NTERVALおよびフラグPAUSEをそれぞれリセ
ットした後に、本テンポキーオン受信処理を終了する。
【0102】一方、ステップS143の判別で、フラグ
PAUSEが“0”であるときには、自動演奏データ格
納領域281における次のチャンネル1のキーオンイベ
ントをサーチし(ステップS152)、前記受信したキ
ーオンイベントのキーコードとサーチしたキーオンイベ
ントのキーコードとが一致しているか否かを判別し(ス
テップS153)、一致しているときにはステップ15
4に進み、一方、一致していないときにはエラーである
ので直ちに本テンポキーオン受信処理を終了する。
【0103】ステップS154では、次式(1)により
デルタタイム累算値DELTA_ACMを算出する。
【0104】 DELTA_ACM = DELTA_ACM +(TIME+Σ DELTAT(k))×T_COEF ‥‥(1) ここで、TIMEは、前記カウンタTIMEの値を示
し、DELTAT(k),(k=1,2,…)は、現在曲
を再生している時点(アドレス)の次のデルタタイムか
らサーチしたキーオンイベントまでのデルタタイムを示
している。
【0105】図18は、デルタタイム累算値DELTA
_ACMの具体的な算出方法を説明するための図であ
る。
【0106】図示例では、自動演奏データ格納領域28
1からチャンネル1のキーオンイベントを読み出す前に
テンポ制御信号出力装置1からテンポキーオンイベント
を受信し、自動演奏データ格納領域281において、こ
の受信時点から当該受信キーオンイベントに対応するチ
ャンネル1のキーオンイベントの位置までにチャンネル
1以外のイベントデータが少なくとも1つ以上格納され
ている場合を示している。同図中、“TIME”は、カ
ウンタTIMEの値、すなわちイベントE0,E1間の
デルタタイムの残り時間を示し、DELTAT(1)は、
イベントE1,E2間のデルタタイムを示し、DELT
AT(2)は、イベントE2,E3間のデルタタイムを示
している。すなわち、図示例では、上記式(1)中の
“Σ”は、k=1,2についてDELTAT(k)の加算
を行うことになる。
【0107】このようにして、上記式(1)によりチャ
ンネル1のキーオンイベント間のデルタタイム累算値D
ELTA_ACMを求めることができる。
【0108】図17に戻り、ステップS155では、サ
ーチしたキーオンイベントまでのデルタタイムおよびカ
ウンタTIMEの値を所定値でそれぞれ除算し、各除算
結果で対応するデルタタイムおよびカウンタTIMEの
値を変更する。すなわち、前記図18の例では、次式の
ように各値を変更する。
【0109】TIME = TIME/C DELTAT(1) = DELTAT(1)/C DELTAT(2) = DELTAT(2)/C ここで、Cは定数であり、“1”より大きい値である。
このようにデルタタイムおよびカウンタTIMEの値を
変更することで、次のマークデータ間のイベントの読み
出しに速く移行できるようにしている。
【0110】再び図17に戻り、ステップS156で前
記フラグKON_RCVをセットし、ステップS157
〜S162でそれぞれ前記ステップS145〜S150
と同様の処理を行った後に、本テンポキーオン受信処理
を終了する。
【0111】図19は、前記ステップS147およびS
159のテンポ係数計算処理サブルーチンの詳細な手順
を示すフローチャートである。
【0112】同図において、まず、過去のT_COEF
×RATEの値を保存しておくために、RAM28の所
定位置に確保された領域TC1〜TC16のうち、領域
TC1〜TC15の値をそれぞれ領域TC2〜TC16
に格納し直す(ステップS171)。
【0113】次に、前記ステップS146またはS15
8で、今回新たに算出した比率RATEを用いて変更し
たテンポ係数T_COEF×RATEを、前記領域TC
1の格納し(ステップS172)、前記ステップS63
またはS128で修正した移動平均次数αに応じて、領
域TC1〜TC16から選択したα個の格納値の移動平
均値を算出して、最終のテンポ係数T_COEFを決定
した(ステップS173)後に、本テンポ係数計算処理
を終了する。
【0114】図20は、前記ステップS148およびS
160のテンポ係数リミット処理サブルーチンの詳細な
手順を示すフローチャートである。
【0115】同図において、まず、前記ステップS17
3で算出したテンポ係数T_COEFの今回の値と前回
の値との差分を計算し、その差分値が前記ステップS6
3またはS128で修正した差分リミットβ以内である
か否かを判別する(ステップS181)。ここで、テン
ポ係数T_COEFの差分を計算するために、今回算出
した最終のテンポ係数T_COEFを保存しておく必要
があるが、この保存は、例えば本テンポ係数リミット処
理を終了する直前に行うようにすればよい。
【0116】ステップS181の判別で、テンポ係数T
_COEFの差分が前記修正後の差分リミットβより大
きい場合には、その差分が修正後の差分リミットβ以内
に収まるように、今回算出したテンポ係数T_COEF
をリミットし(ステップS182)、テンポ係数T_C
OEFの差分が修正後の差分リミットβ以内である場合
には、ステップS182をスキップしてステップS18
3に進む。
【0117】ステップS183では、今回算出した最終
のテンポ係数T_COEF値が、ステップS63または
S128で修正した下限値γ以上、上限値δ以下である
か否かを判別し、テンポ係数T_COEF値がこの条件
を満たさない場合には、テンポ係数T_COEFが下限
値γと上限値δの間になるようにリミットした(ステッ
プS184)後に、本テンポ係数リミット処理を終了
し、一方、テンポ係数T_COEF値がこの条件を満た
す場合には、直ちに本テンポ係数リミット処理を終了す
る。
【0118】以上説明したように本実施例では、追従度
A〜Cに応じて追従度制御に用いる各種値α〜δの初期
値を設定し、該初期値を難易度設定操作子231から出
力された難易度係数D_COEFに応じて修正し、難易
度を調節するように構成したので、操作者が曲や装置へ
の自分の習熟度に合わせてテンポ制御の難易度(安定度
または音楽表現力)を調節することができる。
【0119】また、マークデータと自動演奏データとを
混在させたので、RAM28の記憶容量を削減すること
ができ、これによりコストの低減化を図ることができ
る。
【0120】なお、本実施例では、各種値α〜δの初期
値は各追従度A〜Cに応じて予め記憶された値を読み出
して設定するようにしたが、これに限らず、各種値α〜
δの初期値を変更できるようにしてもよい。例えば、操
作者が任意に決定できるようにしてもよいし、複数の値
のセットを予め用意しておき、そのいずれかを選択でき
るようにしてもよい。また、曲毎に最適なセットを持つ
ようにしてもよいし、複数のセットを用意しておき、曲
に応じて最適なセットを自動的に選択するようにしても
よい。
【0121】また、追従度は、本実施例のように3種類
に限る必要はなく、1種類(例えば、曲の中で変化しな
いようにしたり、全ての曲に対して同様の追従度を設定
したりする)でもよいし、2種類または4種類以上でも
よい。すなわち、追従度の種類に拘わらず、各追従度を
変更できるように構成されていればよい。
【0122】さらに、本実施例では、追従度によって、
移動平均の次数、前回値との差分、値の上下限値および
マークデータを読み飛ばす割合の5種類の条件を制御す
るように構成したが、これらの条件の一部を組み合わせ
て追従度制御に用いてもよいし、他の条件を制御するよ
うにしてもよい。
【0123】なお、本実施例では、テンポの制御は、デ
ルタタイムの値にテンポ係数T_COEFを乗算し、デ
ルタタイムの値を増加または減少させることによって行
うように構成したが、これに限らず、処理の周期、例え
ば本実施例でいう割込みタイミングを変換させることに
よってテンポを変化させるように構成してもよい。ま
た、デルタタイムの値を変化させるとき、所定の値を乗
算するものに限らず、所定の値を加算するものであって
もよい。
【0124】また、テンポの制御だけに限らず、ダイナ
ミクスの制御などについても、テンポ制御と同様の難易
度制御を行なうようにしてもよい。
【0125】また、本実施例では、2個の圧電ジャイロ
センサ2,3からの出力信号に基づいてテンポ制御信号
出力装置1の揺動動作を検出したが、3個以上の圧電ジ
ャイロセンサを用いて揺動動作を検出するようにしても
よい。また、揺動動作を検出できるものであれば圧電ジ
ャイロセンサに限らず、加速度センサや磁気または光を
用いたもの等どのようなものであってもよいし、複数の
センサを組み合わせて用いてもよい。さらに、揺動動作
を検出できるものであればセンサに限らず、揺動動作を
撮像し、画像処理によって揺動操作を検出するようなも
のであってもよい。
【0126】さらに、本実施例では、検出する揺動動作
の種類を前記3種類に限定したが、これに限らず、もっ
と多くの種類の揺動動作を検出するようにしてもよい。
この場合には、圧電ジャイロセンサの個数を多くしてよ
り多くの揺動動作を正確に検出できるようにすればよ
い。なお、本実施例の3種類の揺動動作の検出において
も、例えば、3拍子用と、2・4拍子用とで、異なるセ
ンサを用いて判別精度を向上させるようにしてもよい
し、3つ以上のセンサ出力を総合判断して揺動動作を検
出するようにしてもよい。
【0127】また、揺動動作を検出するセンサを取り付
ける形態としては、本実施例のように片手に把持できる
テンポ制御信号出力装置1に内蔵する他、センサを身体
(例えば、手や腕等)に装着するようにしてもよいし、
マイクロフォンに内蔵するようにしてもよいし、カラオ
ケ装置等のリモコン装置に内蔵するようにしてもよい。
【0128】また、本実施例では、テンポ制御信号出力
装置1の揺動動作に基づいてテンポ制御信号を発生する
ようにしたが、これに限らず、タッピング操作や演奏操
作子の操作等によってテンポ制御信号を発生するように
してもよい。
【0129】なお、本実施例では、操作者の揺動動作の
動作種類およびその特徴点(ピークや谷)を検出してテ
ンポ制御タイミングを出力するテンポ制御信号出力装置
1とその被制御対象である自動演奏装置付き電子楽器2
1とを別体で構成したが、これらを1つの装置として構
成してもよい。また、外部に接続された装置にテンポク
ロックを供給し、その外部装置の演奏テンポを制御する
ように構成してもよい。
【0130】また、音楽制御する対象としては、自動演
奏に限る必要はなく、自動伴奏または自動リズム等であ
ってもよい。また、これらの再生に加え、動画等の画像
再生を伴うものであってもよい。
【0131】
【発明の効果】以上説明したように、本発明に依れば、
自動演奏データ記憶手段から自動演奏データが読み出さ
れて自動演奏されているときに、操作者がテンポ制御信
号発生手段を操作すると、その操作状態および難易度調
節手段により調節された難易度に応じて、自動演奏の
ンポが制御されるので、操作者が曲や装置への自分の習
熟度に合わせてテンポ特性制御の難易度(安定度または
音楽表現力)を調節することが可能となる効果を奏す
る。
【図面の簡単な説明】
【図1】本発明の一実施例に係る音楽制御装置の概略構
成を示すブロック図である。
【図2】図1の自動演奏装置付き電子楽器のスイッチ群
中の一スイッチである難易度設定操作子を示す図であ
る。
【図3】図1のテンポ制御信号出力装置により検出され
る操作者の動作と各動作に応じてテンポ制御信号出力装
置から出力される信号の値とを示す図である。
【図4】図1の電子楽器の自動演奏データのデータフォ
ーマットを示す図である。
【図5】図1のテンポ制御信号出力装置のCPUが実行
する圧電振動ジャイロセンサ出力処理の手順を示すフロ
ーチャートである。
【図6】図5のステップS3のピーク検出処理サブルー
チンの詳細な手順を示すフローチャートである。
【図7】図6のステップS12のピーク種類判定処理サ
ブルーチンの詳細な手順を示すフローチャートである。
【図8】図7のステップS24のピーク2判定処理サブ
ルーチンの詳細な手順を示すフローチャートである。
【図9】図8のステップS34のピーク3判定処理サブ
ルーチンの詳細な手順を示すフローチャートである。
【図10】図1の各圧電ジャイロセンサからの出力に基
づいてテンポ制御信号出力装置の振り角度を算出する方
法を説明するための図である。
【図11】図1の自動演奏装置付き電子楽器のCPUが
実行するメインルーチンの手順を示すフローチャートで
ある。
【図12】図2の難易度設定操作子が操作されたときに
行われる難易度操作子処理の手順を示すフローチャート
である。
【図13】追従度制御を行うための各種値α〜δの具体
例および難易度に応じた値の修正例を示す図である。
【図14】自動演奏データの再生処理の手順を示すフロ
ーチャートである。
【図15】テンポ制御間隔INTERVALとデルタタ
イム累算値DELTA_ACMとの関係を説明するため
の図である。
【図16】図14のステップS106のイベント対応処
理サブルーチンの詳細な手順を示すフローチャートであ
る。
【図17】図14のステップS113のテンポキーオン
受信処理サブルーチンの詳細な手順を示すフローチャー
トである。
【図18】デルタタイム累算値DELTA_ACMの具
体的な算出方法を説明するための図である。
【図19】図17のステップS147およびS159の
テンポ係数計算処理サブルーチンの詳細な手順を示すフ
ローチャートである。
【図20】図17のステップS148およびS160の
テンポ係数リミット処理サブルーチンの詳細な手順を示
すフローチャートである。
【符号の説明】
1 テンポ制御信号出力装置(テンポ制御信号発生
手段) 231 難易度設定操作子(難易度調節手段) 26 CPU(自動演奏手段、テンポ制御手段、変更
手段、テンポ制御値算出手段、選択手段、平均化手段、
上下限値変更手段、変化幅変更手段) 28 RAM(自動演奏データ記憶手段、テンポ制御
値記憶手段)
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 101 - 102 G10H 1/053 G10H 1/40

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 操作者の操作に応じてテンポ制御信号を
    発生するテンポ制御信号発生手段と、 操作者がテンポ制御の難易度を調節するための難易度調
    節手段と、 自動演奏データを記憶する自動演奏データ記憶手段と、 該記憶された自動演奏データを読み出して自動演奏する
    自動演奏手段と、 該自動演奏手段による自動演奏のテンポを前記発生され
    たテンポ制御信号に基づいて制御するテンポ制御手段
    と、 前記難易度調節手段により調節された難易度が易から難
    に行くに従って、当該自動演奏のテンポを制御する際の
    追従の程度が高くなって行くように変更する変更手段と
    を有し、 前記テンポ制御手段は、前記変更手段によって変更され
    た追従の程度で、当該自動演奏のテンポを制御すること
    を特徴とするテンポ制御装置。
  2. 【請求項2】 前記テンポ制御信号発生手段により発生
    されたテンポ制御信号および前記自動演奏手段により読
    み出された自動演奏データに基づいて、前記テンポ制御
    手段がテンポ制御に用いるテンポ制御値を算出するテン
    ポ制御値算出手段を有し、 前記テンポ制御手段は、前記変更手段によって変更され
    た追従の程度に応じて前記算出されたテンポ制御値を変
    更し、該変更後のテンポ制御値に基づいて自動演奏のテ
    ンポを制御することを特徴とする請求項1記載のテンポ
    制御装置。
  3. 【請求項3】 前記テンポ制御信号発生手段により発生
    されたテンポ制御信号および前記自動演奏手段により読
    み出された自動演奏データに基づいて、前記テンポ制御
    手段がテンポ制御に用いるテンポ制御値を算出するテン
    ポ制御値算出手段であって、 前記テンポ制御値を所定個記憶し、新たなテンポ制御値
    が算出される度に該所定個のテンポ制御値を更新して記
    憶するテンポ制御値記憶手段と、 前記難易度調節手段により調節された難易度に応じて、
    前記記憶されたテンポ制御値から所定個のテンポ制御値
    を選択し、該選択された所定個のテンポ制御値と前記テ
    ンポ制御値算出手段により新たに算出されたテンポ制御
    値とを平均化する平均化手段とを有し、 前記テンポ制御手段は、前記平均化されたテンポ制御値
    に基づいて自動演奏のテンポを制御することを特徴とす
    る請求項1記載のテンポ制御装置。
  4. 【請求項4】 前記難易度調節手段により調節された難
    易度に応じて、前記テンポ制御値算出手段により算出
    れたテンポ制御値を変更する際の上限値または下限値を
    変更する上下限値変更手段を有することを特徴とする請
    求項2に記載のテンポ制御装置。
  5. 【請求項5】 前記難易度調節手段により調節された難
    易度に応じて、前記テンポ制御値算出手段により算出
    れたテンポ制御値を変更する際の変化幅を変更する変化
    幅変更手段を有することを特徴とする請求項2または4
    のいずれかに記載のテンポ制御装置。
  6. 【請求項6】 操作者の操作に応じてテンポ制御信号を
    発生するテンポ制御信号発生手段と、 操作者がテンポ制御の難易度を調節するための難易度調
    節手段と、 自動演奏データを記憶する自動演奏データ記憶手段と、 該記憶された自動演奏データを読み出して自動演奏する
    自動演奏手段と、 該自動演奏手段による自動演奏のテンポを前記発生され
    たテンポ制御信号に基づいて制御するテンポ制御手段
    と、 前記自動演奏手段による現在の自動演奏のテンポから前
    記テンポ制御手段によるテンポへ制御可能な許容範囲
    を、前記難易度調節手段により調節された難易度に応じ
    て変更する変更手段とを有し、 前記テンポ制御手段は、前記変更手段によって変更され
    た許容範囲内で当該自動演奏のテンポを制御することを
    特徴とするテンポ制御装置。
  7. 【請求項7】 前記自動演奏データ記憶手段は、前記自
    動演奏データとともに、該自動演奏データ固有の追従度
    データであって、該追従度データは当該自動演奏のテン
    ポを制御する際の追従の程度を示すものを記憶し、 前記自動演奏手段は、該記憶された追従度データを読み
    出し、 前記変更手段は、前記難易度調節手段によって調節され
    た難易度に応じて、該読み出された追従度データによっ
    て示される追従の程度の高低を変更することを特徴とす
    る請求項1記載のテンポ制御装置。
JP13995595A 1995-05-15 1995-05-15 音楽制御装置 Expired - Fee Related JP3427569B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13995595A JP3427569B2 (ja) 1995-05-15 1995-05-15 音楽制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13995595A JP3427569B2 (ja) 1995-05-15 1995-05-15 音楽制御装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002212882A Division JP3720004B2 (ja) 2002-07-22 2002-07-22 音楽制御装置

Publications (2)

Publication Number Publication Date
JPH08314454A JPH08314454A (ja) 1996-11-29
JP3427569B2 true JP3427569B2 (ja) 2003-07-22

Family

ID=15257570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13995595A Expired - Fee Related JP3427569B2 (ja) 1995-05-15 1995-05-15 音楽制御装置

Country Status (1)

Country Link
JP (1) JP3427569B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007066124A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd 背景画像生成方法とその装置及び画像監視システム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007279490A (ja) * 2006-04-10 2007-10-25 Kawai Musical Instr Mfg Co Ltd 電子楽器
JP2009186591A (ja) * 2008-02-04 2009-08-20 Seiko Instruments Inc テンポ表示装置及びテンポ表示方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007066124A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd 背景画像生成方法とその装置及び画像監視システム
JP4618058B2 (ja) * 2005-09-01 2011-01-26 株式会社日立製作所 背景画像生成方法とその装置及び画像監視システム

Also Published As

Publication number Publication date
JPH08314454A (ja) 1996-11-29

Similar Documents

Publication Publication Date Title
US5663514A (en) Apparatus and method for controlling performance dynamics and tempo in response to player's gesture
JP3307152B2 (ja) 自動演奏制御装置
JP3427569B2 (ja) 音楽制御装置
JPH11296168A (ja) 演奏情報評価装置、演奏情報評価方法及び記録媒体
US5629491A (en) Tempo control apparatus
JP2003091280A (ja) 音楽制御装置
JP3728814B2 (ja) 自動伴奏装置
JP3307162B2 (ja) 音楽制御装置
JP2969138B2 (ja) ピッチ検出装置
JP3279122B2 (ja) テンポ制御装置
JP3471480B2 (ja) テンポ制御装置
JP3259602B2 (ja) 自動演奏装置
JP3152104B2 (ja) テンポ制御装置
JP3627321B2 (ja) 演奏制御装置
US6646194B2 (en) Method and apparatus for waveform reproduction
JP3303608B2 (ja) 自動演奏装置
US5430240A (en) Parameter control system for electronic musical instrument
JP2630054B2 (ja) マルチトラックシーケンサ
JP3449045B2 (ja) 演奏制御装置
JP2551193B2 (ja) 自動演奏装置
US5945621A (en) Musical tone control apparatus with envelope processing
JPH08339181A (ja) 演奏ダイナミクス制御装置
JP2780475B2 (ja) テンポコントローラ
JP3767418B2 (ja) 自動演奏装置及び自動演奏制御プログラム
JP3627319B2 (ja) 演奏制御装置

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090516

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100516

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20140516

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees