JP2780476B2 - テンポコントローラ - Google Patents

テンポコントローラ

Info

Publication number
JP2780476B2
JP2780476B2 JP2282853A JP28285390A JP2780476B2 JP 2780476 B2 JP2780476 B2 JP 2780476B2 JP 2282853 A JP2282853 A JP 2282853A JP 28285390 A JP28285390 A JP 28285390A JP 2780476 B2 JP2780476 B2 JP 2780476B2
Authority
JP
Japan
Prior art keywords
tempo
time
score
beat
tapping
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
JP2282853A
Other languages
English (en)
Other versions
JPH04156595A (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 JP2282853A priority Critical patent/JP2780476B2/ja
Publication of JPH04156595A publication Critical patent/JPH04156595A/ja
Application granted granted Critical
Publication of JP2780476B2 publication Critical patent/JP2780476B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 (a)産業上の利用分野 この発明は、シーケンサやリズムマシンなどに対して
実時間で制御されたテンポクロックを与えることのでき
るテンポコントローラに関する。
(b)従来の技術 音楽の最も重要な基本要素の1つに演奏のテンポとい
うものがある。テンポは1つの曲の演奏の中でも様々に
変化し、曲の表情作りの中で大きな役割を果たしてい
る。そのテンポ変化の中には、リタルダンドやアッチェ
レランドのような大局的なテンポ変化や小節内の細かな
テンポの揺らぎなど様々なものが含まれる。電子楽器
で、特にその自動演奏でこのテンポの微妙な変化を与え
るようにできると、より音楽的な表現が可能になる。シ
ーケンサなどでこのテンポの変化を含む自動演奏を行う
場合、最も簡単な方法はそのテンポの変化も予めデータ
として打ち込んでおくことである。
ところが、このようなシーケンサなどでは実時間での
柔軟なテンポ変更を行うことができない。このことはシ
ーケンサは人間との演奏の同期に関しては無能に近く、
人間の演奏者が機械の方に合わせてやらなければならな
いことを意味する。そこで、この問題を解決するために
シーケンサ内で形成されているテンポクロック情報を外
部から与え、しかもこのテンポクロック情報を実時間で
制御する方法が提案されている。テンポを表現する手段
としては最も基本的なものとしてタッピングがある。す
なわち、演奏者はタッピングを行うことによりそのタッ
ピングに基づいてテンポクロックを発生するようにす
る。そして、このような方式では、一般に物理時間と楽
譜時間をコントロールの対象とする。これらの時間の定
義は次のようになる。
物理時間・・・通常の時間である。コンピュータのタイ
マによって生成される、例えばミリ秒単位の時間を意味
する。
楽譜時間・・・楽譜の中での位置を表す。通常1拍の何
分の1かを基本単位として用いる。例えばこの明細書で
は1拍の384分の1を単位として楽譜時間を表現し、MID
I規格ではF8(MIDIクロック)が1拍の24分の1の楽譜
時間を表す単位と解釈される。
上記の方式を使用した従来のテンポコントローラで
は、タップ時の楽譜時間位置が、予め決められた幾つか
の時間範囲のどこに存在するかを判定することによりタ
ップ時の推定楽譜時間位置を求める。第6図(A)はn
拍目と解釈される領域(時間範囲)の一例を示してい
る。この例では、図のT0で示される領域(t0≧T0>t2)
でタッピングが行われると、そのタップによる推定楽譜
時間位置は図のn拍目の位置となる。つまり、n拍目と
解釈される領域はn拍目の前後に半拍分の長さである。
したがって、この範囲を越える位置、例えば図のt3でタ
ップが行われると推定楽譜時間位置はn+1拍目となっ
てしまう。
(c)発明が解決しようとする課題 上記のようなテンポコントローラにおいては、演奏の
テンポがかなり早くなった場合やかなり遅くなった場合
に、操作者の時間間隔が不正確であるゆえ楽譜時間位置
の推定に問題が生じ、操作者の意図しない結果が生じ
る。例えば、第6図(B)に示すようにテンポがかなり
早い場合に、そのテンポを遅くしようとしてタップをや
や遅めに打つと、早くなり過ぎる傾向がある。この場
合、2拍後のところ(n+2拍目)を早めにタップした
と解釈され、結果的にテンポがもっと早くなってしまう
問題が生じる。つまり、テンポを遅くしたい場合には図
のT1の範囲内でタップをしなければならないのに、テン
ポがかなり早いと図のt4の時間でタップをしてしまうこ
とが多い。すると、この位置はn+2拍目と解釈される
領域にあるために、実際には2拍後のことろを早めにタ
ップしたと解釈され結果的にテンポがもっと早くなって
しまうことになる。
また、第6図(C)に示すように、テンポがかなり遅
い場合に、テンポを少し早くしようとしてタップを早め
に打つと、早くなり過ぎて同じ拍を2度タップしたと解
釈され結果的にテンポが早くならない問題が生じる。す
なわち、実際には、領域T2の範囲でタップをしなければ
ならないのに、テンポがかなり遅いために実際には時間
t5の位置でタップをしてしまう可能性が高い。するとこ
の位置はn拍目と解釈される領域にあるために結果的に
テンポが早くならない。
上記のように従来のテンポコントローラでは、テンポ
がかなり早い場合や遅い場合に演奏者や操作者の意図し
ない結果が生じる問題があった。
この発明の目的は、現在のテンポに合わせて、推定楽
譜時間位置を求めるための基準となる時間範囲を前後に
ずらすことにより、上記の不都合を解消したテンポコン
トローラを提供することにある。
(d)課題を解決するための手段 この発明は、演奏データの楽音を順次自動的に出力す
るために、楽譜上の進行位置を表す楽譜時間の進行に基
づいてテンポクロックを出力するテンポクロック出力手
段を有するテンポコントローラにおいて、 タップデータを形成するタッピング手段と、 該タッピング手段によってタップデータが形成された
時点に対応すべき拍位置の楽譜時間である拍位置楽譜時
間を推定するものであって、タッピングと対応する拍を
決定するための楽譜上の各拍位置に対応する所定の範囲
を示す楽譜時間範囲を設定することが可能な拍位置楽譜
時間推定手段と、 該拍位置楽譜時間推定手段が複数のタップデータに基
づいて推定した複数の拍位置楽譜時間に基づいてテンポ
を検出するテンポ検出手段と、 前記テンポ検出手段によって検出されたテンポの値に
応じて、以降の拍位置楽譜時間を推定するための前記楽
譜時間範囲を設定する楽譜時間範囲設定手段と、 を備え、 前記テンポクロック出力手段は、前記テンポ検出手段
が検出したテンポに基づいてテンポクロックを出力する
手段であることを特徴とする。
(e)作用 この発明では、タッピングの度に、現在の(タップ時
の)テンポと予め決められている基準となるテンポとを
比較する。そして、その結果に応じて推定楽譜時間位置
を求めるための時間範囲を相対的に前後にずらす。ここ
で、時間範囲とはタップによる推定楽譜時間位値を求め
るための領域(時間範囲)を言う。例えば第1図(A)
では推定楽譜時間位置がn拍目である場合の時間範囲は
図のT0である。上記テンポの比較結果によりこの時間範
囲が前後にずらされる。一般には、例えば第1図(B)
に示すように、テンポを遅くしたい場合に領域T0をやや
右側方向に長くした方が望ましいと考えられるので、上
記時間範囲を右方向にずらす。また、反対に第1図
(C)に示すようにテンポがかなり遅い場合、少しテン
ポを早くしようとするとタップをやや早く打ちすぎる傾
向にあるために、領域T0を左方向に伸ばす方が望ましい
と考えられる。そこで、この場合には上記時間範囲を左
方向にずらす。このように制御することで、第6図
(B),(C)に示すような不都合が解消される。
なお、推定楽譜時間位置が求められると楽譜時間の更
新が行われるとともに、その更新に応じてテンポクロッ
ク情報を外部に出力する。シーケンサなどではこのテン
ポクロック情報を受けることによって内部の演奏データ
メモリのポインタの進み具合を制御する。それによって
演奏データの出力は操作者(演奏者)の意図する通りに
制御されていく。
(f)実施例 第2図はこの発明の実施例のブロック図を示してい
る。同図の1はテンポコントローラ、2はシーケンサ、
3は音源、4はサウンドシステムを示している。シーケ
ンサ2内の演奏データメモリには予め演奏データが記憶
されている。テンポコントローラ1はシーケンサ2に対
してMIDIケーブルを介してテンポクロック情報を与え
る。実際にはMIDIケーブル上はクロックではなく、F8デ
ータが流れる。また、F8データの他、スタート時にはFA
データが出力され、ストップ時にはFCデータが出力され
る。シーケンサ2はF8データを受けると演奏データメモ
リのポインタを1つ進める。つまり、シーケンサ2はこ
のテンポクロックに基づいて内部の演奏データメモリか
ら演奏データを読み出し音源3に送る。音源3はその演
奏データに対応する波形データを音源メモリから読み出
してサウンドシステム4に出力する。
前記テンポコントローラ1はマイクロコンピュータ1
0、操作パネル11、タイマ12、タップスイッチ13およびM
IDIインターフェース14を備えている。操作パネル11は
スタート/ストップスイッチやその他のスイッチ群を含
む。タイマ12は外部割込タイマとして使用される。タッ
プスイッチ13は通常のオン/オフスイッチである。この
スイッチは操作者がタッピングし易いように、例えば足
の甲の上下動作でオン/オフ動作する物や手の上下動作
でオン/オフ動作する構造の物が望ましい。MIDIインタ
ーフェース14はマイクロコンピュータ10から出力される
テンポクロック情報に基づいて演奏データメモリカウン
トアップ用のF8データをMIDIケーブル15に乗せる。な
お、テンポクロック情報が0のときにはF8データは形成
されない。MIDIケーブル15はMIDIインターフェース14の
MIDIOUT端子に接続される。
シーケンサ2はシーケンサ本体20とMIDIインターフェ
ース21とを含む。MIDIケーブル15はMIDIインターフェー
ス21のMIDIIN端子に接続される。シーケンサ本体20は内
部に設けられている演奏データメモリに図示のような演
奏データを予め記憶している。図のイベントデータ間の
F8の数は楽譜上のイベント間隔に相当する数に等しい。
イベントデータは、例えばKON(NOTE ON),KCD(音
高),VEL(キーベロシティ:音量)から構成され、ポイ
ンタがKONを指した時これらの演奏データを順に音源3
に出力する。
以上の構成により、テンポコントローラ1から出力さ
れるF8データの周期が短くなればシーケンサ2から楽譜
時間が短くなるように演奏データが出力される。また、
反対に上記周期が長くなれば楽譜時間が長くなるように
演奏データが出力される。
次に第3図(A)〜(C)を参照して上記テンポコン
トローラ1の動作を説明する。
第3図(A)はタップスイッチ13が操作されたときの
動作を示している。このフローでは、テンポずれおよび
楽譜時間ずれを求める。
先ず、n1においてタップ時における操作者の意図する
強拍点の楽譜時間の推定を行う。この位置はGuessPosで
表される。このGuessPosは、 GuessPos=(normalizedPos/Beat)*Beat で求められる。ここでBeatは1拍の楽譜時間(384)で
あり、normalizedPosは補正された現在の楽譜位置を表
す。このnormalizedPosは、後述のように基準テンポに
対する現在のテンポの比を求め、この比を補正用計算関
数に当てはめて補正量を求め、この補正量と現在の楽譜
時間を表すCurPosを加算することによって求められる。
つまり、第1図(B)または第1図(C)に示すよう
に、n拍目と解釈される領域T0を左右に相対的にずらす
ための準備を行っている。第4図においてタップ時をt3
とすると、GuessPosは、楽譜時間で1152の位置である。
また、(normalizedPos/Beat)は四捨五入値を返す。し
たがって例えば、現在の物理時間がt3とした場合、norm
alizedPosが960〜1152の間にある場合にはGuessPosは11
52となり、normalizedPosが768〜959の間にある場合に
はGuessPosは768となる。ここで、上述のようにnormali
zedPosは現在の楽譜時間位置を表すCurPosを補正して得
られるようにしているために、第1図(A)〜(C)に
示すように、normalizedPosを求めるのに使用される現
在のテンポと基準となるテンポとの比率および補正量計
算関数によって領域T0が相対的に左右に移動することに
なる。つまり、もし、上記テンポの比率が1である時に
は領域T0は第1図(A)に示すようになり(従来と変わ
らない)、テンポ比率が変わると、第1図(B)または
第1図(C)に示すように領域T0が左右に相対的に移動
する。
続いてn2ではテンポの計算を行う。
テンポの計算は、 newTempo=(GuessPos-PrevPos)/(CurTime-PrevTime) で求められる。
ここで、newTempoは以後実行すべき演奏テンポであ
り、PrevPosは前回の楽譜時間位置を示し、CurTimeは現
在の物理時間を示し、PrevTimeは前回の物理時間を示し
ている。つまり、newTempoは第4図から明らかなように
直線の傾きを表していることに他ならない。
続いてテンポずれの計算を行う(n3)。テンポずれ
は、 tempoDiff−newTempo−curTempo で表される。また、続いてn4で楽譜時間のずれを求め
る。楽譜時間のずれ量posDiffは、 posDiff−normalizedPos−GuessPos で求められる。第4図に示す例ではposDiffは−96であ
る。次にデータの更新を行う。つまりGuessPosをPrevPo
sとして更新し、CurTimeをPrevTimeとして更新する。
第3図(B)はMmsec毎にタイマ割込で実行されるフ
ローチャートである。このフローではタップスイッチが
オンしてから時間ずれとテンポずれを少しづつ解消して
いく動作を行う。また、CurPosを補正して補正後の楽譜
時間であるnormalizedPosを求める動作も実行する。
n10でtempoDiffが0かどうかの判定を行い、tempoDif
fが0であればtempoずれがないから、n12に進みここで
時間ずれの解消ステップを実行する。また、tempoDiff
が0でなければn11でテンポずれの解消ステップを実行
し、続いて時間ずれ解消ステップを実行する。n12の時
間ずれ解消ステップは次の式によって行われる。
CurPos+=posDiff*0.06; posDiff*0.94 ここてで、0.06はタップ時以降の時間ずれ解消率であ
り、予め定められている。この式によって、第4図に示
すようにGuessPosとCurPosとの差が次のタップ時まで少
しづつ解消されていく。
また、n11のテンポずれ解消ステップでは次の式が実
行される。
CurTempo+=incTempo; tempoDiff−=incTempo ここてincTempoはテンポずれの1回当たりの解消量を
示すもので、予め操作パネル11によって入力されてい
る。続いて、n13以下によってnormalizedPosの計算が行
われる。先ずn13においてテンポ比率を求める。テンポ
比率は、 tempoRate=curTempo/originalTempo で求められる。ここで、originalTempoは予め操作パネ
ル11によって入力される基準テンポを表す。次に、n14
において、得られたtempoRateを当てはめることによっ
てCurPosの補正量を求める。この補正量を求めるには第
5図に示す補正量計算関数が使用される。さらに、得ら
れた補正量をCurPosに加算することによってnormalized
Posを求める(n15)。
上記のようにして得られたnormalizedPosは、第3図
(A)のn1およびn14において使用される。
第3図(C)はNmsec毎にタイマ割込によって実行さ
れるフローチャートである。このフローでは、MIDIケー
ブルに対して演奏データメモリのカウントアップのため
のMIDIデータF8を出力する。
n20,n21ではそれぞれ物理時間の維持と楽譜時間の維
持を行う。続いてn22で、現在までのMIDIクロック数を
求める。ここで、MIDIクロック数とはMIDI規格で定めら
れる分解能(1拍当たりのカウント数が24)でのカウン
ト数である。現在までのMIDIクロック数CurF8Countは次
式で求められる。
CurF8Count=CurPos/F8Time ここでF8TimeはMIDI Clock1個当たりの楽譜時間を表
す。
続いてn23でMIDIケーブルに対して出力するMIDI Clo
ckの数すなわちF8データの数を求める。これは、 (CurF8Count−PrevF8Count) で求められる。ここで、PrevF8Countは前回までのMIDI
Clock数を表す。なお、この割込フローが例えば5msec
毎に行われるとした場合、n23で出力されるMIDI Clock
(F8データ)の数は0または1であり、しかも通常の楽
譜の演奏では0がかなり多くたまに1になるものと考え
られる。
次にn24において、 PrevF8Count=CurF8Count を実行して次回の処理のための準備を行ってリターンす
る。
以上の動作により、第1図(B),(C)に示すよう
に、テンポがかなり早い場合や遅い場合にタップを行っ
ても、領域T0は左右に相対的に適当にずれるようになる
ために誤った動作を防止することができる。
なお、本実施例では、テンポがかなり早い場合に領域
T0を相対的に右方向に移動し、テンポがかなり遅い場合
に反対に相対的に左方向に移動するようにしたが、操作
者(演奏者)の間隔によってはこの逆である場合も考え
られる。このような場合に対応するために、第5図に示
す関数の他に特性が逆の関数も用意し、スイッチによっ
て適宜どちらかの関数を選択できるようにすることも可
能である。
また、本実施例では、CurPosを補正することにより領
域T0を相対的に移動させているが、この領域T0を実質的
に移動させることも可能である。
(g)発明の効果 この発明によれば、タップによる推定楽譜時間位置を
求める時の基準となる時間範囲を現在のテンポと基準と
なるテンポとの比に応じて物理時間軸上を前後に相対的
にずらすようにしているために、操作者(演奏者)のタ
ッピング時における自然な間隔に追従することができ、
演奏のテンポがかなり早い場合や遅い場合に意図しない
結果が生じるのを防ぐことができる。
【図面の簡単な説明】
第1図(A)〜(C)はこの発明の原理を説明するため
の図である。第2図はこの発明の実施例のブロック図、
第3図(A)〜(C)はテンポコントローラの動作を示
すフローチャート、第4図は上記テンポコントローラの
動作を説明するための図、第5図は補正用計算関数の一
例を示す図である。また、第6図(A)〜(C)は従来
のテンポコントローラの欠点を説明するための図であ
る。 1……テンポコントローラ、 2……シーケンサ、 3……音源、 4……サウンドシステム。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】演奏データの楽音を順次自動的に出力する
    ために、楽譜上の進行位置を表す楽譜時間の進行に基づ
    いてテンポクロックを出力するテンポクロック出力手段
    を有するテンポコントローラにおいて、 タップデータを形成するタッピング手段と、 該タッピング手段によってタップデータが形成された時
    点に対応すべき拍位置の楽譜時間である拍位置楽譜時間
    を推定するものであって、タッピングと対応する拍を決
    定するための楽譜上の各拍位置に対応する所定の範囲を
    示す楽譜時間範囲を設定することが可能な拍位置楽譜時
    間推定手段と、 該拍位置楽譜時間推定手段が複数のタップデータに基づ
    いて推定した複数の拍位置楽譜時間に基づいてテンポを
    検出するテンポ検出手段と、 前記テンポ検出手段によって検出されたテンポの値に応
    じて、以降の拍位置楽譜時間を推定するための前記楽譜
    時間範囲を設定する楽譜時間範囲設定手段と、 を備え、 前記テンポクロック出力手段は、前記テンポ検出手段が
    検出したテンポに基づいてテンポクロックを出力する手
    段であることを特徴とするテンポコントローラ。
JP2282853A 1990-10-19 1990-10-19 テンポコントローラ Expired - Fee Related JP2780476B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2282853A JP2780476B2 (ja) 1990-10-19 1990-10-19 テンポコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2282853A JP2780476B2 (ja) 1990-10-19 1990-10-19 テンポコントローラ

Publications (2)

Publication Number Publication Date
JPH04156595A JPH04156595A (ja) 1992-05-29
JP2780476B2 true JP2780476B2 (ja) 1998-07-30

Family

ID=17657922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2282853A Expired - Fee Related JP2780476B2 (ja) 1990-10-19 1990-10-19 テンポコントローラ

Country Status (1)

Country Link
JP (1) JP2780476B2 (ja)

Also Published As

Publication number Publication date
JPH04156595A (ja) 1992-05-29

Similar Documents

Publication Publication Date Title
US5227574A (en) Tempo controller for controlling an automatic play tempo in response to a tap operation
US5153362A (en) Electronic musical instrument having pan control function
JP2780476B2 (ja) テンポコントローラ
JP2630054B2 (ja) マルチトラックシーケンサ
JP2653232B2 (ja) テンポコントローラ
JP2940123B2 (ja) テンポコントローラ
JP2780475B2 (ja) テンポコントローラ
US7112736B2 (en) Electronic musical instrument
JP3052476B2 (ja) テンポ情報制御装置
JP2523779B2 (ja) 自動演奏装置
JP3303608B2 (ja) 自動演奏装置
JP2527045B2 (ja) 電子楽器
JP3304889B2 (ja) 電子楽器
JP2569829B2 (ja) 電子楽器
JP2957204B2 (ja) 電子楽器
JP3438617B2 (ja) 自動リズム演奏装置
JP2723515B2 (ja) 自動演奏装置
JP2537963B2 (ja) 自動演奏装置
JPH0863168A (ja) テンポ設定装置
JP2715804B2 (ja) 自動演奏装置
JP3290722B2 (ja) 遅延装置のパラメータ設定装置
JPH04133097A (ja) テンポコントローラ
JPH04156592A (ja) テンポコントローラ
JPH04151694A (ja) テンポコントローラ
JPH04186297A (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: 20090515

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees