質問

MIDIのティックを実際の再生秒に変換する方法を知りたいです。

たとえば、MIDI PPQ(四半期あたりのパルス)が1120の場合、実際の再生秒にどのように変換しますか?

役に立ちましたか?

解決

式はです 60000 / (BPM * PPQ) (ミリ秒)。

ここで、BPMはトラックのテンポです(1分あたりのビート)。

(つまり、120 bpmトラックにはMIDI時間があります (60000 / (120 * 192)) または1ティックで2.604 ms。

BPMがわからない場合は、最初にそれを決定する必要があります。 MIDIタイムは、トラックテンポに完全に依存しています。

他のヒント

2つの情報が必要です。

  • ppq (四半期あたりのパルス)。これは、MIDIファイルのヘッダーで1回定義されています。
  • テンポ (四半期あたりのマイクロ秒秒)、それによって定義されます 「セットテンポ」メタイベント 音楽の間に変わる可能性があります。

次のように、ティックは再生数に変換できます。

ticks_per_quarter = <PPQ from the header>
µs_per_quarter = <Tempo in latest Set Tempo event>
µs_per_tick = µs_per_quarter / ticks_per_quarter
seconds_per_tick = µs_per_tick / 1.000.000
seconds = ticks * seconds_per_tick

PPQは「ディビジョン」または「四半期ごとのティック」とも呼ばれます。 資料 上記のリンク。

テンポは一般にBPM(周波数)で表されますが、RAW MIDIは四半期あたりµs(期間)で表すことに注意してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top