SMFプレイヤーをつくろう!リベンジ「拍子とタイムベース」

ツール制作
スポンサーリンク

はじめに

今回は、現在再生中のSMFが、何分の何拍子のときに、何泊目を演奏しているか。そういう情報を表示させる時の計算方法のメモとなります。

拍子とタイムベース

何分の何拍子のときに、何泊目を演奏しているかを計算するためには次のような情報を知る必要があります。

  • d 分の n 拍子の1拍は、デルタタイムでいうといくつになるか。
  • d 分の n 拍子の1小節は、デルタタイムでいうといくつになるか。

基礎情報
7/4(4分の7拍子)の場合は、1小節に分子の7拍もつということです。また、1拍は、分母の4分音符が基本になっています(分母は必ず2のn乗(0≦n)となる)。つまり、1小節は、4分音符が7つ分の長さあるということです。

タイムベースは、以前のメモより、4分音符の長さが基本となっています。よって、タイムベースを x とおくと。

  • 2分音符の長さは 2x
  • 4分音符の長さは x
  • 8分音符の長さは x/2

のようになっていくわけです。

というわけで、拍子の分母で、一番時間が長い2分音符の長さを y = 2x とおけば

  • 2分音符の長さは y/1
  • 4分音符の長さは y/2
  • 8分音符の長さは y/4

よって、d 分音符の長さは y /(d /2)=2y /d =4x /d なので、

  • d 分の n 拍子の1拍は、デルタタイムでいうと     4*timebase /d
  • d 分の n 拍子の1小節は、デルタタイムでいうと  4*timebase*n /d

あとは、1デルタタイムごとに、これらをふまえて計算していけば、1小節の何拍目を演奏しているか分かります。

おわりに

以前のブログへ SMFプレイヤーをつくろう!リベンジ「セットテンポと分解能」
続く… SMFプレイヤーをつくろう!リベンジ「完成した」

完成したJava製のSMFプレイヤーのダウンロード

コメント

  1. […] natade コンテンツへ移動 ホーム紹介 ← SMFプレイヤーをつくろう!リベンジ「拍子とタイムベース」 SMFプレイヤーをつくろう!リベンジ「ボリューム調節をつけよう」 […]

  2. […] なたで日記 いろいろな思ったこと書きますヽ(^▽^ゞ) by natade コンテンツへ移動 ホーム紹介 ← レンタルサーバーの会社の変更 SMFプレイヤーをつくろう!リベンジ「拍子とタイムベース」 → […]

タイトルとURLをコピーしました