Help - Search - Members - Calendar
Full Version: EAC and double encoding
Hydrogenaudio Forums > CD-R and Audio Hardware > CD Hardware/Software
atici
It might be trivial a question, but is there any way that EAC will invoke two encoders for each WAV file before erasing it? I want a lower bitrate MP3 (-alt-preset standard -Z) and MPC --insane on the same disk without losing time to rerip or quality in transcoding for the rest of my music I didn't encode into MPC yet.
dreamliner77
What I do, is rip an image (.wav and .cue) and then mount the image in a virtual drive (Dameon Tools, CloneCD) and use EAC to rip to whatever formats as many times as I'd like.
Amadablam
My Windows box is temporarily unavailable, so you'll have to try this yourself and let us know if this works. I'd advise using the "User Defined Encoder" setting and a "&&" in the command line to indicate two commands, and go ahead and point the "Program used for compression" to lame.exe. Then try this for a command:

CODE
--alt-preset standard -Z %s %d && C:\path\to\mpc\mpc_encoder.exe --insane %s %d


A few concerns...I'm guessing EAC doesn't delete the wave file until the compression window has closed, but if you're having problems with the second half of the compression, you might want to make sure the wave is still there. If not, uncheck the "delete wav after compression" box. Also, I'm not sure what will happen with file extensions - EAC might try sticking the same file extension (whatever you entered above with the encoder and path) onto the 2nd encoded file, therefore overwriting the first file. Maybe the mpc encoder is smart enough to put the right extension on there, or maybe there's some adjusting to the command line that could be done to fix the problem. (I've never used mpc, so I'm guessing on all the mpc stuff here.)

When I get Windows going again and get the time, I'll be sure to try some of this for myself...
Delirium
What I do is rip to FLAC (for tagging support) and then encode flac->ogg and flac->mp3 using some simple Perl scripts (flac->mpc should be pretty easy as well). There also might be support for this (converting tags is the hardest part) in one of the many transcoding frontends.
dewey1973
QUOTE
CODE 
--alt-preset standard -Z %s %d && C:\path\to\mpc\mpc_encoder.exe --insane %s %d


Did anyone test this? I'd be really interested to see if this worked.

Could you append some characters after "%d" to take care of the possible file over write issue? Like use "%dMP3" and %dMPC" to get filenameMP3.mp3 and filemaneMPC.mp3 if EAC wants to add .mp3 to evrything because it's in the preference box?
atici
QUOTE(dewey1973 @ May 6 2003 - 12:19 PM)
Did anyone test this?  I'd be really interested to see if this worked. 

Hmm I thought of the proposed solutions, and that one didn't seem possible. Because EAC was not designed for that purpose. I guess ripping it to an image drive first and then reripping the image is the best solution out there.

BTW I decided to rip everything to MPC --insane as I have been doing and then transcode in the end. I don't know what format I'll be using for portable at the moment. MP4 came so strong.
dewey1973
QUOTE
I guess ripping it to an image drive first and then reripping the image is the best solution out there.


Wouldn't this be making a copy of a copy. I know EAC is acurate but is this safe?
Delirium
QUOTE(dewey1973 @ May 6 2003 - 11:09 AM)
Wouldn't this be making a copy of a copy.  I know EAC is acurate but is this safe?

It should be. The only part where there's really any potential for ripping errors is in the reading from the physical CD, which only happens once (in this case in the cd->image rip). Ripping from an image should be entirely accurate and completely reproducible, since it's just manipulating bits on the hard drive and in memory, which will be read the same way every time -- given a particular image you're ripping from, it will always rip the same way. You should even be able to use burst mode from this, since you're bursting from the hard drive, which is a completely reliable data source (you don't normally read data files off your hard drive 3 times to make sure there wasn't a read error, after all).
DickD
Another possible solution is to rip to a lossless format (either as individual files or one file with CUE sheet with tagging then, for example, use foobar2000 to open the CUE sheet or the individual files, and Convert using diskwriter with foo_mppenc or foo_clienc to encode and copy the tags to the rips. FLAC, Monkey's Audio (.APE) and Wavpack are suitable lossless formats.

This also lets you apply Replaygain even if you're re-encoding for a portable, and the diskwriter can be fed with 24-bit or better data, retaining detail being fed into the encoder.

Another thing with .APE + cuesheet is that LAME with .APE and Cuesheet support can encode and tag individual MP3s (and you have the option of using the gapless mode with or without -t option to suppress the Lame/Xing VBR header frame which might kill the inter-track gaps completely at the expense of incorrect seeking and track duration reporting within headerless tracks). It also depends on whether your portable pre-buffers the start of the next MP3 or not. Gaplessness is where Vorbis or portables (or MPC if that ever happens) could come into their own if it's implemented(unless someone adds properly integrated CUE support to MP3 portables).

I'm not sure whether mppenc will split a CUE sheet, but it will certainly accept .APE lossless input files if mac.exe is in the same folder.

Incidentally, Wavpack's hybrid lossy mode (256-384 kbps) is reputedly great for transcoding, because it just increases the noise floor when it's least audible and doesn't do anything more psychoacoustically clever than that so it avoids introducing any of the common artifacts. It also allows you to keep a lossy file and a difference file, which you can combine to recreate the lossless original. If you just kept the Wavpack lossy file, it might work out smaller than keeping both an mppenc --quality 5 --xlevel and a Lame --alt-preset standard -Z file on your PC.

I don't have an MP3 portable yet, so this hasn't concerned me.
I mostly use Musepack, with standard encoding and xlevel. I do, however, transcode this over analog line-in and Manual Recording Level to my ancient MiniDisc Recordable Walkman (only 74-minute SP mode is available) playing through FB2K with Pause Between Tracks (2.01 sec in DSP) to automate trackmarking (and I might use Crossfeed DSP if I intend to play it on earbuds). If I have the CD readily available and all the tracks are on one CD, I use that in FB2K rather than transcode from MPC, but in each case it's enjoyable to listen to.
dewey1973
What is diskwriter? Is this a seperate program?
atici
QUOTE(DickD @ May 7 2003 - 04:21 AM)
Another possible solution is to rip to a lossless format...

But then one will have to spend extra time in the lossless encoding process.
ak
It can be done using a bat
QUOTE(multi.bat)
lame --alt-preset standard -Z %1 "%~dp1%~2.mp3"
mppenc --insane %1 "%~dp1%~2.mpc"

using user defined encoder:
<sysdir>\cmd.exe

with parameters:
QUOTE
/c multi.bat %s "%n. %a - %t"

You'll need to pass naming scheme to parameter line (e.g %n. %a - %t) and uncheck 'do not open external compressor window' in EAC options\Tools.

If lame, mppenc and multi.bat are in path (e.g in system dir), it should work, although you'll need to tag files and delete .wav's manualy afterwards.
dewey1973
Folks... Someone is listening! ohmy.gif Our prayers have been answered! (w00t)

http://www.hydrogenaudio.org/forums/index....&f=1&t=9163&hl=
kdo
As noted by ak, exactly the same thing can be done using a bat.
I have just figured how to make such bat, so that the tags are written correctly. It's a little bit bigger than ak's one smile.gif
So here it is:bat file for EAC.
Tested it on win2k, seems to work.
It must make one "main" encoding - the one that EAC would think it encodes. And any number of additional encodings. It is also possible to change the output directory for these extra encodings to avoid overwriting (when encoding to the same format, different quality).

EAC settings:
User-defined encoder
.mpc
C:\WINNT\SYSTEM32\CMD.EXE
command line: /Q /C eac_userdef.bat "%a" "%g" "%n" "%t" "%y" "%m" %s %o

CODE

echo 1 (artist)=%1
echo 2  (album)=%2
echo 3  (track)=%3
echo 4  (title)=%4
echo 5   (year)=%5
echo 6  (genre)=%6
echo 7  (input)=%7
echo 8 (origin)=%8
echo .

set drive=%~d7
set dir=%~p7
set name=%~n7
set origin=%~n8
rem ..................We assume that input, output and origin are all in the same directory.
rem ..................Change current drive and dir.
%drive%
cd %drive%%dir%

set mpc_tags=--artist %1 --album %2 --track %3 --title %4 --year %5 --genre %6
set lame_tags=--add-id3v2 --pad-id3v2 --ta %1 --tl %2 --tn %3 --tt %4 --ty %5 --tg %6
set vorbis_tags=..........
set mp4_tags=???....

rem .......................................................................
rem ............ the first (default) encoding -- using EAC-generated input file name
rem ............ (output file extention must be the same as specified in EAC compression options)
rem .......................................................................

rem ....................................................................MPC-1
set comment_tag=--comment "ripped by XYZ, mppenc v1.15r, --standard"
mppenc.exe %mpc_tags% %comment_tag% --standard --xlevel "%name%.wav" "%name%.mpc"


rem .......................................................................
rem ............ Any additional encodings -- using origin name for output,
rem ............ and we can also place the files in any directory
rem ............ (don't forget to change extention, e.g. ".tmp", if necessary)
rem .......................................................................

rem ....................................................................LAME-1
set comment_tag=--tc "ripped by XYZ, lame 3.90.2, --alt-preset standard"
lame.exe %lame_tags% %comment_tag% --alt-preset standard "%name%.wav" "%origin%.mp3"

rem ....................................................................LAME-2
set comment_tag=--tc "ripped by XYZ, lame 3.90.2, --alt-preset 135"
lame.exe %lame_tags% %comment_tag% --alt-preset 135 "%name%.wav" "%name%.tmp"
set outdir=lame_128
if not exist "%outdir%" mkdir "%outdir%"
move "%name%.tmp" "%outdir%\%origin%.mp3"

:end


Edit: I think we can throw away the %d, to avoid the possible "too long command line" bug.
Changed the bat accordingly.
JeanLuc
QUOTE(dewey1973 @ May 6 2003 - 06:09 PM)
QUOTE
I guess ripping it to an image drive first and then reripping the image is the best solution out there.


Wouldn't this be making a copy of a copy. I know EAC is acurate but is this safe?

Ripping from a wav image with the virtual daemon drive is no problem at all ... but remember to deactivate C2 and the drive cache biggrin.gif ... you will still be able to rip at a fantastic 50x ... and you can enter any Name or firmware version for your virtual drive ...
dewey1973
QUOTE
Ripping from a wav image with the virtual daemon drive is no problem at all ... but remember to deactivate C2 and the drive cache...


QUOTE
You should even be able to use burst mode from this...


Any other settings I need to tweak? I'm assuming the offsets should be set to 0, it that true? Should one go through all of the feature and read mode detections that you do when you set up a new drive?

I own CloneCD with the Virtual CloneDrive. So, it will mount a wav image with cue sheet? And then EAC will think it’s a real cd and grab info from freedb etc?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.