SSRC
SSRC (int samplerate, bool "fast")
SSRC (Shibata Sample Rate Converter)は、リサンプラです。音声は、つねに浮動小数点数に変換されます。このフィルタは、ResampleAudio よりも高い音声品質をもたらします。
このフィルタは、利用可能な最高のリサンプリング品質を提供する、Naoki Shibata 氏による SSRC を使用しています。
44.1kHz と 48kHz というサンプリング周波数が広く使用されていますが、これら 2 つの周波数の比は 147:160 であり、これは小さな数字ではありません。それゆえ、音声品質の劣化を伴わないサンプリング周波数変換には非常に多くの命令を含むフィルタが必要となり、品質と速度の両方を実現するのは困難です。しかし、このプログラム(SSRC)は、2 つの異なる種類のフィルタをうまく組み合わせることによって、比較的高速かつ高品質な変換を実現しました。
パラメータ:
samplerate | サンプリング周波数は、整数でなければなりません。 |
fast | このオプションを true にすると、わずかな品質の低下で、より高速な処理を可能にします。大きなサンプリング周波数変換(2 倍より大きい)を行う場合はこれを無効(false)にしてください。デフォルト: true |
SSRC は、ソースクリップと出力クリップとのサンプリング周波数の任意の比に対して機能しません。次の比は許容されます(SSRC.c を参照)*1:
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 = 49 = 整数、ゆえに 147%3=0
ソースクリップのサンプリング周波数は、次のようにして知ることができます
AviSource(...) Subtitle(string(c.AssumeFPS(23.976,sync_audio=true).AudioRate))
使用例:
# 44,1 kHz にダウンサンプリング: SSRC(44100)
更新履歴:
v2.54 | 初版 |
SSRC の一部の著作権に関して: Copyright © 2001-2003, Peter Pawlowski. All rights reserved.
註: このページは、AviSynth 2.5.8 RC3 に同梱されている英語版ヘルプの日本語訳です。原文は、AviSynth をインストールしたフォルダ内の Docs/english/corefilters/ssrc.htm にあります。なお、このページのテキストおよび画像のライセンスは、オリジナルのそれに準じます。詳しくは、AboutLicense を参照してください。