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: Copyright © 2001-2003, Peter Pawlowski. All rights reserved.

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