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: My tuned Vorbis: QKTune beta 1 :) (Read 43902 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

My tuned Vorbis: QKTune beta 1 :)

This is my own attempt at tuning Vorbis, targetting mainly the pre-echo handling only and nothing else.  The tunings are done for q 2, 3, 4, and 5.

I've uploaded a win32 binary (wasn't that hard to make, thank goodness with VS.NET)  but it is a bit slow.

The vendor tag is: Xiph.Org libVorbis I 20030909 (QKTune beta 1) EXPERIMENTAL

Again, I stress this is experimental only and I'm not sure of the quality.  I didnt change much from the other code so hopefully no breaks in quality. 

The uploaded binary is at http://www.hydrogenaudio.org/forums/index....ndpost&p=176752

Test it on music at qualities q 3 and 4 (which I focused a lot of time on improving) but q 2 and 5 are also tuned to an acceptable state.  So far, castanets sounds quite nice at q 4.    The bitrate of q 5 is generally smaller than GT3b1 at q 5 but the quality isn't too much poorer (I hope).  Compare q 5 with GT3b1 too.

This is my first attempt at tuning so don't crucify me if I break something.  I'm learning too.

Feedback is most welcome.

My tuned Vorbis: QKTune beta 1 :)

Reply #1
I did a quick test on castanets.

QKTune beta 1 (-q5) 15/15: better than 1.0.1(-q5) and aoTuVa2(-q5).
Worse than GT3b1(-q5), but difference is not obvious.

My tuned Vorbis: QKTune beta 1 :)

Reply #2
Quote
Worse than GT3b1(-q5), but difference is not obvious.

Yes, that is what I expected.  It is something I'll try and improve, if only my ears were better.

Try q 3 and 4.  That is the quality that I am much less pessimistic about

My tuned Vorbis: QKTune beta 1 :)

Reply #3
Quote
Try q 3 and 4.  That is the quality that I am much less pessimistic about

OK, I compared QKTune(-q4) vs 1.01(-q4).
13/15:QKtune has less pre-echo.

Also, QKtune is slightly better than 1.0.1 at -q3.

My tuned Vorbis: QKTune beta 1 :)

Reply #4
I've uploaded beta 2 at http://www.hydrogenaudio.org/forums/index....ndpost&p=177141

The pre-echo should be even less now for q 2, 3, 4, and 5 (and hopefully q 5 is approaching GT3b1  ).  Castanets at q 2 and above sounds more crisper than 1.0.1 which is a good sign.

Stereo should be better in q 2 and 3 as I've slided the stereo modes down.  q 4 => q 3 and q 3 => q 2.  I did this because I heard some flanging on the castanets sample at q 2.  It shouldn't hurt quality but may bump the bitrate up a few kbps.  *shrugs*

The main quality value I'm targetting most on is q 4 as this is the 128 kbps nominal range.  Hopefully QKTune beta 2 is stable enough to use in this medium quality range so we can do some nice ripping at ~128 kbps.....yay!!

Try it and tell me how it goes.

My tuned Vorbis: QKTune beta 1 :)

Reply #5
Nice to see, that there are already guys improving Vorbis
Keep it on, QK !

Encoding speed is improved in comparison with QKtuned1, a quick sound test was well.
I think, I'll take your encoder at q3 for my littlle Iriver
FLAC --> MP3 (Lame 3.96.1: V5 --athaa-sensitivity 1)

My tuned Vorbis: QKTune beta 1 :)

Reply #6
WOW,
great to see how developement is going on.

I made a small test between -q 4 (1.01) vs. -q 3 (1.01 qktune 2) with my own produced samples.

The qktune 2 encoded file sounds great. Really close to the original.
Bitrate: 128kbps

The 1.01 sounds bad. Much preecho and smearing, especially the snares!
(but encoding was a bit faster)
Bitrate: 121kbps

Great work!
thanks

My tuned Vorbis: QKTune beta 1 :)

Reply #7
Cool, that's good news.  The files produced will be bigger than 1.0.1 as QKTune will use up more bits on those hard=to-encode places. On the castanets sample, the average bitrate is about 170 kbps at q 4.  If your music has very isolated transients, then the final bitrate won't be very much higher.  On classical music where things are a bit smoother, QKTune will perform exactly like 1.0.1.

Oh yeah, this oggenc is slower since I'm not using the Intel C++ compiler and no optimisation switches were used.  Just a straight-out-the-box compile from Visual Studio.NET.

Try some ABXing too, though it will be easily ABXable as pre-echo isn't the only problem with Vorbis.  At q 2, 3, 4, I easily ABXed it by listening to the high frequency boost.  That, I have no solution for at the moment.  The tunings in QKTune are only focused on reducing pre-echo.

More listening tests are welcome, esp. from our 'golden eared' members  Anyone tried testing q 2?

My tuned Vorbis: QKTune beta 1 :)

Reply #8
QuantumKnot, first of all I would like to thank you for your effort.
The case. I don't know if this can be useful:
I encoded spahm.wav sample (the only one I had on  my PC) with 1.0.1CVS and QKb2.
Here are results, but first I would like to say I KNOW that Ogg Vorbis is VBR, not ABR codec.

1.0.1CVS
q2.00=182.6

QKb2
q2.00=326.2

Anybody can predict that QKb2 was better at this bitrate difference. And despite Ogg Vorbis is VBR codec, IMHO it is not good to produce such big bitrates at q2. Then I encoded the same sample with QKb1 at different -q (not at ABR mode) to get comparable bitrate:

q0.00=119,3
q1.00=156.7
q1.13=179.8
q1,14=181.6
q1.15=183.4
q1.20=192.4

Then I took 1.0.1 CVS q2 encoding and QKb1 q1.15 encoding and began ABXing on first 4-5 seconds of the file. I ABXed it 45 from 50 times and despite they were ABXable it was quite difficult to say what sample is better. But IMHO I chose sample 1 as winner and that was 1.0.1 CVS encoding. :-( Can anybody do a test at given -q meanings?

P.S. I chose 1.0.1 CVS version because it was less hmmm.... I would say coughing and I can't determine the cause of it. May be it is of preecho or may be postecho.
Ogg Vorbis for music and speech [q-2.0 - q6.0]
FLAC for recordings to be edited
Speex for speech

My tuned Vorbis: QKTune beta 1 :)

Reply #9
Thanks for the tests.

I didn't modify the tunings of q 0 and 1 in QKTune b1 or b2 so it won't show any tangible improvement.

Secondly, I am aware this coder will exhibit highly inflated bitrates on difficult samples.  At a nominal rate of 96 kbps, even the 1.0.1 coder requires nearly twice as many bits.  GT3b1 also suffers from this problem of runaway bitrates.  The challenge is to fine tune this down to save as many bits as possible without compromising on quality.  Clearly this is something I need to work on and I tried way too hard to get the pre-echo at q 2 down, when in fact, it may not be possible at such a low rate.  I'll down-tune q 2 and 3 a bit to rectify this.

But generally speaking, most of the music we encode won't contain so many difficult parts as to affect the final average bitrates by so much.  So a slight jump to 200 or 300 kbps on a few frames due to sharp transients are few and far between.

I don't even want to think about the bitrates produced when encoding that artificial impulse train sample

My tuned Vorbis: QKTune beta 1 :)

Reply #10
Damn, that is one nasty sample.  Just tried to encode spahm.wav using Nero AAC using VBR Internet preset (90 - 100 kbps) (LC profile).  Average bitrate came out at 149 kbps and it sounds watery.  GT3b1 at q 5 averages at 490 kbps.  It's interesting to note that the bitrate shoots back down to nominal from 24 seconds onwards with all the Vorbis encoders and AAC.

My tuned Vorbis: QKTune beta 1 :)

Reply #11
Quote
I didn't modify the tunings of q 0 and 1 in QKTune b1 or b2 so it won't show any tangible improvement.

1. As I understand the way Ogg Vorbis q values work - any fractional value is a result of interference of whole meanings. So if you tuned q2,3,4,5 - q>1.00 (I used 1.14) is also affected. Am I wrong?
2. Did you tried to encode some different (I mean genre) albums? What is average bitrate?
Ogg Vorbis for music and speech [q-2.0 - q6.0]
FLAC for recordings to be edited
Speex for speech

My tuned Vorbis: QKTune beta 1 :)

Reply #12
Quote
1. As I understand the way Ogg Vorbis q values work - any fractional value is a result of interference of whole meanings. So if you tuned q2,3,4,5 - q>1.00 (I used 1.14) is also affected. Am I wrong?
2. Did you tried to encode some different (I mean genre) albums? What is average bitrate?


1.  That I'm not too sure about.  There may be some intermixing at the fractional values.  But in terms of actual tuning, I only modified the variables at quality 2 and above.  Quality 1 remains the same as 1.0.1.  Also to note is that Garf modified the pre-echo trigger thresholds so perhaps that explains why q4.5 had different bitrates.  I didn't touch the pre-echo thresholds.

2.  Yes, I did a few just to see how it went.  I encoded some classical and the bitrate was about the same as 1.0.1 so that's nothing surprising.  I encoded some pop and the bitrates were usually slightly higher (+10 kbps).  And the most increases came from encoding techno where the bitrates were about 20 kbps kbps higher.  Note that I encoded entire songs rather than 30 second samples so generally, it averages out.  Unless you are listening to a 3 minute song of just impulse trains

EDIT:  While I'm at it, I might try adding lossless stereo coupling to a low q and see if the high frequency boost is there.  I just noticed this

My tuned Vorbis: QKTune beta 1 :)

Reply #13
I've released a binary of QKTune beta 3.  The only changes from the previous beta are at q 4.

http://www.hydrogenaudio.org/forums/index....ndpost&p=185473

I've done some more tweaks to address pre-echo and also experimented with other noise bias values, esp. those affecting transitional blocks (short->long, long->short).

However one particular characteristic at q 4 is a slight reduction in the HF boost.  I used nyaochi's 8823.flac sample, and focused on the range of 7.1 to 9.1 seconds.  While not perfect (abxable with original), I was able to ABX the difference between beta 3 and beta 2

Code: [Select]
WinABX v0.23 test report
02/18/2004 00:03:50

A file: E:\vsamples\qk3.wav
B file: E:\vsamples\qk2.wav

00:04:55    1/1  p=50.0%
00:05:02    2/2  p=25.0%
00:05:24    3/3  p=12.5%
00:05:40    4/4  p= 6.2%
00:06:29    5/5  p= 3.1%
00:06:36    6/6  p= 1.6%
00:06:47    7/7  p= 0.8%
00:06:54    8/8  p= 0.4%
00:07:12    9/9  p= 0.2%
00:07:22  10/10  p< 0.1%
00:07:25  test finished


My impression was the HF boost was a bit lower, though it could be related to pre-echo....

So I need someone to verify this HF boost for me.

Please note this is more experimental than beta 2 and the bitrate has jumped quite a bit since then.  It gives me no comfort that this has happened and I'll address it ASAP....but the apparent  HF boost reduction has got me excited for now

My tuned Vorbis: QKTune beta 1 :)

Reply #14
I did a test on 41_30sec.

The QKTune b3 didn't bother me with pre-echo, though the HF-boost is still found there.
Also, the bitrate at 191kbps is far bigger than 1.0.1 q4(138kbps).
Code: [Select]
WinABX v0.42 test report
02/17/2004 23:44:40

A file: I:\test\41_30sec\41_30sec.wav
B file: I:\test\41_30sec\qk3q4.wav

Start position 00:12.6, end position 00:13.4
23:47:01    1/1  p=50.0%
23:47:11    2/2  p=25.0%
23:47:15    3/3  p=12.5%
23:47:26    4/4  p=6.2%
23:47:38    5/5  p=3.1%
23:47:46    6/6  p=1.6%
23:48:10    6/7  p=6.2%
23:48:21    6/8  p=14.5%
23:48:31    7/9  p=9.0%
23:48:53   8/10  p=5.5%
23:49:19   9/11  p=3.3%
23:49:30  10/12  p=1.9%
23:49:52  11/13  p=1.1%
23:49:59  12/14  p=0.6%
23:50:16  13/15  p=0.4%
23:50:25  14/16  p=0.2%
23:50:32  15/17  p=0.1%
23:50:43  16/18  p< 0.1%
23:51:19  test finished

My tuned Vorbis: QKTune beta 1 :)

Reply #15
Yeah, it is still there but do you feel the HF boost is more/less/same than that in 1.0.1?

With the ridiculous bitrate increase, I guess this beta is a no-goer.

My tuned Vorbis: QKTune beta 1 :)

Reply #16
Quote
Yeah, it is still there but do you feel the HF boost is more/less/same than that in 1.0.1?

With the ridiculous bitrate increase, I guess this beta is a no-goer.

On 41_30sec, I think QKTune's HF boost is less than 1.0.1(both q4 and q5) and GT3b1(q5), indeed.

My ABC/HR result.

My tuned Vorbis: QKTune beta 1 :)

Reply #17
Thanks for the listening tests.  Looks like Modest Tuning is doing the best out of all the encoders.

My tuned Vorbis: QKTune beta 1 :)

Reply #18
And where is the Beta3 ?
I realy want to testing it 


My tuned Vorbis: QKTune beta 1 :)

Reply #20
Quote
And where is the Beta3 ?
I realy want to testing it 

I removed the binary for beta 3 since it wasn't really worth further testing.  I only want to release encoders which I think are not only worth testing, but safe enough to put in the public.  The last thing I want is broken quality ogg vorbis files lying around.

If you are still interested in testing it, I can e-mail you the binary.  Just PM me your e-mail address.

My tuned Vorbis: QKTune beta 1 :)

Reply #21
OK, I've uploaded beta 3.1 which is my second attempt at reducing HF boost/hiss.  It is a complete departure from what I did in beta 3 (which admittedly, produced too high bitrates). 

Download the binary here:
http://www.hydrogenaudio.org/forums/index....ndpost&p=187306

I've made a certain change to the point stereo mechanism which will try to compensate (in an arbitrary way) the energy increase in high frequencies.  This is quite a radical change to the code and is not just a simple tuning.  So it may very well break quality in other areas.      Use for testing only.

It includes all the pre-echo tunings from beta 2.

Let me know if the HF boost/hiss is higher, lower, or the same with other versions (eg. 1.0.1).  And also, please report any other problems like loss of naturalness, loss of tonality, metallic sounds, flanging, watery sounds etc.

Thanks

My tuned Vorbis: QKTune beta 1 :)

Reply #22
Well, I did some tests on samples from an album which I usually listen to. (Kyohei Tsutsumi Ultra Best Tracks Soul & Disco)

drdragon_Vorbis_test
Hustle_Jet_Vorbis_test
Stranger_Vorbis_test

Each sample is hard to encode imo. But, then, I think "Hustle Jet" specially is  a new killer sample for the HF boost issue(and pre-echo). The samples are found here.
http://www.hydrogenaudio.org/forums/index....ndpost&p=187351

My tuned Vorbis: QKTune beta 1 :)

Reply #23
Thanks for the tests and samples.  These Vorbis killer samples are invaluable for tuning.

Well, beta 3.1 is doing at least better than its predecessors.  *wipes forehead*

My tuned Vorbis: QKTune beta 1 :)

Reply #24
One thing I should mention is that the compensated point stereo is sort of quality-independent so it should apply (for better or for worse) to all q values below 6.  Since it was based on beta 2, the sweet spots should be from q 2 to 5.



[span style='font-size:8pt;line-height:100%']EDIT:  Point stereo isn't used at q>=6 so edited the statement[/span]