ResampleAudio

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

ResampleAudio проводит высококачественное изменение частоты дискретизации аудио. Преобразование пропускается, если частота дискретизации уже соответствует заданной.

При использовании фрагментарного изменения частоты дискретизации выходная частота получается таким образом:

int(new_rate_numerator / new_rate_denominator + 0.5)
Однако внутри фильтра используется коэффициент преобразования:
new_rate_numerator / (new_rate_denominator * old_sample_rate)
Это приводит к тому, что длительность звука слегка меняется (к чему в целом мы и стремимся).

Начиная с версии 2.53 ResampleAudio принимает любое количество каналов.
Начиная с версии 2.56 ResampleAudio обрабатывает выборки типа float (вещественные) непосредственно. Поддерживается дробное изменение частоты дискретизации.


# преобразовать звук к частоте 48 кГц
source = AviSource("c:\audio.wav")
return ResampleAudio(source, 48000)

# Ускорить в точности на 4% для преобразования кино в Pal
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, что приведет к расхождению в 30 мс в час.

$English Date: 2005/01/18 11:10:51 $
Русский перевод 14.05.2005 Turyst04 [email protected]