IPB

Welcome Guest ( Log In | Register )

3 Pages V   1 2 3 >  
Reply to this topicStart new topic
lossyWAV 1.0.0 released., Added noise WAV bit reduction method.
Nick.C
post May 12 2008, 20:53
Post #1


lossyWAV Developer


Group: Developer
Posts: 1813
Joined: 11-April 07
From: Wherever here is
Member No.: 42400



lossyWAV 1.0.0b released:
CODE
lossyWAV 1.0.0b, Copyright 2007,2008 Nick Currie. Copyleft.

This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful,but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
this program.  If not, see <http://www.gnu.org/licenses/>.

Usage   : lossyWAV <input wav file> <options>

Example : lossyWAV musicfile.wav

Quality Options:

-q, --quality <n>   quality preset (10=highest quality, 0=lowest bitrate;
                    -q 5 is generally accepted to be transparent)
                    default=-q 5.

Standard Options:

-c, --check         check if WAV file has already been processed; default=off.
                    errorlevel=16 if already processed, 0 if not.
-C, --correction    write correction file for processed WAV file; default=off.
-f, --force         forcibly over-write output file if it exists; default=off.
-h, --help          display help.
-L, --longhelp      display extended help.
-M, --merge         merge existing lossy.wav and lwcdf.wav files.
-N, --noclips       set allowable number of clips / channel / codec block to 0;
                    default=3,3,3,3,2,1,0,0,0,0,0 (-q 0 to -q 10)
-o, --outdir <dir>  destination directory for the output file(s).
-v, --version       display the lossyWAV version number.

Special thanks:

David Robinson for the method itself and motivation to implement it.
Don Cross for the Complex-FFT algorithm used.
Horst Albrecht for valuable tuning input and feedback.


Explanation, history and lossless codec settings in the wiki article

[edit] 1.0.0b necessitated by unknown WAV chunk handling error and 24-bit --correction / --merge parameter error.

Link to GNU GPLv3+ source code for lossyWAV 1.0.0b [/edit]

N.B.: lossyWAV 1.1.0b released here.


This post has been edited by Nick.C: Mar 20 2009, 23:18
Attached File(s)
Attached File  lossyWAV_1.0.0b.zip ( 64.18K ) Number of downloads: 1953
 


--------------------
lossyWAV -q X -a 4 --feedback 4| FLAC -8 ~= 320kbps
Go to the top of the page
+Quote Post
collector
post May 12 2008, 21:19
Post #2





Group: Members
Posts: 220
Joined: 2-July 04
Member No.: 15029



QUOTE (Nick.C @ May 12 2008, 11:53) *
lossyWAV 1.0.0 released:

Congratulations ! smile.gif
Go to the top of the page
+Quote Post
PabUK
post May 12 2008, 21:20
Post #3





Group: Members
Posts: 19
Joined: 27-October 02
Member No.: 3631



22 minutes late. Bitterly disappointed. sad.gif

Kidding of course. Congrats on the big 1.0(.0). Have been watching the development of this with interest, even if I didn't understand any of the technical discussion. smile.gif
Go to the top of the page
+Quote Post
Nick.C
post May 12 2008, 21:23
Post #4


lossyWAV Developer


Group: Developer
Posts: 1813
Joined: 11-April 07
From: Wherever here is
Member No.: 42400



QUOTE (collector @ May 12 2008, 21:19) *
QUOTE (Nick.C @ May 12 2008, 11:53) *
lossyWAV 1.0.0 released:
Congratulations ! smile.gif
Many thanks!

QUOTE (PabUK @ May 12 2008, 21:20) *
22 minutes late. Bitterly disappointed. sad.gif

Kidding of course. Congrats on the big 1.0(.0). Have been watching the development of this with interest, even if I didn't understand any of the technical discussion. smile.gif
blush.gif I got hung up with the GNU GPL text....

This post has been edited by Nick.C: May 12 2008, 21:24


--------------------
lossyWAV -q X -a 4 --feedback 4| FLAC -8 ~= 320kbps
Go to the top of the page
+Quote Post
Dologan
post May 12 2008, 21:25
Post #5





Group: Members (Donating)
Posts: 478
Joined: 22-November 01
From: United Kingdom
Member No.: 519



emot-toot.gif
Go to the top of the page
+Quote Post
sauvage78
post May 12 2008, 21:32
Post #6





Group: Members
Posts: 677
Joined: 4-May 08
Member No.: 53282



Just Thanks wub.gif

Edit: plz validated news & frontpage mods wink.gif

This post has been edited by sauvage78: May 12 2008, 21:38


--------------------
CDImage+CUE
Secure [Low/C2/AR(2)]
Flac -4
Go to the top of the page
+Quote Post
Nick.C
post May 12 2008, 21:51
Post #7


lossyWAV Developer


Group: Developer
Posts: 1813
Joined: 11-April 07
From: Wherever here is
Member No.: 42400



QUOTE (sauvage78 @ May 12 2008, 21:32) *
Just Thanks wub.gif

Edit: plz validated news & frontpage mods wink.gif
I'm glad it got this far too. Unfortunately, I cannot add a topic to the Validated News forum - it returns a lack of privilege error.


--------------------
lossyWAV -q X -a 4 --feedback 4| FLAC -8 ~= 320kbps
Go to the top of the page
+Quote Post
TBeck
post May 13 2008, 02:17
Post #8


TAK Developer


Group: Developer
Posts: 1098
Joined: 1-April 06
Member No.: 29051



QUOTE (Nick.C @ May 12 2008, 21:51) *
Unfortunately, I cannot add a topic to the Validated News forum - it returns a lack of privilege error.

What about "News Submissions"?

Great work! emot-toot.gif

Thomas
Go to the top of the page
+Quote Post
Mitch 1 2
post May 13 2008, 02:59
Post #9





Group: Members
Posts: 31
Joined: 3-October 06
From: Australia
Member No.: 35904



Nice work. Taking this experimental concept and following through with a usable, high-quality implementation is amazing.


--------------------
lossyFLAC (lossyWAV -q 0; FLAC -b 512 -e)
Go to the top of the page
+Quote Post
Nick.C
post May 13 2008, 07:45
Post #10


lossyWAV Developer


Group: Developer
Posts: 1813
Joined: 11-April 07
From: Wherever here is
Member No.: 42400



QUOTE (TBeck @ May 13 2008, 02:17) *
QUOTE (Nick.C @ May 12 2008, 21:51) *
Unfortunately, I cannot add a topic to the Validated News forum - it returns a lack of privilege error.
What about "News Submissions"?

Great work! emot-toot.gif

Thomas
blush.gif blush.gif Ah.... That would explain a lot.... .... and thanks!


--------------------
lossyWAV -q X -a 4 --feedback 4| FLAC -8 ~= 320kbps
Go to the top of the page
+Quote Post
skamp
post May 13 2008, 08:07
Post #11





Group: Developer
Posts: 1453
Joined: 4-May 04
From: France
Member No.: 13875



All in all, this release came pretty fast, and it's Free Software. Great! Now I just hope someone will port it to unix wink.gif
Aside from that, does lossyWAV compile as a 64-bit program out of the box, or would that need some adaptations too? Also, would a 64-bit build benefit from your ASM optimisations as well? Would upgrading from x87 to SSE improve performance?


--------------------
See my profile for measurements, tools and recommendations.
Go to the top of the page
+Quote Post
Nick.C
post May 13 2008, 08:18
Post #12


lossyWAV Developer


Group: Developer
Posts: 1813
Joined: 11-April 07
From: Wherever here is
Member No.: 42400



QUOTE (skamp @ May 13 2008, 08:07) *
All in all, this release came pretty fast, and it's Free Software. Great! Now I just hope someone will port it to unix wink.gif
Aside from that, does lossyWAV compile as a 64-bit program out of the box, or would that need some adaptations too? Also, would a 64-bit build benefit from your ASM optimisations as well? Would upgrading from x87 to SSE improve performance?
lossyWAV is vanilla Delphi with 32-bit x86 and x87. No SSE instructions have (intentionally) been used - there was a problematic bug in an early build where I inadvertently used an SSE3 instruction (FISTTP) to truncate and store the result of the spreading function which caused compatibility problems for some users. I will be releasing the code shortly (certainly within a few days) and after I have a go at re-writing the chunk-mapping element of the wavIO unit to properly handle un-recognised chunks in the WAV file before the 'data' chunk. (the latest NIN album has a 'PAD ' chunk before the 'data' chunk in the FLAC and 24bit/96kHz versions, so lossyWAV exits with an error code....).
[edit] Using SSE may improve performance, using FISTTP almost certainly would shave a few cycles per codec_block. [/edit]

This post has been edited by Nick.C: May 13 2008, 08:19


--------------------
lossyWAV -q X -a 4 --feedback 4| FLAC -8 ~= 320kbps
Go to the top of the page
+Quote Post
2Bdecided
post May 13 2008, 10:08
Post #13


ReplayGain developer


Group: Developer
Posts: 5362
Joined: 5-November 01
From: Yorkshire, UK
Member No.: 409



Well done Nick, and thank you.

Thank you too to all the people who helped with testing.

Where's the launch party? wink.gif

Cheers,
David.
Go to the top of the page
+Quote Post
Nick.C
post May 13 2008, 10:25
Post #14


lossyWAV Developer


Group: Developer
Posts: 1813
Joined: 11-April 07
From: Wherever here is
Member No.: 42400



QUOTE (2Bdecided @ May 13 2008, 10:08) *
Well done Nick, and thank you.

Thank you too to all the people who helped with testing.

Where's the launch party? wink.gif

Cheers,
David.
Thanks David, that means a lot. It has been a really enjoyable (in the sense that bashing one's head off a wall occasionally is "enjoyable" wink.gif) project to be involved in. Without the help of all the contributors / commenters / constructive critics it would not have been possible.

Thanks again,

Nick.


--------------------
lossyWAV -q X -a 4 --feedback 4| FLAC -8 ~= 320kbps
Go to the top of the page
+Quote Post
Balnes
post May 13 2008, 15:21
Post #15





Group: Members
Posts: 4
Joined: 17-April 08
Member No.: 52850



QUOTE (Nick.C @ May 12 2008, 20:53) *
lossyWAV 1.0.0 released:

Usage : lossyWAV <input wav file> <options>

Example : lossyWAV musicfile.wav

Quality Options:

-q, --quality <n> quality preset (10=highest quality, 0=lowest bitrate;
-q 5 is generally accepted to be transparent)
default=-q 5.


Hello,
I guess this is a beginners question blink.gif , but when I have a wave-file and use lossyWav.exe, I get an exact copy of the original Wave file. Is this correct?
I get no difference if I try "lossyWAV <input wav file> -q 0" or "lossyWAV <input wav file> -q 10" or just "lossyWAV <input wav file>". I always ends up with a new file with lossy.wav filetype, but the exact same file-size as the original.

Balnes
Go to the top of the page
+Quote Post
shadowking
post May 13 2008, 15:42
Post #16





Group: Members
Posts: 1529
Joined: 31-January 04
Member No.: 11664



Very good work. Much appreciated.


--------------------
Wavpack -b450s0.7
Go to the top of the page
+Quote Post
Nick.C
post May 13 2008, 16:01
Post #17


lossyWAV Developer


Group: Developer
Posts: 1813
Joined: 11-April 07
From: Wherever here is
Member No.: 42400



QUOTE (Balnes @ May 13 2008, 15:21) *
Hello,
I guess this is a beginners question blink.gif , but when I have a wave-file and use lossyWav.exe, I get an exact copy of the original Wave file. Is this correct?
I get no difference if I try "lossyWAV <input wav file> -q 0" or "lossyWAV <input wav file> -q 10" or just "lossyWAV <input wav file>". I always ends up with a new file with lossy.wav filetype, but the exact same file-size as the original.

Balnes
It should not be exactly the same size, there is a 'fact' chunk inserted immediately after the 'fmt ' chunk, probably about 50 to 100 bytes long. The WAV file then requires to be encoded with a compatible lossless codec, e.g. FLAC, TAK, WavPack, taking care to set the block size to 512 samples (-b 512 in FLAC) and also to preserve WAV chunks (--keep-foreign-metadata in FLAC). When you compare the filesizes of the FLAC and the lossy.FLAC you should notice a difference.


--------------------
lossyWAV -q X -a 4 --feedback 4| FLAC -8 ~= 320kbps
Go to the top of the page
+Quote Post
halb27
post May 13 2008, 22:03
Post #18





Group: Members
Posts: 2446
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



Hallo Nick,

I've just come home from the extended weekend and seen the good news.

Congratulations, and thank you very much!


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
Nick.C
post May 13 2008, 22:08
Post #19


lossyWAV Developer


Group: Developer
Posts: 1813
Joined: 11-April 07
From: Wherever here is
Member No.: 42400



QUOTE (halb27 @ May 13 2008, 22:03) *
Hallo Nick,

I've just come home from the extended weekend and seen the good news.

Congratulations, and thank you very much!
smile.gif Glad to be of service! wink.gif

[edit] lossyWAV 1.0.0b released, fixes unknown WAV chunk problem and 24-bit correction file / merge problem. [/edit]

This post has been edited by Nick.C: May 13 2008, 22:56


--------------------
lossyWAV -q X -a 4 --feedback 4| FLAC -8 ~= 320kbps
Go to the top of the page
+Quote Post
collector
post May 13 2008, 23:49
Post #20





Group: Members
Posts: 220
Joined: 2-July 04
Member No.: 15029



QUOTE (Nick.C @ May 13 2008, 07:01) *
The WAV file then requires to be encoded with a compatible lossless codec, e.g. FLAC, TAK, WavPack, taking care to set the block size to 512 samples (-b 512 in FLAC) and also to preserve WAV chunks (--keep-foreign-metadata in FLAC).

Please explain why. A flac will be generated anyway. What are the risks when I don't keep that metadata ?
Go to the top of the page
+Quote Post
Nick.C
post May 14 2008, 06:28
Post #21


lossyWAV Developer


Group: Developer
Posts: 1813
Joined: 11-April 07
From: Wherever here is
Member No.: 42400



QUOTE (collector @ May 13 2008, 23:49) *
Please explain why. A flac will be generated anyway. What are the risks when I don't keep that metadata ?
If you don't keep the metadata, you lose the 'fact' chunk, which in turn will not prevent lossyWAV processing the file again.


--------------------
lossyWAV -q X -a 4 --feedback 4| FLAC -8 ~= 320kbps
Go to the top of the page
+Quote Post
collector
post May 14 2008, 10:04
Post #22





Group: Members
Posts: 220
Joined: 2-July 04
Member No.: 15029



QUOTE (Nick.C @ May 13 2008, 21:28) *
QUOTE (collector @ May 13 2008, 23:49) *
What are the risks when I don't keep that metadata ?
If you don't keep the metadata, you lose the 'fact' chunk, which in turn will not prevent lossyWAV processing the file again.

Thanks. So, sadly, that's another way to mislead people. Well, it's not your fault.
Go to the top of the page
+Quote Post
Nick.C
post May 14 2008, 10:19
Post #23


lossyWAV Developer


Group: Developer
Posts: 1813
Joined: 11-April 07
From: Wherever here is
Member No.: 42400



QUOTE (collector @ May 14 2008, 10:04) *
QUOTE (Nick.C @ May 13 2008, 21:28) *
QUOTE (collector @ May 13 2008, 23:49) *
What are the risks when I don't keep that metadata ?
If you don't keep the metadata, you lose the 'fact' chunk, which in turn will not prevent lossyWAV processing the file again.
Thanks. So, sadly, that's another way to mislead people. Well, it's not your fault.
However, it would not be that difficult to check for the lowest set bit per codec-block and "estimate" whether the file had been previously processed. Unfortunately, if someone were to dither the lossyWAV processed file you would lose even that possibility.


--------------------
lossyWAV -q X -a 4 --feedback 4| FLAC -8 ~= 320kbps
Go to the top of the page
+Quote Post
jesseg
post May 14 2008, 11:02
Post #24





Group: Banned
Posts: 218
Joined: 22-December 02
Member No.: 4194



Or if someone dithered to 16bit and saved as 24bit anyways (i've seen it a few times from my mastering clients) it would trigger a false positive. But that's splitting hairs. Hopefully FLAC (and others) will just default to including that information. I already was using it before lossyWAV anyways, because I include lots of meta-data in (some of) my WAV files since i've stopped using DDP.
Go to the top of the page
+Quote Post
ckjnigel
post May 14 2008, 18:51
Post #25





Group: Members
Posts: 218
Joined: 12-October 01
Member No.: 278



Most importantly, I add my congrats. emot-toot.gif
The technical discussion was way over my comprehension abilities blink.gif , but I did pick up that very clever tricks are used.
I'm hoping that there will be A-B testing by the silver-eared and examination of what happens after *.lossy.flac is turned into *,lossy.mp3, *ogg, *m4a or whatever.
Not only do I mull replacing a portion of my full-size 14,000 FLAC files, I'm thinking about a DJ I know who has scruples about using lossy files, but still wants to carry his dance itinerary on a laptop. I.e., can we assure him that a Q 5 *.lossy.flac is as good as "the real thing"?
Go to the top of the page
+Quote Post

3 Pages V   1 2 3 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 22nd December 2014 - 11:58