Jump to content


Photo

ReplayGain alternative suggestions & solutions


  • Please log in to reply
4 replies to this topic

#1 CyberTootie

CyberTootie

    Adept

  • Members
  • PipPipPip
  • 55 posts

Posted 27 April 2013 - 06:57 PM

This thread is for collecting information on how to implement a ReplayGain-like procedure in Zoom Player, using the features present in the player.

 

The problem: When utilizing Zoom Player for playback of music videos, their respective volumes can vary dramatically due to the way they are mastered. Adjusting the volume knob for every song change in this scenario isn't practical nor is it always feasible. Limiters and compressors damage the sound quality and are prone to uncontrollable inconsistencies. While muxing an already volume-leveled audio track into every video file is a feasible option, it's not very practical.

 

The solution: ReplayGain support would be nice, but it appears that that's not coming, so innovative use of player and operating system mechanics will have to do.

 

The basics:

We have to utilize Zoom Player's "definition file" system. Definition files are script files that ZP will execute upon the loading of a file. With this procedure in place, the player's volume setting must be left alone, and, in order to change overall playback volume, we will need to utilize Windows' audio mixer.

 

Some issues:

If you already utilize the definition file system for other purposes, implementation is more challenging. Also, the only easy way to disable the ReplayGain-like behavior would be to disable the definition file system in the player, which would also disable the system for those other purposes.

 

This walk-through assumes you understand the definition file system as well as the purpose and basic understandings of ReplayGain. To acquaint yourself with the definition file system, there is a "default.df" file in Zoom Player's root directory, open it as a text document to read more about that.

 

Tip #1: The "SetVolume" definition file entry sets the playback volume as a percentage from 1 to 100. Usage: SetVolume(100)

 

First, I'd recommend putting a set "SetVolume" level inside your default definition file that is significantly lower than 100. Remember, any file played without its own definition file triggers the the default, so unless we specify a value here, ZP will continue to output at the level that we've set for the previously played file. A sudden switch to 100% volume could potentially cause equipment damage, so put in a value you are comfortable with. I go with 25%.

 

Tip #2: You can use the first calculator on this page to convert decibel values to percentages

 

Now we just need to create definition files for any video we'd like to be automatically volume-adjusted for us. In those files, you'll need a SetVolume value. ReplayGain normally works in decibles, but the ZP SetVolume setting works in percentages. What I do is directly convert a ReplayGain decibel level into its closest whole percentage. (For example, -6db to 50.) You may want to factor in more or less decibels depending on your setup and content. But remember, the highest value we can put in is 100 (100%), and with this way of doing things, any files that call for a positive ReplayGain value, we'd have to settle with 100 or mux in a stream that doesn't call for a positive ReplayGain value. Note that this could potentially be remedied with the definition file entry "SetPreAmp", but I am not aware of the value-to-decibel ratio (PreAmp is configurable to 0-200, 100 being normal). Using it would mean you'd have to reset the entry in every definition file that didn't need it as well. Personally, I would avoid such use, but feel free to experiment with it if you so desire and report back your results.

 

Tip #3: foobar2000 will playback the primary audio stream of almost any container format and is a great tool to obtain ReplayGain values.

 

Once our files have proper definition files, we're pretty much set! Make sure to enable to use of definition files in Zoom Player. Now to adjust the overall volume, we'll utilize the Windows' mixer and adjust the volume of the Zoom Player application. To open, right-click on your speaker in the system tray and select "Open Volume Mixer". (I believe this requires Windows Vista or later. Not sure about Windows 8.) An alternative way to change the overall volume would be with the equalizer PreAmp, but remember bringing it over 100 can cause distortion.

 

Enjoy and feel free to comment or add your two cents. I will also try to answer any questions as best as I can.


Edited by CyberTootie, 29 May 2013 - 04:31 AM.


#2 ehathgepiurhe

ehathgepiurhe

    Lead QA

  • Members
  • PipPipPipPipPip
  • 6710 posts

Posted 28 April 2013 - 02:41 AM

The tracker report for ReplayGain support (#179) is still open, so I've added a link to this thread into that report, mentioning these as some possible alternatives, in case bLight doesn't want to add full ReplayGain support (though I think he would have closed the report long ago had he not wanted to do so - I suspect the main issue here is just having the time to add the feature).

 

ehat



#3 GonzalesGorgonzola

GonzalesGorgonzola

    Newbie

  • Members
  • Pip
  • 8 posts

Posted 20 October 2013 - 06:47 PM

If you're looking for an alternative and are open for change, you could use ffdshow for audio decoding and the Stereo Tool Winamp plugin. I couldn't live without it anymore. You can configure everything to your heart's content, but it's a bit complex and the documentation is... almost nonexistant. If you're not well versed in audio-engineering lingo, there's a lot of experimentation and trial-and-error about it. But with the help of built-in presets and said experimentation, even I arrived at exactly the results I was looking for. Which basically means that anyone can do it.



#4 ehathgepiurhe

ehathgepiurhe

    Lead QA

  • Members
  • PipPipPipPipPip
  • 6710 posts

Posted 21 October 2013 - 12:53 AM

If you're looking for an alternative and are open for change, you could use ffdshow for audio decoding and the Stereo Tool Winamp plugin.

 

Thanks, I have linked your post in the tracker report for ReplayGain support.

 

ehat



#5 CyberTootie

CyberTootie

    Adept

  • Members
  • PipPipPip
  • 55 posts

Posted 08 November 2013 - 02:46 AM

"Limiters and compressors damage the sound quality and are prone to uncontrollable inconsistencies."