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 Turyst04@nextmail.ru