ResampleAudio

ResampleAudio (clip, int new_rate_numerator[, int new_rate_denominator])

ResampleAudio は、音声のサンプリング周波数の高品質な変換を行います。サンプリング周波数がすでに与えられたレートである場合、変換はスキップされます。

分数リサンプリング*1を使用するとき、出力される音声のサンプリング周波数は以下の式によって与えられます:

int(new_rate_numerator / new_rate_denominator + 0.5)
しかし、内部で使用されるリサンプリング係数は、以下の通りです:
new_rate_numerator / (new_rate_denominator * 古いサンプリング周波数)
このため、音声の持続時間がわずかに変更されます(これは、一般的には望ましいことです)。

v2.53 から、ResampleAudio は、何チャンネルでも受け付けます。
v2.56 から、ResampleAudio は、直接、浮動小数点サンプルを処理します。分数リサンプリングをサポート。


# 音声を 48kHz にリサンプリング
source = AviSource("c:\audio.wav")
return ResampleAudio(source, 48000)

# PAL 方式のテレシネ用に正確な 4% の速度アップ
Global Nfr_num=25
Global Nfr_den=1
AviSource("C:\Film.avi") # 23.976 fps, 44100Hz
Ar=Audiorate()
ResampleAudio(Ar*FramerateNumerator()*Nfr_den, FramerateDenominator()*Nfr_num)
AssumeSampleRate(Ar)
AssumeFPS(Nfr_num, Nfr_den, False)

正確なリサンプリングを行うには、中間のサンプリング周波数が 42293.706293 である必要があります。もしこれが 42294 に丸められると、1 時間あたりおよそ 30 ミリ秒の変化を引き起こします。

原文 Date: 2005/01/18 11:10:51
日本語訳 $Date: 2008/06/22 07:41:18 $