I know there are lots of other transcoding tools out there, but have you considered Catwalk.exe? It's been around for awhile, but there doesn't seem to be too much interest in it. What it does is "walk" through directories (you give it a starting directory) and performs operations that you specify on files in those directories. You make a .ini file that contains the commands you want to perform on the files. The .ini files are easy to make, and there are examples in the readme, along with a very thorough explanation of how everything works. It's really quite simple. For example, you can transcode a large number of lossless files to lossy ones, create playlists, rename things, modify cuesheets, add tags to files (using any of a number of different methods), and anything else you can think of.
I chose to use catwalk because I was looking for a tool that could encode directories full of newly-ripped cd images in .wav format, to flac images. The reason I do my ripping this way is to save time. Since it takes about 5-6 minutes to rip a cd with EAC as an image, uncompressed, I can sit by the computer and read a book, or watch tv, or whatever, and every 5 minutes put another cd in. You don't have EAC's (IMHO shaky) compression control queue centre loaded up with stuff because the wav files get encoded later, with catwalk. I have catwalk set to encode them to .flac with -8 compression, and I just run it at night, or when I leave the house, or whenever. But this is just one possible use for it, and the other programs in Tangerine's suite of software, which can be found at
http://tangerine.uw.hu/prog
And here's an example .ini file:
CODE
[*.cue]
rem Use the next line to set variables from a CUE file
:: set vars = @fpath@\@file@
rem new variables are:
echo Artist = @artist@
echo Album = @album@
echo Soundfile = @soundfile@
echo Year = @date@
echo Genre = @genre@
echo Comment = @comment@
echo Catalog = @catalog@
echo discid = @discid@
cuemod.exe --cue "@file@" --f "@album@.wav" --t WAVE
REM if cue file does not exist these vars will evaluate as "missing artist" for @artist@, "missing album" for @album@, etc., and "0000" for @year@
REM The artist directory in the FLAC Archive folder is set by the @dir2@ variable.
REM The album field is set by the @album@ variable.
REM Allthe input files must be put in C:\wavs\artist\album\(files).
REM There must be a cuesheet file called "@fname@.cue" in each directory with the wav file. It will be used
REM to add the EAC cuesheet as a vorbis comment to the flac file.
if not exist "@soundfile@" echo "@soundfile@ is not present"
if exist "@artist@ - @album@.wav" rename "@artist@ - @album@.wav" "@album@.wav"
rename "@fpath@\@soundfile@" "@album@.wav"
rename "@fpath@\Range.wav" "@album@.wav"
rename "@fpath@\cdimage.wav" "@album@.wav"
rename "@fpath@\@file@" "@album@.cue"
rename "@fpath@\*@album@.log" "@album@.log"
rename "@fpath@\@artist@ - @album@.log" "@album@.log"
REM Call flac:
flac.exe --verify --replay-gain --delete-input-file --cuesheet="@album@.cue" --tag=ARTIST="@artist@" --tag=ALBUM="@album@" --tag=YEAR=@date@ --tag=GENRE="@genre@" --tag=COMMENT="CD Image" --padding=16384 -8 "@album@.wav"
REM Call Tag.exe to add the EAC cuesheet and extraction log as vorbis comments:
Tag.exe -f "CUESHEET=@fpath@\@album@.cue" "@fpath@\@album@.flac"
Tag.exe -f "EXTRACTIONLOG=@fpath@\@album@.log" "@fpath@\@album@.flac"
REM ====================================
REM Write textfile (semicolon delineated) of all albums processed
REM ====================================
rem ECHO @artist@;@album@;%DATE% >> "F:\FLAC Archive\CDList.txt"
if not exist "F:\Flac Archive\@dir2@\@album@" md "F:\Flac Archive\@dir2@\@album@"
move "@album@.flac" "F:\Flac Archive\@dir2@\@album@"
move "@album@.log" "F:\Flac Archive\@dir2@\@album@"
rem move "@album@.cue" "F:\Flac Archive\@dir2@\@album@"
rd "@fpath@"
rem Use the next line to clear variables
:: clear vars
rem Use the next line to set variables from a CUE file
:: set vars = @fpath@\@file@
rem new variables are:
echo Artist = @artist@
echo Album = @album@
echo Soundfile = @soundfile@
echo Year = @date@
echo Genre = @genre@
echo Comment = @comment@
echo Catalog = @catalog@
echo discid = @discid@
cuemod.exe --cue "@file@" --f "@album@.wav" --t WAVE
REM if cue file does not exist these vars will evaluate as "missing artist" for @artist@, "missing album" for @album@, etc., and "0000" for @year@
REM The artist directory in the FLAC Archive folder is set by the @dir2@ variable.
REM The album field is set by the @album@ variable.
REM Allthe input files must be put in C:\wavs\artist\album\(files).
REM There must be a cuesheet file called "@fname@.cue" in each directory with the wav file. It will be used
REM to add the EAC cuesheet as a vorbis comment to the flac file.
if not exist "@soundfile@" echo "@soundfile@ is not present"
if exist "@artist@ - @album@.wav" rename "@artist@ - @album@.wav" "@album@.wav"
rename "@fpath@\@soundfile@" "@album@.wav"
rename "@fpath@\Range.wav" "@album@.wav"
rename "@fpath@\cdimage.wav" "@album@.wav"
rename "@fpath@\@file@" "@album@.cue"
rename "@fpath@\*@album@.log" "@album@.log"
rename "@fpath@\@artist@ - @album@.log" "@album@.log"
REM Call flac:
flac.exe --verify --replay-gain --delete-input-file --cuesheet="@album@.cue" --tag=ARTIST="@artist@" --tag=ALBUM="@album@" --tag=YEAR=@date@ --tag=GENRE="@genre@" --tag=COMMENT="CD Image" --padding=16384 -8 "@album@.wav"
REM Call Tag.exe to add the EAC cuesheet and extraction log as vorbis comments:
Tag.exe -f "CUESHEET=@fpath@\@album@.cue" "@fpath@\@album@.flac"
Tag.exe -f "EXTRACTIONLOG=@fpath@\@album@.log" "@fpath@\@album@.flac"
REM ====================================
REM Write textfile (semicolon delineated) of all albums processed
REM ====================================
rem ECHO @artist@;@album@;%DATE% >> "F:\FLAC Archive\CDList.txt"
if not exist "F:\Flac Archive\@dir2@\@album@" md "F:\Flac Archive\@dir2@\@album@"
move "@album@.flac" "F:\Flac Archive\@dir2@\@album@"
move "@album@.log" "F:\Flac Archive\@dir2@\@album@"
rem move "@album@.cue" "F:\Flac Archive\@dir2@\@album@"
rd "@fpath@"
rem Use the next line to clear variables
:: clear vars
Since I started using Catwalk a few weeks ago, I got in touch with the author to thank him (and request features). He was really helpful and added those features I requested. I hope some other people give it a try also. It is a really solid program, and so are Tangerine's other tools. Wavsplit.exe is being included with WACK, for example. I also gathered a few threads which have problems that can be solved with catwalk:
Need help with encoding to FLAC and MP3
WACK, MAREO, FLACATTACK, REACT?
Fast, clean and FLAC !
People ask about transcoding all the time. I just want to advertise Catwalk and its complementary programs (found at the above link), to hopefully reduce the number of new, redundant, help requests around here. Besides, it's a great program, and a huge time saver.