Help - Search - Members - Calendar
Full Version: lossyWAV Development
Hydrogenaudio Forums > Hydrogenaudio Forum > Uploads
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
Nick.C
Guru, thanks for the pointer to the samples - links to E16, E36, S10 & S43 are broken.

I have processed the 146 150 files I downloaded (using the Matlab script) and the size results are as follows:

WAV: 252.3MiB; FLAC: 122.2MiB; Matlab Script lossyFLAC:100.9MiB (current lossyWAV.exe: 93.3MiB)

Matlab script output attached.

The Delphi translation is coming on well - the exe will now carry out multiple analyses *without* overlapping FFT analysis. My task for tonight is to reinstate the overlapping FFT analyses, firstly within a 2^n block length and secondly either side of an arbitrary block length.

The crashing bug has been identified as being caused by digital silence and has been fixed.
guruboolez
The four links are corrected. Thanks for these notifications smile.gif
Nick.C
Still implementing the script in Delphi - now capable of analysis overlapping the edges of the codec_block for "power-of-2" length codec_blocks. At the moment, the output is not exactly the same as the Matlab script, however the bits removed values have come down to a closer approximation of the script output, indeed over Guru's 150 samples the flossy files are almost exactly the same size in total, if not individually.

Input parameters are being developed by Halb27 as is the wavIO unit - very gratefully received, although not yet selectable by the user - current code only processes 3 analyses, 10, 8, 6 bit fft_lengths, noise_threshold_shift=-3.0, triangular_dither.

I hope to have lossyWAV alpha v0.0.2 available this weekend, which will only be released if it more closely matches the Matlab script output.

Trying to speed optimise the code as well, but that necessarily requires to be delayed until I actually achieve matched output.
2Bdecided
I know it's in this thread somewhere, but which sample was ABXed with noise_threshold=0? What were the other parameters?

I'm not saying it shouldn't happen, just wondering where it did.

Cheers,
David.
Nick.C
I think that it may have been atem_lied - but I'm not sure. It was in a spread of 2 or 3 analyses with or without my experimental pereceived noise algorithm - also, I was (at that time) varying the length of the spreading_function.
halb27
I guess it was when I abxed atemlied, but I don't know how what I listened to was related to internal quality settings.
Nick.C
lossyWAV alpha v0.0.2 attached: - superseded by v0.1.0 - see later post.

Command line parameters for quality and codec_block_size over-ride implemented;

Overlapping fft analyses implemented;

Output not yet identical to 2Bdecided's script - examination of low level fft output information required.

Feedback extremely welcome - unless tied to a brick...... wink.gif

Nick.


[edit]
Crashing bug found and fixed (fingers crossed) - v0.0.2b attached. Superseded.
[/edit]
halb27
Hi Nick,

Thank you very much for this version which is already pretty good.

I tried 10 samples most of them known as problematic to wavPack, and out of these 10 I could only abx 2:
badvilbel has a tiny amount of added hiss which I could abx 8/10 at sec. 5.6-7.2. Not tranparent, but a negligible issue IMO.
bibiblolo is worse, and even at low volume there's kind of distortion at sec. 17.1-19.2. No abxing necessary.

Atemlied is fine to me.
Nick.C
I think that I've found the problem - my poor attempt at a CONV function seems to be the root of the problem. I will start to re-write it tonight.

Also, I think that I've finally determined the cause of the random crashing - a poorly written Magnitude (of a complex number) routine - fixed.

[edit] I've convinced myself that the fft routine that I am using is indeed accurate - so, the next problem *really* is the conv routine. ~sigh~. [/edit]
Nick.C
<minor fanfare> lossyWAV alpha v0.1.0 attached. Superseded.

Closely approximates matlab script by 2Bdecided.

CONV function fixed, window function fixed (was the *real* problem).

Have fun!

[edit] window function properly fixed (finally). Even more closely approximates matlab script. lossyWAV alpha v0.1.0b attached[/edit]

[edit2] v0.1.0b superseded. [/edit2]
halb27
Thanks a lot, Nick. Great News.
I've just come home from visiting friends this weekend and I'm too tired for a listening test right now. Will do it tomorrow.
Nick.C
QUOTE(halb27 @ Sep 16 2007, 21:22) *

Thanks a lot, Nick. Great News.
I've just come home from visiting friends this weekend and I'm too tired for a listening test right now. Will do it tomorrow.


Don't try *that* one - try *this* one..... wink.gif v0.1.1 - Superseded by v0.1.2

Added :
-w option to suppress warnings,
-q option to reduce screen output.

bryant
Hey guys, it looks like you're making good progress! smile.gif

I was playing around with alpha v0.1.1 and ran into a couple problems. The first was that I couldn't open files that were write protected. Not a big deal really, but I'm sure that's not how you intended it.

The second problem is that I found several files that caused a range error exception right near the end of the file and truncated the output (I suspect some error in handling the last block). I am attaching two of the failing files.

Cheers!

David
Nick.C
QUOTE(bryant @ Sep 17 2007, 02:06) *

Hey guys, it looks like you're making good progress! smile.gif

I was playing around with alpha v0.1.1 and ran into a couple problems. The first was that I couldn't open files that were write protected. Not a big deal really, but I'm sure that's not how you intended it.

The second problem is that I found several files that caused a range error exception right near the end of the file and truncated the output (I suspect some error in handling the last block). I am attaching two of the failing files.

Cheers!

David


Many thanks - which quality setting were you using for the failed files (although it might not make a difference)?

The read-only file problem is much easier to fix. - Fixed for v0.1.2

Thanks again!

Nick.

[edit] I cannot seem to replicate the range exception failure - what CPU are you using? [/edit]
halb27
I'll look into the wavIO unit tonight for why write-protected files aren't usable.
Nick.C
QUOTE(halb27 @ Sep 17 2007, 08:42) *

I'll look into the wavIO unit tonight for why write-protected files aren't usable.


I've already done it - filemode:=0 before opening infile; filemode:=2 before opening outfile - I'll em you the revised source.

I've changed from extended reals to double reals (which has speeded things up a bit) - v0.1.2 attached. - Superseded by v0.1.3

I've been playing with the spreading function length (again....). For badvilbel, quality 2:

SFL : BTR
1 : 0.4119
2 : 1.2374
3 : 1.6652
4 : 1.9018 (default)
5 : 2.1192
6 : 2.3611
7 : 2.5811
8 : 2.7572

This may be a setting to be changed when defining permanent quality level settings. I may implement a switch to allow the spreading function length to be reduced only.

[edit] Minor bug - required enter to be pressed if an error occured. [/edit]
user
btw., do you take care, that lossyFlac cannot be mistaken as *.flac ie. Lossless flac ?
(or exchange flac with any lossless format, which this algorithm is used on)

The difference between lossyFlac and Flac should be recognizeable already by file extension .flac vs. .lfla or whatever.

it is somehow bad wording also, if you call something:

lossy free lossless audio codec.

Either it is lossy or lossless.

Nick.C
QUOTE(user @ Sep 17 2007, 10:02) *

btw., do you take care, that lossyFlac cannot be mistaken as *.flac ie. Lossless flac ?
(or exchange flac with any lossless format, which this algorithm is used on)

The difference between lossyFlac and Flac should be recognizeable already by file extension .flac vs. .lfla or whatever.

it is somehow bad wording also, if you call something:

lossy free lossless audio codec.

Either it is lossy or lossless.


A FLAC file is a FLAC file - how the input WAV file has been processed is anybody's guess. At present, how do you know that a FLAC file has not been created from MP3?

Yes, the extension is changed from ".WAV" to ".lossy.WAV", but apart from that there is no change other than to the WAV data itself.

I am probably going to write a test program to determine if a WAV file has been processed with this method - however with variable codec_block_size this may take quite a while to determine with accuracy for a given WAV file.

For me, this processor is for someone (i.e. me, and others) to use on their own lossless files to create processed FLAC files. It is not intended for files to be distributed in this manner - but that would be probably be illegal, wouldn't it.

In the same way as Wavpack has a lossless and lossy mode, this processor allows a user to decide for themself to use a processed WAV file to create a (smaller) FLAC file (than unprocessed, most often) for personal use.

Another option is to create a Wavpack style correction file to allow the processed data to be restored to fully lossless.
user
well, I knew, the wavpack lossy/hybrid example would be thrown in.

Difference:

if you create wavpack-lossy with file extension .wv , which could be mistaken as lossless-wavpack (well, even I would prefer another extension, so that lossy-wv files and lossless-wv files are different),
but you get the clear information, if you watch the properties of a wv file. it is written inside the wv file, if encoded as lossy-wv or lossless-wv.

From my very rough understanding, this new "lossyFlac-wav" method is similar, what wavpack-lossy and Optimfrog-DS already do.

The problems I foresee (maybe for me, maybe also for you, if you use lossy-wav-to-flac), that you have Lossless flac files in your system, but also these lossy-wav-to-flac files.
There might come a time, when you yourself cannot remember, which was what.
A program to detect lossy-wav-to-flac files (and to discern from true Lossless) will be another pain, and from current point of view innecessary (work for end-users to select the lossy-wav-to-flac files from true-flac files).

From a user's point of view, I would simply use Wavpack lossy or better hybrid, as obviously users of lossy-wav-to-flac want to circumvent danger of typical lossy-codec artifacts/problems, want to buy a little bit higher bitrate than lossy, but want to buy also lower bitrate than Lossless.
IMO, this is already achived by Optimfrog DS and Wavpack hybrid/lossy. Maybe the new algorithm could be integrated into existing formats, maybe making existing lossy-wavpack/Dualstream work more efficient.

Or as add-on implemented into flac, a flac-lossy/hybrid, but with clear solution of described problem, at least a clear inside information in the file, if it is flac or lossy like in wavpack wv, or maybe better new extensions.
Nick.C
QUOTE(user @ Sep 17 2007, 10:42) *

The problems I foresee (maybe for me, maybe also for you, if you use lossy-wav-to-flac), that you have Lossless flac files in your system, but also these lossy-wav-to-flac files.


If the processed files are converted directly, without renaming (i.e. left as filename.lossy.wav) then the resultant FLAC file will be filename.lossy.FLAC - surely that is instantly recognisable?

Yet another option would be to add a metadata tag to the FLAC file indicating that the WAV file from which it was created had been processed.

Unfortunately, to maintain compatibility with hardware / software players the ".FLAC" extension cannot be changed.
2Bdecided
We had this discussion in the original thread...

http://www.hydrogenaudio.org/forums/index....showtopic=55522

In short: it's up to someone to create a FLAC decoder or tool which checks for the wasted_bits feature being used.

If "wasted_bits" changes block by block, then it's almost certainly a lossyFLAC file. If it's the same every block, then it's probably a strange source (very rare). If it's not used at all, then it's not a lossyFLAC file (or it's lossyFLAC, but the pre-processor decided not to remove any bits at all, or just maybe it removed very few and someone changed the FLAC block size so that they didn't ever all fall within one block).


More generally, as Nick has said, you could check for 0s in the LSBs of consecutive (blocks of) samples. There is an issue in not knowing the block size, but even in a generic file editor (set show 16-bit binary values) it's going to be pretty obvious.


There is simply no failsafe way to mark these files as lossy - no more than a decoded mp3, encoded to FLAC, is marked as lossy.

There is also no way to say "this is a different format" because the whole point is that it's not. No more than a .wav created from a decoded mp3 is a different format from a .wav from a CD.

Cheers,
David.
halb27
These things are always a matter of taste to some extent, and there will always be people who have strong emotion that FLAC means lossless in an overall sense so that to them using lossy FLAC is not an option.
The problem only starts when they think 'FLAC should mean lossless (in an overall sense) to everybody'. Sure nobody can say what something should mean to everybody, and worse so - as was pointed out already - even if the idea of a lossy FLAC preprocessing would not have come up we never know about the source quality of a FLAC file we receive from somewhere. But we're usually talking about FLAC files produced by ourselves, so this shouldn't be a problem especially as .lossy.flac files are named like that.

The most neutral point of view towards lossy flac IMO is to see it as a welcome usage extension for lossless codecs like FLAC, TAK, wavPack. Nobody needs to use these codecs with a lossy preprocessor, but whoever does gets the benefit of arriving at roughly half the file size with popular music with no audible quality impact (this is the weakest point so far due to limited experience).
The most important usage is with FLAC, as FLAC has a rather good hardware support. This is the major advantage against say OptimFrog DS. wavPack lossy is more interesting because of existing hardware support, and David Bryant has just recently made a big progress due to implementing dynamic noise shaping that works very well, and he seems to be implementing the lossy FLAC idea for a quality control. So in a sense this is the best way to go. Anyway people who can't play wavPack lossy on their hardware player, now have a good alternative when using lossy FLAC.
bryant
QUOTE(Nick.C @ Sep 16 2007, 23:08) *

[edit] I cannot seem to replicate the range exception failure - what CPU are you using? [/edit]

Oh, that's surprising. I had guessed it would be easy (which is why I didn't provide more info).

Anyway, my CPU is a Pentium 4 Willamette 1700.

When the error occurs I get a popup with The exception unknown software exception (0x0eedfade) occurred
in the application at location 0x7c57e592
. After I click through I see on the console:

CODE
Processing : 5.08MB; Exception ERangeError in module lossyWav.exe at 0000A1F6.
Range check error.


That's all with v0.1.2. With v0.1.1 the location displayed on the console is 0000A2CA and the location on the popup is the same.

Examining the resulting WAV files I see that Track68.lossy.wav is 36470 bytes short and Track104 is 22470 bytes short.

Maybe it has something to do with uninitialized data being interpreted as FP. I assume there must be some special processing with leftover data at the end of the file...

I verified that the open on read-only files is fixed. smile.gif

David
Nick.C
Hmmm.... No uninitialised data is processed, I think. I will try this evening to replicate the bug and get back to you. Better yet, I'll implement a -d option to switch on a debug mode - which will tell you the number of bits being removed block by block - so the block where it crashes will be easier to determine.

Assuming that you were using the default block size (1024 samples) then 2 channels by 2 bytes per sample by 1024 = 4096 bytes per block, therefore the first crash is 8.9(04) blocks from the end and the second is 5.4(86) blocks from the end. So, unless there are additional WAV chunks after the data then I don't really understand..... Unless, that is, the last data is in the buffer within the wavIO unit. If so, it may well be down to my maths.....

Oh well, back to debugging smile.gif headbang.gif
halb27
I've tried the new version (default quaklty) with the samples I used last time.
bibilolo is fine to me now, as are the other samples with the exception of Atemlied. I was able to abx Atemlied 8/10 though it was pretty hard.

I also tried to reproduce the problem with track68 and track104, but with my cpu (AMD mobile Athlon = low power Barton) I couldn't reproduce the problem.
Nick, are you using an AMD cpu?
I'll take lossyWav and the failing tracks with me to work tomorrow where I use an Intel cpu.
Nick.C
QUOTE(halb27 @ Sep 17 2007, 21:38) *

I've tried the new version (default quaklty) with the samples I used last time.
bibilolo is fine to me now, as are the other samples with the exception of Atemlied. I was able to abx Atemlied 8/10 though it was pretty hard.

I also tried to reproduce the problem with track68 and track104, but with my cpu (AMD mobile Athlon = low power Barton) I couldn't reproduce the problem.
Nick, are you using an AMD cpu?
I'll take lossyWav and the failing tracks with me to work tomorrow where I use an Intel cpu.


I tried it on a Centrino Duo T2500 (laptop) and Core2Duo E6600 (main PC) - no problem. Kids PC is the same as your CPU.

Atem_lied is proving to be a particularly problematic sample - I'll increase the noise_threshold_shift by one (when I get through this debugging frenzy) and recompile - will be posted as v0.1.3, probably tomorrow.
halb27
@David Bryant:

Do you mind trying this tiny test program which just copies in.wav to in.lossy.wav?:

Click to view attachment

This way we can see whether the error is in the wavIO unit or not.

usage: lossyWavTest track104.wav

and it should produce a track104.lossy.wav file which is bitidentical to track104.wav.
bryant
QUOTE(halb27 @ Sep 17 2007, 14:05) *

@David Bryant:

Do you mind trying this tiny test program which just copies in.wav to in.lossy.wav?:

Click to view attachment

This way we can see whether the error is in the wavIO unit or not.

usage: lossyWavTest track104.wav

and it should produce a track104.lossy.wav file which is bitidentical to track104.wav.

Hmm. I'm at work now on another P4 (Prescott, 3 GHz) and I still get the problem with the alpha on the 2 failing files (at the same spot).

I couldn't get the lossywavtest program to work. It immediately aborts with Access violation at address 004080F4 in module 'LossyWavTest.exe'. Read of address 0096C000. Sorry... sad.gif

I'll try on my wife's 64-bit AMD laptop when I get home.

BTW, my system here is XP and at home I'm using Win2K. Also, I forgot to mention I'm not using any other options.

David
Nick.C
Update: v0.1.3. - superseded by v0.1.4.

-d parameter added : debug output mode - should help to identify codec_block number if (when) a crash occurs - command line use;

noise_threshold_shift increased in magnitude for default quality from -3 to -4.

ps. I don't know exactly what I did to the compiler, but the .exe file is much smaller - works okay though smile.gif
halb27
QUOTE(bryant @ Sep 17 2007, 23:36) *

...I couldn't get the lossywavtest program to work. It immediately aborts with Access violation at address 004080F4 in module 'LossyWavTest.exe'. Read of address 0096C000. Sorry...

Thanks for the test. So it looks like it's within the wavIO unit.
halb27
QUOTE(bryant @ Sep 17 2007, 23:36) *

...I couldn't get the lossywavtest program to work. It immediately aborts with Access violation at address 004080F4 in module 'LossyWavTest.exe'. Read of address 0096C000. Sorry...

Thanks for the test. So it looks like it's within the wavIO unit.
bryant
QUOTE(halb27 @ Sep 17 2007, 14:51) *

QUOTE(bryant @ Sep 17 2007, 23:36) *

...I couldn't get the lossywavtest program to work. It immediately aborts with Access violation at address 004080F4 in module 'LossyWavTest.exe'. Read of address 0096C000. Sorry...

Thanks for the test. So it looks like it's within the wavIO unit.

I was actually confused. I thought that the lossywavtest program wasn't working at all because the error came so quickly, but I hadn't realized how quickly it would go without processing!

But I just tried it on another WAV file and it worked fine; the copy is the exact same size and the input. On the failing cases the output is truncated by the same amount as using the alpha.

Sorry for the confusion, although it seems like I was the only one confused! smile.gif

halb27
Sorry for my multiple last post - I had connection problems to HA and tried to send it several times expecting HA would recognize it as the identical post.

I'm at work now and tried to reproduce the problem with my Intel Pentium 4 HT 2.8 GHz powered business pc.
LossyWav and LossyWavTest are working without any problem with track104 and track68.

I'll look into wavIO this evening but will have only restricted time to do so. Can do it carefully tomorrow.

Josef Pohm
QUOTE(Nick.C @ Sep 17 2007, 23:42) *

Update: v0.1.3.

ps. I don't know exactly what I did to the compiler, but the .exe file is much smaller - works okay though smile.gif


Hmmm... not really working here, unless I'm missing something. With version 0.1.3 my pc is complaining about rtl100.bpl not being present...

Apart from that, my sincere admiration for the impressive work to you, 2BDecided and Halb27. Also Bryant interest for an integration into WavPack sounds really promising. Thank you guys!
Nick.C
QUOTE(Josef Pohm @ Sep 18 2007, 09:06) *

QUOTE(Nick.C @ Sep 17 2007, 23:42) *

Update: v0.1.3.

ps. I don't know exactly what I did to the compiler, but the .exe file is much smaller - works okay though smile.gif


Hmmm... not really working here, unless I'm missing something. With version 0.1.3 my pc is complaining about rtl100.bpl not being present...

Apart from that, my sincere admiration for the impressive work to you, 2BDecided and Halb27. Also Bryant interest for an integration into WavPack sounds really promising. Thank you guys!


Was v0.1.2 (or earlier) okay? I'll try to "undo" the changes which caused the .exe size shrink/

Okay, .exe shrink changes undone - plus experimental fft_result skewing: -s parameter.

The fft_result skewing reduces overall bits removed by weighting the results across the frequency spectrum.

v0.1.4 attached. Superseded by v0.1.5.
Josef Pohm
QUOTE(Nick.C @ Sep 18 2007, 10:09) *


Was v0.1.2 (or earlier) okay? I'll try to "undo" the changes which caused the .exe size shrink/
Okay, .exe shrink changes undone - plus experimental fft_result skewing: -s parameter.
v0.1.4 attached.


Yes, v0.1.2 was fine for me and so is v0.1.4.
Nick.C
QUOTE(Josef Pohm @ Sep 18 2007, 09:31) *

QUOTE(Nick.C @ Sep 18 2007, 10:09) *


Was v0.1.2 (or earlier) okay? I'll try to "undo" the changes which caused the .exe size shrink/
Okay, .exe shrink changes undone - plus experimental fft_result skewing: -s parameter.
v0.1.4 attached.


Yes, v0.1.2 was fine for me and so is v0.1.4.


Many apologies for breaking it - feedback on the skewing function will be used to formulate the permanent parameter settings for -1, -2 & -3 quality settings.

Best regards,

Nick.
halb27
QUOTE(Josef Pohm @ Sep 18 2007, 10:06) *

... Apart from that, my sincere admiration for the impressive work to you, 2BDecided and Halb27. Also Bryant interest for an integration into WavPack sounds really promising. Thank you guys! ....


2BDecided is the one with the great idea behind lossyWav.
NickC is the one who is driving the Delphi project.
I just did a little contribution to it.

Nick, when I tried lossyWav at work I did it from the commandline (before I always did it from within foobar) and I saw you mention the authors when running lossyWav.
You mention me there at first place. That's very kind of you, but if you do want to mention me please do it as the last one.
2Bdecided
QUOTE(halb27 @ Sep 17 2007, 21:38) *

I've tried the new version (default quaklty) with the samples I used last time.
bibilolo is fine to me now, as are the other samples with the exception of Atemlied. I was able to abx Atemlied 8/10 though it was pretty hard.

What's the problem you're hearing with Atemlied?

We need to get this tied down, if you're willing to listen some more halb27?

I don't think just lowering the threshold is an answer. It will increase the bitrate for everything, which seems very wasteful.

It's possible that the problem with Atemlied stems from the quietest frequency bin being at a low-ish frequency, rather than a high-ish one. lossyFLAC currently treats all frequencies equally important in this respect, which isn't sensible - just easy!

I suggested the frequency dependent threshold skewing to Nick, but only gave an example of what values to try. If we get this right, I hope we can crack Atemlied without bloating bitrates across the board. SebG suggested a way of setting it (by copying the skew from what OggVorbis does with white noise - see first page of original thread) - I think we should try that.

Cheers,
David.
Nick.C
QUOTE(halb27 @ Sep 18 2007, 09:56) *

QUOTE(Josef Pohm @ Sep 18 2007, 10:06) *

... Apart from that, my sincere admiration for the impressive work to you, 2BDecided and Halb27. Also Bryant interest for an integration into WavPack sounds really promising. Thank you guys! ....


2BDecided is the one with the great idea behind lossyWav.
NickC is the one who is driving the Delphi project.
I just did a little contribution to it.

Nick, when I tried lossyWav at work I did it from the commandline (before I always did it from within foobar) and I saw you mention the authors when running lossyWav.
You mention me there at first place. That's very kind of you, but if you do want to mention me please do it as the last one.


Okay - thanks! The skewing function may be a bit flaky - I'm testing a variant which may be more effective.

v0.1.5 attached. - Superseded by v0.1.6.

6dB skewing optional (-6dB at 0Hz, 0dB at Nyquist). Attached comparison of sample set "default" quality with and without skewing. Noise_threshold_shift at default quality changed back to -3dB.

Further comparison of Guru's sample set - Matlab, lossyWAV no skewing and lossyWAV skewing.

[edit] there's an error in the size information in the Guru comparison, Matlab didn't really output 122MB of FLAC files, that's unprocessed flac! [/edit]
halb27
QUOTE(2Bdecided @ Sep 18 2007, 10:59) *

What's the problem you're hearing with Atemlied?

I'd call it a low midrange problem. It's not really a distortion but a bit like that. It's very subtle but it's there. From memory it's at ~ second 5 after the initial equally sounding seconds where it's best audible to me.
I'll give the exact spot tonight.
Nick.C
QUOTE(halb27 @ Sep 18 2007, 11:30) *

QUOTE(2Bdecided @ Sep 18 2007, 10:59) *

What's the problem you're hearing with Atemlied?

I'd call it a low midrange problem. It's not really a distortion but a bit like that. It's very subtle but it's there. From memory it's at ~ second 5 after the initial equally sounding seconds where it's best audible to me.
I'll give the exact spot tonight.


Could you possibly try using the v0.1.5 "-s" parameter and default quality on Atem_lied, please and try that?

Thanks,

Nick.
halb27
I will do it when I'm at home this evening.
bryant
QUOTE(halb27 @ Sep 18 2007, 00:43) *

I'm at work now and tried to reproduce the problem with my Intel Pentium 4 HT 2.8 GHz powered business pc.
LossyWav and LossyWavTest are working without any problem with track104 and track68.

Here's another data point. My wife's laptop (AMD Turion 64 Mobile, 1.8 GHz, XP) also fails with both v0.1.5 and lossywavtest. Now this is getting a little spooky. It fails on all 3 different computers I have tried, and nobody else has seen it! I wouldn't worry about it until at least one other person sees it. smile.gif

bryant
BTW, I just noticed that both of those files have extra RIFF information after the audio, and eliminating that (by unpacking them with -w) fixes the problem. Perhaps you guys used -w, or ran the files through FLAC before testing with them...?

Anyway, I'd say it was even less important to worry about now. Obviously you will want to handle this eventually, especially now that FLAC handles the RIFF stuff too.

Sorry for the false alarm... sad.gif
halb27
Thanks for the info.
So I'll copy anything behind the data chunk to the output file.
halb27
I tried Atem-lied using v0.1.5 -s.
I think it's better than v0.1.2, and I abxed it 7/10. It's very hard to abx (for me) as seen by the result.
The critical spot is at ~ sec. 3-5, but it's easier to hear when starting before the spot.

Sorry I don't have the time this evening to do more tests and to finish fixing the wavIO problem.
Have to go now.
Nick.C
QUOTE(halb27 @ Sep 18 2007, 18:58) *

I tried Atem-lied using v0.1.5 -s.
I think it's better than v0.1.2, and I abxed it 7/10. It's very hard to abx (for me) as seen by the result.
The critical spot is at ~ sec. 3-5, but it's easier to hear when starting before the spot.

Sorry I don't have the time this evening to do more tests and to finish fixing the wavIO problem.
Have to go now.

Many thanks Horst - I think there's some merit in developing this latest idea of David's further. I'll have a think about it tonight and probably post v0.1.6 in the morning. In the latest version the debug mode shows not only the block but also the time - this may help to examine whether too many bits seem to be being removed at a certain spot and those blocks can be examined in more detail. I'll have a look at Atem_lied 3 to 5 seconds (assuming 1024 byte codec_block_size, default quality) and revert.

Bryant, it wasn't a false alarm as the files are valid WAV files - as Horst said, he'll work to pass through the additional chunks without problems. Thanks for the input!
Nick.C
v0.1.6 attached. - Superseded by v0.1.7

Current noise_threshold_shift values [-6.0206, -3.0103, -1.50515] for quality levels -1,-2 & -3 respectively.

Skewing function modified. Skewing amplitude values [12.0412,9.0309,6.0206] dB attenuation at 0Hz, no attenuation at High_Frequency_Bin (circa 16kHz) using a 1-cos shaping. When skewing is enabled, noise_threshold_shift is reduced to 25% of its value when skewing is disabled.

Debug mode tweaked.
halb27
I'll try it this evening.
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-2008 Invision Power Services, Inc.