re: Sound
Brian Hook <[email protected]> Mon, 16 May 2005 13:45:53 -0400
| Newsgroups | gmane.games.devel.general |
|---|---|
| Message-ID | <2005516134553.118367@GATEWAY> |
> IIRC what you're looking for is called "cross normalization". You > don't average (add all channels together and divide by the number > of channels) because dead channels will attenuate the output too > much; The other issue is how large a window you perform these operations on. Clamping can be done per-sample-slice, but if you average per-sample then your volume is going to be all over the map. > Instead you add the absolute values of all the channels > together (pseudo envelope) and then normalize each channel against > this absolute value. To improve dynamic range this should be done > on a logarithmic scale. This is the similar to "riding the mixing slider", which works, but requires a lot more computational effort as you keep track of a sliding window and perform the normalization (via table lookup hopefully), along with a global volume atenuation. Unfortunately it's still very susceptible to heavy transients, but at least loud sections get compressed down. Something else to look at are compression/limitation DSP algorithms. Brian ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_idt12&alloc_id344&op=click _______________________________________________ Gamedevlists-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/gamedevlists-general Archives: http://sourceforge.net/mailarchive/forum.php?forum_idU7