Due to the problems* in Audacity-Nyquist for calculating the peak level for long tracks, it would be a very useful feature if the peak level of the audio was also sent to Nyquist in an additional global variable.
* For background on the problem, see this thread: http://sourceforge.net/mailarchive/foru ... ty-nyquist
It is desirable for many plug-ins to normalize the output. Many of the plug-ins on the Audacity web-site will automatically attempt to normalize the output (or have an option to do so). The method for doing this is to calculate the peak level, then scale the output by the inverse of the peak level.
- Code: Select all
(mult sound (/ (peak sound NY:ALL)))
Unfortunately this method will cause Audacity to crash when applied to very long tracks due to running out of memory.
There is currently no known method of calculating the peak level while retaining the availability of the audio data without loading the audio data into RAM in full, so the maximum length that can be normalised without making Audacity crash or hang is limited by the amount of available RAM.
The closest method to solving this problem is described here: http://www.cs.cmu.edu/~music/nyquist/debug-plugin.html
The main disadvantage of this method (apart from its complexity) is that it requires normalisation to be done in two passes (running the effect twice).
If Audacity passed to Nyquist the peak level along with the audio, then this problem would alleviated (though not "solved").