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: lossyWAV Development (Read 561429 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

lossyWAV Development

Reply #125
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.
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)

lossyWAV Development

Reply #126
@David Bryant:

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

[attachment=3750: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.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #127
@David Bryant:

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

[attachment=3750: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...

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

lossyWAV Development

Reply #128
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
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)

lossyWAV Development

Reply #129
...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.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #130
...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.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #131

...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! 

lossyWAV Development

Reply #132
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.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #133
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


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!

lossyWAV Development

Reply #134
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

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.
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)

lossyWAV Development

Reply #135
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.

lossyWAV Development

Reply #136

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.
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)

lossyWAV Development

Reply #137
... 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.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #138
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.

lossyWAV Development

Reply #139
... 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]
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)

lossyWAV Development

Reply #140
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.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #141

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.
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)

lossyWAV Development

Reply #142
I will do it when I'm at home this evening.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #143
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. 

lossyWAV Development

Reply #144
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... 

lossyWAV Development

Reply #145
Thanks for the info.
So I'll copy anything behind the data chunk to the output file.
lame3995o -Q1.7 --lowpass 17

 

lossyWAV Development

Reply #146
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.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #147
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!
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)

lossyWAV Development

Reply #148
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.
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)

lossyWAV Development

Reply #149
I'll try it this evening.
lame3995o -Q1.7 --lowpass 17