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 $