Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
4th August 2014, 12:56 | #1 | Link |
Registered User
Join Date: Oct 2009
Location: crow-land
Posts: 540
|
DynamicAudioNormalizer
Saw this and liked the look of it.
http://www.videohelp.com/tools/Dynamic-Audio-Normalizer https://github.com/lordmulder/Dynami...lizer#chap_cfg Did a quick search and it doesn't seem to be mentioned here ? (The author has an interesting id) Any reviews or info ? Is it safe to run ? Thanks. |
4th August 2014, 18:49 | #2 | Link |
Registered User
Join Date: Mar 2011
Posts: 4,823
|
It seems to work very much like the WinAmp "compressor" plugin I've been using with ffdshow for years. I'm not a fan of altering/compressing the audio before encoding it (at least not for general soundtrack audio), so I do it on playback instead, but not everyone uses a PC as a media player. If the DynamicAudioNormalizer works as well as the WinAmp RockSteady plugin, and they seem to work in a similar fashion, it should be a good thing.
If you're interested, I posted about the way I compress audio on playback in this thread. I also included a few samples. I was comparing the RockSteady plugin to Levelator. I wasn't overly excited about Levelator but it's not designed for soundtrack audio. Compressing the audio the traditional way and "compressing it" by increasing the volume of the quiet parts are both susceptible to the same "pumping" problem, where you can hear the volume of background sounds going up and down. The more you compress, the more it's likely to happen. Normalising the way the DynamicAudioNormalizer does it tends to be easier to configure than standard compression though..... well my setup is pretty much set and forget.... I'm not needing to constantly adjust it as you probably would using standard compression. Anyway..... I wouldn't normally compress while encoding, but I will give the DynamicAudioNormalizer a spin at some stage. There's another free WinAmp "compressor" DSP here. Once again you can use it with ffdshow. Same principle, easier to configure. |
4th August 2014, 22:51 | #3 | Link | ||
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
Quote:
At the same time, the Dynamic Audio Normalizer works more like a "standard" normalizer. It simply applies a certain gain factor to the samples, but doesn't prune any samples before that. This means that the maximum gain factor is restricted by the highest magnitude sample. The difference between a "standard" normalizer and the Dynamic Audio Normalizer is that the latter readjusts the gain factor over time, so "quiet" sections of the track can get a stronger amplification than "loud" sections. In a certain way, this also is a dynamic range compression, yes. But within each section the full dynamic range is retained. And if your input file already contains peaks of maximum signal level in regular intervals, it will be passed trough unmodified. It's probably better to think of this as harmonizing the volume of the "quiet" and "loud" sections of the file. And if that isn't desired, then the Dynamic Audio Normalizer is not the proper tool for whatever you are trying to achieve Quote:
Safe? In regard to what?
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 4th August 2014 at 23:35. |
||
5th August 2014, 07:48 | #4 | Link | |
Moderator
Join Date: Feb 2005
Location: Spain
Posts: 6,890
|
Quote:
I don't want to be critic, but if the user question "Is it safe to run?" want say "Is it safe to run always?", I think than is recommended when the track is bad recording or the user want this effect, but many artists (Alan Parsons, Bob Dylan, ...) want your songs with quiet and loud parts like was recorded. But maybe is better than the user answer your question: Safe? In regard to what?
__________________
BeHappy, AviSynth audio transcoder. |
|
5th August 2014, 12:02 | #5 | Link | |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
Quote:
But is the effect always desired/advisable? Probably not
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ |
|
5th August 2014, 12:39 | #6 | Link | |
Registered User
Join Date: Mar 2011
Posts: 4,823
|
Quote:
I've had a brief play with the DynamicAudioNormalizer (this isn't a criticism as it seems to work well) but the default frame length of 500ms seems too large to me. At least for "soundtrack" audio. So I had a look at my RockSteady settings and it's RSM window (which I guess is it's name for "frame length") defaults to 75ms, so I added --frame-len 75 to the commandline along with --gauss-size 11 and so far I much prefer the result, at least for stereo "soundtrack" audio. For example, when going from a loud peak to relative silence with dialogue, the default settings take too long to increase the level of the dialogue for me, whereas with the smaller frame length the dialogue seemed to commence with full amplification. Admittedly if you listen closely the really quiet background stuff behind dialogue is on the verge of "pumping" at times, but it still sounds good to me. And it's definitely better than my TV's "night mode" which does cause audible "pumping". Anyway, each to their own.... thanks for quite a nice audio utility. Last edited by hello_hello; 5th August 2014 at 12:41. |
|
6th August 2014, 00:38 | #7 | Link | |||
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
Quote:
I've had a brief play with the DynamicAudioNormalizer (this isn't a criticism as it seems to work well) but the default frame length of 500ms seems too large to me. At least for "soundtrack" audio. Quote:
Depending on what kind of input you are dealing with and on what you are trying to achieve, you may need to adjust the defaults. You may also want to check out the "maximum gain" setting. With the proper limit, you can allow just enough gain to get sufficient volume in "dialogue" sections, but avoid a further volume in crease in really "quite" sections. Quote:
This is 2014. SSE2 has been supported by mainstream processors since ~2000. Also SSE and SSE2 have been adopted as "core" instructions in all x64 processors. Last but not least, current compilers have moved on to always enable SSE/SSE2 instructions, even for 32-Bit, unless those are explicitly disabled... So I hope you understand that it's about time to have SSE2 enabled in the "standard" builds. If you need to run this on legacy hardware, you'll need to make your own build. (But be aware that all the "external" libraries, such as libsndfile, libvorbis and libFLAC would have to be recompiled as well)
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 6th August 2014 at 02:14. |
|||
6th August 2014, 19:11 | #8 | Link |
Registered User
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
|
Today I had some time to test the software with a variety of CD tracks with different characteristics. I only used the defaults, and I must say that I am very impresssed how musical and artifact-free the results were. Even with critical sources I was unable to detect any pumping. And the dynamic characteristics were preserved nicely, while the quieter parts became much more present than in the original.
The effect might not be strong enough when listening to movie soundtracks at a very low listening volume like hello_hello already pointed out, but IMO the defaults are perfect for "real" music. I was particularly impressed how a rather quiet Jazz track with a very high dynamic range came out (I cover the waterfront by Joy Denalane). I consider this software a winner. Maybe future versions could come with a couple of presets to cover different needs... Any plans to integrate it into LameXP? Does the software support STDIN and STDOUT so it can be used with pipes? Cheers manolito Last edited by manolito; 6th August 2014 at 20:30. |
5th August 2014, 21:41 | #10 | Link | |
Registered User
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
|
Sorry, but could not test the software... The Guru strikes again.
Quote:
Cheers manolito |
|
19th August 2014, 17:35 | #11 | Link | |
Registered User
Join Date: Sep 2010
Posts: 29
|
Quote:
It would be useful for this case scenario (5.1 converted to 2.0 movies in order to hear dialogues)? http://forum.doom9.org/showthread.ph...75#post1637275 many thanks |
|
19th August 2014, 18:10 | #12 | Link | ||
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
Quote:
And if the dialogues are only on some channels while, at the same time, the other channels have "loud" environement noise, using "--no-coupling" may be needed. Quote:
In the next version? Not decided yet...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 19th August 2014 at 18:38. |
||
19th August 2014, 20:55 | #13 | Link | |
Registered User
Join Date: Sep 2010
Posts: 29
|
Quote:
- Original audio track from DVD/Blu-Ray movie (e.g. action movies), DTS/AC3 format/5.1ch (Its dialogue's volume is very low and overpowered from music/background effects when played on 2.0ch tv/audio equipment). - Destination audio track (after conversion): .wav format (or .aac, etc.) with 2ch and clear dialogue's audio (while the music and explosions remain a background effect and don't overpower dialogues). Many thanks |
|
4th August 2014, 19:34 | #14 | Link |
Moderator
Join Date: Feb 2005
Location: Spain
Posts: 6,890
|
The author, LoRd_MuldeR, is a moderator in this forum then, maybe, can help you about this.
I think can be applied to some audios bad recorded, but I don't think is for use always. Good audio tracks have the Dynamic Range than the author want, and compress it is not recommended at all. But, of course, is your choice. I recommend read Loudness war
__________________
BeHappy, AviSynth audio transcoder. |
8th August 2014, 22:48 | #15 | Link |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
Here is a new Test version that features support for "raw" audio data, including reading from the STDIN and writing to the STDOUT. See included manual for details!
http://sourceforge.net/projects/muld...lizer/Testing/ I have also implemented a new optional RMS-based normalization mode for volume adjustment. It can be enabled with the "--target-rms" switch.
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 8th August 2014 at 22:52. |
9th August 2014, 16:38 | #16 | Link |
Registered User
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
|
Sorry, the NON-SSE test version is not working here. It does work when calling it without any parameters or with the -h parameter. But as soon as I want to convert a file, the GURU starts meditating again...
Cheers manolito |
10th August 2014, 01:09 | #17 | Link | |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
Quote:
Did you happen to use FLAC or Vorbis as input or output? This could be a problem, since I was too lazy to recompile those libs as well Anyway, since I already reverted the changes that I did for the last "No SSE" build and also cleaned-up the intermediate files, we will never know. So here is a new attempt: http://sourceforge.net/projects/muld...E.zip/download
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ |
|
10th August 2014, 16:41 | #18 | Link |
Registered User
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
|
My input file was a regular PCM Wave file ripped from an Audio CD. Looks like libsndfile still needed SSE2.
Whatever, the latest version works nicely... Still I am a little confused about the new RMS parameter. I converted several files of the more quiet kind, using the default parameters first, then adding -r 1, and at last using -r 0. Every time the three resulting files were bit identical. Did I do something wrong? Another question: When I process a file which starts rather quiet and stays quiet for about a minute, then gets louder, the processed file (default parameters) will also start quiet, but after about 8 seconds the gain increases. Is there a way to make the processed file start with the increased gain without destroying the dynamics? Reducing the gauss window size does not help. I guess that only a 2-pass approach could solve this. Cheers manolito |
10th August 2014, 18:20 | #19 | Link | ||
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
Good to know.
Quote:
What would a target RMS of zero mean anyway? Only 100% silent audio could have such RMS. Furthermore, a target RMS value of 1.0 is too high. All samples would have to be at 0 dBFS (maximum possible sample value) to reach such RMS value, i.e. you'd need a 100% constant signal level. For a "real" audio signal, with varying signal levels, try something like "--target-rms 0.2". And keep in mind "--target-rms" can only result in lower gain values, compared to not using "--target-rms". Quote:
Naturally, at the very beginning of the file we have no preceding frames. And at the very end of the file we have no subsequent frames. So what gain factors should we assume for those "missing" frames outside the file? Currently, by default, a gain factor of 1.0 is assumed. This results in a smooth "fade in" and "fade out". It also avoids that we start/end with very strong amplification, if the the file starts/ends with silence - as is the case with many files. However, you can use "--alt-boundary" to enable the alternative boundary mode. This will assume the "missing" frames at the beginning/end have the same gain as the very first/last frame in the file...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 10th August 2014 at 18:23. |
||
10th August 2014, 22:48 | #20 | Link | ||
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
Quote:
Consequently, by adding the "--target-rms" switch, the gain factors cannot become even higher. They can only become smaller. This means that you will need to specify a target RMS value that leaves enough room for the normalizer to work. With a target value of 0.5, most frames probably have a much smaller RMS than the target RMS, but it's simply not possible to amplify these frames enough to reach that target RMS. As a result, you will be running into the maximum peak limit all the time. And then, of course, the output is the same that you would have gotten without "--target-rms" Quote:
http://i.imgur.com/NefTxvQ.png The only thing noteworthy is that very short but huge peak (much higher than all the rest of the file!) in the left channel at the very beginning of the file: http://i.imgur.com/cFEu9Dh.png As expected with such input that has almost no volume variation, the resulting gain factors are constant as well – more or less: http://i.imgur.com/ib7gI2K.png Note that the "fade in" and "fade out" effect that we see towards the beginning and the end of the file are expected with the standard boundary mode. That's because we start off (and also end up) with a gain factor of exactly 1.0. The alternative boundary mode changes the behavior at the beginning and at the end of the file. But with your specific file, the huge peak at the beginning prevents even higher gain factors there! As a result, the beginning of the file looks pretty much the same with alternative boundary mode, but towards the end of the file the gain factors are now going up, because the original audio is fading out: http://i.imgur.com/KuGmkJs.png I'm not quite sure what else you have expected. But if we disable the channel coupling and only look at the right channel, which does not have such huge peak at the beginning, we get this: http://i.imgur.com/Hx6YUXB.png
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 10th August 2014 at 23:10. |
||
Thread Tools | Search this Thread |
Display Modes | |
|
|