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 559351 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

lossyWAV Development

Reply #625
[edit]
nasty 1st version logo removed, check the 1st post on the next page for the new one.
[/edit]

lossyWAV Development

Reply #626
Having listened to the comments on noise shaping, I had a look on wikipedia and found the basic principles.

... I have some of a noise shaping algorithm already in place.

The coefficients have so far eluded me.

One simple possibility that springs to mind is to start with zero at the codec block / channel start and then add the first difference then divide by two. Then add the next difference and divide by two. And so on.

We'll see how it sounds.

You're moving on fast. Wonderful!
When considering noise shaping: into what frequency range do yo want to put the noise?
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #627
Having listened to the comments on noise shaping, I had a look on wikipedia and found the basic principles.

... I have some of a noise shaping algorithm already in place.

The coefficients have so far eluded me.

One simple possibility that springs to mind is to start with zero at the codec block / channel start and then add the first difference then divide by two. Then add the next difference and divide by two. And so on.

We'll see how it sounds.
You're moving on fast. Wonderful!
When considering noise shaping: into what frequency range do yo want to put the noise?
Ah, that's the problem - I don't yet know how to determine that.
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 #628
I've implemented a simplistic bit_removal noise shaping function, enabled with the -shaping parameter. As yet, I haven't re-calculated the reference_threshold values nor have I included any dithering - need advice from someone with more of a clue than myself. Going to re-read the wikipedia article and a PDF I found.

lossyWAV beta v0.5.6 attached. Superseded.

[!--sizeo:1--][span style=\"font-size:8pt;line-height:100%\"][!--/sizeo--]
Code: [Select]
lossyWAV beta v0.5.6 : WAV file bit depth reduction method by 2Bdecided.
Delphi implementation by Nick.C from a Matlab script, www.hydrogenaudio.org

Usage   : lossyWAV <input wav file> <options>

Example : lossyWAV musicfile.wav

Quality Options:

-1            extreme settings [4xFFT] (-cbs 512 -nts -2.0 -skew 36 -snr 21
              -spf 22224-22225-11235-11246-12358 -fft 11011)
-2            default settings [3xFFT] (-cbs 512 -nts +1.5 -skew 36 -snr 21
              -spf 22224-22235-22346-12347-12358 -fft 10101)
-3            compact settings [2xFFT] (-cbs 512 -nts +6.0 -skew 36 -snr 21
              -spf 22235-22236-22347-22358-2246C -fft 10001)

Standard Options:

-o <folder>   destination folder for the output file
-nts <n>      set noise_threshold_shift to n dB (-48.0dB<=n<=+48.0dB)
              (-ve values reduce bits to remove, +ve values increase)
-force        forcibly over-write output file if it exists; default=off

Codec Specific Options:

-wmalsl       optimise internal settings for WMA Lossless codec; default=off

Advanced / System Options:

-shaping      enable fixed shaping using bit_removal difference of previous
              samples [value = brd(-1)/(2^1)+brd(-2)/(2^2)+...+brd(-n)/(2^n)];
              default=off
-snr <n>      set minimum average signal to added noise ratio to n dB;
              (-215.0dB<=n<=48.0dB) Increasing value reduces bits to remove.
-skew <n>     skew fft analysis results by n dB (0.0db<=n<=48.0db) in the
              frequency range 20Hz to 3.45kHz
-spf <5x5hex> manually input the 5 spreading functions as 5 x 5 characters;
              These correspond to FFTs of 64, 128, 256, 512 & 1024 samples;
              e.g. 22235-22236-22347-22358-2246C (Characters must be one of
              1 to 9 and A to F (zero excluded).
-fft <5xbin>  select fft lengths to use in analysis, using binary switching,
              from 64, 128, 256, 512 & 1024 samples, e.g. 01001 = 128,1024
-cbs <n>      set codec block size to n samples (512<=n<=4608, n mod 32=0)

-quiet        significantly reduce screen output
-nowarn       suppress lossyWAV warnings
-detail       enable detailled output mode

-below        set process priority to below normal.
-low          set process priority to low.

Special thanks:

David Robinson for the method itself and motivation to implement it in Delphi.
Dr. Jean Debord for the use of TPMAT036 uFFT & uTypes units for FFT analysis.
Halb27 @ www.hydrogenaudio.org for donation and maintenance of the wavIO unit.
[/size]Please have a listen to this and let me know......
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 #629
...
When considering noise shaping: into what frequency range do yo want to put the noise?
Ah, that's the problem - I don't yet know how to determine that.

Well, I can't contribute other than with these thoughts:
Usually noise would be most welcome IMO to go into the frequency range > 16 kHz cause we're not sensitive there. But with our approach of nts +6 which means reduced control in the high frequency area this may be a bit dangerous. May be noise in the >18 kHz region could do it. But for the sake of tweeters may be it's wise to only do a mild noise shaping.
May be doing it the other way around (noise in the < 3 kHz range) is the better way to go cause we have a better control here due to the work of skew and snr and spf).

Anyway as you provided already details like snr and a positive nts value which have shown up to be very advantageous I have full confidence you will arrive at a good result.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #630
Anyway as you provided already details like snr and a positive nts value which have shown up to be very advantageous I have full confidence you will arrive at a good result.
I tried -3 -shaping -snr 18 -nts 15 and got 31.28MB / 352.9kbps for my 53 sample set - quite reasonable on my DAP.
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 #631
I tried -3 -shaping -snr 18 -nts 15 and got 31.28MB / 352.9kbps for my 53 sample set - quite reasonable on my DAP.
Artist - Album / FLAC / lossyFLAC -2 / lossyFLAC-3 / lossyFLAC -3 & FLAC -3 -e -m -r 2 -b 512 / lossyFLAC -3 -shaping -snr 21 -nts 15 & FLAC -3 -e -m -r 2 -b 512:

Code: [Select]
AC/DC - Dirty Deeds Done Dirt Cheap    / 781kbps / 398kbps / 331kbps / 332kbps / 294kbps
B52's - Good Stuff                     / 993kbps / 408kbps / 361kbps / 362kbps / 329kbps
David Byrne - Uh-Oh                    / 937kbps / 398kbps / 344kbps / 345kbps / 315kbps
Fish - Songs From The Mirror           / 854kbps / 384kbps / 336kbps / 336kbps / 306kbps
Gerry Rafferty - City To City          / 802kbps / 400kbps / 338kbps / 338kbps / 300kbps
Iron Maiden - Can I Play With Madness  / 784kbps / 422kbps / 371kbps / 372kbps / 334kbps
Jean Michel Jarre - Oxygene            / 773kbps / 454kbps / 372kbps / 377kbps / 316kbps
Marillion - The Thieving Magpie        / 790kbps / 404kbps / 344kbps / 344kbps / 307kbps
Mike Oldfield - Tr3s Lunas             / 848kbps / 421kbps / 365kbps / 366kbps / 322kbps
Scorpions - Best Of Rockers N' Ballads / 922kbps / 421kbps / 354kbps / 354kbps / 318kbps
[/font]

So, overall an average of 850kbps / 410kbps / 351kbps / 351kbps / 314kbps

Also, Mitch 1 2 has indicated that values of -nts in excess of 15 are acceptable while maintaining the -snr 21 value.
[edit] Using -3 -nts 48 -snr 21 -shaping, I get 363.6kbps on my 53 sample set. [/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 #632
Sounds very interesting, but I'd really like to know a bit about where the noise goes.

I also have a problem about the target and how it fits into what we have so far. So far we have the quality targets -3, -2, and -1 which should all be transparent (-1 in an overkill sense, -2 in a sense with a certain but not overkill safety margin, -3 with only a minor safety margin).
What's the target when using noise-shaping?
Most important:
Do we still want transparency with a certain though small safety margin (equivalent to: should we use it as -3 with the current meaning of -3)?
Or do we want to have something like -4 which should transparent nearly any time but is allowed to be not transparent though only in an acceptable way on rare occassion?
Or should we use the meaning I just described for a potential -4 for our final -3, and readjust the internal details of -2 and -1 so that the new -2 is somewhere between the current -3 and -2, and the new -1 is somewhere between the current -2 and -1?
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #633
Sounds very interesting, but I'd really like to know a bit about where the noise goes.

I also have a problem about the target and how it fits into what we have so far. So far we have the quality targets -3, -2, and -1 which should all be transparent (-1 in an overkill sense, -2 in a sense with a certain but not overkill safety margin, -3 with only a minor safety margin).
What's the target when using noise-shaping?
Most important:
Do we still want transparency with a certain though small safety margin (equivalent to: should we use it as -3 with the current meaning of -3)?
Or do we want to have something like -4 which should transparent nearly any time but is allowed to be not transparent though only in an acceptable way on rare occassion?
Or should we use the meaning I just described for a potential -4 for our final -3, and readjust the internal details of -2 and -1 so that the new -2 is somewhere between the current -3 and -2, and the new -1 is somewhere between the current -2 and -1?
I know what you mean about wanting to know where the noise goes.

I am hoping that you will / have had a play about with the -shaping parameter and also -snr / -nts to find a good compromise.

If we can get transparency using -shaping on the existing problem samples below current -3 bitrate, then I think that we should revise -3. If not then I would not be averse to the introduction of a carefully crafted -4 quality setting which would be "very-nearly-transparent-on-problem-samples" if there was a noticable reduction in bitrate compared to the existing -3.
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 #634
@halb27:

Would you mind testing out lossyWAV -3 -nts 48 (without noise shaping) on your test set? Casually listening, I've found that I can't hear any difference between files processed with this setting and the originals. Nick also found that he couldn't hear the difference. The -snr 21 default setting seems to be preventing audible distortion, even with the maximum nts value.
lossyFLAC (lossyWAV -q 0; FLAC -b 512 -e)

lossyWAV Development

Reply #635
@halb27:

Would you mind testing out lossyWAV -3 -nts 48 (without noise shaping) on your test set? Casually listening, I've found that I can't hear any difference between files processed with this setting and the originals. Nick also found that he couldn't hear the difference. The -snr 21 default setting seems to be preventing audible distortion, even with the maximum nts value.

Yes I will.
'Casually listening' ? That was my very question about what shall we target at.
I hold it back at the moment, and just try and see what it sounds like.
-nts 48 is a huge value though even without noise shaping -nts 20 isn't real bad except for bad samples.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #636
@halb27:

Would you mind testing out lossyWAV -3 -nts 48 (without noise shaping) on your test set? Casually listening ...

OOPs, I didn't read carefully: didnt read 'without noise shaping'.
Anyway I did listen carefully to my regular sample set using -3 -nts 48, and to me too quality is ok. I even did some abxing on several spot and couldn't find a difference.
But: it's different with spots that are hard to encode. I proved that already for -nts 30 and -nts 20. And my regular set yielded 320 kbps with -3 -nts 48.
When allowing for really bad results though on rare occasion we're better off using vorbis, aac, mpc, and mp3 in the 200- kbps range.

Anyway I'll test the -shaping version.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #637
@halb27:

Would you mind testing out lossyWAV -3 -nts 48 (without noise shaping) on your test set? Casually listening ...
OOPs, I didn't read carefully: didnt read 'without noise shaping'.
Anyway I did listen carefully to my regular sample set using -3 -nts 48, and to me too quality is ok. I even did some abxing on several spot and couldn't find a difference.
But: it's different with spots that are hard to encode. I proved that already for -nts 30 and -nts 20. And my regular set yielded 320 kbps with -3 -nts 48.
When allowing for really bad results though on rare occasion we're better off using vorbis, aac, mpc, and mp3 in the 200- kbps range.

Anyway I'll test the -shaping version.
I don't think that we want to go into the <300kbps range for normal music - there's plenty of good quality competition there. Thinking about it, I don't really want to implement a -4 quality setting if it's going to let through artefacts. Going back to the beginning, the stated aim is transparency for all quality settings.

That said, I've been playing with -3 -shaping -nts 18 -snr 18 and I can't notice any problems at all.

Maybe a reasonable target for a -shaping setting would be a bitrate slightly below the existing -3 setting.
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 #638
I tried -shaping -snr 18 -nts 15.
My regular sample set was encoded with an average bitrate of 308 kbps, and for my problem sample essence it was 425 kbps.
With the problem sample set I can easily abx keys_1644ds (9/10). I have also the suspicionthat furious and utb aren't totally transparent, but I'm not the one who can prove it.
So far not so bad.

Then I decided to listen to some regular music, and it was with the very first track (Blackbird, Yesterday from The Beatles: Love, sec. 31.2-34.4) that didn't sound fine to me. I tried to abx it and got at 7/7, then 8/10.
It's an inaccuracy with the voice, so I don't think noise shaping moves noise into the high frequency range.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #639
I tried -shaping -snr 18 -nts 15.
My regular sample set was encoded with an average bitrate of 308 kbps, and for my problem sample essence it was 425 kbps.
With the problem sample set I can easily abx keys_1644ds (9/10). I have also the suspicionthat furious and utb aren't totally transparent, but I'm not the one who can prove it.
So far not so bad.

Then I decided to listen to some regular music, and it was with the very first track (Blackbird, Yesterday from The Beatles: Love, sec. 31.2-34.4) that didn't sound fine to me. I tried to abx it and got at 7/7, then 8/10.
It's an inaccuracy with the voice, so I don't think noise shaping moves noise into the high frequency range.
Okay, back to the drawing board with -shaping then.... I'll need to research fixed shaping coefficients. Thanks for the listening time.

[edit] lossyWAV beta v0.5.7 attached: Superseded. modified (even simpler) noise shaping feedback function. [/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 #640
My results for v0.5.7 -snr 18 -nts 15 -shaping:

My regular sample set gets at a very good 293 kbps.
The Blackbird, Yesterday problem has gone for me, and I don't have a suspicion on furious any more.
However I abxed utb 7/8 (and  ended up 7/10), eig 7/10, and bruhns  9/10. There's a rather strong inaccuracy with bruhns at ~sec. 7.

Other than that I agree with you, Nick, that we should have only 3 quality parameters, and -3 should be transparent from the best of our experience when we go final. In case we should really get at a final average bitrate of ~300 kbps for -3 I personally don't have the demand for talking about a security margin with -3.
In case we should really arrive at that bitrate for -3 we should readjust -2 and -1 IMO: -2 being near current -3 but a little more demanding, and -1 being more where -2 is now (but definitely with nts <= 0).

Just an idea: you do a static noise shaping right now, and the noise shaping machinery is supposed to be simple, that is shifts noise up or down in frequency. In case of shifting up: wouldn't it be more or less equivalent (or may be at least a clearer approach) to allow for a weakened noise threshold tn the 12+ kHz range?
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #641
My results for v0.5.7 -snr 18 -nts 15 -shaping:

My regular sample set gets at a very good 293 kbps.
The Blackbird, Yesterday problem has gone for me, and I don't have a suspicion on furious any more.
However I abxed utb 7/8 (and  ended up 7/10), eig 7/10, and bruhns  9/10. There's a rather strong inaccuracy with bruhns at ~sec. 7.

Other than that I agree with you, Nick, that we should have only 3 quality parameters, and -3 should be transparent from the best of our experience when we go final. In case we should really get at a final average bitrate of ~300 kbps for -3 I personally don't have the demand for talking about a security margin with -3.
In case we should really arrive at that bitrate for -3 we should readjust -2 and -1 IMO: -2 being near current -3 but a little more demanding, and -1 being more where -2 is now (but definitely with nts <= 0).

Just an idea: you do a static noise shaping right now, and the noise shaping machinery is supposed to be simple, that is shifts noise up or down in frequency. In case of shifting up: wouldn't it be more or less equivalent (or may be at least a clearer approach) to allow for a weakened noise threshold tn the 12+ kHz range?
I still don't really know where the noise is going. If you could try -3 -shaping -snr 21 -nts 15, I feel that this may be better. Selective -nts parameter for the bin in which the min value is found is possible to implement - I'll have a think and revert tonight.
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 #642
I went a bit lost lately with the addition of "noise shaping", so i'm going to give my thoughts, in case any of them is good:

Usual objective of noise shaping: reduce the effect (noise) of a produced artifact (usually when applying dither), changing (shaping) it from white noise (flat) to a curve that is less perceptible.

lossyWav tries to reduce the bitdepth of a portion of audio, so that the lossless encoder can benefit and reduce the bitrate demands.
Right now, lossywav works like: It runs different FFT's to verify the requirements at different resolutions, can define a minimum signal to (quantization) noise margin and has the skew function to correct a misinterpretation of the FFT analisys. I have to recognize that i don't completely know what the -spf function does (does it affect the analisys, or the generated audio?), and now has the noise shaping function to reduce the artifacts on some bad cases.

Context of noise shaping within lossyWav: Lossywav artefacts are the consequence of a reduced SNR, caused by the bitdepth reduction. This translates to quantization of a signal, and possibly should be applying dithering to it. This means, then, applying noise shaping in the context of dither, and as such, noise shaping determines where the dither noise goes.

Consequences: Two things to have in mind:
a) noise shaping uses the fact that we're less sensistive to higher frequencies, but the lower the bitdetph, the lower the SNR is.
b) noise is generally hard to compress losslessly, and more so, in the higher frequencies.

From the above: it should be used only where the engine detects that the lowest signal (in the block being processed) compared to the quantization level is too low, and assuring the bitdepth is not too small (i recall reading here that applying noise shaping to 8bits is already not recommended).


Conclusion: I believe that right now you are only doing dither, not noise shaping. Shaping is the output of a filter, with white noise as input, similar to a notchband. (at least, the way i understand it). You should find if the problems you're trying to fix are really on soft signals, or in strong signals.
If the latter, then the problem really is too small bitdepth, and there you should not apply noise shaping.

lossyWAV Development

Reply #643
Okay, back to the drawing board with -shaping then.... I'll need to research fixed shaping coefficients. Thanks for the listening time.

Ok, I see there's an increased interest in using noise shaping. I'm not sure whether I understand what you are trying to do and why -- and please forgive me for not following the discussion to closely. To be honest, it looks a bit like groping in the dark. In case you have an idea of what "noise shaping" is actually supposed to do in your case I might be able to help you show how it could be implemented. In case you don't you might wanna try my very first suggestion (see the first page of 2B's lossy flac thread).

Cheers!
SG

lossyWAV Development

Reply #644
Okay, back to the drawing board with -shaping then.... I'll need to research fixed shaping coefficients. Thanks for the listening time.
Ok, I see there's an increased interest in using noise shaping. I'm not sure whether I understand what you are trying to do and why -- and please forgive me for not following the discussion to closely. To be honest, it looks a bit like groping in the dark. In case you have an idea of what "noise shaping" is actually supposed to do in your case I might be able to help you show how it could be implemented. In case you don't you might wanna try my very first suggestion (see the first page of 2B's lossy flac thread).

Cheers!
SG
I'd be the first to admit that I'm groping in the dark when it comes to noise shaping. Thanks for the reminder about your post on the first page of the original thread. I'll go and re-read and try to interpret / formulate an algorithm to enable implementation.

I really do need help with noise shaping, I'm a noob when it comes to audio processing - the offer is very welcome SebastianG!

@[JAZ]: Nothing apart from the window function (Hanning) affects the FFT analyses themselves. Any other parameters, i.e. -skew, -spf, -snr & -nts, modify the process of taking the FFT output and working out the "lowest" signal for that particular analysis. At the moment, there is no dither in the process at all, only rounding on bit-reduction.

What I'm really looking for is, as has been said above, a method of shifting the noise to the >16kHz band.

Any aid in comprehending this difficult topic would be greatly appreciated.
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 #645
We have a problem.

I tried v0.5.7 -snr 21 -nts 15 -shaping according to your proposal, Nick. It yields 318 kbps with my regular set and 444 kbps with my problem essence set.
I listened to the beginning of Blackbird, Yesterday, and quality was very fine to me.
I started to try to abx the problems from my last test, and used eig as the first example. abx result was 9/10.

For a comparison I also tried to abx plain -3. Now used to the kind of problem (smearing, kind of an echo) I was able to abx plain -3 9/10 as well, though to me quality is better.

I think we should fix this before continuing the noise shaping way.
I am not very sensitive to temporal resolution problems, so it would be very kind if somebody could help testing lossyWAV on samples known to be pre-echo prone to mp3 etc.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #646
We have a problem.

I tried v0.5.7 -snr 21 -nts 15 -shaping according to your proposal, Nick. It yields 318 kbps with my regular set and 444 kbps with my problem essence set.
I listened to the beginning of Blackbird, Yesterday, and quality was very fine to me.
I started to try to abx the problems from my last test, and used eig as the first example. abx result was 9/10.

For a comparison I also tried to abx plain -3. Now used to the kind of problem (smearing, kind of an echo) I was able to abx plain -3 9/10 as well, though to me quality is better.

I think we should fix this before continuing the noise shaping way.
I am not very sensitive to temporal resolution problems, so it would be very kind if somebody could help testing lossyWAV on samples known to be pre-echo prone to mp3 etc.
Bummer...... I agree that -shaping may need to wait until we have ironed out the problems with this newly discovered artefact. It may be possible that it can be dealt with using existing settings, however I am beginning to think that removing -dither was not the best idea that I've ever had.

Out of interest, how does -3 -shaping sound with this smearing sample? [edit2] More importantly, does the smearing exist at vanilla -2? [/edit2]

[edit] And a (very) belated thankyou to jesseg for taking the time to come up with an icon. I love the rows of bits - the font is a bit too curly for my taste, but I'll go with a consensus opinion. I still haven't worked out how to change the default console icon in Delphi though...... [/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 #647
v0.5.7 -2: eig is fine to me.
v0.5.7 -3 -nts 0: some partial and the final result: 4/5, 5/7, 6/8, 6/10. So though I couldn't abx it according to the final result it is expected to be not ransparent. But as the effect is extremely subtle to me, and respecting the very special nature of this artificial sample, I personally can live with it for -3. But a lot more experience with potentially temporal resolution problems is most welcome (for instance with the castanets sample and other percussion instruments).
v0.5.7 -3 -shaping: eig is ok to me, but testing bruhns I got at 9/10. As the problem to me sounds like an artefact in the HF range I guess shifting noise up is working.

I don't want to spoil the party, but for the next period of time (never say never) I'm not in the mood of testing noise shaping.

As for the classical non-noise-shaping we should try to work out -nts, -skew, -snr, -fft, and -spf default values by moving the current values to more defensive ones and make samples like eig sound transparent.
I'll take my part in this.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #648
Nick.C,
Quote
I still haven't worked out how to change the default console icon in Delphi though......

In Delphi 7 it's "Project | Options | Application" to apply a custom symbol. Hope you'll find it since this is from a German version of Delphi 7.

.sundance.

lossyWAV Development

Reply #649
Nick.C,
Quote
I still haven't worked out how to change the default console icon in Delphi though......

In Delphi 7 it's "Project | Options | Application" to apply a custom symbol. Hope you'll find it since this is from a German version of Delphi 7.

.sundance.
Thanks sundance - I'll try that this evening.

@Halb27: I think there might me some benefit in reducing the C at the end of the 1024 fft spf to, say, 9, to reduce the number of bins being averaged.

It may be that a more conservative approach to HF spreading will allow -shaping to become more useful.
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)