ReplayGain with radio stations?
Reply #14 – 2013-03-04 18:38:27
I thought it worth quoting the following post in this thread too (the post itself references this thread), as it's probably to best solution for automatically using R128 Compressor only for radio that I've seen: With thanks to WilB for the useful post quoted below and massive kudos to popatr for the foo_dynamicdsp plugin (copy the dll from the Release folder in the zip into your fb2k components) that lets you specify using titleformatting syntax which chain of additional DSPs you'd like to use (your syntax should return the text of the chain's name or a null string for no chain).Since my media files are already replay gained, I find this plug-in useful for loading the EBU R128 Compressor and applying replay gain on the fly selectively for radio streams so that all radio streams and media library tracks are of similar sound level. The EBU R128 Compressor automatically matches to the ReplayGain standard 89 dB using the standard R-128 algorithm and a reasonable look-ahead. I use a titleformat script of $if($strstr(%path%,'://'),Radio,). The Radio chain contains the EBU R128 Compressor. See also http://www.hydrogenaudio.org/forums/index....=0&p=823073 I just tested WilB's method and was able to adjust the Preferences/Playback pre-amp for non-ReplayGained sources over a 40 dB range (using Apply and waiting for the buffer) with no effect on the output level exactly as It's quite possible to be more specific with the titleformatting string if your situation is different (e.g. if you access ReplayGained files via a full URL containing :// you could instead search to see if either of the ReplayGain gain tags is present and otherwise use the Radio DSP chain)I thought I could improve matters further , so I tested the following as a Custom column in playlist view, and it correctly identified my main library tracks as ReplayGain, but put the text R128Compressor next to all tracks without ReplayGain (including the Windows 7 sample tracks in C:\Users\Public\Music\Sample Music), plus Radio URLs and a couple of test files) $if($or($strstr(%replaygain_album_gain%,' dB'),$strstr(%replaygain_track_gain%,' dB')),ReplayGain,R128Compressor) This did catch files with only a track gain and no album gain too. Thus, I went ahead and tested my version in Dynamic DSP:$if($or($strstr(%replaygain_album_gain%,' dB'),$strstr(%replaygain_track_gain%,' dB')),,R128Comp) I then set up the Chain called R128Comp to contain just the EBU R128 Compressor DSP from mudlord's foo_dsp_effects bundle kode54. This screenshot shows the dialogue boxes and still shows my test column indicating whether ReplayGain or the R128 Compressor should be used with each file. The only very minor downside is that where the EBU_R128 compressor is used it adds a few seconds look-ahead buffering time before playing the Opus format radio stream which is otherwise low latency and barely buffered at all. On file-based playback without RG I don't think there's any reason you couldn't use multiple instances and multiple chains to choose numerous effects where it makes more sense than building numerous similar but different chains. In one or two instances, I might in fact identify some hard-panned stereo files with a comment in their tags and apply some crossfeed DSP to those alone, or conversely detect the word binaural and bypass the crossfeed when I wish to use it by default.