Dynamic Audio Normalizer

Submit portable freeware that you find here. It helps if you include information like description, extraction instruction, Unicode support, whether it writes to the registry, and so on.
Message
Author
User avatar
deathcubek
Posts: 208
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Dynamic Audio Normalizer

#1 Post by deathcubek » Fri Aug 01, 2014 10:44 am

Image

Image

Image

Image

Dynamic Audio Normalizer is a library for advanced audio normalization purposes. It applies a certain amount of gain to the input audio in order to bring its peak magnitude to a target level (e.g. 0 dBFS). However, in contrast to more "simple" normalization algorithms, the Dynamic Audio Normalizer dynamically adjusts the gain factor to the input audio. This allows for applying extra gain to the "quiet" sections of the audio while avoiding distortions or clipping the "loud" sections. In other words: The volume of the "quiet" and the "loud" sections will be harmonized, in the sense that the volume of each section is brought to the same level. Note, however, that the Dynamic Audio Normalizer achieves this goal without applying "dynamic range compressing" in the classical sense. It will retain 100% of the dynamic range within each section of the audio file.

The Dynamic Audio Normalizer is available as a standalone command-line utility and as an effect in the SoX audio processor. Furthermore it can be integrated into your favourite DAW (digital audio workstation), as a VST plug-in, or into your favourite media player, as a Winamp plug-in.
Detailed Info:
http://muldersoft.com/docs/dyauno_readme.html

Download:
https://github.com/lordmulder/DynamicAu ... ses/latest
Last edited by deathcubek on Mon Sep 22, 2014 2:49 pm, edited 4 times in total.
„One of my most productive days was throwing away 1,000 lines of code“ – Ken Thompson

Dreamatorium | In Search Of The Disembodied Sounds | Best Regards!

User avatar
webfork
Posts: 9869
Joined: Wed Apr 11, 2007 8:06 pm
Location: US, Texas
Contact:

Re: Dynamic Audio Normalizer

#2 Post by webfork » Fri Aug 01, 2014 5:42 pm

Very cool. If this works the way I think, it'll save me a lot of time in some audio work I do. Look forward to testing. Does this support anything beyond WAV files?

Thanks!

Edit: DynamicAudioNormalizerCLI.exe is coming up as an issue in Avast!. I think it's coming up because of UPX but whatever. VirusTotal rating is 3/53.

User avatar
deathcubek
Posts: 208
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: Dynamic Audio Normalizer

#3 Post by deathcubek » Sun Aug 03, 2014 1:51 pm

webfork wrote:Edit: DynamicAudioNormalizerCLI.exe is coming up as an issue in Avast!. I think it's coming up because of UPX but whatever. VirusTotal rating is 3/53.
The McAfee result already says Heuristic, which essentially means "this result is highly speculative and probably not a real infection".

And the other two engines that caused false positives, "Bkav" and "CAT-QuickHeal", I haven't even heard of those...
„One of my most productive days was throwing away 1,000 lines of code“ – Ken Thompson

Dreamatorium | In Search Of The Disembodied Sounds | Best Regards!

ozok
Posts: 137
Joined: Sun Jul 15, 2012 5:29 am

Re: Dynamic Audio Normalizer

#4 Post by ozok » Mon Aug 04, 2014 2:21 am

Lord Mulder (author of this tool) uses UPX to compress his exes when he distributes them (not a good practice IMO). Some viruses use UPX too and since Antivirus softwares are way too smart, they mark every exe with such compression with such warnings.

User avatar
deathcubek
Posts: 208
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: Dynamic Audio Normalizer

#5 Post by deathcubek » Mon Aug 04, 2014 4:13 am

ozok wrote:Lord Mulder (author of this tool) uses UPX to compress his exes when he distributes them (not a good practice IMO). Some viruses use UPX too and since Antivirus softwares are way too smart, they mark every exe with such compression with such warnings.
Well, "EXE packers" are perfectly legitimate and widely used. If the anti-virus program raises alarm for a program that clearly is legitimate, this needs to be fixed in the anti-virus program - not worked around on the program's side. It is correct that some malware used EXE packers to hide their code from "simpleminded" anti-virus programs. However just raising alarm because a program file uses an EXE packer clearly is the wrong the solution. It's like the police arrested random people on the streets who are wearing hats - just because some gangsters have been wearing hats too. Proper anti-virus programs have been able to "unpack" packed files and look at the actual code for at least a decade. Ant-virus programs not capable to deal with packed files, especially when we talk about something as widely used as UPX (not some obscure packer) are simply outdated! And indeed, 50 out of 53 anti-virus engines successfully detected that the file is "clean". Only three engines failed. One of them said "Heuristic", which is the same as saying "I'm only speculating here, so most likely the file actually is clean". And the other two (I haven't even heard of those) can probably be ignored safely.
„One of my most productive days was throwing away 1,000 lines of code“ – Ken Thompson

Dreamatorium | In Search Of The Disembodied Sounds | Best Regards!

User avatar
webfork
Posts: 9869
Joined: Wed Apr 11, 2007 8:06 pm
Location: US, Texas
Contact:

Re: Dynamic Audio Normalizer

#6 Post by webfork » Sat Aug 09, 2014 5:56 pm

deathcubek wrote:The McAfee result already says Heuristic, which essentially means "this result is highly speculative and probably not a real infection".
Agreed: it's obviously a false positive. I should have included in my post.
deathcubek wrote:If the anti-virus program raises alarm for a program that clearly is legitimate, this needs to be fixed in the anti-virus program - not worked around on the program's side.
Yeah, this is an ongoing, painful annoyance. We've been dealing with this for years now.

User avatar
deathcubek
Posts: 208
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: Dynamic Audio Normalizer

#7 Post by deathcubek » Wed Aug 13, 2014 11:22 am

Dynamic Audio Normalizer v2.03:
https://github.com/lordmulder/DynamicAu ... s/tag/2.03
Changes between v2.02 and v2.03 [2014-08-11]
* Implemented an optional RMS-based normalization mode
* Added support for "raw" (headerless) audio data
* Added pipeline support, i.e. reading from stdin or writing to stdout
* Enabled FLAC/Vorbis support in the static Win32 binaries
* Various fixes and minor improvements
„One of my most productive days was throwing away 1,000 lines of code“ – Ken Thompson

Dreamatorium | In Search Of The Disembodied Sounds | Best Regards!

User avatar
webfork
Posts: 9869
Joined: Wed Apr 11, 2007 8:06 pm
Location: US, Texas
Contact:

Re: Dynamic Audio Normalizer

#8 Post by webfork » Thu Aug 14, 2014 4:18 pm

Works even better than I hoped. I plan to use this on my voice recordings, who's volume settings are all over the place. I was spending a lot of time with Wavosaur trying to cut down on the various loud bits so they didn't interfere with the regular normalization process, which sets the rest of the file's loudness by the loudest thing on the track. This program gets around that as well as anything I've tried. Will be using it a lot in the month ahead.

Unfortunately we need a non-CLI interface before we can add to the database, but this is still some invaluable freeware.

TP109
Posts: 565
Joined: Sat Apr 08, 2006 7:12 pm
Location: Midwestern US

Re: Dynamic Audio Normalizer

#9 Post by TP109 » Fri Aug 15, 2014 10:29 am


User avatar
deathcubek
Posts: 208
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: Dynamic Audio Normalizer

#10 Post by deathcubek » Sun Aug 17, 2014 9:59 am

webfork wrote:Unfortunately we need a non-CLI interface before we can add to the database, but this is still some invaluable freeware.
Should be straight forward to write a simple GUI front-end.

But it probably makes more sense to integrate this, as a filter, into something like SoX or FFmpeg - for which we have a multitude of GUI's available.

TP109 wrote:How about the The Levelator?
http://www.jakeludington.com/downloads/ ... mizer.html
Without having used their software, this screenshot (from Wikipedia) shows that they use a quite different approach:
http://upload.wikimedia.org/wikipedia/e ... ample1.jpg

Note those huge peaks that exist in the original file (top) and how they have been compressed away in the output file (bottom). Dynamic Audio Normalizer handles this case differently and would retain these peaks.

Which behavior is "better" (or "worse") highly depends on what you are trying to achieve, of course :)
„One of my most productive days was throwing away 1,000 lines of code“ – Ken Thompson

Dreamatorium | In Search Of The Disembodied Sounds | Best Regards!

User avatar
webfork
Posts: 9869
Joined: Wed Apr 11, 2007 8:06 pm
Location: US, Texas
Contact:

Re: Dynamic Audio Normalizer

#11 Post by webfork » Sun Aug 17, 2014 3:53 pm

deathcubek wrote:But it probably makes more sense to integrate this, as a filter, into something like SoX or FFmpeg - for which we have a multitude of GUI's available.
Yeah, makes sense.
TP109 wrote:How about the The Levelator?
http://www.jakeludington.com/downloads/ ... mizer.html
Cool, will check that out.

User avatar
deathcubek
Posts: 208
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: Dynamic Audio Normalizer

#12 Post by deathcubek » Tue Aug 26, 2014 7:20 am

Dynamic Audio Normalizer v2.04:
https://github.com/lordmulder/DynamicAu ... s/tag/2.04
Changes between v2.03 and v2.04 [2014-08-25]
* Added an optional input compression (thresholding) function
* Implemented SoX wrapper → Dynamic Audio Normalizer can now be used as an effect in SoX.
* Improved internal handling of "raw" PCM data
You can now do something like this:
SoX.exe -S "in_original.wav" -o "out_normalized.wav" dynaudnorm
„One of my most productive days was throwing away 1,000 lines of code“ – Ken Thompson

Dreamatorium | In Search Of The Disembodied Sounds | Best Regards!

User avatar
deathcubek
Posts: 208
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: Dynamic Audio Normalizer

#13 Post by deathcubek » Fri Sep 05, 2014 6:17 pm

FWIW, we have a (somewhat) working VST plug-in now, so you can use it in your favorite audio editor:

Image

Image
Last edited by deathcubek on Fri Sep 12, 2014 1:01 pm, edited 1 time in total.
„One of my most productive days was throwing away 1,000 lines of code“ – Ken Thompson

Dreamatorium | In Search Of The Disembodied Sounds | Best Regards!

User avatar
deathcubek
Posts: 208
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: Dynamic Audio Normalizer

#14 Post by deathcubek » Fri Sep 12, 2014 1:00 pm

Dynamic Audio Normalizer v2.05:
https://github.com/lordmulder/DynamicAu ... s/tag/2.05
Changes between v2.04 and v2.05 [2014-09-10]
* Significant overhaul of the compression (thresholding) function
* Implemented VST wrapper → Dynamic Audio Normalizer can now be integrated in any VST host
* Added 64-Bit library and VST plug-in binaries to the Windows release packages
* No longer use __declspec(thread), because it can crash libraries on Windows XP (details)
„One of my most productive days was throwing away 1,000 lines of code“ – Ken Thompson

Dreamatorium | In Search Of The Disembodied Sounds | Best Regards!

User avatar
deathcubek
Posts: 208
Joined: Thu Jul 14, 2011 9:42 am
Location: Island of Lost Minds

Re: Dynamic Audio Normalizer

#15 Post by deathcubek » Sat Sep 20, 2014 2:04 pm

FWIW, we have a working Winamp plug-in now, so you can use it in your favorite audio player:

Image

Latest test version:
http://sourceforge.net/projects/mulders ... p/download
„One of my most productive days was throwing away 1,000 lines of code“ – Ken Thompson

Dreamatorium | In Search Of The Disembodied Sounds | Best Regards!

Post Reply