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.70.0 release candidate available (Read 10115 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

WavPack 4.70.0 release candidate available

The release candidate (rc) of WavPack 4.70 is available and assuming no bugs are found or last-minute changes suggested, this is essentially final (I know -- I said that about the beta). The impetus for this release was to incorporate some bug fixes that had accumulated since 2009, but I decided to also include a few new features that I had been thinking about, and eventually that snowballed into lots of stuff (and 6 months!)

The most interesting new feature is the ability for the wavpack command-line executable to accept existing wavpack files as input (i.e., transcoding). This allows users to easily change the settings of files in their lossless collection, or convert from older WavPack versions. The process copies all tag information from the source, and even allows modification of the tags. Temp files are also used now when overwriting and a verify option has been added, so it's possible to safely do transcoding in-place.

Note that care should be taken when transcoding to and from lossy files, and lossy to lossless transcoding is not allowed.

This release should generate identical files to the previous release (other than changes from bug fixes) and the performance should be similar (excepting differences from compiler revisions). I also built 64-bit versions for Windows, but they actually perform about the same as the 32-bit versions (at least on my system) so I'm not sure how useful they are or whether they will make it to the final release...any opinions?

I have also updated the Winamp plugin, although this plugin is really intended mostly for older versions of Winamp. For the current Winamp, the plugin that comes in the free "Winamp Essentials Pack" is a better choice (and my installer now mentions that).

New features:
  • transcoding from existing WavPack files (with tag copy)
  • option to verify WavPack file integrity on creation (-v)
  • use temporary files for safer overwriting
  • detect UTF-16LE encoding for tag text files (mostly a Windows thing)
  • transition to Visual Studio 2008 and 64-bit version (Windows)
  • option to allow up to 16 MB APEv2 tag data (--allow-huge-tags)
  • option for wvunpack to suppress audio decoding (useful for extracting only tags with -cc and -xx) (-n)
  • experimental, undocumented option to store float16 and float24 audio data as integers (--store-floats-as-ints)
  • allow channel-order specification on WAV files with WAVEFORMATEXTENSIBLE headers that contain zeroed channel masks
  • add --version and a new command (-f) for getting machine parsable info from wvunpack as discussed in this thread.
  • allow read-only access to APEv2 tags that come at the beginning of files (these are not recommended by any means, but they exist in the wild and this feature allows for easy transcoding)

Bug fixes:
  • seeking to last block failure (after finishing file)
  • memcpy() not always used correctly (Linux targets)
  • unsigned char issue (ARM targets)
  • Winamp plugin not retaining configuration on newer versions of Windows

Windows features ported to Linux:
  • clean handling of ^C
  • console title (with -z to defeat)
  • wildcards in tag specifications
  • 4GB file support on 32-bit OS

Updated manual

Windows 32-bit executables
Windows 64-bit executables
WavPack plugin for Winamp installer
Linux distro

WavPack is now hosted on GitHub here.

Thanks in advance for any testing and/or suggestions! 

WavPack 4.70.0 release candidate available

Reply #1
Quote
I also built 64-bit versions for Windows, but they actually perform about the same as the 32-bit versions (at least on my system) so I'm not sure how useful they are or whether they will make it to the final release...any opinions?

i7 2700K, x86 is faster here

Thanks for this new release.

WavPack 4.70.0 release candidate available

Reply #2
i7 2700K, x86 is faster here

Thank for testing!

On my system (Core2 Duo E8400) it's a little more complicated. Packing "fast" mode is actually about 5% faster on x64, but at higher modes this advantage slowly disappears until in "very high" mode it's a wash. But add in high amounts of "extra" processing and the x86 gets up to a 8% advantage.

The takeaway I think is that the decorrelation code is slower on x64, but everything else might be faster. Certainly work looking into at some point.

WavPack 4.70.0 release candidate available

Reply #3
Oh nice, I am actually going to test every mode later today and post simple results here.

WavPack 4.70.0 release candidate available

Reply #4
x86
Code: [Select]
D:\Music\ToDo>wavpackx86.exe -f "01. Atom Heart Mother.wav"

WAVPACK  Hybrid Lossless Audio Compressor  Win32 Version 4.70.0-rc
Copyright (c) 1998 - 2013 Conifer Software.  All Rights Reserved.

created 01. Atom Heart Mother.wv in 4.78 secs (lossless, 46.80%)


Code: [Select]
D:\Music\ToDo>wavpackx86.exe -f -v "01. Atom Heart Mother.wav"

WAVPACK  Hybrid Lossless Audio Compressor  Win32 Version 4.70.0-rc
Copyright (c) 1998 - 2013 Conifer Software.  All Rights Reserved.

created (and verified) 01. Atom Heart Mother.wv in 9.89 secs (lossless, 46.80%)


Code: [Select]
D:\Music\ToDo>wavpackx86.exe -h "01. Atom Heart Mother.wav"

WAVPACK  Hybrid Lossless Audio Compressor  Win32 Version 4.70.0-rc
Copyright (c) 1998 - 2013 Conifer Software.  All Rights Reserved.

created 01. Atom Heart Mother.wv in 7.57 secs (lossless, 49.72%)


Code: [Select]
D:\Music\ToDo>wavpackx86.exe -h -v "01. Atom Heart Mother.wav"

WAVPACK  Hybrid Lossless Audio Compressor  Win32 Version 4.70.0-rc
Copyright (c) 1998 - 2013 Conifer Software.  All Rights Reserved.

created (and verified) 01. Atom Heart Mother.wv in 15.18 secs (lossless, 49.72%)

x64
Code: [Select]
D:\Music\ToDo>wavpackx64.exe -f "01. Atom Heart Mother.wav"

WAVPACK  Hybrid Lossless Audio Compressor  Win64 Version 4.70.0-rc
Copyright (c) 1998 - 2013 Conifer Software.  All Rights Reserved.

created 01. Atom Heart Mother.wv in 4.68 secs (lossless, 46.80%)


Code: [Select]
D:\Music\ToDo>wavpackx64.exe -f -v "01. Atom Heart Mother.wav"

WAVPACK  Hybrid Lossless Audio Compressor  Win64 Version 4.70.0-rc
Copyright (c) 1998 - 2013 Conifer Software.  All Rights Reserved.

created (and verified) 01. Atom Heart Mother.wv in 9.57 secs (lossless, 46.80%)


Code: [Select]
D:\Music\ToDo>wavpackx64.exe -h "01. Atom Heart Mother.wav"

WAVPACK  Hybrid Lossless Audio Compressor  Win64 Version 4.70.0-rc
Copyright (c) 1998 - 2013 Conifer Software.  All Rights Reserved.

created 01. Atom Heart Mother.wv in 7.53 secs (lossless, 49.72%)


Code: [Select]
D:\Music\ToDo>wavpackx64.exe -h -v "01. Atom Heart Mother.wav"

WAVPACK  Hybrid Lossless Audio Compressor  Win64 Version 4.70.0-rc
Copyright (c) 1998 - 2013 Conifer Software.  All Rights Reserved.

created (and verified) 01. Atom Heart Mother.wv in 14.92 secs (lossless, 49.72%)

Well, I swear when I tested today x86 was faster by half second.

FLAC
Code: [Select]
Total encoding time: 0:05.407, 263.05x realtime

WavPack 4.70.0 release candidate available

Reply #5
just started testing a few moments ago.  used a twelve and a half minute song, so I could more easily tell the difference.  as you can see below, `-hhmrvx6z` took 10% extra time with the 64-bit build.  also, decoding took longer with the 64-bit build.  not sure how that's possible, except maybe because I used `-hhmrvx6z` to encode the file in the first place (point being that it includes -x6).

packing:
Code: [Select]
D:\Music>"wavpack-4.70.0-rc-x86.exe" -hhmrvx6z "01 where it's at [u.n.k.l.e. remix].wav" "pack.hhmrvx6.32.wv"

 WAVPACK  Hybrid Lossless Audio Compressor  Win32 Version 4.70.0-rc
 Copyright © 1998 - 2013 Conifer Software.  All Rights Reserved.

original md5 signature: 8918fd060721e6eacc802b70b80ff7dc
created (and verified) pack.hhmrvx6.32.wv in 510.18 secs (lossless, 39.14%)

D:\Music>"wavpack-4.70.0-rc-x86_64.exe" -hhmrvx6z "01 where it's at [u.n.k.l.e. remix].wav" "pack.hhmrvx6.64.wv"

 WAVPACK  Hybrid Lossless Audio Compressor  Win64 Version 4.70.0-rc
 Copyright © 1998 - 2013 Conifer Software.  All Rights Reserved.

original md5 signature: 8918fd060721e6eacc802b70b80ff7dc
created (and verified) pack.hhmrvx6.64.wv in 561.32 secs (lossless, 39.14%)

D:\Music>"wavpack-4.70.0-rc-x86.exe" -b256hmrvz "01 where it's at [u.n.k.l.e. remix].wav" "pack.b256hmrv.32.wv"

 WAVPACK  Hybrid Lossless Audio Compressor  Win32 Version 4.70.0-rc
 Copyright © 1998 - 2013 Conifer Software.  All Rights Reserved.

original md5 signature: 8918fd060721e6eacc802b70b80ff7dc
created (and verified) pack.b256hmrv.32.wv in 18.22 secs (lossy, 266 kbps)

D:\Music>"wavpack-4.70.0-rc-x86_64.exe" -b256hmrvz "01 where it's at [u.n.k.l.e. remix].wav" "pack.b256hmrv.64.wv"

 WAVPACK  Hybrid Lossless Audio Compressor  Win64 Version 4.70.0-rc
 Copyright © 1998 - 2013 Conifer Software.  All Rights Reserved.

original md5 signature: 8918fd060721e6eacc802b70b80ff7dc
created (and verified) pack.b256hmrv.64.wv in 18.00 secs (lossy, 266 kbps)

D:\Music>"wavpack-4.70.0-rc-x86.exe" -b256chmrvz "01 where it's at [u.n.k.l.e. remix].wav" "pack.b256chmrv.32.wv"

 WAVPACK  Hybrid Lossless Audio Compressor  Win32 Version 4.70.0-rc
 Copyright © 1998 - 2013 Conifer Software.  All Rights Reserved.

original md5 signature: 8918fd060721e6eacc802b70b80ff7dc
created (and verified) pack.b256chmrv.32.wv (+.wvc) in 26.50 secs (lossless, 35.65%)

D:\Music>"wavpack-4.70.0-rc-x86_64.exe" -b256chmrvz "01 where it's at [u.n.k.l.e. remix].wav" "pack.b256chmrv.64.wv"

 WAVPACK  Hybrid Lossless Audio Compressor  Win64 Version 4.70.0-rc
 Copyright © 1998 - 2013 Conifer Software.  All Rights Reserved.

original md5 signature: 8918fd060721e6eacc802b70b80ff7dc
created (and verified) pack.b256chmrv.64.wv (+.wvc) in 26.32 secs (lossless, 35.65%)
unpacking:
Code: [Select]
D:\Music>"wvunpack-4.70.0-rc-x86.exe" -z "01 where it's at [u.n.k.l.e. remix].wv" "unpack 32.wav"

 WVUNPACK  Hybrid Lossless Audio Decompressor  Win32 Version 4.70.0-rc
 Copyright © 1998 - 2013 Conifer Software.  All Rights Reserved.

restored unpack 32.wav in 7.21 secs (lossless, 39.14%)

D:\Music>"wvunpack-4.70.0-rc-x86_64.exe" -z "01 where it's at [u.n.k.l.e. remix].wv" "unpack 64.wav"

 WVUNPACK  Hybrid Lossless Audio Decompressor  Win64 Version 4.70.0-rc
 Copyright © 1998 - 2013 Conifer Software.  All Rights Reserved.

restored unpack 64.wav in 7.57 secs (lossless, 39.14%)
and transcoding:
Code: [Select]
D:\Music>"wavpack-4.70.0-rc-x86.exe" -hhmrvx6z "01 where it's at [u.n.k.l.e. remix].wv" "transcode.32.wv"

 WAVPACK  Hybrid Lossless Audio Compressor  Win32 Version 4.70.0-rc
 Copyright © 1998 - 2013 Conifer Software.  All Rights Reserved.

original md5 signature: 8918fd060721e6eacc802b70b80ff7dc
created (and verified) transcode.32.wv in 523.29 secs (lossless, 39.14%)

D:\Music>"wavpack-4.70.0-rc-x86_64.exe" -hhmrvx6z "01 where it's at [u.n.k.l.e. remix].wv" "transcode.64.wv"

 WAVPACK  Hybrid Lossless Audio Compressor  Win64 Version 4.70.0-rc
 Copyright © 1998 - 2013 Conifer Software.  All Rights Reserved.

original md5 signature: 8918fd060721e6eacc802b70b80ff7dc
created (and verified) transcode.64.wv in 565.94 secs (lossless, 39.14%)

WavPack 4.70.0 release candidate available

Reply #6
  • experimental, undocumented option to store float16 and float24 audio data as integers (--store-floats-as-ints)

Many thanks for this David, Peter has now incorporated playback of wv-float16 and wv-float24 in foobar2000 v1.3 beta 1.
lossyWAV -q X -a 4 -s h -A --feedback 2 --limit 15848 --scale 0.5 | FLAC -5 -e -p -b 512 -P=4096 -S- (having set foobar to output 24-bit PCM; scaling by 0.5 gives the ANS headroom to work)