SSRC

SSRC (int samplerate, bool "fast")

SSRC (Shibata Sample Rate Converter) - преобразователь частоты дискретизации аудио. Звук всегда преобразовывается к типу float. Этот фильтр дает лучшее качество преобразования, чем ResampleAudio.
В нем использован алгоритм SSRC от Naoki Shibata, который предлагает наилучшее качество преобразования из имеющихся .

Частоты дискретизации 44.1 кГц и 48 кГц популярны в использовании, но пропорция этих двух частот 147:160, а это не малые числа. Однако преобразование частоты дискретизации без ухудшения качества звука требует фильтра очень высокого порядка, и трудно достичь одновременно качества и скорости работы. Этой программе удалось достичь относительно высокой скорости и высокого качества путем мастерски скомбинированных фильтров двух разных видов.

Параметры:

samplerateЧастота дискретизации должна быть целым числом
fastЭто разрешает более быструю обработку при некотором понижении качества. Запретите быструю работу, если выполняется  сильное преобразование частот (с фактором более 2). По умолчанию: true - быстрая работа.

SSRC не может работать с произвольными соотношениями частот входного и выходного клипов. Разрешены только следующие соотношения (смотри SSRC.c):

sfrq = Частота дискретизации исходного клипа
dfrq = Частота дискретизации результирующего клипа
frqgcd = gcd(sfrq,dfrq)   <- наибольший общий делитель
fs1 = dfrq * sfrq / frqgcd
Преобразование возможно если: (fs1/dfrq == 1) или (fs1/dfrq % 2 == 0) или (fs1/dfrq % 3 == 0)
пример проверки возможного преобразования:
sfrq = 44.1 kHz
dfrq = 48 kHz frqgcd = gcd(44100,48000) = 300 fs1 / dfrq = sfrq / frqgcd = sfrq / gcd(sfrq,dfrq) = 44100/300 = 147 и 147%3=0 так как 147 / 3 = 49 = целое

Найти частоту дискретизации исходного клипа можно так

AviSource(...)
Subtitle(string(c.AssumeFPS(23.976,sync_audio=true).AudioRate))

Пример:

# Понизить частоту дискретизации до 44,1 кГц:
SSRC(44100)

История изменений:

v2.54  Исходная реализация

Права собственности на некоторые части SSRC: , Peter Pawlowski. All rights reserved.

$English Date: 2008/12/21 22:02:46 $
Русский перевод 14.05.2005 Turyst04