Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Wavpack 4.0 & EAC ? (Read 18448 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Wavpack 4.0 & EAC ?

 Hi to all,

I would like to know how to create wavepack lossless and wavpack hybrid via Exact Audio Copy, including ape v2!
As far as I read in this thread, EAC and Wavpack doesn't work together to create files in hybrid mode. Moreover, the description is a little bit confusing to me! I also found a small tutorial here.

But now, as a new final version of wavpack has been released, things may have changed and there is an easy way to let EAC and wavpack 4.0 work together also in hybrid mode? Can anybody give some hints or a small description what kind of command line options should be placed in EAC to let it work in lossless and hybrid mode?

Thanks


Martin

Wavpack 4.0 & EAC ?

Reply #1
use these parameters:

External encoder, file extention = .wv, add id3 = yes

Encoder options:

%s -hb320 -c

change the bitrate as required. Note that -c creates a correction file. -h is optimal compression in both lossless and lossy modes. For lossy it means higher quality and encode is not much slower. I haven't figured out ape2 tags yet though. For pure lossless you omit -b and -c.

Wavpack 4.0 & EAC ?

Reply #2
Quote
As far as I read in this thread, EAC and Wavpack doesn't work together to create files in hybrid mode. Moreover, the description is a little bit confusing to me! I also found a small tutorial here.
[a href="index.php?act=findpost&pid=230800"][{POST_SNAPBACK}][/a]

Yes, there is a problem when using EAC in the hybrid lossless mode that the correction file ends up with the wrong name. This happens because EAC uses a temporary name during the compression process and then renames the output afterward, but doesn't rename the correction file because it doesn't know it exists. (I wish there was an option in EAC to not use temporary names, but I suspect it has something to do with passing names containing international characters on the command-line).

The program Case wrote called "wapet" allows for using APEv2 tags instead of ID3v1 (WavPack accepts both), but it can't do anything about the renaming problem. I saw those solutions in the thread you reference, but I didn't understand how they work either. I actually switched to dBpowerAMP when using hybrid mode (pre 4.0) because of this problem (and it uses APEv2 tags by default).

The solution I have been using for EAC is ugly, but works okay for occasional use. I always create the WavPack files in the lossless mode with the filenames and tags I want. Then, I use wvunpack.exe to unpack them into a temporary folder and use wavpack.exe to pack them again in the hybrid mode with correction files (the wildcard feature makes this easier than it sounds). Finally, I use a program I wrote called copytags.exe to copy all the tags at once (because going through wavs loses the tags).

Lately, I have been using the image file and cuesheet method. Since there's only one correction file it's easy to rename by hand. Then I use foobar to put a single APEv2 tag on the file containing the cuesheet, then use the modified foo_wavpack that shows the single file as separate tracks (Case again!).

I suppose I could write a little utility that could process a folder of WavPack files and figure out which files were matched up (by timestamp only?) and rename the correction files. That's pretty ugly. The nice solution would be if Andre could either have an option to disable use of temporary names or (better) allow the specification of a second output extension that he would check for when renaming.

Sorry I can't offer any better than this... 

Wavpack 4.0 & EAC ?

Reply #3
Is there any prospect of an easier-to-use or better-integrated EAC/Wavpack 4-hybrid solution? It seems that would really help the adoption of hybrid mode.

Wavpack 4.0 & EAC ?

Reply #4
@jrj,

I have asked Andre, the developer of EAC in the digital-inn Forum:

Quote
Hallo Andre,

after the new release of Wavpack 4.0, I would like to ask you to make it possible to let EAC and Wavpack 4.0 work together in hybrid mode.


Have a look at the whole Thread!

Apparently Andre didn't recocnize my question, because he didn't answer! May be you can go to this thread and bring it up again!



Martin

Wavpack 4.0 & EAC ?

Reply #5
I think that Andre probably knows about this issue, although if anyone wants to mention it again I'm sure it wouldn't hurt. Maybe I should send him a card... 

After I finish the Nero plugin (which I must do before my demo expires!) I will look at doing the renaming program I mentioned above. It shouldn't be too hard and wouldn't really be that ugly and might even work with another ripper or in other situations.

Wavpack 4.0 & EAC ?

Reply #6
Since Bryant hasn't released anything yet, here's a really quick Python script that'll accomplish what you want with EAC...
  • Set the parameter scheme to "User Defined Encoder"
  • Set the file extension to ".wv"
  • Set the program path to the path to your Python interpreter
  • Set the additional command line options to: "<location of script> %s %d %o"
This will work in all compression cases (according to my tests).  Since it uses the names passed by EAC, files will still end up with a double extension if you use the "Copy Image & Create CUE Sheet" option, but that's just because of EAC's behavior.

Please feel free to test it and tell me if it crashes HDs, etc.

Also, keep in mind that it's only made to be used with EAC creating hybrid+correction files.  It'll most likely crash or give ugly errors otherwise, since it does no checking for files existing and whatnot.

Wavpack 4.0 & EAC ?

Reply #7
Quote
Since Bryant hasn't released anything yet, here's a really quick Python script that'll accomplish what you want with EAC...

[a href="index.php?act=findpost&pid=237493"][{POST_SNAPBACK}][/a]

Hey, thanks Ariakis, that's cool! 

At first I couldn't figure out how what you did could possibly work until I saw the "%o" thing to provide the original (non-temp) name. I didn't know about that! I don't know if it's new or I just never noticed it, but I could also use the same thing on the wavpack command-line to set the .wvc name somehow. That's also ugly, but not as ugly (and a lot easier) than a renaming program. Perhaps I can put together a quick experimental version next week.

Thanks again! 

Wavpack 4.0 & EAC ?

Reply #8
Credit for that goes to goldenear, I think.  I'd never seen the %o before he used it for his mkaenc application.  It would be nice to find an EAC resource that had that sort of thing. 

Wavpack 4.0 & EAC ?

Reply #9
This thread seemed the most appropriate to ask the following question -

If I want to use WavPack & EAC for lossless compression and include APEv2 tags, I should set EAC to use wapet.exe with the following options -

%d -t "Artist=%a" -t "Title=%t" -t "Album=%g" -t "Year=%y" -t "Track=%n" -t "Genre=%m" -t "Encoded_by=My name here" wavpack.exe -x %s

Is that correct?  I just want to make positively sure before I go on a ripping & lossless encoding spree.

Thanks!

Wavpack 4.0 & EAC ?

Reply #10
Quote
%d -t "Artist=%a" -t "Title=%t" -t "Album=%g" -t "Year=%y" -t "Track=%n" -t "Genre=%m" -t "Encoded_by=My name here" wavpack.exe -x %s

Is that correct?  I just want to make positively sure before I go on a ripping & lossless encoding spree.
[a href="index.php?act=findpost&pid=237990"][{POST_SNAPBACK}][/a]

Looks fine to me. If you can put up with the encoding speed, that will give you very fast decoding and pretty decent compression ratios.


Wavpack 4.0 & EAC ?

Reply #12
I have put together a new experimental set of WavPack executables with a few enhancements, one of which is a new option that should easily allow direct creation of hybrid lossless files using EAC. If a third filename spec is included on the command-line then this is assumed to be the correction file name generated with the %o parameter. So, here's a sample command-line for use with wapet:

%d -t "Artist=%a" -t "Title=%t" -t "Album=%g" -t "Year=%y" -t "Track=%n" -t "Genre=%m" wavpack.exe -hb320c %s %d %o

Note that the %o cannot be specified unless -c is specified. To make this easy I created this simple variation:

...  -hb320 %s %d %c-c %o%c

This uses the "add CRC" checkbox (which does not apply to WavPack) to mean "add correction file". It adds both the -c option and the %o parameter.

In addition to the EAC enhancement, I also fixed a bug that could cause wavpack.exe to crash on mono files, restored the -t option that preserves timestamps, and added a -s option to wvunpack.exe that dumps a file summary (including compression modes used and stored md5 sums).

Get it here:

http://wavpack.com/wp41b.zip

Comments appreciated...

Quote
MAREO 2 supports hybrid encoders

http://www.hydrogenaudio.org/forums/index....ndpost&p=215496
[a href="index.php?act=findpost&pid=238712"][{POST_SNAPBACK}][/a]

Thanks, Kwanbis! Now there are three workable solutions! 

Wavpack 4.0 & EAC ?

Reply #13
Thank you bryant, it works really fine!!!


Martin

 

Wavpack 4.0 & EAC ?

Reply #14
Hi,

I've tested this new experimental set for EAC...and It works fine.  Great job Bryant !!

Wavpack 4.0 & EAC ?

Reply #15
Quote
So, here's a sample command-line for use with wapet:

%d -t "Artist=%a" -t "Title=%t" -t "Album=%g" -t "Year=%y" -t "Track=%n" -t "Genre=%m" wavpack.exe -hb320c %s %d %o


What's the use of wapet here if for wavpack.exe itself you can directly specify a command line option like the following one?

-b320xcm -w "Artist=%a" -w "Title=%t" -w "Album=%g" -w "Year=%y" -w "Track=%n" -w "Genre=%m" %s %d %o

Wavpack 4.0 & EAC ?

Reply #16
Yes, you are right.  You can now use your command line.

David wrote the text quoted before WavPack had the -w switch, which was introduced in version 4.2 (April 2 2005).
I'm on a horse.