Site Seles Home
短編2DADV「赤ちゃんはどこへ行くの?」修正版公開
FreeGameClassic第16回参加作品「赤ちゃんはどこへ行くの?」の微修正バージョンを公開しました。
「赤ちゃんはどこへ行くの?」
* 2012-03-02: v1.02を公開。
* 2012-03-22: v1.03を公開。
メモ:曲の1拍あたりのサンプル数を求める
RPGツクールVX等で ogg 形式の音声ファイルにコメントとして LOOPSTART キーを埋め込んでリピート開始位置を指定することが出来るが、このとき位置を曲冒頭からのサンプル数で指定する必要がある。
曲のテンポが一定であれば1拍あたりのサンプル数が簡単に計算できるので、計算方法をメモしておく。
テンポは1分あたりの拍数を表しているので、まずこれを60で割って1秒あたりの拍数を求める。例えばテンポ120の場合、120/60=2(拍/秒)。
この逆数をとれば1拍あたりの秒数が求まる。例えば2拍/秒の逆数は0.5秒/拍。
あとはこの数値にサンプリングレート(1秒あたりのサンプル数)をかければ、1拍あたりのサンプル数が求まる。0.5秒/拍でサンプリングレートが44.1kHzならサンプル数は0.5 * 44100 = 22050。
電卓とかを使えば簡単に sampling-rate * 60 / tempo で計算できるけど、記号と定数を毎回入力するのは面倒くさいので、計算フォームを作った。
追記:なおサンプル数は時間間隔(秒)にサンプリングレート(サンプル数/秒)を掛ければ求められるので、一般的には「(終端時間 - 開始時間)* サンプリングレート」で求められる。正確なテンポが分からないフリー素材の曲やテンポが揺れるような曲でサンプル数を計算するにはこの方法しかない。
何故か最初この簡単な計算式が思いつかず、上述のテンポを元にした少々ややこしい計算方法を考え出してしまった。アホだー。
ただ時間を計測してサンプル数を求める方法は、ソフトによっては分解能が低くて正確な時間が取得できないケースもあるので、テンポが分かってて、かつ一定なら、テンポを元に計算したほうがより正確なサンプル数が求められて気持ちが良いかも……。