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 を参照してください。
*1 訳者註: 参考: Digi音 Generation : 音楽制作のための情報サイト: クリッピング(clipping)、鈴木直美の「PC Watch先週のキーワード」
*2 訳者註: 参考: マルチチャンネル - Wikipedia