Normalize

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

Amplifica al massimo la waveform evitando il clipping.

Di default il clip è amplificato a 1.0, che è il massimo per evitare il clipping - valori più alti generano sicuramente clipping e distorsioni. Se è fornito un valore per il volume , anche l'altro canale è amplificato allo stesso modo.

Il calcolo del valore di picco è fatto la prima volta che l'audio è richiesto , sicchè ci può essere un ritardo di alcuni secondi prima che AviSynth continui.

A partire dalla v2.08 c'è un argomento opzionale show che se impostato a true mostra la massima amplificazione possibile senza distorsioni.

L'audio multicanale non viene mai amplificato separatamente anche se il livello dei vari canali è molto diverso. Il volume è applicato DOPO che è stato determinato il valore di picco e lavora in sostanza come un Amplify separato. Questo significa che si hanno 2 canali molto diversi fra loro, quello più forte determina il valore di picco anche del più debole. Se si vogliono normalizzare i canali separatamente, si deve usare GetChannel per separare la sorgente stereo.

L' audio sample type è convertito in float o viene lasciato inalterato se 16 bits.

Examples:

# normalizza il segnale al 98%
video = AviSource("C:\video.avi")
audio = WavSource("c:\autechre.wav")
audio = Normalize(audio, 0.98)
return AudioDub(video, audio)

# normalizza separatamente ogni canale
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)

# normalizza separatamente ogni canale
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)

$Date: 2004/09/30 20:46:04 $