IPB

Welcome Guest ( Log In | Register )

lossyWAV 1.1.0 released., Added noise WAV bit reduction method.
Nick.C
post Jul 14 2008, 12:34
Post #1


lossyWAV Developer


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



lossyWAV 1.1.0c is now available for download.
CODE
lossyWAV 1.1.0c, Copyright (C) 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/>.

Process Description:

lossyWAV adds white noise to the processed output. The amount of added noise is
based on analysis of the signal levels in the frequency range 20Hz to 16kHz.

If signals above the upper limiting frequency are at an even lower level, they
can be swamped by the added noise. This is usually inaudible, but the behaviour
can be changed by specifying a higher --limit (in the range 16kHz to 20kHz).

For many audio signals, there is little content at very high frequencies, and
forcing lossyWAV to keep the added noise level lower than the content at these
frequencies can increase the bitrate dramatically for no perceptible benefit.

Usage   : lossyWAV <input wav file> <options>

Example : lossyWAV musicfile.wav

Quality Options:

-I, --insane        highest quality output, suitable for transcoding;
-E, --extreme       high quality output, also suitable for transcoding;
-S, --standard      default quality output, considered to be transparent;
-P, --portable      good quality output for DAP use. Not considered to be fully
                    transparent, but considered fit for its intended purpose.

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.
-o, --outdir <t>    destination directory for the output file(s).
-v, --version       display the lossyWAV version number.

Advanced Options:

-                   if filename="-" then WAV input is taken from STDIN.
    --blockdist     show distribution of lowest significant bit of input
                    codec-blocks and bit-removed codec-blocks.
-D, --dither <n>    enable variable PDF dither of output; default=off;
                    0 = rectangular; 1 = triangular; 0.5 = half way between.
-l, --limit <n>     set upper frequency limit to be used in analyses to n Hz;
                    (16000<=n<=20000), default = 16000.
    --linkchannels  Revert to original single bits-to-remove value for all
                    channels rather than channel dependent bits-to-remove.
-q, --quality <n>   quality preset (10=highest quality, 0=lowest bitrate;
                    default = --standard = 5; --insane = 10; --extreme = 7.5;
                    --portable = 2.5)
    --sampledist    show distribution of lowest significant bit of input
                    samples and bit-removed samples.
    --scale <n>     scaling factor from WaveGain, etc; (0.0<n<=8.0),default=1.0
-s, --shaping <n>   enable fixed noise shaping; (0.00<=n<=1.00); default=q/10;
                    0.00 = off, 1.00 = 100% effectiveness, 0.50 = 50%, etc.
    --stdinname <t> pseudo filename to use when input from STDIN.
    --stdout        write processed WAV output to STDOUT.
-w, --writetolog    create (or append to) lossyWAV.log in the output directory.

System Options:

-B, --below         set process priority to below normal.
-d, --detail        enable detailed bits-to-remove information output mode
    --low           set process priority to low.
-n, --nowarnings    suppress lossyWAV warnings.
-Q, --quiet         significantly reduce screen output.
    --silent        no screen output.

Special thanks:

David Robinson      for the publication of his lossyFLAC method, guidance, and
                    the motivation to implement the method as lossyWAV.
Horst Albrecht      for ABX testing, valuable support in tuning the internal
                    presets, constructive criticism and all the feedback.
Sebastian Gesemann  for the noise shaping coefficients and help in using them
                    in the lossyWAV noise shaping implementation.
Don Cross           for the Complex-FFT algorithm used.
Link to the hydrogenaudio wiki article

Suggested foobar2000 converter setup:

lossyFLAC:
CODE
Encoder: c:\windows\system32\cmd.exe
Extension: lossy.flac
Parameters: /d /c c:\"program files"\bin\lossywav - --standard --silent --stdout|c:\"program files"\bin\flac - -b 512 -5 -f -o%d
Format is: lossless or hybrid
Highest BPS mode supported: 24
lossyTAK:
CODE
Encoder: c:\windows\system32\cmd.exe
Extension: lossy.tak
Parameters: /d /c c:\"program files"\bin\lossywav - --standard --silent --stdout|c:\"program files"\bin\takc -e -p2m -fsl512 -ihs - %d
Format is: lossless or hybrid
Highest BPS mode supported: 24
lossyWV:
CODE
Encoder: c:\windows\system32\cmd.exe
Extension: lossy.wv
Parameters: /d /c c:\"program files"\bin\lossywav - --standard --silent --stdout|c:\"program files"\bin\wavpack -hm --blocksize=512 --merge-blocks -i - %d
Format is: lossless or hybrid
Highest BPS mode supported: 24

Enclose the element of the path containing spaces within double quotation marks ("), e.g. C:\"Program Files"\directory_where_executable_is\executable_name. This is a Windows limitation.
N.B.: lossyWAV 1.2.0 development thread here

This post has been edited by Nick.C: Apr 17 2012, 20:51
Attached File(s)
Attached File  lossyWAV_1.1.0c.zip ( 75.56K ) Number of downloads: 932
Attached File  lossyWAV_Source_20090430_2145_1.1.0c.zip ( 201.82K ) Number of downloads: 347
 


--------------------
lossyWAV -q X -a 4 --feedback 4| FLAC -8 ~= 320kbps
Go to the top of the page
+Quote Post
 
Start new topic
Replies
Axon
post Jul 16 2008, 19:02
Post #2





Group: Members (Donating)
Posts: 1984
Joined: 4-January 04
From: Austin, TX
Member No.: 10933



To say nothing about vinyl. Gawd! My needledrop FLACs are shrinking by 45% at --standard!

If there ever was a demonstration of the reduced dynamic range of vinyl, lossyWAV has to be it. But clearly, there's a silver lining to it.

Thanks for the new comparisons Synthetic. It's very interesting to see that TAK actually pulls ahead of FLAC by an additional 2% at -q0, although the gain is eliminated at --standard.
Go to the top of the page
+Quote Post
botface
post Jul 17 2008, 14:22
Post #3





Group: Members
Posts: 355
Joined: 14-January 08
Member No.: 50483



QUOTE (Axon @ Jul 16 2008, 19:02) *
To say nothing about vinyl. Gawd! My needledrop FLACs are shrinking by 45% at --standard!

If there ever was a demonstration of the reduced dynamic range of vinyl, lossyWAV has to be it.

I'm not sure that's a valid conclusion. 45% is about right for FLAC:LossyFLAC irrespective of the source. I did some tests a few months ago when I first came accross LossyWav. I didn't keep most of the results but I do still have one set of test data left. This was the first side of Dire Straits 1st LP (or first 5 tracks if you're looking at the CD).

For CD the figures were:
The uncompressed WAVs were 200 Mb
After FLAC processing (can't remember the level I used) it became 111Mb
Processing Via LossyWav --Standard/FLAC 5 it became 63.2Mb.
That's a reduction of around 43% compared with the FLAC'd data and 68.4%(ish) against the WAVs

For Vinyl the figures were:
The uncompressed WAVs (@16/44.1) were 194.4 Mb (presumably slightly less than CD due to speed inaccuracy of the turntable)
After FLAC processing (again I can't remember the level I used) it became 109Mb
Processing Via LossyWav --Standard/FLAC 5 it became 62.6Mb.
That's a reduction of around 43% compared with the FLAC'd data and 67.8%(ish) against the WAVs

I'd say they're pretty similar.

I also checked the same tracks recorded from vinyl at 24/48 to see what happened. The resultant LossyWav --Standard/FLAC 5 files came out at 64.7Mb. That's about 79% smaller than the original WAVs (which were 315.5Mb) but still bigger than the same files at 16/44.1 albeit by only a couple of Mb. However, I interpreted it to mean that recording from vinyl at 24/48 was worthwhile as LossWav was obviously finding some of the extra data to be worth keeping, although it may only be the potential extra data in the 22 - 24 kHz range, while the resulting files were only marginally bigger than the 16/44.1 ones.

Obviously one can't draw any hard conclusions from a few tracks but at the time I did get similar figures with several other albums in different genres.
Go to the top of the page
+Quote Post

Posts in this topic
- Nick.C   lossyWAV 1.1.0 released.   Jul 14 2008, 12:34
- - botface   QUOTE (Nick.C @ Jul 14 2008, 12:34) lossy...   Jul 14 2008, 13:47
|- - Nick.C   QUOTE (botface @ Jul 14 2008, 13:47) Well...   Jul 14 2008, 19:32
- - Axon   Yayayay! Thanks a lot Nick. Has there been a ...   Jul 14 2008, 19:55
|- - Nick.C   QUOTE (Axon @ Jul 14 2008, 19:55) Has the...   Jul 14 2008, 20:23
|- - carpman   QUOTE (Axon @ Jul 14 2008, 19:55) Has the...   Jul 14 2008, 20:38
|- - Nick.C   QUOTE (carpman @ Jul 14 2008, 20:38) QUOT...   Jul 14 2008, 20:54
- - Axon   Yeah, I'm mainly curious as to if comparing lo...   Jul 14 2008, 20:50
|- - Synthetic Soul   QUOTE (Axon @ Jul 14 2008, 20:50) Yeah, I...   Jul 16 2008, 14:42
|- - Nick.C   QUOTE (Synthetic Soul @ Jul 16 2008, 14:4...   Jul 16 2008, 16:30
|- - Synthetic Soul   QUOTE (Synthetic Soul @ Jul 16 2008, 14:4...   Jul 18 2008, 11:45
|- - halb27   QUOTE (Synthetic Soul @ Jul 18 2008, 12:4...   Jul 18 2008, 12:33
|- - Nick.C   QUOTE (halb27 @ Jul 18 2008, 12:33) If th...   Jul 18 2008, 18:43
|- - Nick.C   QUOTE (halb27 @ Jul 18 2008, 12:33) If th...   Jul 19 2008, 20:30
|- - halb27   QUOTE (Nick.C @ Jul 19 2008, 21:30) QUOTE...   Jul 19 2008, 21:57
- - sauvage78   thks Nick, now that noise shaping was done in 1.1....   Jul 14 2008, 21:21
|- - Nick.C   QUOTE (sauvage78 @ Jul 14 2008, 21:21) th...   Jul 14 2008, 21:38
- - Agent69   Out of curiousity, and with all due respect to its...   Jul 16 2008, 13:44
|- - 2Bdecided   QUOTE (Agent69 @ Jul 16 2008, 13:44) Out ...   Jul 16 2008, 17:10
|- - Nick.C   QUOTE (2Bdecided @ Jul 16 2008, 17:10) QU...   Jul 16 2008, 19:11
- - carpman   Your question assumes that disk space is never an ...   Jul 16 2008, 14:25
- - Axon   To say nothing about vinyl. Gawd! My needledro...   Jul 16 2008, 19:02
|- - botface   QUOTE (Axon @ Jul 16 2008, 19:02) To say ...   Jul 17 2008, 14:22
- - Brent   I searched the entire 1.1.0 development thread, bu...   Jul 16 2008, 20:36
|- - halb27   QUOTE (Brent @ Jul 16 2008, 21:36) ... ha...   Jul 16 2008, 21:05
|- - Nick.C   QUOTE (halb27 @ Jul 16 2008, 21:05) Thank...   Jul 16 2008, 21:25
|- - Brent   QUOTE (halb27 @ Jul 16 2008, 22:05) QUOTE...   Jul 17 2008, 10:17
|- - halb27   QUOTE (Brent @ Jul 17 2008, 11:17) .. wha...   Jul 17 2008, 10:27
- - Nick.C   That's a good question - I believe that Mardel...   Jul 16 2008, 20:45
- - carpman   QUOTE (Nick.C @ Jul 16 2008, 16:30) QUOTE...   Jul 17 2008, 01:45
- - Axon   Now this is cute. Just for grins I tried lossyWAV ...   Jul 17 2008, 02:59
- - shadowking   i think -standard quality losswav is aiming for tr...   Jul 17 2008, 10:36
|- - 2Bdecided   QUOTE (shadowking @ Jul 17 2008, 10:36) A...   Jul 17 2008, 12:21
- - 2Bdecided   If you take a 44.1kHz file and simply resample it ...   Jul 17 2008, 14:59
|- - botface   QUOTE (2Bdecided @ Jul 17 2008, 14:59) If...   Jul 17 2008, 16:10
- - 2Bdecided   Sorry - I didn't write that very well. What I...   Jul 17 2008, 17:15
|- - botface   QUOTE (2Bdecided @ Jul 17 2008, 17:15) Wh...   Jul 17 2008, 20:12
|- - Dynamic   QUOTE (botface @ Jul 17 2008, 20:12) So, ...   Jul 18 2008, 00:32
|- - 2Bdecided   QUOTE (Dynamic @ Jul 18 2008, 00:32) Ther...   Jul 18 2008, 10:49
- - raygrote   Lossy Wav really sounds very interesting. I've...   Jul 17 2008, 19:50
|- - carpman   QUOTE (raygrote @ Jul 17 2008, 19:50) 1. ...   Jul 17 2008, 20:23
- - Nick.C   ^^ What he said....   Jul 17 2008, 20:32
- - carpman   Don't listen to me, just read the wiki; it...   Jul 17 2008, 20:37
- - raygrote   Thanks for info. It still doesn't work with Fo...   Jul 17 2008, 21:38
|- - halb27   QUOTE (raygrote @ Jul 17 2008, 22:38) ......   Jul 17 2008, 23:02
- - carpman   QUOTE (raygrote @ Jul 17 2008, 21:38) I s...   Jul 17 2008, 21:47
- - sauvage78   -o%d is ok, --stdout| e: maybe is not ... try --st...   Jul 17 2008, 23:59
- - raygrote   I tried all suggestions, nothing is working. I...   Jul 18 2008, 00:49
|- - Nick.C   QUOTE (raygrote @ Jul 18 2008, 00:49) I t...   Jul 18 2008, 08:23
|- - botface   QUOTE (raygrote @ Jul 18 2008, 00:49) I t...   Jul 18 2008, 09:06
- - smok3   how would a piped cmd look for win? (flac to lossy...   Jul 19 2008, 22:40
|- - Nick.C   QUOTE (smok3 @ Jul 19 2008, 22:40) how wo...   Jul 19 2008, 22:45
- - smok3   cool, tnx, what makes you think it will be easie...   Jul 20 2008, 21:05
|- - Nick.C   QUOTE (smok3 @ Jul 20 2008, 21:05) cool, ...   Jul 20 2008, 21:22
- - smok3   true, somehow i have this weird obsession to const...   Jul 20 2008, 21:55
- - sauvage78   hi, today I tried to ABX lossywav 1.1.0 with the G...   Jul 22 2008, 09:24
|- - Nick.C   QUOTE (sauvage78 @ Jul 22 2008, 09:24) .....   Jul 25 2008, 17:47
- - Hancoque   I have three questions: 1. Is noise shaping only ...   Jul 25 2008, 03:36
|- - Nick.C   QUOTE (Hancoque @ Jul 25 2008, 03:36) I h...   Jul 25 2008, 19:09
|- - Dynamic   QUOTE (Nick.C @ Jul 25 2008, 19:09) 2) Pe...   Jul 25 2008, 22:28
- - Neasden   lossyWAV is very interesting! Is it like... ...   Jul 25 2008, 04:00
|- - Synthetic Soul   QUOTE (Neasden @ Jul 25 2008, 04:00) loss...   Jul 25 2008, 09:09
- - Hancoque   If I disable noise shaping, I should enable dither...   Jul 26 2008, 12:17
|- - Nick.C   QUOTE (Hancoque @ Jul 26 2008, 12:17) If ...   Jul 26 2008, 12:46
|- - Nick.C   QUOTE (Hancoque @ Jul 26 2008, 12:17) Wha...   Jul 26 2008, 19:50
- - Hancoque   So you think that noise shaping should also be use...   Jul 26 2008, 13:02
|- - Nick.C   QUOTE (Hancoque @ Jul 26 2008, 13:02) So ...   Jul 26 2008, 14:48
- - Hancoque   I created four test samples containing white noise...   Jul 26 2008, 19:56
|- - Nick.C   QUOTE (Hancoque @ Jul 26 2008, 19:56) I c...   Jul 26 2008, 20:19
- - 2Bdecided   Nick, 1. The FFT size should vary with sample rat...   Jul 28 2008, 16:28
|- - Nick.C   QUOTE (2Bdecided @ Jul 28 2008, 16:28) Ni...   Jul 28 2008, 20:14
|- - Hancoque   QUOTE (Nick.C @ Jul 28 2008, 21:14) Basic...   Aug 3 2008, 02:33
||- - Nick.C   QUOTE (Hancoque @ Aug 3 2008, 02:33) Do y...   Aug 3 2008, 08:45
||- - botface   QUOTE [*]reference threshold constants for rectang...   Aug 3 2008, 08:51
||- - Hancoque   QUOTE (Nick.C @ Aug 3 2008, 09:45) I was ...   Aug 3 2008, 11:59
||- - Nick.C   QUOTE (Hancoque @ Aug 3 2008, 11:59) Is t...   Aug 3 2008, 22:13
|- - Hancoque   I don't plan to use dithering either. I was ju...   Aug 5 2008, 00:29
- - Hancoque   Is it intended that the dithering noise is also sh...   Aug 4 2008, 03:07
|- - Nick.C   QUOTE (Hancoque @ Aug 4 2008, 03:07) Is i...   Aug 4 2008, 07:24
- - Hancoque   I'm using the current version 1.1.0b. I don...   Aug 4 2008, 11:58
|- - Nick.C   QUOTE (Hancoque @ Aug 4 2008, 11:58) I...   Aug 4 2008, 12:36
- - 2Bdecided   Of course the dither should/will be noise shaped. ...   Aug 4 2008, 13:11
|- - Nick.C   QUOTE (2Bdecided @ Aug 4 2008, 13:11) Of ...   Aug 4 2008, 13:33
|- - 2Bdecided   QUOTE (Nick.C @ Aug 4 2008, 13:33) 1) Dit...   Aug 5 2008, 10:30
|- - Nick.C   QUOTE (2Bdecided @ Aug 5 2008, 10:30) But...   Aug 5 2008, 10:57
- - Gow   I started doing some personal listening and file s...   Aug 5 2008, 03:23
- - smok3   continued, about bat files and tagging, this oneli...   Aug 7 2008, 09:18
|- - Nick.C   QUOTE (smok3 @ Aug 7 2008, 09:18) continu...   Aug 7 2008, 10:12
- - smok3   QUOTE You could put both lines on one line with a ...   Aug 7 2008, 13:41
|- - Nick.C   QUOTE (smok3 @ Aug 7 2008, 13:41) QUOTE Y...   Aug 7 2008, 13:53
- - Synthetic Soul   One minor benefit: As you are using && (a...   Aug 7 2008, 14:19
- - smok3   fixed the post - 'downgraded' twoliner to ...   Aug 7 2008, 15:04
- - Hanky   Nice batch file. But if the specified input file d...   Aug 7 2008, 15:16
|- - Nick.C   QUOTE (Hanky @ Aug 7 2008, 15:16) Nice ba...   Aug 7 2008, 15:48
- - Hanky   Thanks Nick.C, that fixed the error One more sm...   Aug 7 2008, 15:53
|- - Nick.C   QUOTE (Hanky @ Aug 7 2008, 15:53) Thanks ...   Aug 7 2008, 20:03
- - Hanky   That one works great when you pass one or more fi...   Aug 7 2008, 20:33
|- - Nick.C   QUOTE (Hanky @ Aug 7 2008, 20:33) That on...   Aug 7 2008, 20:45
- - smok3   my usual approach is to do one batch that handles ...   Aug 7 2008, 20:43
- - sauvage78   Quote: Nick.C "My intention is to understand ...   Aug 17 2008, 06:49
2 Pages V   1 2 >


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: 2nd October 2014 - 18:55