A little tip (and maybe a request for quality control?)

Frode Petersen fropeter at online.no
Thu Sep 6 19:59:48 UTC 2007


I use Grip to rip my CD's and encode them to ogg files. Doing that, I 
could use vorbisgain to add tags according to the recorded level of each 
song, directly in Grip. This makes all songs play at the same level in 
i.e. XMMS. However, I want the tags calculated per album, so that the 
dynamics is retained as the artist intended it to be, making soft songs 
play soft and loud songs play loud.

I have found a way to do this on all albums at once, and in case someone 
else would like know how, I thougt I'd post it. It would be nice if 
someone more knowledgeable could take a look and see if there are 
problems with the procedure, to avoid potential problems.

I have a directory that acts as a 'root' for the structure I store my 
ogg's in; it contains a directory for each artist, which contains a 
directory for each album of that artist that is encoded. These 
directories contain the ogg files.

Here is what I do (in a terminal window):

1. cd to the 'root' directory mentioned above (NOT the directory named 
/root nor the root directory (just being overly cautious))

2. enter this
	find . -type d -execdir vorbisgain -fa {}/* +

Find goes through every subdirectory recursively and runs the vorbisgain 
command on them, one at a time. (Even if there are no oggs there, I 
think, but no output is produced in that case.)

The 'f' parameter makes vorbisgain check for old tags, and abort the 
processing of that directory, so only newly added albums are processed.

The 'a' parameter makes vorbisgain process the album as a whole instead 
of a track at a time.

It is a (terribly) crude way to do this, I know, but it works. And I 
worked it out without being a bash guru! ;-)

Hope it is useful.
Frode




More information about the fedora-list mailing list