JP3307162B2 - 音楽制御装置 - Google Patents
音楽制御装置Info
- Publication number
- JP3307162B2 JP3307162B2 JP13995695A JP13995695A JP3307162B2 JP 3307162 B2 JP3307162 B2 JP 3307162B2 JP 13995695 A JP13995695 A JP 13995695A JP 13995695 A JP13995695 A JP 13995695A JP 3307162 B2 JP3307162 B2 JP 3307162B2
- Authority
- JP
- Japan
- Prior art keywords
- performance data
- data
- music control
- control signal
- music
- 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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
および音源パラメータ等をリアルタイムに制御できる音
楽制御装置に関する。
パラメータ等の音楽情報をリアルタイムに制御できる音
楽制御装置として、予め設定された初期音楽情報によっ
て演奏を開始し、その後に操作者が音楽制御のための信
号出力装置を操作することにより、その操作方向や強さ
に応じて音楽情報をリアルタイムに制御するように構成
されたものは知られている(例えば特開平6−2795
7号公報には、音楽情報としてテンポを制御するように
したものが開示されている)。
制御を開始する前に、一般に、曲名を指定して記憶装置
から曲データを読み出し、曲データの先頭(通常、最初
のノートイベントデータが記憶される位置より前)に付
加されている音源設定データを音源へ送信し、その曲に
ふさわしい音源設定(例えば、音色や効果等の選択)を
する等の前処理を行った後に、ようやく音の再生が可能
となる。
来の音楽制御装置では、この前処理の間に無意識に出力
装置を操作した場合でも、その操作により出力された制
御信号が音楽制御データとして音楽制御装置内に格納さ
れ、実際に音楽制御を開始したときに、テンポやダイナ
ミクス等が異常な値となって演奏が乱れることが多かっ
た。そして、この異常な動作を回避するためには、前処
理が終了するまでの間、操作者は出力装置を操作しない
ように、例えば装置の揺動操作によって制御信号が出力
されるようなものにおいては、装置を揺らさないように
注意してじっと待っている必要があった。
で、曲が開始するまでの前処理の途中で、操作者が不注
意に音楽制御信号を発生させた場合でも、曲が開始した
ときに操作者の思い通りの音楽制御を行うことが可能な
音楽制御装置を提供することを目的とする。
本発明は、操作者の操作に応じて音楽制御信号を発生す
る音楽制御信号発生手段と、演奏データと該演奏データ
以外のデータとを含む自動演奏データであって、該演奏
データ以外のデータには音源設定データが含まれ、特に
該自動演奏データ中で最初に出現する演奏データよりも
前に存在する該音源設定データは前処理としての音源設
定をするためのものとを記憶する自動演奏データ記憶手
段と、該記憶された自動演奏データを読み出す自動演奏
データ読み出し手段と、該読み出された自動演奏データ
中の音源設定データに基づいて、音源設定をする設定手
段と、前記読み出された自動演奏データを前記発生され
た音楽制御信号に基づいて音楽制御する制御手段と、該
音楽制御された演奏データに基づいて、前記設定手段に
よる音源設定にて楽音を発生させる音源手段と、前記読
み出された自動演奏データから前記演奏データの開始位
置を検出する開始位置検出手段とを有し、前記制御手段
は、該開始位置検出手段により演奏データの開始位置が
検出されるまでの間、前記発生された音楽制御信号に基
づいて行う自動演奏データの制御を無効化することを特
徴とする。
前記演奏データの開始位置を検出した時点で当該演奏デ
ータの音楽制御を一時停止させ、その後に前記音楽制御
信号発生手段により発生した音楽制御信号によって該一
時停止を解除する一時停止制御手段を有することを特徴
とする。
は、前記読み出された自動演奏データから最初のキーオ
ンイベントを検出した時点、または前記読み出された自
動演奏データから最初のキーオンイベントが存在する小
節の先頭を検出した時点を、前記演奏データの開始位置
とすることを特徴とする。
記憶手段は、当該自動演奏データ中に演奏開始位置情報
を記憶し、前記開始位置検出手段は、前記読み出された
自動演奏データから演奏開始位置情報を検出した時点
を、前記演奏データの開始位置とすることを特徴とす
る。
号発生手段は、操作者の操作に応じてテンポ制御信号を
発生し、前記自動演奏データ記憶手段は、当該自動演奏
データ中に所定タイミング毎にテンポ制御情報を記憶
し、前記制御手段は、前記自動演奏データから読み出し
たテンポ制御情報によって示されるタイミング間隔と前
記発生したテンポ制御信号の発生タイミング間隔とに基
づいて前記演奏データのテンポを制御することを特徴と
する。
段に記憶された自動演奏データが読み出された場合で
も、その自動演奏データから演奏データの開始位置が検
出されるまでの間は、音楽制御信号発生手段から発生さ
れる音楽制御信号に基づいた演奏データの音楽制御が無
効化される。
に説明する。
装置の概略構成を示すブロック図であり、本実施例の音
楽制御装置は、音楽制御信号を出力する音楽制御信号出
力装置1と該音楽制御信号出力装置1からの音楽制御信
号に基づいて音楽情報が制御される自動演奏装置付き電
子楽器21とにより構成されている。なお、本実施例で
は制御できる音楽情報として、テンポおよびダイナミク
スを例に挙げて説明するが、これに限る必要はないこと
は云うまでもない。
は、操作者が行った該装置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が接続されている。
報を入力するための鍵盤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と、該効果回路からの楽音信号
を音響に変換する、例えばスピーカ等のサウンドシステ
ム35とにより構成されている。そして、上記構成要素
24〜34は、バス36を介して相互に接続され、CP
U26にはタイマ29が接続され、音源回路33には効
果回路34が接続され、効果回路34にはサウンドシス
テム35が接続されている。
II/F14は、電子楽器21のMIDII/F31と
相互に接続され、音楽制御信号出力装置1と電子楽器2
1との間でMIDI信号の送受信が行われる。このMI
DII/F14,31間の接続は、有線で行ってもよい
し、無線で行ってもよい。
4は、図示しないが、電子楽器21の自動演奏をスター
トさせるスタートスイッチを含んでいる。
で把持し、該装置1を曲の所定のタイミングに応じて所
定の方向に振ることにより、マニュアルで音楽情報を制
御することができる。
る揺動動作の種類の一例を示す図であり、(a)は、3
角形の各辺の方向に音楽制御信号出力装置1を振った場
合に検出する3種類の揺動動作を示し、(b)は、上ま
たは下方向に音楽制御信号出力装置1を振った場合に検
出する2種類の揺動動作を示している。
と、その揺動動作に応じて圧電振動ジャイロセンサ2,
3からそれぞれ信号が出力され、CPU10は、各信号
から操作者が行っている動作状態、すなわち、操作者の
動作が図2の動作1〜3のうちいずれの動作に該当する
かを判別するとともに、その判別された動作における絶
対角速度がピークとなる位置(音楽制御信号出力装置1
の振り方にもよるが、各動作1〜3のほぼ中間地点で速
度がピークとなるであろう)を検出し、該ピーク位置
で、前記検出された動作に対応するキーコードのオンイ
ベント(マークデータ)およびこの時点の絶対角速度
(この算出方法は後述する)に応じたベロシティ値に所
定のチャンネル番号(本実施例ではチャンネル1)を付
与して、電子楽器21側へ出力する。例えば、動作1に
対してはキーコード“C3”のキーオンイベント、動作
2に対してはキーコード“C#3”のキーオンイベント
および動作3に対してはキーコード“D3”のキーオン
イベントに、この時点の絶対角速度に応じて算出したベ
ロシティ値を付加し、チャンネル1のイベントデータと
して出力する。
ティ値は、MIDI信号としてMIDII/F14から
MIDII/F31に対して出力される。すなわち、本
実施例の音楽制御装置では、音楽制御信号出力装置1は
文字どおり音楽制御信号の出力を主として行い、実際の
自動演奏処理(自動演奏データの読み出しや発音処理
等)は全て電子楽器21側で行うように構成されてい
る。なお、前記スタートスイッチ等の電子楽器21の制
御に関するイベントも、MIDI信号に変換され、MI
DII/F14,31を介して電子楽器21側に送信さ
れる。このようにして電子楽器21側に送信されたキー
オンイベントはRAM28の所定領域に一時的に格納さ
れた後に、CPU26により解析され、その解析結果が
RAM28の所定領域TKONに格納される。
データフォーマットを示す図であり、自動演奏データ
は、前記RAM28の自動演奏データ格納領域281に
格納される。
接した各イベント間の時間間隔を示すデルタタイムデー
タ41,…と、電子楽器21のキーオンやキーオフ等の
イベントを示すイベントデータ42,…とにより構成さ
れている。本実施例では、デルタタイムデータ41とし
て、1msを1単位とする整数値が採られ、イベントデ
ータ42として、チャンネル番号を付与したイベントデ
ータが採られている。ここで、デルタタイムデータ41
をこのように構成したのは、各イベントのタイミング処
理制御を1ms毎の割込み処理中(後述する図12の再
生処理中)で行っているからである。また、イベントデ
ータ42をこのように構成したのは、本実施例の電子楽
器21は前記マークデータと通常の自動演奏データとを
混在させるとともに、マークデータとして通常の自動演
奏イベントデータを用いているために、この双方のデー
タを区別する必要があるからである。
3”,“C#3”および“D3”の3種類のキーオンイ
ベントであり、自動演奏データ格納領域281の所定の
位置(アドレス)に、所定の順序で、予め格納されてい
る。例えば、3拍子の曲では、各小節中、1,2,3拍
目の各タイミングのイベントデータ42中に、それぞれ
“C3”,“C#3”,“D3”のキーオンイベントデ
ータがチャンネル番号1とともに予め格納され、4拍子
の曲では、各小節中、1,2,3,4拍目の各タイミン
グのイベントデータ42中に、それぞれ“C3”,“D
3”,“C3”,“D3”のキーオンイベントデータが
チャンネル番号1とともに予め格納されている。すなわ
ち、電子楽器21は、例えば16チャンネル(トラッ
ク)分の自動演奏データを再生できるように構成され、
そのうちチャンネル1は前記マークデータ用に使用さ
れ、その他のチャンネルは通常の自動演奏データ用に使
用されている。
のように「イベントデータ+デルタタイム」としたが、
これに限らず、「イベントデータ+絶対時間」等の他の
フォーマットでもよい。また、デルタタイムは1msを
1単位としたが、1単位を音符の長さ(例えば、4分音
符の1/24等)としてもよい。
タ(キーオンイベントデータ)と自動演奏用のデータと
を混在させ、これらのデータをチャンネル番号で区別す
るようにしたが、これに限らず、これらのデータを異な
った種類のデータとして別々に構成してもよい。例え
ば、音楽制御用データとして、テンポ制御すべき音符の
位置に対応するメモリのアドレスを記憶したものを用い
てもよい。
装置1のCPU10が実行する制御処理を図4〜9を参
照して説明し、自動演奏装置付き電子楽器21のCPU
26が実行する制御処理を図10〜18を参照して説明
する。
10が実行する圧電振動ジャイロセンサ出力処理の手順
を示すフローチャートであり、本処理は、前記タイマ1
3が、例えば10ms毎に発生するタイマ割込み信号に
同期して実行される割込み処理中の一処理である。
イズ除去回路5,6によりノイズが除去され、A/D変
換回路7,8によりデジタル変換された圧電振動ジャイ
ロセンサ2,3からの各出力信号を取り込み、それぞれ
RAM12の所定領域ωx,ωy(以下、各領域の内容
を、それぞれ「角速度ωx」、「角速度ωy」という)に
格納する(ステップS1)。
絶対角速度ωを算出し、この算出した絶対角速度ωをR
AM12の所定領域ANGV(以下、この領域の内容を
「絶対角速度ANGV」という)に格納する(ステップ
S2)。
するときに、前回算出した絶対角速度ωが領域ANGV
に格納されている場合には、該前回算出した値をRAM
12の所定領域OANGVに保存する。
検出するピーク検出処理サブルーチンを実行した(ステ
ップS3)後に、本圧電振動ジャイロセンサ出力処理を
終了する。
理サブルーチンの詳細な手順を示すフローチャートであ
り、まずステップS11で、ピークが検出された否かを
判別する。
角速度ANGVおよび前回の絶対角速度OANGVに基
づいて行う。具体的には、まず、前後の絶対角速度の値
より大きい時点を検出する。例えば、今回の絶対角速度
ANGV>前回の絶対角速度OANGVのときにはフラ
グFBIGをセットし、今回の絶対角速度ANGV≦前
回の絶対角速度OANGVのときには、フラグFBIG
の状態を検査し、フラグFBIGがセットされている場
合には、前回の絶対角速度OANGVの時点を上記条件
を満たす時点として検出すればよい。次に、このように
して検出された時点が、前回検出されたピーク時点から
所定時間以上経過し、この時点の絶対角速度ω(すなわ
ち、上記前回の絶対角速度OANGV)が所定の閾値よ
り大きく、前回のピーク値の所定値(例えば0.5)倍
よりも大きく、谷を通過している等の条件を全て満たし
ているか否かを判別する。これらの全ての条件を満たし
ている場合にはこの時点をピークとして判別し、1つで
も条件を満たしていない場合にはこの時点をピークと判
別しない。
出されたときには、このときの音楽制御信号出力装置1
の揺動動作の種類(すなわち、前記図2で説明した動作
1〜3のうち操作者が行っている動作)を判定するピー
ク種類判定処理サブルーチンを実行した(ステップS1
2)後に、本ピーク検出処理を終了する。一方、ステッ
プS11の判別で、ピークが検出されないときには、直
ちに本ピーク検出処理を終了する。
判定処理サブルーチンの詳細な手順を示すフローチャー
トである。
号出力装置1を振ったときの振り角度θが、180°<
θ≦300°という条件を満たしているか否かを判別す
る(ステップS21)。図9は、この振り角度θを算出
する処理を説明するための図であり、図中点(X,Y)
は、前記角速度ωx,ωyをX−Y座標上に表わしたもの
である。すなわち、この点(X,Y)および原点Oを通
る直線とX軸との交角が振り角度θになる。
している場合には、今回検出されたピークは「動作1」
によるものと判定し(ステップS22)、前述したよう
にキーコード“C3”のキーオンおよびこのときの絶対
角速度ωの値に応じたベロシティ値(ダイナミクス制御
を行うためのパラメータ値)をチャンネル1のイベント
データとして、MIDI信号に変換し出力する(ステッ
プS23)。
θが上記条件を満たしていないときには、動作2,3を
判定するピーク2判定処理サブルーチンを実行した(ス
テップS24)後に、本ピーク種類判定処理を終了す
る。
定処理サブルーチンの詳細な手順を示すフローチャート
であり、まず、振り角度θが、θ≦60°または300
°<θという条件を満たしているか否かを判別する(ス
テップS31)。
記条件を満たしているときには、前記ステップS22,
23と同様にして、今回検出されたピークは「動作2」
によるものと判定し(ステップS32)、キーコード
“C#3”のキーオンおよびこのときの絶対角速度ωの
値に応じたベロシティ値をチャンネル1のイベントデー
タとして出力する(ステップS33)。
θが上記条件を満たしていないときには、ピーク3判定
処理サブルーチンを実行した(ステップS34)後に、
本ピーク2判定処理を終了する。
定処理サブルーチンの詳細な手順を示すフローチャート
であり、前記ピーク種類判定処理のステップS22,S
23と同様にして、今回検出されたピークは「動作3」
によるものと判定し(ステップS41)、キーコード
“D3”のキーオンおよびこのときの絶対角速度ωの値
に応じたベロシティ値をチャンネル1のイベントデータ
として出力した(ステップS42)後に、本ピーク3判
定処理を終了する。
となる時点をテンポ制御を行う時点にしたが、これに限
らず、絶対角速度ωの変化量が大きい時点等であっても
よいし、また、テンポ制御を行う時点を検出する検出方
法は上述の方法に限る必要もない。
が実行するメインルーチンの手順を示すフローチャート
である。なお、説明は省略したが、本メインルーチンと
同様に音楽制御信号出力装置1においてもスイッチ群4
の各種スイッチ状態に応じた各種スイッチ処理等を含む
メインルーチンを実行している。
や各種ポートのクリア等のイニシャライズを行う(ステ
ップS51)。
ンイベントまたはキーオフイベントの生成処理や発音ま
たは消音処理等の鍵処理を行い(ステップS52)、M
IDI信号の送受信処理や受信したMIDI信号に応じ
た各種信号処理等のMIDI処理を行い(ステップS5
3)、スイッチ群23の各種スイッチ状態に応じた各種
スイッチ処理を行い(ステップS54)、上述の処理以
外のその他処理を行った(ステップS55)後に、ステ
ップS52に戻って上述の処理を繰り返す。
イッチが押されたときに、電子楽器21側が行うスター
ト処理の手順を示すフローチャートである。前述したよ
うに、操作者がスイッチ群4のスタートスイッチを押す
と、そのスイッチオンイベントに対応するMIDI信号
がMIDII/F14から出力され、MIDII/F3
1から電子楽器21のRAM28の所定領域に取り込ま
れる。このMIDI信号が前記メインルーチンのステッ
プS53で解析されて前記領域TKONに格納され、本
スタート処理が呼び出される。すなわち、本スタート処
理は、ステップS53のMIDI処理中の一処理であ
る。
“1”であるか否かを判別する(ステップS61)。こ
こで、スタートモードとは、自動演奏のスタート時の初
期テンポ値として、前回テンポ制御したときの値を使用
するか(スタートモード=1)、曲に応じた標準値を使
用するか(スタートモード=2)を設定できるようにし
たモードをいう。
が“1”のとき、すなわちスタート時のテンポ値として
前回のテンポ値を使用するときには、前回のテンポ値
(係数値)を記憶するRAM28の所定領域PREVT
C(Previous Tempo Coefficient)の値を、テンポ制御
するための係数値を格納するRAM28の所定領域(レ
ジスタ)T_COEF(Tempo Coefficient;以下、この
内容を「テンポ係数T_COEF」という)に格納し
(ステップS62)、一方、スタートモードが“1”で
ないとき、すなわちスタート時のテンポ値として標準値
を使用するときには、領域T_COEFに“1”を格納
する(ステップS63)。
するためのフラグRUNをセット(“1”)し、ステッ
プS65では、音楽制御信号出力装置1から音楽制御信
号が出力された場合でもこの出力を無視するためのフラ
グSTANDBYをセットした後に、本スタート処理を
終了する。
ートスイッチを押した時点から曲の演奏を開始するよう
に構成したが、これに限らず、音楽制御信号出力装置1
を振り始めた時点や、電子楽器21側の演奏スタートス
イッチ(図示せず)を押した時点等から演奏を開始する
ようにしてもよい。
順を示すフローチャートであり、本処理は、前記タイマ
29が、例えば1ms毎に発生するタイマ割込み信号に
同期して実行される割込み処理中の一処理である。
Nが“1”であるか否かを判別し(ステップS10
1)、再生フラグRUNが“0”のとき、すなわち自動
演奏データの再生要求がなされていないときには直ちに
本再生処理を終了する一方、再生フラグRUNが“1”
のとき、すなわち自動演奏データの再生要求がなされて
いるときには、フラグPAUSEが“0”であるか否か
を判別する(ステップS102)。ここで、フラグPA
USEは、電子楽器21がチャンネル1のキーオンイベ
ントデータを読み出したときに、まだ音楽制御信号出力
装置1が当該キーオンイベントデータを送出していない
場合に、当該キーオンイベントを受信するまで自動演奏
データの再生を一時的に停止させるためのフラグであ
る。
SEが“0”のとき、すなわち音楽制御信号出力装置1
からのキーオンイベントを受信した後にチャンネル1の
当該キーオンイベントを読み出しているときには、カウ
ンタTIMEの値が“0”であるか否かを判別する(ス
テップS103)。ここで、カウンタTIMEは、RA
M28に確保され、前記図2で説明した各イベントデー
タ42間の時間間隔をカウントするためのソフトカウン
タである。
MEの値が“0”のとき、すなわちイベントデータ42
を出力するタイミングのときには、自動演奏データ格納
領域281のアドレスを進め、その位置のデータを読み
出し(ステップS104)、その読み出したデータがデ
ルタタイムデータであるか否かを判別する(ステップS
105)。
ータがデルタタイムデータでないとき、すなわちイベン
トデータであるときには、前記フラグSTANDBYが
“0”であるか否かを判別し(ステップS106)、フ
ラグSTANDBY=1のとき、すなわち音楽制御信号
出力装置1からの音楽制御信号出力を無視するときに
は、前記読み出したデータがキーオンイベントであるか
否かを判別する(ステップS107)。
ータがキーオンイベントであるときには、フラグSTA
NDBYをリセット(“0”)して(ステップS10
8)、音楽制御信号出力装置1からの音楽制御信号出力
を電子楽器21が受け付け得る状態にした後に、ステッ
プS109に進む。
STANDBY=0のとき、またはステップS107の
判別で、読み出したデータがキーオンイベントでないと
きにはステップS109に進む。
イベントに対応するイベント対応処理サブルーチン(こ
のサブルーチンの詳細な手順は、図14に基づいて後述
する)を実行した(ステップS109)後に、前記ステ
ップS104に戻って前述の処理を繰り返す。
したデータがデルタタイムデータのときには該デルタタ
イムデータをカウンタTIMEに格納し(ステップS1
10)、カウンタTIMEが“0”であるか否かを判別
する(ステップS111)。ここで、カウンタTIME
の値を判別するのは、同一タイミングで複数のイベント
データが自動演奏データ格納領域281に格納されてい
る場合があるからである。
ME=0のときには、前記ステップS104に戻って前
述の処理を繰り返し、一方、カウンタTIME≠0のと
きには、次式の演算によりカウンタTIMEの値を変更
する(ステップS112)。
すなわち、ステップS112では、デルタタイムで与え
られるイベントデータ間の時間間隔をテンポ係数T_C
OEFで変更することにより、テンポを変更を変更して
いる。したがって、テンポ係数T_COEFが“1”の
場合には標準テンポで曲が演奏され、テンポ係数T_C
OEFが“1”より小さい場合には標準テンポより速い
テンポで曲が演奏され、テンポ係数T_COEFが
“1”より大きい場合には標準テンポより遅いテンポで
曲が演奏される。
タTIMEの値が“0”でないときにはステップS11
3に進む。
の値を“1”だけデクリメントし、ステップS114で
は、RAM28に確保され、隣接するチャンネル1のキ
ーオンイベント間の時間間隔をカウントするソフトカウ
ンタDELTA_ACM(Delta Accumulate)の値(以
下、この値を「デルタタイム累算値DELTA_AC
M」という)を“1”だけインクリメントし、ステップ
S115では、RAM28に確保され、音楽制御信号出
力装置1から出力された隣接するキーオンイベント間の
時間間隔(テンポ制御間隔)をカウントするソフトカウ
ンタINTERVAL(以下、この値を「テンポ制御間
隔INTERVAL」という)の値を“1”だけインク
リメントし、ステップS116では、図15を参照して
後述するテンポキーオン受信処理サブルーチンを実行し
た後に、本再生処理を終了する。
PAUSEが“1”のとき、すなわち自動演奏データ格
納領域281からチャンネル1のキーオンイベントデー
タを読み出し、音楽制御信号出力装置1からの当該キー
オンイベントの出力を待っているときには、前記ステッ
プS103〜S114で説明した自動演奏データの読み
出し処理を停止(スキップ)し、前記ステップS115
に進む。
VALとデルタタイム累算値DELTA_ACMとの関
係を説明するための図であり、図中、“□”はチャンネ
ル1のキーオンイベントを示し、“○”はチャンネル1
以外のイベントを示している。
値DELTA_ACMは、自動演奏データ格納領域281
に格納された1拍分のデルタタイムを累算したものであ
り、テンポ制御間隔INTERVALは、操作者が音楽
制御信号出力装置1を振ることによってテンポ制御する
1拍分の時間間隔を計測したものである。後述するよう
に、このデルタタイム累算値DELTA_ACMおよび
テンポ制御間隔INTERVALに基づいてテンポ係数
T_COEFが算出される。なお、同図は、テンポ制御
間隔INTERVALの方がデルタタイム累算値DEL
TA_ACMより小さい場合、すなわち、操作者が標準
テンポより速いテンポで曲を再生するように制御してい
る場合を示している。
ト対応処理サブルーチンの詳細な手順を示すフローチャ
ートである。
データがチャンネル1のイベントデータであるか否かを
判別し(ステップS121)、チャンネル1のイベント
データであるときには、前記フラグSTANDBYが
“0”であるか否かを判別する(ステップS122)。
NDBY=1のとき、すなわち音楽制御信号出力装置1
からの音楽制御信号出力を無視するときには、直ちに本
イベント対応処理を終了する一方、フラグSTANDB
Y=0のとき、すなわち音楽制御信号出力装置1からの
音楽制御信号出力が有効のときにはステップS123に
進む。
ーオンイベントを読み出す前に、音楽制御信号出力装置
1からの当該キーオンイベントを既に受信していること
を“1”で示すフラグKON_RCV(Key ON Reciev
e)が“1”であるか否かを判別し、フラグKON_RC
Vが“0”のとき、すなわち当該キーオンイベントを音
楽制御信号出力装置1から受信していないときには、当
該イベントのキーコードをRAM28に確保された領域
KEYCODE(以下、この内容を「キーコードKEY
CODE」という)に格納し(ステップS124)、前
記フラグPAUSEをセットした(ステップS125)
後に、本イベント対応処理を終了する。
KON_RCVが“1”のときにはこのフラグKON_R
CVをリセットして(ステップS126)、本イベント
対応処理を終了する。
したイベントデータがチャンネル1のものでないときに
は、そのイベントデータはエンドデータであるか否かを
判別する(ステップS127)。
ベントデータがエンドデータでないときには、そのイベ
ントデータは通常の自動演奏イベントデータであるの
で、そのイベントデータを前記音源回路33へ出力する
(ステップS128)。なお、このステップS128に
おいて、音源回路33に出力するイベントがノートイベ
ントの場合には、該ノートイベントのベロシティは、後
述する図15のステップS142で設定するダイナミク
スに応じて修正したものを出力する。
ベントデータがエンドデータであるときには、現在設定
されているテンポ係数T_COEFを前記領域PREV
TCに保存し(ステップS129)、再生フラグRUN
をリセットした(ステップS130)後に、本イベント
対応処理を終了する。
存したテンポ係数T_COEFは、前記図11のステッ
プS62で説明したようにスタートモードを“1”にし
て曲をスタートさせると、該領域PREVTCから読み
出されて初期テンポ係数値となる。これにより、前回制
御されたテンポで曲が開始され、曲の冒頭から安定した
テンポで曲を開始することができる。
キーオン受信処理サブルーチンの詳細な手順を示すフロ
ーチャートである。
置1からテンポキーオンイベントを受信したか否かを判
別し(ステップS141)、受信したときには、受信し
たキーオンのベロシティ値に応じてダイナミクスを設定
して、RAM28の所定領域に格納する(ステップS1
42)。
であるか否かを判別し(ステップS143)、フラグS
TANDBYが“0”のときには、フラグPAUSEが
“1”であるか否かを判別し(ステップS144)、フ
ラグPAUSEが“1”のときには、受信したテンポキ
ーオンイベントのキーコードが前記キーコードKEYC
ODEと一致しているか否かを判別し(ステップS14
5)、一致しているときにはステップS146に進む。
なお、前記ステップS141のテンポキーオンイベント
の判別は、前記領域TKONの内容を検査することによ
って行うようにすればよい。
後述するテンポ計算処理サブルーチンを実行し、ステッ
プS147では、前記デルタタイム累算値DELTA_
ACM、テンポ制御間隔INTERVALおよびフラグ
PAUSEをそれぞれリセットした後に、本テンポキー
オン処理を終了する。
ーオンを受信していないとき、ステップS143の判別
でフラグSTANDBY=1のとき、またはステップS
145の判別で受信したテンポキーオンイベントのキー
コードとキーコードKEYCODEとが一致していない
ときには、直ちに本テンポキーオン処理を終了する。
PAUSEが“0”であるときには、自動演奏データ格
納領域281における次のチャンネル1のキーオンイベ
ントをサーチし(ステップS148)、前記受信したキ
ーオンイベントのキーコードとサーチしたキーオンイベ
ントのキーコードとが一致しているか否かを判別し(ス
テップS149)、一致しているときにはステップ15
0に進む一方、一致していないときにはエラーであるの
で直ちに本テンポキーオン処理を終了する。
デルタタイム累算値DELTA_ACMを算出する。
し、DELTAT(k),(k=1,2,…)は、現在曲
を再生している時点(アドレス)の次のデルタタイムか
らサーチしたキーオンイベントまでのデルタタイムを示
している。
_ACMの具体的な算出方法を説明するための図であ
る。
1からチャンネル1のキーオンイベントを読み出す前に
音楽制御信号出力装置1からテンポキーオンイベントを
受信し、自動演奏データ格納領域281において、この
受信時点から当該受信キーオンイベントに対応するチャ
ンネル1のキーオンイベントの位置までにチャンネル1
以外のイベントデータが少なくとも1つ以上格納されて
いる場合を示している。同図中、“TIME”は、カウ
ンタTIMEの値、すなわちイベントE0,E1間のデ
ルタタイムの残り時間を示し、DELTAT(1)は、イ
ベントE1,E2間のデルタタイムを示し、DELTA
T(2)は、イベントE2,E3間のデルタタイムを示し
ている。すなわち、図示例では、上記式(1)中の
“Σ”は、k=1,2についてDELTAT(k)の加算
を行うことになる。
ンネル1のキーオンイベント間のデルタタイム累算値D
ELTA_ACMを求めることができる。
ーチしたキーオンイベントまでのデルタタイムおよびカ
ウンタTIMEの値を所定値でそれぞれ除算し、各除算
結果で対応するデルタタイムおよびカウンタTIMEの
値を変更する。すなわち、前記図17の例では、次式の
ように各値を変更する。
このようにデルタタイムおよびカウンタTIMEの値を
変更することで、次のマークデータ間のイベントの読み
出しに速く移行できるようにしている。
記フラグKON_RCVをセットし、ステップS153
で前記ステップS146と同様のテンポ計算処理サブル
ーチンを実行し、ステップS154でデルタタイム累算
値DELTA_ACMおよびテンポ制御間隔INTER
VALをリセットした後に、本テンポキーオン処理を終
了する。
153のテンポ計算処理サブルーチンの詳細な手順を示
すフローチャートである。
は、前記デルタタイム累算値DELTA_ACMおよび
テンポ制御間隔INTERVALから、次式によりテン
ポ係数T_COEFの値を変更するための比率(rate)
を求め、RAM28に確保された領域RATEに格納す
る。
テップS162)、この変更後のテンポ係数T_COE
Fの値が大きく変化しないようにテンポ係数T_COE
Fのリミット処理を行った(ステップS163)後に、
本テンポ計算処理を終了する。
例を示す図であり、図中、“●”は曲データの先頭に付
加された音源設定データ(イベント)を示し、“□”お
よび“○”は、図13で前述したように、それぞれチャ
ンネル1のキーオンイベントおよびチャンネル1以外の
イベントを示している。
し、時刻t1stで曲の最初のキーオン(ノートイベン
ト)が検出されるまで、前記フラグSTANDBYは
“1”を継続するので、電子楽器21は音楽制御信号出
力装置1から出力された音楽制御信号を無視し(図14
のステップS122および図15のステップS143の
判別で、直ちに当該処理を終了するため)、時刻t1st
で曲の最初のキーオンが検出されると、フラグSTAN
DBYを“0”にする(図12のステップS108)の
で、これ以降、電子楽器21は音楽制御信号出力装置1
から出力された音楽制御信号に基づいて前述の音楽制御
を行うようになる。
器21が曲の最初のキーオンを読み出すまで、すなわち
音源設定等の前処理が終了するまで、フラグSTAND
BYをセット状態にし、最初のキーオンを読み込んだ時
点でフラグSTANDBYをリセットして、このフラグ
STANDBYの状態に応じて、音楽制御信号出力装置
1からの音楽制御信号による音楽制御を行うように構成
したので、曲が開始するまでの前処理の途中で、操作者
が不注意に音楽制御信号を発生させた場合でも、曲が開
始したときに操作者の思い通りの音楽制御を行うことが
でき、これにより、操作者は不要な気を使うことなく、
音楽制御を適正に行うことができる。
混在させたので、RAM28の記憶容量を削減すること
ができ、これによりコストの低減化を図ることができ
る。
奏開始位置と考え、その位置までの音楽制御を無効化し
たが、最初のキーオンが存在する小節の先頭を演奏開始
位置と考え、その位置までの音楽制御を無効化するよう
にしてもよい。例えば、1小節目に各種設定データが記
憶されており、2小節目の4拍目あたりに最初のキーオ
ンが存在するような場合には、2小節目の先頭からテン
ポ制御を有効とする。演奏開始に先立って、最初のキー
オンをサーチし、最初のキーオンが存在する小節線の位
置を検出しておき、演奏開始後、その位置まで音楽制御
を無効化するようにすればよい。
(「ここから演奏開始である」という情報)を含ませて
おき、この演奏開始位置情報を検出した時点から音楽制
御を有効とするようにしてもよい。このようにすると、
休符を考慮した最良のタイミングから音楽制御を開始す
ることができる。
D等の表示装置を用いて表示するようにしてもよい。さ
らに、前処理中に音程の調節やテンポ追従制御の難易度
の設定などユーザによる各種設定処理ができるようにし
てもよい。
で曲の再生を一時停止させ(このとき、そのキーオンに
基づく発音はしない)、その後に、テンポ制御キーオン
を受信した時点で曲の再生を再開させる(このとき、最
初のキーオンに基づく発音をする)ようにしてもよい。
このようにすると、曲の先頭の各種設定が終了して最初
のキーオンが読み出された後、任意のタイミングで音楽
制御信号発生装置1を操作し始めれば、直ちに演奏が開
始されるので、演奏開始時の操作者の操作(タイミング
合わせ)が容易になる。また、最初のキーオンを読みだ
した時点で一時停止させるのではなく、最初のキーオン
の直前に一時停止情報を入れておき、これが読み出され
たときに一時停止させ、その後にテンポ制御キーオンを
受信した時点で曲の再生を再開させるようにしてもよ
い。つまり、演奏開始位置(上記のように、小節線等や
任意の演奏開始位置でもよい)まで読み出しが進んだ時
点で一時停止させ、その後にテンポ制御キーオンを受信
した時点で読み出しを再開させればよい。
を操作することにより読み出しを再開させるようにして
もよい。このスタートスイッチは、前述のスタートスイ
ッチと兼用してもよいし、音楽制御信号出力装置1ある
いは電子楽器21に別途設けるようにしてもよい。
ルタタイムの値にテンポ係数T_COEFを乗算し、デ
ルタタイムの値を増加または減少させることによって行
うように構成したが、これに限らず、処理の周期、例え
ば本実施例でいう割込みタイミングを変換させることに
よってテンポを変化させるように構成してもよい。ま
た、デルタタイムの値を変化させるとき、所定の値を乗
算するものに限らず、所定の値を加算するものであって
もよい。
センサ2,3からの出力信号に基づいて音楽制御信号出
力装置1の揺動動作を検出したが、3個以上の圧電ジャ
イロセンサを用いて揺動動作を検出するようにしてもよ
い。また、揺動動作を検出できるものであれば圧電ジャ
イロセンサに限らず、加速度センサや磁気または光を用
いたもの等どのようなものであってもよいし、複数のセ
ンサを組み合わせて用いてもよい。さらに、揺動動作を
検出できるものであればセンサに限らず、揺動動作を撮
像し、画像処理によって揺動操作を検出するようなもの
であってもよい。
の種類を前記3種類に限定したが、これに限らず、もっ
と多くの種類の揺動動作を検出するようにしてもよい。
この場合には、圧電ジャイロセンサの個数を多くしてよ
り多くの揺動動作を正確に検出できるようにすればよ
い。なお、本実施例の3種類の揺動動作の検出において
も、例えば、3拍子用と、2・4拍子用とで、異なるセ
ンサを用いて判別精度を向上させるようにしてもよい
し、3つ以上のセンサ出力を総合判断して揺動動作を検
出するようにしてもよい。
ける形態としては、本実施例のように片手に把持できる
音楽制御信号出力装置1に内蔵する他、センサを身体
(例えば、手や腕等)に装着するようにしてもよいし、
マイクロフォンに内蔵するようにしてもよいし、カラオ
ケ装置等のリモコン装置に内蔵するようにしてもよい。
置1の揺動動作に基づいて音楽制御信号を発生するよう
にしたが、これに限らず、タッピング操作や演奏操作子
の操作等によって音楽制御信号を発生するようにしても
よい。
動作種類およびその特徴点(ピークや谷)を検出して音
楽制御タイミングを出力する音楽制御信号出力装置1と
その被制御対象である自動演奏装置付き電子楽器21と
を別体で構成したが、これらを1つの装置として構成し
てもよい。また、外部に接続された装置にテンポクロッ
クを供給し、その外部装置の演奏テンポを制御するよう
に構成してもよい。
奏に限る必要はなく、自動伴奏または自動リズム等であ
ってもよい。また、これらの再生に加え、動画等の画像
再生を伴うものであってもよい。
自動演奏データ記憶手段に記憶された自動演奏データが
読み出された場合でも、その自動演奏データから演奏デ
ータの開始位置が検出されるまでの間は、音楽制御信号
発生手段から発生される音楽制御信号に基づいた演奏デ
ータの音楽制御が無効化されるので、曲が開始するまで
の前処理の途中で、操作者が不注意に音楽制御信号を発
生させた場合でも、曲が開始したときに操作者の思い通
りの音楽制御を行うことができ、これにより、操作者は
不要な気を使うことなく、音楽制御を適正に行うことが
可能となる効果を奏する。
ータの開始位置を検出した時点で当該演奏データの音楽
制御を一時停止させ、その後に音楽制御信号発生手段に
より発生した音楽制御信号によって該一時停止を解除す
る一時停止制御手段を有するので、演奏データの最初の
位置が検出された後、任意のタイミングで音楽制御信号
発生手段を操作し始めれば、直ちに演奏が開始され、演
奏開始時の操作者の操作(タイミング合わせ)が容易に
なる。
成を示すブロック図である。
操作者の動作と各動作に応じて音楽制御信号出力装置か
ら出力される信号の値とを示す図である。
ータのデータフォーマットを示す図である。
る圧電振動ジャイロセンサ出力処理の手順を示すフロー
チャートである。
チンの詳細な手順を示すフローチャートである。
ブルーチンの詳細な手順を示すフローチャートである。
ルーチンの詳細な手順を示すフローチャートである。
ルーチンの詳細な手順を示すフローチャートである。
いて音楽制御信号出力装置の振り角度を算出する方法を
説明するための図である。
実行するメインルーチンの手順を示すフローチャートで
ある。
スタートスイッチが押されたときに、電子楽器側が行う
スタート処理の手順を示すフローチャートである。
ーチャートである。
イム累算値DELTA_ACMとの関係を説明するため
の図である。
理サブルーチンの詳細な手順を示すフローチャートであ
る。
受信処理サブルーチンの詳細な手順を示すフローチャー
トである。
テンポ計算処理サブルーチンの詳細な手順を示すフロー
チャートである。
体的な算出方法を説明するための図である。
の一例を示す図である。
段、制御手段、開始位置検出手段、一時停止制御手段) 28 RAM(自動演奏データ記憶手段)33 音源回路(音源手段)
Claims (6)
- 【請求項1】 操作者の操作に応じて音楽制御信号を発
生する音楽制御信号発生手段と、演 奏データと該演奏データ以外のデータとを含む自動演
奏データであって、該演奏データ以外のデータには音源
設定データが含まれ、特に該自動演奏データ中で最初に
出現する演奏データよりも前に存在する該音源設定デー
タは前処理としての音源設定をするためのものとを記憶
する自動演奏データ記憶手段と、 該記憶された自動演奏データを読み出す自動演奏データ
読み出し手段と、 該読み出された自動演奏データ中の音源設定データに基
づいて、音源設定をする設定手段と、 前記読み出された自動演奏データを前記発生された音楽
制御信号に基づいて音楽制御する制御手段と、 該音楽制御された演奏データに基づいて、前記設定手段
による音源設定にて楽音を発生させる音源手段と、 前記読み出された自動演奏データから前記演奏データの
開始位置を検出する開始位置検出手段とを有し、 前記制御手段は、該開始位置検出手段により演奏データ
の開始位置が検出されるまでの間、前記発生された音楽
制御信号に基づいて行う自動演奏データの制御を無効化
することを特徴とする音楽制御装置。 - 【請求項2】 前記開始位置検出手段により前記演奏デ
ータの開始位置を検出した時点で当該演奏データの音楽
制御を一時停止させ、その後に前記音楽制御信号発生手
段により発生した音楽制御信号によって該一時停止を解
除する一時停止制御手段を有することを特徴とする請求
項1記載の音楽制御装置。 - 【請求項3】 前記開始位置検出手段は、前記読み出さ
れた自動演奏データから最初のキーオンイベントを検出
した時点を、前記演奏データの開始位置とすることを特
徴とする請求項1または2のいずれかに記載の音楽制御
装置。 - 【請求項4】 前記開始位置検出手段は、前記読み出さ
れた自動演奏データから最初のキーオンイベントが存在
する小節の先頭を検出した時点を、前記演奏データの開
始位置とすることを特徴とする請求項1または2のいず
れかに記載の音楽制御装置。 - 【請求項5】 前記自動演奏データ記憶手段は、当該自
動演奏データ中に演奏開始位置情報を記憶し、 前記開始位置検出手段は、前記読み出された自動演奏デ
ータから演奏開始位置情報を検出した時点を、前記演奏
データの開始位置とすることを特徴とする請求項1また
は2のいずれかに記載の音楽制御装置。 - 【請求項6】 前記音楽制御信号発生手段は、操作者の
操作に応じてテンポ制御信号を発生し、 前記自動演奏データ記憶手段は、当該自動演奏データ中
に所定タイミング毎にテンポ制御情報を記憶し、 前記制御手段は、前記自動演奏データから読み出したテ
ンポ制御情報によって示されるタイミング間隔と前記発
生したテンポ制御信号の発生タイミング間隔とに基づい
て前記演奏データのテンポを制御することを特徴とする
請求項1または2のいずれかに記載の音楽制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13995695A JP3307162B2 (ja) | 1995-05-15 | 1995-05-15 | 音楽制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13995695A JP3307162B2 (ja) | 1995-05-15 | 1995-05-15 | 音楽制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08314455A JPH08314455A (ja) | 1996-11-29 |
JP3307162B2 true JP3307162B2 (ja) | 2002-07-24 |
Family
ID=15257594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13995695A Expired - Fee Related JP3307162B2 (ja) | 1995-05-15 | 1995-05-15 | 音楽制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3307162B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4725446B2 (ja) * | 2006-07-18 | 2011-07-13 | ヤマハ株式会社 | 電子音楽装置及び音楽情報記録プログラム |
JP4998033B2 (ja) * | 2007-03-23 | 2012-08-15 | ヤマハ株式会社 | 鍵駆動装置付き電子鍵盤楽器 |
EP3559940B1 (en) | 2016-12-25 | 2022-12-07 | Mictic Ag | Arrangement and method for the conversion of at least one detected force from the movement of a sensing unit into an auditory signal |
-
1995
- 1995-05-15 JP JP13995695A patent/JP3307162B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08314455A (ja) | 1996-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0987678B1 (en) | Synthesizer detecting pitch and plucking point of stringed instrument to generate tones | |
JP3307162B2 (ja) | 音楽制御装置 | |
US5629491A (en) | Tempo control apparatus | |
JP3427569B2 (ja) | 音楽制御装置 | |
JPH09244634A (ja) | 弦楽器型電子楽器 | |
JP3279122B2 (ja) | テンポ制御装置 | |
JP2003091280A (ja) | 音楽制御装置 | |
JP3471480B2 (ja) | テンポ制御装置 | |
JP3627321B2 (ja) | 演奏制御装置 | |
US6646194B2 (en) | Method and apparatus for waveform reproduction | |
JP3303608B2 (ja) | 自動演奏装置 | |
JP3259602B2 (ja) | 自動演奏装置 | |
JP3152104B2 (ja) | テンポ制御装置 | |
JP2551193B2 (ja) | 自動演奏装置 | |
US5945621A (en) | Musical tone control apparatus with envelope processing | |
JP3627319B2 (ja) | 演奏制御装置 | |
JP3319043B2 (ja) | 自動演奏装置 | |
JP3626863B2 (ja) | 電子楽器 | |
JP2557687Y2 (ja) | 電子楽器 | |
JPH06195069A (ja) | 楽曲再生装置 | |
JPH0350556Y2 (ja) | ||
JPH0769687B2 (ja) | 電子楽器 | |
JPH09319365A (ja) | 弦楽器用ピッチ検出装置 | |
JPH09325771A (ja) | 電子楽器 | |
JPH07199931A (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: 20090517 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100517 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110517 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130517 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |