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

lossyWAV Development

Reply #1050
Right, I've reassessed the quality presets in light of:

a) discovering the bug in the preparation of the skewing parameters;
b) changing the default number of FFT analyses to 2 lengths for all quality presets;
c) a desire to tighten up the spreading function (same for all quality presets);
d) introducing the floating point quality presets;
e) a desire to increase the quality of the highest quality preset.

So, now the permitted range for quality preset is -0.0000 to -7.0000 (resolution 0.0001).

Corresponding internal settings:
Code: [Select]
  spreading_function_string         : string[29]='22223-22224-12235-12246-12357';
  quality_noise_threshold_shifts    : array[0..Quality_Presets] of Integer = (-12,-8,-4,0,4,8,12,16);
  quality_signal_to_noise_ratio     : array[0..Quality_Presets] of Integer = (30,27,24,21,20,19,18,17);
  quality_clips_per_channel         : array[0..Quality_Presets] of Integer = (0,0,0,1,2,3,3,3);

Resultant bitrates (for my 53 problem sample set):

-0.0: 610kbps; -0.5: 589kbps; -1.0: 566kbps; -1.5: 543kbps; -2.0: 520kbps; -2.5: 496kbps; -3.0: 472kbps; -3.5: 451kbps;
-4.0: 431kbps; -4.5: 412kbps; -5.0: 395kbps; -5.5: 379kbps; -6.0: 364kbps; -6.5: 350kbps; -7.0: 338kbps.

lossyWAV beta v0.9.4 attached to post #1 in this thread.
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 #1051
I encoded my regular sample set (which is a bit typical of what at least I encode usually) with 0.9.4 -3 and got an average bitrate of 417 kbps.
As the new -3 roughly corresponds to the old -2 this is a good result IMO.
I also see sense in shifting the meaning of the quality levels a bit in favor of the top quality edge.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #1052
I encoded my regular sample set (which is a bit typical of what at least I encode usually) with 0.9.4 -3 and got an average bitrate of 417 kbps.
As the new -3 roughly corresponds to the old -2 this is a good result IMO.
I also see sense in shifting the meaning of the quality levels a bit in favor of the top quality edge.
Excellent!

I've processed my 10 album test set at -1: 520kbps and -7: 300kbps. Over the weekend, I'll process the other integer settings for comparison. I'm listening to Mike Oldfield's Tr3s Lunas at -7 (297kbps) and it's adequate for DAP use (at least).
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 #1053
....I'll process the other integer settings for comparison.
I've finished processing the other integer presets:

FLAC: 854kbps; -0: 573kbps; -1: 520kbps; -2: 467kbps; -3: 417kbps; -4: 376kbps; -5: 343kbps; -6: 318kbps; -7: 300kbps.

-0 results in 2.25GB from 3.35GB original (67.1%); -7 results in 1.17GB from 3.35GB original (35.1%).
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 #1054
I just did this as well for my regular sample set as well as my problem sample set, and the results for the regular music are partially extremely close to yours, Nick:

          regular music             problem samples
-0            566 kbps                      633 kbps
-1            518 kbps                      596 kbps
-2            467 kbps                      554 kbps
-3            417 kbps                      509 kbps
-4            372 kbps                      467 kbps
-5            335 kbps                      427 kbps
-6            305 kbps                      392 kbps
-7            281 kbps                      360 kbps

This looks nice IMO.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #1055
I've finished my FLAC > lossyFLAC transcode at -5a: 298 discs, 3838 tracks, 11d12:56:19, 102GB > 39.5GB, 886kbps > 340kbps.
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 #1056
I know that nobody is soliciting opinions but in case anybody's interested .....

I think it's absolutely right to concentrate on getting the original concept implemented for an initial release and adding noise shaping and anything else in a subsequent release. I also think that giving preference to the higher quality settings is a good idea, but then I am more interested in quality than file sizes. For what it's worth I think LossyWAV is now looking like a much more professional, mature product.

I have converted a number of files using 0.9.4. They were a mixture of 16/44.1 and 24/48. All were sourced from vinyl. Not being very comfortable with the command line I used IFLCDrop, which only has "1" as the highest quality option available. Using "1" the 16/44.1 files ended up with bit rates ranging from 505kbps to 525kbps. The 24/48 files had a range of 535kbps to 555kbps - as an aside, I guess this gives credence to the argument that using 24 bits for vinyl is overkill as LossyWAV obviously doesn't think most of the extra bits are storing anything worth keeping. To me these are ideal bit rates as they nicely fill the gap between existing lossy and lossless.

I am in the process of arching my vinyl collection and while I will continue to use lossless for records that are very important to me, I will definetly use LossyWAV for those that are just "nice to have" (especially if someone comes up with a nice friendly GUI front end).

If there is any interest in developing LossyWAV for use ith higher bit depths/sample rates I'd be very happy to help with testing - bearing in mind that I'm not very technical, just a music lover - as I'd like to be able contribute in some way

lossyWAV Development

Reply #1057
I know that nobody is soliciting opinions but in case anybody's interested .....

I think it's absolutely right to concentrate on getting the original concept implemented for an initial release and adding noise shaping and anything else in a subsequent release. I also think that giving preference to the higher quality settings is a good idea, but then I am more interested in quality than file sizes. For what it's worth I think LossyWAV is now looking like a much more professional, mature product.

I have converted a number of files using 0.9.4. They were a mixture of 16/44.1 and 24/48. All were sourced from vinyl. Not being very comfortable with the command line I used IFLCDrop, which only has "1" as the highest quality option available. Using "1" the 16/44.1 files ended up with bit rates ranging from 505kbps to 525kbps. The 24/48 files had a range of 535kbps to 555kbps - as an aside, I guess this gives credence to the argument that using 24 bits for vinyl is overkill as LossyWAV obviously doesn't think most of the extra bits are storing anything worth keeping. To me these are ideal bit rates as they nicely fill the gap between existing lossy and lossless.

I am in the process of arching my vinyl collection and while I will continue to use lossless for records that are very important to me, I will definetly use LossyWAV for those that are just "nice to have" (especially if someone comes up with a nice friendly GUI front end).

If there is any interest in developing LossyWAV for use ith higher bit depths/sample rates I'd be very happy to help with testing - bearing in mind that I'm not very technical, just a music lover - as I'd like to be able contribute in some way
We're always looking for opinions / advice / (constructive) criticism, so your comments are very welcome.

As it is, lossyWAV should handle up to 32bit integer samples and there is no limit on sample-rate. Oh, and it will handle up to 8 channels, although this is an arbitrary limit and could be changed (although I can't imagine a scenario that would require it).

Feedback on the quality of the output at higher sample rates (>=96khz) and higher bit-depths (24bit or 32bit) would be very gratefully received!
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 #1058
Taking into account what botface was saying about the higher quality presets, I've had (yet) another think about the basis for the presets. If the -nts and -snr values were changed from:
Code: [Select]
  quality_noise_threshold_shifts    : array[0..Quality_Presets] of Integer = (-12,-8,-4,0,4,8,12,16);
  quality_signal_to_noise_ratio     : array[0..Quality_Presets] of Integer = (30,27,24,21,20,19,18,17);
to
Code: [Select]
  quality_noise_threshold_shifts    : array[0..Quality_Presets] of Integer = (-24,-16,-8,0,4,8,12,16);
  quality_signal_to_noise_ratio     : array[0..Quality_Presets] of Integer = (39,33,27,21,20,19,18,17);

Then the resultant bitrates (for my 53 problem sample set) would change from:

-0.0: 610kbps; -0.5: 589kbps; -1.0: 566kbps; -1.5: 543kbps; -2.0: 520kbps; -2.5: 496kbps; -3.0: 472kbps;

to

-0.0: 717kbps; -0.5: 686kbps; -1.0: 651kbps; -1.5: 611kbps; -2.0: 555kbps; -2.5: 519kbps; -3.0: 472kbps;

with the remaining presets:

-3.5: 451kbps; -4.0: 431kbps; -4.5: 412kbps; -5.0: 395kbps; -5.5: 379kbps; -6.0: 364kbps; -6.5: 350kbps; -7.0: 338kbps

staying the same.

[edit] Oh, I forgot to say: there's an undocumented parameter, currently called -lowpass (the name should maybe be changed - suggestions please) which changes the upper limit of the frequency range used in the spreading-function / minimum value / average value calculations. Permitted values are in the range 13.5kHz to 20.05kHz. [/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 #1059
I prefer the old settings, at least as far as -nts is concerned.
Because of the reduced efficiency of the lossless codec due to the small blocksize it happens rather often  with non-complex or quiet music when targeting at a lossyFLAC average bitrate of just 380 kbps, that a totally lossless codec yields a lower bitrate than lossyFLAC (that's why I used lossless wavPack instead of lossyFLAC to encode many tracks from my collection which contain classical music or music with few instruments). The higher we choose the bitrate the more often does this happen.
2Bdecided's basic priciple is fulfilled with -nts 0, so for an additional security -nts -4/-8/-12 should be sufficient IMO even for the most cautious people.

I also like the 16 kHz limit for doing the bits-to-remove calculations. Going lower would reduce the risk that bits-to-remove is 0 for the only reason that there's no (or only low volume) HF content around 16 kHz. But it increases the risk of not taking audible HF noise into account. When going higher it's the other way around.
IMO the best compromise is very much what you are doing right now.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #1060
I prefer the old settings, at least as far as -nts is concerned.
Because of the reduced efficiency of the lossless codec due to the small blocksize it happens rather often  with non-complex or quiet music when targeting at a lossyFLAC average bitrate of just 380 kbps, that a totally lossless codec yields a lower bitrate than lossyFLAC (that's why I used lossless wavPack instead of lossyFLAC to encode many tracks from my collection which contain classical music or music with few instruments). The higher we choose the bitrate the more often does this happen.
2Bdecided's basic priciple is fulfilled with -nts 0, so for an additional security -nts -4/-8/-12 should be sufficient IMO even for the most cautious people.

I also like the 16 kHz limit for doing the bits-to-remove calculations. Going lower would reduce the risk that bits-to-remove is 0 for the only reason that there's no (or only low volume) HF content around 16 kHz. But it increases the risk of not taking audible HF noise into account. When going higher it's the other way around.
IMO the best compromise is very much what you are doing right now.
Okay - points taken - reassuring, really.

To satisfy my curiousity, I ran my 53 problem sample set and 10 album test set at what would be quality presets -8, -9 and -10 using the same increments as the existing -3 to -7, i.e. -nts=20,24,28; -snr=16,15,14 respectively, and got:

53 problem sample set: (-7: 338kbps) -8: 318kbps; -9: 303kbps; -10: 292kbps;

10 album test set: (-7: 300kbps) -8: 286kbps; -9: 278kbps; -10: 273kbps;
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 #1061
From just careful listening (especially to the problem samples): is -8/-9/-10 acceptable with respect to the still high quality everybody may expect from a >=270 kbps encoding?
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #1062
From just careful listening (especially to the problem samples): is -8/-9/-10 acceptable with respect to the still high quality everybody may expect from a >=270 kbps encoding?
I think that tomorrow night I'll start a lossyFLAC -10 transcode of my 102GB collection (should take about 6½hours or so) and I'll listen to it over a couple of days until:

a) I am content that it satisfies the requirement;

or

b) I am not content, therefore transcode to -9 (then -8 if necessary) and repeat the longer term listening test.

Or, maybe I should leave the quality presets alone and use -snr and -nts to "roll-my-own" without pushing lossyWAV too far....?
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 #1063
I prefer the old settings, at least as far as -nts is concerned.
Because of the reduced efficiency of the lossless codec due to the small blocksize it happens rather often  with non-complex or quiet music when targeting at a lossyFLAC average bitrate of just 380 kbps, that a totally lossless codec yields a lower bitrate than lossyFLAC.
Do you think it would be worth checking for this automatically?

If found you could increase the blocksize specified to the lossless encoder when encoding the lossyWAV output (e.g. 1024, 2048 etc), and if that didn't help you could just keep the lossless version?

The latter would be really easy if you were transcoding from FLAC (or whatever) lossless anyway (if the lossyWAV program can find the files). Otherwise, I can't see any way of doing the checking other than encoding the file to lossless to see how big it comes out - which is going to double or triple the time spent on lossless encoding! Thoughts?

Cheers,
David.

lossyWAV Development

Reply #1064
Taking into account what botface was saying about the higher quality presets, I've had (yet) another think about the basis for the presets. If the -nts and -snr values were changed from:
Code: [Select]
  quality_noise_threshold_shifts    : array[0..Quality_Presets] of Integer = (-12,-8,-4,0,4,8,12,16);
  quality_signal_to_noise_ratio     : array[0..Quality_Presets] of Integer = (30,27,24,21,20,19,18,17);
to
Code: [Select]
  quality_noise_threshold_shifts    : array[0..Quality_Presets] of Integer = (-24,-16,-8,0,4,8,12,16);
  quality_signal_to_noise_ratio     : array[0..Quality_Presets] of Integer = (39,33,27,21,20,19,18,17);

Then the resultant bitrates (for my 53 problem sample set) would change from:

-0.0: 610kbps; -0.5: 589kbps; -1.0: 566kbps; -1.5: 543kbps; -2.0: 520kbps; -2.5: 496kbps; -3.0: 472kbps;

to

-0.0: 717kbps; -0.5: 686kbps; -1.0: 651kbps; -1.5: 611kbps; -2.0: 555kbps; -2.5: 519kbps; -3.0: 472kbps;

with the remaining presets:

-3.5: 451kbps; -4.0: 431kbps; -4.5: 412kbps; -5.0: 395kbps; -5.5: 379kbps; -6.0: 364kbps; -6.5: 350kbps; -7.0: 338kbps

staying the same.
[edit] Oh, I forgot to say: there's an undocumented parameter, currently called -lowpass (the name should maybe be changed - suggestions please) which changes the upper limit of the frequency range used in the spreading-function / minimum value / average value calculations. Permitted values are in the range 13.5kHz to 20.05kHz. [/edit]

Nick,
      It looks like changing the default -snr and -nts as per your thought will result in bitrates not much lower than lossless, which seems a bit pointless. Anyway, a very cautious person could use higher settings if they want to as it stands.

Re the undocumented feature, a snappy name doesn't spring to mind, but given my interest in higher sample rates could it be useful there? Maybe you could even have different defaults and allowable ranges based on the sample rate of the source file.

Speaking of higher sample rates, I volunteered to do some testing yesterday. It turns out that I can't produce 32 bit integer and since we know that LossyWAV works quite happily with 24 bit is there anything worthwhile I could test? I'd be more than willing to to do some testing on 24/48, 24/64, 24/88.2 and 24/96 if you think it might tell you something you don't already know. If you do want me to do some testing could you suggest the kind of music that's most likely to reveal problems. I'd assume acoustic instruments would be good especially if they had the ability to sustain notes over a long period EG violin, whistle, pipes etc.

lossyWAV Development

Reply #1065
If the -nts and -snr values were changed from:
Code: [Select]
  quality_noise_threshold_shifts    : array[0..Quality_Presets] of Integer = (-12,-8,-4,0,4,8,12,16);
to
Code: [Select]
  quality_noise_threshold_shifts    : array[0..Quality_Presets] of Integer = (-24,-16,-8,0,4,8,12,16);

Funny, I would rather suggest  (-6,-4,-2,0,2,4,6,8). Usually there is a sweet spot (like the lowest bit rate with no audible artifacts). If you move away from there extremely, at least theoretically you would be either inefficient or get audible differences.
But as your testing indicates that the "low" quality is still acceptable, I can see the how a gliding scale from lossless to lossy would be filling all the bit rate gaps at the same time 
In theory, there is no difference between theory and practice. In practice there is.

lossyWAV Development

Reply #1066
From just careful listening (especially to the problem samples): is -8/-9/-10 acceptable with respect to the still high quality everybody may expect from a >=270 kbps encoding?
I managed to listen to my 53 problem sample set at -10 and -9 today - definitely too much hiss at -10 (only for certain samples, however) and it is still noticable (and annoying, although I'm deliberately listening out for it) at -9. I will try to listen to -8 tomorrow.

@Botface: I don't really know which samples / tracks will be best for evaluation purposes - although I would guess that as Gurubooleez has a library of 150 instrumental samples, instrumental will be useful - I think harpsichord is a difficult type to retain transparency for.

@GeSomeone: I'm going to stick with -12..16 (step 4) for the -nts values. The change from integer to float for the quality preset selection has made use selection of intermediate points much simpler rather than manual -snr and -nts selections.
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 #1067
I prefer the old settings, at least as far as -nts is concerned.
Because of the reduced efficiency of the lossless codec due to the small blocksize it happens rather often  with non-complex or quiet music when targeting at a lossyFLAC average bitrate of just 380 kbps, that a totally lossless codec yields a lower bitrate than lossyFLAC.
Do you think it would be worth checking for this automatically?

If found you could increase the blocksize specified to the lossless encoder when encoding the lossyWAV output (e.g. 1024, 2048 etc), and if that didn't help you could just keep the lossless version?

The latter would be really easy if you were transcoding from FLAC (or whatever) lossless anyway (if the lossyWAV program can find the files). Otherwise, I can't see any way of doing the checking other than encoding the file to lossless to see how big it comes out - which is going to double or triple the time spent on lossless encoding! Thoughts?

Cheers,
David.

I noticed this kind of "issue" when I encoded my entire collection a few months ago. The lossless version in my archive was encoded with TAK then and I just compared the lossyFLAC file size with that of the TAK files.
I then tried lossless FLAC but noticed that in these cases with quiet and/or non-complex music where TAK was very efficient the lossless FLAC -8 efficiency was clearly inferior. So in these cases lossyFLAC suffers not only from the small blocksize but also from the relatively low performance of FLAC. So I used lossless wavPack which I can play on my DAP and which gives efficient results in these cases.

I'm afraid there will be no automatic solution, but IMO it's not really a problem. Most people are expected to transcode from a lossless codec so a lossyFLAC file size increase can be easily seen. Moreover an easy and very straightforward approach can be used, an aproach like "don't care if lossyFLAC bitrate goes up cause it happens rarely" (very adequate for people who usually listen to rock/pop or similar music) or "for solo instrument music and non-complex classical music avoid using lossyFLAC and go straight to an appropriate lossless codec" (adequate for lovers of solo instrument music or similar).

After all these cases say "a lossless codec is very efficient here" more than "lossyFLAC is bad here".
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #1068
From just careful listening (especially to the problem samples): is -8/-9/-10 acceptable with respect to the still high quality everybody may expect from a >=270 kbps encoding?
I managed to listen to my 53 problem sample set at -10 and -9 today - definitely too much hiss at -10 (only for certain samples, however) and it is still noticable (and annoying, although I'm deliberately listening out for it) at -9. I will try to listen to -8 tomorrow.

@Botface: I don't really know which samples / tracks will be best for evaluation purposes - although I would guess that as Gurubooleez has a library of 150 instrumental samples, instrumental will be useful - I think harpsichord is a difficult type to retain transparency for.

@GeSomeone: I'm going to stick with -12..16 (step 4) for the -nts values. The change from integer to float for the quality preset selection has made use selection of intermediate points much simpler rather than manual -snr and -nts selections.

There was a time when I thought for a more refined quality setting -nts is what should be used, and as a primary quality setting -1/-2/-3 is what we should have.

But now that we have arrived at these many primary quality settings I think this is the better way to go, but in this case we should concentrate on the primary quality setting and hide details like -nts from the user in the final version (or devide them clearly apart into the advanced options).

From just bitrate/expected quality I like your -0 to -7 settings of 0.9.4 very much (or maybe an aditional -8 in case that's useful).
It's a clear thing (especially when ommitting the a and b appendix which IMO should go into the advanced options as well [as something like -analyses n]).
IMO the default quality should be -3 (in 0.9.4 scale) and we should clearly state that -0 and -1 are useful only as an extremely high quality lossy substitution for a lossless encoding.
lame3995o -Q1.7 --lowpass 17

lossyWAV Development

Reply #1069
There was a time when I thought for a more refined quality setting -nts is what should be used, and as a primary quality setting -1/-2/-3 is what we should have.

But now that we have arrived at these many primary quality settings I think this is the better way to go, but in this case we should concentrate on the primary quality setting and hide details like -nts from the user in the final version (or devide them clearly apart into the advanced options).

From just bitrate/expected quality I like your -0 to -7 settings of 0.9.4 very much (or maybe an aditional -8 in case that's useful).
It's a clear thing (especially when ommitting the a and b appendix which IMO should go into the advanced options as well [as something like -analyses n]).
IMO the default quality should be -3 (in 0.9.4 scale) and we should clearly state that -0 and -1 are useful only as an extremely high quality lossy substitution for a lossless encoding.
I will move -nts and -snr to the advanced settings section and implement another advanced setting -analyses <n> per your suggestion, while at the same time removing the a,b or c suffix to the quality preset parameter.

I will also add a -8 parameter for this stage of testing (-nts=20; -snr=16).

lossyWAV beta v0.9.5 attached to post #1 in this thread.
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 #1070
It's really amazing to see lossyWAV get to where it's at now, and thanks to everyone helping out with this, from the original idea to just the "fans".  I really like where it's come to by this point, and thanks to Nick especially of course, and for almost always knowing which "whims" were good to explore, and which ones to hold off on.  Without that wisdom, we would still be back before v0.50  =)

I agree with the advanced settings in the help, and it might be a good thing even to leave the advanced stuff complete out of the normal help which comes up with, for instance:
Code: [Select]
lossyWAV
lossyWAV -help
and go with something like LAME, and have a
Code: [Select]
lossyWAV -longhelp
for the advnaced stuff, that way only one line is needed to mention that there's more help if you use that variable, but it's not crucial that the information is seen for "normal" and "safe" use of lossyWAV.

It also would be nice to get some graphics gurus in here, to do up a right proper logo for this.  Perhaps some submissions from the likes of deviant art or the like?  I've never used those types of sites much, but there should be a few things out there that would support that kind of thing.

lossyWAV Development

Reply #1071
It's really amazing to see lossyWAV get to where it's at now, and thanks to everyone helping out with this, from the original idea to just the "fans".  I really like where it's come to by this point, and thanks to Nick especially of course, and for almost always knowing which "whims" were good to explore, and which ones to hold off on.  Without that wisdom, we would still be back before v0.50  =)

I agree with the advanced settings in the help, and it might be a good thing even to leave the advanced stuff complete out of the normal help which comes up with, for instance:
Code: [Select]
lossyWAV
lossyWAV -help
and go with something like LAME, and have a
Code: [Select]
lossyWAV -longhelp
for the advnaced stuff, that way only one line is needed to mention that there's more help if you use that variable, but it's not crucial that the information is seen for "normal" and "safe" use of lossyWAV.

It also would be nice to get some graphics gurus in here, to do up a right proper logo for this.  Perhaps some submissions from the likes of deviant art or the like?  I've never used those types of sites much, but there should be a few things out there that would support that kind of thing.
Where lossyWAV is now is a result of input, feedback and constructive criticism - without any of these, it would not be the utility it is. Thanks are due to all who have bothered to contribute in any way.

I really like the -help and -longhelp parameter suggestions (or maybe combine -help -detail to get the more detailed help ). I'll get busy writing the explanatory text to go behind them and will "hide" the advanced options so that they are not shown when just "lossyWAV" is used as a command line.

I haven't had any success integrating an icon into the Delphi binary - maybe I'm missing something, maybe it's a feature that is missing from the free version of Turbo Delphi.
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 #1072
As long as the executable has a resource section (yours do already, for version info) then you can use one of several resource editors to import a new .ico into the executable, and they should automatically create and icon group resource too.

Here's two of my favs, both are free:
http://www.wilsonc.demon.co.uk/d10resourceeditor.htm
http://www.angusj.com/resourcehacker/

They are both useful because each of them have their own querks.  I recommend using XN whenever you can though.  Also usefull is LordPE or PEiD, for rebuilding your executables.  That also cuts down on the file size slightly.

And of course there's exe compressors, UPX isn't bad (i use a custom made "uber-brute-force" version which packs each half KB section with multiple types, and then going into previous sections, to figure out what lengths and what compression types will give maximum compression, and yes it's VERY slow, especially with executables over 1MB )

For an executable under 100kb, I would recommend FSG, but it is picked up as a false alarm by 3 un-popular AV (because their developers are too lazy to write support for unpacking FSG into their AV I guess, of which publicly available source-code already exists for C and Assembly.)
http://programmerstools.org/node/50

But yeah, without packing I'm usually able to get lossyWAV down to around 80KB... with the lossyWAV icon i made, which has all 4 sizes.  If you stripped it down to just 32x32 size, it could get even smaller.

lossyWAV Development

Reply #1073
Here's an example of one with the icon, and rebuilt.... as well as FSG and my UPX uber-brute.  My UPX actually beats FSG on this one, so I no longer suggest using FSG, but UPX, if you pack it at all.  See attached.

lossyWAV Development

Reply #1074
As long as the executable has a resource section (yours do already, for version info) then you can use one of several resource editors to import a new .ico into the executable, and they should automatically create and icon group resource too.

Here's two of my favs, both are free:
http://www.wilsonc.demon.co.uk/d10resourceeditor.htm
http://www.angusj.com/resourcehacker/

They are both useful because each of them have their own querks.  I recommend using XN whenever you can though.  Also usefull is LordPE or PEiD, for rebuilding your executables.  That also cuts down on the file size slightly.
Hehehe.... What fun, adding an icon at this late stage! I downloaded XN Resource Editor and have had a preliminary play about - it's *really* easy. I still like your fading vertical bit cascade with zeroed lsb's at the bottom as a background - not too sure about the font 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)