Icecast Streaming Media Server Forum Index Icecast Streaming Media Server
Icecast is a Xiph Foundation Project
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

What sources or CLI players do volume normalizing?

 
Post new topic   Reply to topic    Icecast Streaming Media Server Forum Index -> Source Clients
View previous topic :: View next topic  
Author Message
LiquidRain
Guest





PostPosted: Wed Dec 28, 2005 9:17 pm    Post subject: What sources or CLI players do volume normalizing? Reply with quote

Hello all, I asked this question on IRC but couldn't find an answer I was looking for, and was thinking that asking on the forum might eventually get me a response as more eyes would have a chance to look at it.

My question is a long-shot. I've got a massive collection of music in mixed format (Ogg/MP3) and currently for my radio, I use Foobar2000 to replaygain (normalize the volume), transcode to Ogg, and tag, and then have Ices 2 send the file without re-encoding to Icecast. To maintain the playlist on my radio this way is a time-consuming effort, but in the end the volume on my radio is normalized.

With that explained, the problem is that I use pre-encoded content locked at quality 0 Vorbis. I'd like to increase the quality for my listener base, but the problem is that, well frankly, I don't want to reform the playlist from my collection, re-transcode, and re-tag everything all over, and would much prefer to have the content re-encoded on the fly.

But what sources or command-line players can I use support replaygain (or any volume normalization) and accept both MP3 and Ogg Vorbis, and still allow me to use a script as input? Using X is out of the question, it must be command-line.

Some extra info: my "script" is an HTTP client that reads data from a daemon so the script/database does not need to be on the same machine as the encoder, plus I also have a little experience as a C++ programmer and have been researching programming volume normalizing in the last week. If push comes to shove it's possible I could program it (or my script program) into an existing application. (though if it is C, I'll be more than a little lost) The problem is I am having difficulty finding a good base program to start out with. As an aside, when my "script"/daemon is ready I will be releasing it to the community.
Back to top
EvilOverlord
Forum Admin
Forum Admin


Joined: 12 Jun 2005
Posts: 173
Location: Isle of Man

PostPosted: Tue Jan 03, 2006 8:54 am    Post subject: Reply with quote

are you talking about normalisation here or compression?

A reason you are unable to find software to do what you wish is that you shouldn't be doing it; depending on the range over which this normalisation it being done, you could be horribly mangling the audio.

Aren't your source files suitably normalised anyway?
Back to top
View user's profile Send private message Visit poster's website
LiquidRain
Guest





PostPosted: Fri Jan 06, 2006 6:34 am    Post subject: Reply with quote

Normalization.

With Replaygain (and its twin Vorbisgain), the source file is read, along with an embedded metadata tag that tells the player how far over/under an average of 89dB the music is. (I could be wrong or misleading but that is how I understand it - the gory details can be found at http://www.replaygain.org/ ) Using Foobar2000 as an example, Foobar explains what it does in its playback chain:

Decoder -> Replaygain (volume adjustment) -> DSP chain -> Output

Replay/Vorbis-gain does not modify the source file - a player alters the volume that the file is played back at upon reading the metadata. How this metadata is achieved is by scanning the audio beforehand and then adding the metadata. Normalizing is done at the album and track level and is constant throughout the song/album. (so quiet songs or quiet moments in tracks stay quiet) I use this on my entire collection of MP3s because I found it effectively eliminated the need for me to keep adjusting my volume.

I am (or was - more in a second) merely looking for a source or CLI based player that I can use to decode MP3s and Vorbis files that can adjust the volume of the playback per-song. This is so I can eliminate the step of using pre-encoded content and having to re-encode all my source files, as I plan on raising my bitrate.

I saw another recent post here on the forums about mixplayd - it supports changing volumes for each channel of audio it is processing, as well as crossfading between songs. With some programming on my part by way in my script (that I currently use to control ices) I could read replaygain data and use that to control the volume on mixplayd. I'll see how it goes when I update my script to use it. (which may take a while as I am a touch busy and this is on the backburner as other projects have arised)
Back to top
LiquidRain
Guest





PostPosted: Fri Jan 20, 2006 5:55 pm    Post subject: Reply with quote

As a followup:

MPD (Music Player Daemon) at http://www.musicpd.org/ is coming out with a new version soon (0.12) that does Icecast streaming. It reads all major file formats, crossfades, does ReplayGain on most formats, and is easily "scriptable" using one of the many libraries in various languages (C, Perl, PHP, Python, etc) to control MPD remotely. I've been using the latest svn version at the time of this post (Jan 20th 2006) and it's solid and stable.
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Icecast Streaming Media Server Forum Index -> Source Clients All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2002 phpBB Group
subRebel style by ktauber