スポンサード リンク

Normalize

Normalize (clip, float "volume", bool "show")

クリッピング*1を起こすことなく、波形全体を可能な限り増幅します。

デフォルトでは、クリップは 1.0 に増幅されます。これは、クリッピングを起こさない上限です。これよりも高い値に設定すると、必ずクリッピングを起こり、ひずみが生じます。音量が 1 つ供給されると、他のチャンネルは同じ量に増幅されます。

ピーク値の算出は、最初に音声が要求されたときに行われます。このため、AviSynth が続行されるまで、数秒かかります。

v2.08 から、オプションの引数 show があります。true に設定すると、ひずみが起こらない最大限の増幅を表示します。

マルチチャンネル*2に関しては、たとえチャンネル間のレベルが非常に異なっていたとしても、このフィルタによって個別に増幅されることはありません。音量は最大ピーク値が見つかった後で適用され、別の Amplify フィルタのように影響を及ぼされます。要するに、2 つの非常に異なるチャンネルがある場合、最も音の大きいチャンネルは最も音の低いチャンネルのピークでもあるということです。もし各チャンネルを別々にノーマライズしたいなら、ステレオソースを分離するために GetChannel フィルタを使用しなければなりません。

音声のサンプリング形式は、浮動小数点数に変換されます。ただし、16 ビットの場合は変更されません。

使用例:

# 信号を 98% にノーマライズ
video = AviSource("C:\video.avi")
audio = WavSource("c:\autechre.wav")
audio = Normalize(audio, 0.98)
return AudioDub(video, audio)

# 各チャンネルを別々にノーマライズ
video = AviSource("C:\video.avi")
audio = WavSource("C:\bjoer7000.wav")
left_ch = GetLeftChannel(audio).Normalize
right_ch = GetRightChannel(audio).Normalize
audio = MonoToStereo(left_ch, right_ch)
return AudioDub(video, audio)

# 各チャンネルを別々にノーマライズ
clip = AviSource("D:\Video\rawstuff\stereo-test file_left(-6db).avi")
left_ch = GetChannel(clip,1).Normalize
right_ch = GetChannel(clip,2).Normalize
audio = MergeChannels(left_ch, right_ch)
AudioDub(clip, audio)

註: このページは、AviSynth 2.5.8 RC3 に同梱されている英語版ヘルプの日本語訳です。原文は、AviSynth をインストールしたフォルダ内の Docs/english/corefilters/normalize.htm にあります。なお、このページのテキストおよび画像のライセンスは、オリジナルのそれに準じます。詳しくは、AboutLicense を参照してください。


最終更新日時: 2014-03-11 (火) 03:48:58

スポンサード リンク