なたで日記

いろいろな思ったこと書きますヽ(^▽^ゞ) by natade

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

with 2 comments

今回は、現在再生中の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プレイヤーのダウンロード

広告

Written by なたで

2009年7月29日 @ 16:08

カテゴリー: program

Tagged with , ,

コメント / トラックバック2件

Subscribe to comments with RSS.

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

    いいね

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

    いいね


コメントをどうぞ(承認された後に公開されます。メールアドレスの記入は自由ですが、記入した場合でも一般公開されることはありません)

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。