Hi!
First, thank you all for the great feedback, testing and samples...
There are great news regarding the latest OptimFROG DualStream, version 4.507a2:
- added advanced noise shaping at encoding (--ans) option, improving transparency, especially at lower bitrates
- 210% faster encoding in quality mode at bit identical results
- 220%-270% faster encoding in average bitrate mode at bit identical results
Get it from
http://LosslessAudioCompression.com on the DualStream page
QUOTE
What algorithms are you using in lossy mode? Quantization only, like WV? Some sort of psychoacoustic model? DCT?
As opposed to WavPack which does implicit modeling by varying the quantization level to maintain the desired data rate, OptimFROG DualStream has an explicit advanced modeling stage. The model is not similar with a psychoacoustic one and it uses quite new techniques which try to minimize both objective and subjective (perceptual) information loss (which I do NOT intend to describe further for the moment). The output from the model (qantization level) is in some way written as side information in the compressed file, for the decoder to use it without further analysis. This has the great advantage of a very fast decoder, backward (implicitly) and forward (older decoder plays newer version streams) compatibility and permits enhancing encoding (modeling phase) without disrupting the users.
There had been relatively some confusion about using --quality with --mode extra (probably thinking that it produces slightly better "quality"

than using only --quality), the starting point of the idea that DualStream is implacably slow. I did an example test to clarify this situation (using DualStream 4.507a2 and WavPack 3.97 and taken from the ofs.txt readme file):
There it is a short, speed illustrative example (test file used was
Yes - The Ladder - New Language, duration 9m19.1s):
No. Bitrate Enc. Dec. Command line used for encoding
1. 341.0 kbps 26.9x 31.4x wavpack -h -b340
2. 345.9 kbps 12.8x 23.7x ofs --mode fast --quality 3
3. 341.0 kbps 9.7x 16.7x ofs --quality 3
4. 338.3 kbps 5.2x 8.0x ofs --mode extra --quality 3
5. 244.0 kbps ofs --mode fast --quality 0
6. 241.0 kbps ofs --quality 0
7. 239.2 kbps ofs --mode extra --quality 0
Note that for (2),(3), and (4) compressed files decode to the same
bit-identical file, so there is absolutely NO sacrifice in quality
by using either file. The only difference is that the fast mode file
has it this case 5 kbps greater bitrate than normal mode, and extra
mode file has 3 kbps smaller bitrate than normal mode.
When speed is of primary concern, you may use --mode fast along with
the desired quality
When you have a very high speed computer and speed does not matter
much, you may use --mode extra along with the desired quality, which
will save a few more kbps compared to normal mode, especially at very
high quality settings (quality>=5). Using --mode extra with
quality<=3.0 generally shows no significant kbps savings (<=3 kbps)
and generally does not worth using (see positions (5), (6), and (7))
As a conclusion, OptimFROG DualStream is not as slow at it may first seem (probably because of the horrible encoding speed of the first alpha 4.507a), just 30% slower decoding at its fastest mode than WavPack...
QUOTE
I think Ghido you must simplify
not only lossy but lossless options too. But anyway good job !
PS: does it mean that extension .ofr changed to .ofs ?
Why in_ofs doesn't play .ofr ?
PSS: Oh Shit, looks like it's needed to use both in_ofs and in_ofr. I think Ghido you must restructure your
project ...
As I stated in the readme, I did not want to mix this new alpha (experimental) files with the highly stable OptimFROG standard. Also, .ofr extension was thought as and I think it should always remain so, lossless.
Future plug-ins will play both of the files (if you rename .ofr extension to .ofs they will be played by the ofs plug-in right now)
Regarding OptimFROG (DualStream) having too many options, I recommend limiting to the --mode option for the standard version and to the --quality option (eventually with --ans) for the DualStream version.
The default values for the parameters generally give the best overall performance (time and compression). These recommended "presets" are given at the end of the corresponding readme file.
@Speek: Great job, thank you very much for adding the front-end for DualStream...
@Den: Thank you very much for your detailed ABX testing and samples. There is the new advanced noise shaping --ans mode for you to test B), which does adapt noise to stay in the "shadow" of the signal.
This is similar to the Wavpack X option (-s-1 ... -s0 ... -s1) but unlike it, is not limited to a straight line balanced attenuation, as it may take more complex forms following the signal, and it adapts continuously to the music encoded. Using a fixed shaping option like WavPack's -s may present the danger of lowering the quality of some portions of the encoded file without knowing, because ANY constant value will produce worse results on some portions of the same file than the no shaping option.
I find very interesting the WavPack property of reencoding the decoded lossy file identically. However, the problem is that if you modify even one single sample of the file, it does completely lose this property (after the respective sample)...
Thanks again for the your enthusiasm and encouraging. I'm waiting for your feedback...
Florin