Normalize
From Avisynth wiki
(Difference between revisions)
Raffriff42 (Talk | contribs) m (added category) |
Raffriff42 (Talk | contribs) (formatting, links, phrasing) |
||
Line 1: | Line 1: | ||
− | {{ | + | <div style="max-width:62em" > |
+ | Raises (or lowers) the loudest part of the audio track to a given {{FuncArg|volume}}, which by default is the loudest possible without [[Wikipedia:Clipping_%28audio%29|clipping]]. <br> | ||
+ | This process is called [[Wikipedia:Audio_normalization|''audio normalization'']]. | ||
− | + | ==== Syntax and Parameters ==== | |
+ | {{FuncDef | ||
+ | |Normalize(clip ''clip'' [, float ''volume'' , bool ''show'' ] ) | ||
+ | }} | ||
− | + | :{{Par2|volume|float|1.0}} | |
+ | ::Set the amplitude of the loudest audio peak. Default = 1.0, (or 0[[Wikipedia:DBFS|dB]], the maximum level possible without [[Wikipedia:Clipping_%28audio%29|clipping]]). | ||
+ | ::For a particular decibel level, use the equation {{FuncArg|volume}} = {{Serif|10}}<sup> {{Serif|'''dB''' / 20}}</sup> | ||
+ | ::For example, set a -3dB peak with {{FuncArg|volume}} = 10<sup>-3/20</sup> or 0.7079. | ||
+ | ::Where multiple audio channels are present, all channel gains are set in proportion. For example, if the loudest peak on the loudest channel comes to -10dB, by default a gain of +10dB is applied to all channels. | ||
− | + | :{{Par2|show|bool|false}} | |
+ | ::If ''true'', a text overlay (see image below) will show the maximum amplification possible without distortions. | ||
− | + | ==== Examples ==== | |
+ | * Normalize signal to 98% | ||
+ | <div {{BoxWidthIndent|44|2}} > | ||
+ | video = [[AviSource]]("video.avi") | ||
+ | audio = [[WavSource]]("audio.wav").Normalize(0.98) | ||
+ | return [[AudioDub]](video, audio) | ||
+ | </div> | ||
− | + | * Normalize each channel separately (eg for separate language tracks) | |
+ | <div {{BoxWidthIndent|44|2}} > | ||
+ | video = [[AviSource]]("video.avi") | ||
+ | audio = [[WavSource]]("audio2ch.wav") | ||
+ | left_ch = [[GetChannel]](audio,1).Normalize | ||
+ | right_ch = [[GetChannel]](audio,2).Normalize | ||
+ | return [[AudioDub]](video, [[MergeChannels]](left_ch, right_ch)) | ||
+ | </div> | ||
− | + | * Effect of {{FuncArg|show}}=true with added [[Histogram]], [[Waveform]] and [[Runtime_environment#Special_runtime_variables_and_functions|current_frame]] overlays | |
− | + | <div {{BoxWidthIndent|44|2}} > | |
− | + | LoadPlugin(p + "[[Waveform]]\waveform.dll") | |
− | + | V=[[BlankClip]](pixel_type="YV12", width=480, height=360).[[Loop]] | |
− | return | + | A=[[WavSource]]("music.wav") |
+ | [[AudioDub]](V, A).[[AudioTrim]](0.0, A.[[Clip_properties|AudioDuration]]) | ||
+ | [[ScriptClip]](Last, | ||
+ | \ """[[Subtitle]](Last, "frame "+[[Internal_functions#String|String]]([[Runtime_environment#Special_runtime_variables_and_functions|current_frame]]), align=5)""") | ||
+ | Normalize({{FuncArg|volume}}=1.0, {{FuncArg|show}}=true) | ||
+ | [[Histogram]](mode="audiolevels") | ||
+ | [[Waveform]](window=3) | ||
+ | return Last | ||
+ | </div> | ||
+ | :[[File:NormalizeEx2_v1,0.png]] | ||
+ | :(showing frame 2744, where the loudest peak was detected, but ''Amplify Factor'' is the same for all frames) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Category:Internal filters]] | [[Category:Internal filters]] | ||
[[Category:Audio_filters]] | [[Category:Audio_filters]] |
Revision as of 15:00, 23 February 2016
Raises (or lowers) the loudest part of the audio track to a given volume, which by default is the loudest possible without clipping.
This process is called audio normalization.
Syntax and Parameters
Normalize(clip clip [, float volume , bool show ] )
- float volume = 1.0
- Set the amplitude of the loudest audio peak. Default = 1.0, (or 0dB, the maximum level possible without clipping).
- For a particular decibel level, use the equation volume = 10 dB / 20
- For example, set a -3dB peak with volume = 10-3/20 or 0.7079.
- Where multiple audio channels are present, all channel gains are set in proportion. For example, if the loudest peak on the loudest channel comes to -10dB, by default a gain of +10dB is applied to all channels.
- bool show = false
- If true, a text overlay (see image below) will show the maximum amplification possible without distortions.
Examples
- Normalize signal to 98%
video = AviSource("video.avi") audio = WavSource("audio.wav").Normalize(0.98) return AudioDub(video, audio)
- Normalize each channel separately (eg for separate language tracks)
video = AviSource("video.avi") audio = WavSource("audio2ch.wav") left_ch = GetChannel(audio,1).Normalize right_ch = GetChannel(audio,2).Normalize return AudioDub(video, MergeChannels(left_ch, right_ch))
- Effect of show=true with added Histogram, Waveform and current_frame overlays
LoadPlugin(p + "Waveform\waveform.dll") V=BlankClip(pixel_type="YV12", width=480, height=360).Loop A=WavSource("music.wav") AudioDub(V, A).AudioTrim(0.0, A.AudioDuration) ScriptClip(Last, \ """Subtitle(Last, "frame "+String(current_frame), align=5)""") Normalize(volume=1.0, show=true) Histogram(mode="audiolevels") Waveform(window=3) return Last