Improved FLAC encoder, need help retuning presets |
Improved FLAC encoder, need help retuning presets |
May 3 2006, 02:30
Post
#1
|
|
|
FLAC Developer Group: Developer Posts: 1526 Joined: 27-February 02 Member No.: 1408 |
flac.zip ( 98.94K )
Number of downloads: 1467This is a win32 version of the flac-1.1.2 encoder with improvements based on Garf's suggestions (or it can be rebuilt from the current CVS code). For me on CD audio, properly applied it can improve the compression ratio 1% or 2% (e.g. ratio dropping by 1% from 51% to 50%, or a 2% improvement on a ratio of ~50%) with no effect on the decoding speed or complexity. Garf's suggestion about applying a Hann window to the data before LPC analysis prompted me to go back to that part of the codec and investigate what could be improved. Some of the things normally done in LPC analysis (like overlapping windows) would be a big pain to do in the reference encoder because of the way it's designed (and probably with little gain). Other things (like adjusting for the mean in autocorrelation) are easy but yield little gain. But using one or more windows on the data has had an immediately positive effect. This version of flac adds a new -A option that lets you specify one or more window functions. Instead of a rectangular window, the default is currently tukey(0.5) (first and last quarters of the window are cosine-tapered). Here is how it's used: CODE -A "function", --apodization="function" Window audio data with given the apodization function. The functions are: bartlett, bartlett_hann, blackman, blackman_harris_4term_92db, connes, flattop, gauss(STDDEV), hamming, hann, kaiser_bessel, nuttall, rectangle, triangle, tukey(P), welch. For gauss(STDDEV), STDDEV is the standard deviation (0<STDDEV<=0.5). For tukey(P), P specifies the fraction of the window that is tapered (0<=P<=1; P=0 corresponds to "rectangle" and P=1 corresponds to "hann"). More than one -A option (up to 32) may be used. Any function that is specified erroneously is silently dropped. The encoder chooses suitable defaults in the absence of any -A options; any -A option specified replaces the default(s). ***When more than one function is specified, then for every subframe the encoder will try each of them separately and choose the window that results in the smallest compressed subframe. Multiple functions can greatly increase the encoding time.*** What I would like help with is coming up with optimal general-case -A defaults for the -3 .. -8 presets. In my testing the optimal window seems to depend heavily on the spectral characteristics of the audio (as you would expect). If you use multiple windows that have different characteristics this leads to better overall results but increases the encoding time. So what I'd like to answer is: 1. What is the best window for CD audio "in general" (to be used for the lower presets) 2. What are the best 2 (and maybe 3 if it makes a big difference) windows (to be used for the highest presets) This can be done with with brute force (try all combinations), heuristics (by knowing the characteristics of each window) or haphazard. I'm hoping that with your help we'll be able to arrive at general answers. I'm afraid mine are too specific and biased by my corpus. So if anyone who wants to experiment can try with different -A settings, and reply here with their results (compression differences and the nature of the corpus like "classical", "metal", "noisy", "quiet") that would be great. Thanks to Garf and thanks in advance to testers. I'll post my results with the standard FLAC corpus next. Josh these are the results I got trying each window in turn with -5 and -8. -5 uncompressed size=780558856 CODE 409849350 tukey(0.125) 409855256 tukey(0.25) 409875833 tukey(0.03125) 409877499 tukey(0.0625) 409883425 tukey(0.015625) 409892304 tukey(0.5) 409896700 tukey(0.0078125) 409919399 gauss(0.5) 409942585 hamming 410099774 welch 410127063 triangle 410139341 connes 410145159 hann 410206946 blackman 410209682 kaiser_bessel 410245892 blackman_harris_4term_92db 410261735 nuttall 410334114 gauss(0.25) 410443236 flattop 410593346 gauss(0.125) 411043098 gauss(0.0625) 411764264 gauss(0.03125) 413032246 bartlett_hann 413099455 gauss(0.015625) 413457591 rectangle 413871409 bartlett 415302473 gauss(0.0078125) -5 for the "non-classical" tracks (which is what I think the general populace is biased toward) uncompressed size=321208244 CODE 213272941 hamming 213279899 gauss(0.5) 213293852 tukey(0.5) 213324056 connes 213326549 welch 213330829 triangle 213334318 tukey(0.25) 213337944 hann 213351475 blackman 213362011 kaiser_bessel 213362020 tukey(0.125) 213377272 tukey(0.0625) 213383367 nuttall 213383604 blackman_harris_4term_92db 213388948 tukey(0.03125) 213396140 tukey(0.015625) 213400261 tukey(0.0078125) 213431582 gauss(0.25) 213457420 flattop 213615243 gauss(0.125) 213864173 gauss(0.0625) 214223504 gauss(0.03125) 214376512 bartlett_hann 214445900 rectangle 214763174 bartlett 214836383 gauss(0.015625) 215909945 gauss(0.0078125) -8 uncompressed size=780558856 CODE 406740688 tukey(0.5) 406786760 tukey(0.25) 406824594 tukey(0.125) 406850821 welch 406862118 tukey(0.0625) 406863285 hamming 406879377 connes 406879491 hann 406884072 tukey(0.03125) 406891990 tukey(0.015625) 406897041 tukey(0.0078125) 406897975 triangle 406929514 blackman 406943550 kaiser_bessel 406949271 blackman_harris_4term_92db 406971792 nuttall 407010949 gauss(0.25) 407144075 gauss(0.5) 407155852 flattop 407198841 gauss(0.125) 407519399 gauss(0.0625) 408079300 gauss(0.03125) 409140225 gauss(0.015625) 410968550 gauss(0.0078125) 411083716 bartlett_hann 411877779 rectangle 412069308 bartlett -8 "non-classical" uncompressed size=321208244 CODE 212016651 tukey(0.5)
212020858 hamming 212025289 hann 212026935 connes 212035402 blackman 212035638 triangle 212037703 welch 212045149 kaiser_bessel 212053628 blackman_harris_4term_92db 212055529 nuttall 212061598 tukey(0.25) 212081934 gauss(0.25) 212087652 gauss(0.5) 212091180 tukey(0.125) 212114878 tukey(0.0625) 212126112 tukey(0.03125) 212130608 flattop 212132781 tukey(0.015625) 212136244 tukey(0.0078125) 212212269 gauss(0.125) 212411636 gauss(0.0625) 212734806 gauss(0.03125) 213284875 gauss(0.015625) 213419896 bartlett_hann 213599770 rectangle 213869540 bartlett 214205800 gauss(0.0078125) |
|
|
|
![]() |
May 3 2006, 02:41
Post
#2
|
|
|
Group: Banned Posts: 232 Joined: 20-January 06 Member No.: 27228 |
While I appreciate you trying to "tweak" a 1-2% compression improvement out of FLAC, I sure hope it doesn't break backward compatability with FLAC decoders or audio players that are out there. I like FLAC just the way it is (a lossless standard) that just works. I have entrusted my entire archive of audio masters to the FLAC format and would dislike immensely having to deal with a new version that might be buggy and/or break compatability over a 1 to 2% coding improvement. My 2 cents... Thanks for writing FLAC.
This post has been edited by goodnews: May 3 2006, 02:42 |
|
|
|
May 3 2006, 04:01
Post
#3
|
|
![]() Group: Members Posts: 1189 Joined: 19-May 05 From: Montreal, Canada Member No.: 22144 |
In your case, M. Coalson (do you mind if I call you Sir?
Short answer : Tukey 0.5 Is there any slowdown resulting of this window application (when it is changed)? |
|
|
|
May 3 2006, 04:02
Post
#4
|
|
![]() Group: Members Posts: 964 Joined: 29-December 01 Member No.: 830 |
If I've observed one thing about the way Josh works over the years I've been following (and using!) FLAC, it's that he is careful to always preserve backward compatibility. No worries there....
- M. |
|
|
|
May 3 2006, 04:17
Post
#5
|
|
![]() Group: Members (Donating) Posts: 263 Joined: 23-February 04 From: United States Member No.: 12219 |
Yeah I did a quick test:
Quick Test I only tested -8 because that's the only preset I use. I didn't really pour over the results, I just highlighted the setting that gave the best compression. I'll do some more files tomorrow, but as of right now it's already past my normal bedtime. |
|
|
|
May 3 2006, 04:19
Post
#6
|
|
|
FLAC Developer Group: Developer Posts: 1526 Joined: 27-February 02 Member No.: 1408 |
QUOTE ' date='May 2 2006, 10:01 PM' post='388693']In your case, M. Coalson (do you mind if I call you Sir? hehe, am I being knighted? QUOTE Is there any slowdown resulting of this window application (when it is changed)? no, only if you specify multiple -A options. even in the default case one window is always applied, and applying the window itself is pretty negligible compared to the rest of the analysis stage. Josh |
|
|
|
May 3 2006, 05:04
Post
#7
|
|
|
FLAC Developer Group: Developer Posts: 1526 Joined: 27-February 02 Member No.: 1408 |
While I appreciate you trying to "tweak" a 1-2% compression improvement out of FLAC, I sure hope it doesn't break backward compatability with FLAC decoders or audio players that are out there. don't worry, this has no effect on the decoder, it's purely an encoder improvement. @zoom, thanks, that format is useful. also, a couple other things that would be interesting to know... 1. if there there are any mistakes in any of the window formulas (wouldn't surprise me)
window.c.zip ( 1.99K )
Number of downloads: 4272. if there is an efficient technique for determining what kind of window would be best. I imagine that looking at the signal in the frequency domain might give a hint but I'm not sure that would be faster than just trying a couple of different windows. Josh |
|
|
|
May 3 2006, 08:04
Post
#8
|
|
|
Group: Members Posts: 826 Joined: 29-September 04 Member No.: 17374 |
Windows users can use this .cmd file to test the encoder:
CODE for %%n in ("tukey(0.875)" "tukey(0.75)" "tukey(0.625)" "tukey(0.5)" "tukey(0.375)" "tukey(0.25)" "tukey(0.125)" "gauss(0.5)" "gauss(0.4375)" "gauss(0.375)" "gauss(0.25)" "gauss(0.1875)" "gauss(0.125)" "gauss(0.0625)" "hamming" "hann" "blackman" "kaiser_bessel" "connes" "triangle" "welch" "blackman_harris_4term_92db" "nuttall" "flattop" "bartlett_hann" "rectangle" "bartlett") do (start "%%n" /B /LOW /WAIT "flac.exe" -8 -A %%n "test.wav" -o "%%n.flac" & dir /N "*.flac" >>"temp.txt" & del "*.flac") dir /N *.wav | find ".wav" >"report.txt" type temp.txt | find ".flac" | sort >>"report.txt" or this one for users with "," (comma) as decimal point in system locale (e.g., Russia): CODE for %%n in ("tukey(0,875)" "tukey(0,75)" "tukey(0,625)" "tukey(0,5)" "tukey(0,375)" "tukey(0,25)" "tukey(0,125)" "gauss(0,5)" "gauss(0,4375)" "gauss(0,375)" "gauss(0,25)" "gauss(0,1875)" "gauss(0,125)" "gauss(0,0625)" "hamming" "hann" "blackman" "kaiser_bessel" "connes" "triangle" "welch" "blackman_harris_4term_92db" "nuttall" "flattop" "bartlett_hann" "rectangle" "bartlett") do (start "%%n" /B /LOW /WAIT "flac.exe" -8 -A %%n "test.wav" -o "%%n.flac" & dir /N "*.flac" >>"temp.txt" & del "*.flac") dir /N *.wav | find ".wav" >"report.txt" type temp.txt | find ".flac" | sort >>"report.txt" Copy contents to a .cmd file, place it in a folder with the new flac.exe and some test.wav and run. Output files will be named as blackman.flac etc., report.txt file will contain sorted (ascending sizes) list of files. Edit. Updated the script to run with IDLE priority (in backgroung) and modified list of functions. Edit 2. Made the script not to create bunch of flac files. This post has been edited by Egor: May 4 2006, 11:59 |
|
|
|
May 3 2006, 08:28
Post
#9
|
|
![]() Group: Developer Posts: 1317 Joined: 20-March 04 From: Göttingen (DE) Member No.: 12875 |
Are the blocks' windows currently overlapping?
Did you try it Vorbis-style? (overlapping + Vorbis window) Sebi |
|
|
|
May 3 2006, 10:02
Post
#10
|
|
![]() Group: Members Posts: 274 Joined: 17-May 04 From: QLD, Australia Member No.: 14136 |
I encoded a few songs using Egor's .cmd. tukey(0.25) seems to give better results for the heavier songs
Pink Floyd - Time Prog Rock CODE 74,946,524 original wav 43,298,415 tukey(0.5) 43,299,286 connes 43,299,513 triangle 43,301,660 hann 43,302,460 welch 43,303,237 blackman 43,303,325 tukey(0.25) 43,303,921 kaiser_bessel 43,305,526 blackman_harris_4term_92db 43,308,517 nuttall 43,310,975 tukey(0.125) 43,311,345 gauss(0.25) 43,312,623 hamming 43,314,715 tukey(0.0625) 43,319,185 flattop 43,319,745 tukey(0.03125) 43,320,245 tukey(0.015625) 43,320,473 tukey(0.0078125) 43,333,742 gauss(0.125) 43,347,970 gauss(0.5) 43,375,339 gauss(0.0625) 43,449,666 gauss(0.03125) 43,574,439 gauss(0.015625) 43,772,976 gauss(0.0078125) 43,824,232 bartlett_hann 43,899,492 rectangle 43,952,327 bartlett Ennio Morricone - The Ecstacy of Gold Err... classical? :/ CODE 35,849,228 original wav 19,399,369 tukey(0.0078125) 19,399,423 tukey(0.03125) 19,399,551 tukey(0.015625) 19,399,588 tukey(0.0625) 19,400,363 tukey(0.125) 19,400,453 tukey(0.25) 19,401,527 tukey(0.5) 19,404,046 welch 19,406,528 triangle 19,406,895 hann 19,407,121 connes 19,409,607 hamming 19,410,162 kaiser_bessel 19,410,872 blackman 19,411,842 blackman_harris_4term_92db 19,412,074 nuttall 19,414,466 gauss(0.25) 19,415,691 gauss(0.5) 19,417,452 flattop 19,425,566 gauss(0.125) 19,438,696 gauss(0.0625) 19,462,919 gauss(0.03125) 19,507,293 gauss(0.015625) 19,590,546 gauss(0.0078125) 19,687,589 bartlett_hann 19,731,890 rectangle 19,745,621 bartlett Symphony X - Inferno (Unleash The Fire) Prog/Speed Metal CODE 58,689,500 original wav 41,504,232 tukey(0.25) 41,505,556 tukey(0.5) 41,505,871 welch 41,506,215 tukey(0.125) 41,506,506 tukey(0.0625) 41,506,549 tukey(0.0078125) 41,507,788 tukey(0.03125) 41,507,834 tukey(0.015625) 41,513,590 triangle 41,516,383 connes 41,516,849 hamming 41,520,538 hann 41,522,831 gauss(0.5) 41,531,739 blackman 41,535,021 kaiser_bessel 41,542,636 blackman_harris_4term_92db 41,543,320 nuttall 41,554,387 gauss(0.25) 41,573,664 flattop 41,600,210 gauss(0.125) 41,641,811 gauss(0.0625) 41,694,697 gauss(0.03125) 41,716,091 bartlett_hann 41,730,106 rectangle 41,784,002 gauss(0.015625) 41,793,242 bartlett 41,920,042 gauss(0.0078125) In Flames - Acoustic Medley Instrumental (acoustic harmony) CODE 27,076,268 original wav 13,895,201 gauss(0.125) 13,896,080 gauss(0.0625) 13,904,998 gauss(0.25) 13,905,189 nuttall 13,905,232 flattop 13,905,571 blackman_harris_4term_92db 13,909,832 kaiser_bessel 13,910,960 blackman 13,913,454 hann 13,913,926 gauss(0.03125) 13,916,395 connes 13,917,893 triangle 13,922,512 welch 13,923,928 tukey(0.5) 13,932,504 hamming 13,934,215 tukey(0.25) 13,937,193 tukey(0.125) 13,940,294 tukey(0.0625) 13,941,648 tukey(0.03125) 13,944,015 tukey(0.015625) 13,948,647 tukey(0.0078125) 13,952,120 gauss(0.015625) 13,975,455 gauss(0.5) 14,013,929 gauss(0.0078125) 14,144,818 bartlett_hann 14,163,763 bartlett 14,192,943 rectangle Enforsaken - Tales of Bitterness Melodic Death Metal (heaviest song encoded) CODE 61,542,476 original wav
46,212,870 tukey(0.25) 46,213,819 tukey(0.125) 46,215,229 tukey(0.0625) 46,215,631 tukey(0.5) 46,215,752 tukey(0.03125) 46,216,228 tukey(0.015625) 46,216,760 tukey(0.0078125) 46,217,205 welch 46,224,433 gauss(0.5) 46,225,065 triangle 46,225,543 hamming 46,227,927 connes 46,231,745 hann 46,242,472 blackman 46,245,556 kaiser_bessel 46,252,841 nuttall 46,253,016 blackman_harris_4term_92db 46,262,017 gauss(0.25) 46,278,066 flattop 46,308,016 gauss(0.125) 46,363,746 gauss(0.0625) 46,443,073 bartlett_hann 46,446,791 gauss(0.03125) 46,451,070 rectangle 46,537,101 bartlett 46,583,945 gauss(0.015625) 46,800,927 gauss(0.0078125) This post has been edited by Insolent: May 3 2006, 10:03 -------------------- </signature>
|
|
|
|
May 3 2006, 11:37
Post
#11
|
|
|
Group: Members Posts: 826 Joined: 29-September 04 Member No.: 17374 |
It seems to me that testing with CD images is not practical: it takes very long to complete and it may contain long inter-track digital silence parts. So probably it is better to test with ONE song per test.
CODE Michael Buble - It's time (Jazz Vocal / Popular)
flac -8 590 281 484 test.wav 367 258 943 tukey(0,625) 367 260 079 tukey(0,618034) 367 264 606 tukey(0,5) 367 269 016 tukey(0,75) 367 284 590 tukey(0,875) 367 292 956 connes 367 293 894 hamming 367 293 912 welch 367 301 748 hann 367 302 185 triangle 367 307 853 tukey(0,25) 367 333 950 blackman 367 346 199 kaiser_bessel 367 348 342 tukey(0,125) 367 360 482 gauss(0,5) 367 366 460 nuttall 367 369 648 blackman_harris_4term_92db 367 381 199 tukey(0,0625) 367 400 137 tukey(0,03125) 367 407 823 gauss(0,25) 367 410 875 tukey(0,015625) 367 414 333 tukey(0,0078125) 367 485 735 flattop 367 628 021 gauss(0,125) 367 934 476 gauss(0,0625) 368 439 444 gauss(0,03125) 369 179 530 bartlett_hann 369 305 745 gauss(0,015625) 369 486 263 rectangle 369 771 271 bartlett 370 751 786 gauss(0,0078125) This post has been edited by Egor: May 3 2006, 13:58 |
|
|
|
May 3 2006, 12:24
Post
#12
|
|
![]() Group: Members Posts: 347 Joined: 22-September 04 From: Moscow Member No.: 17192 |
Seems like tukey (0.5) is an overall champion.
-------------------- Infrasonic Quartet + Sennheiser HD650 + Microlab Solo 2 mk3.
|
|
|
|
May 3 2006, 16:11
Post
#13
|
|
|
Group: Members Posts: 826 Joined: 29-September 04 Member No.: 17374 |
Genre classification is taken from Amazon.com ("Look for similar items by category"). All links lead to corresponding Audio CD item with short 20-30 sec. music clips available for listen in WMA and/or RA.
CODE Seal - Lost My Faith Adult Contemporary / Pop / Pop Rock / Vocal Pop / Rock 48 474 764 test.wav 29 797 004 tukey(0,75) 29 797 180 tukey(0,6875) 29 797 213 tukey(0,25) 29 797 458 tukey(0,125) 29 798 177 tukey(0,71875) 29 798 222 tukey(0,625) 29 798 398 tukey(0,5) 29 800 109 tukey(0,0625) 29 801 244 tukey(0,03125) 29 802 229 tukey(0,015625) 29 803 137 tukey(0,875) 29 804 148 welch 29 804 438 hamming 29 804 873 connes 29 805 012 tukey(0,0078125) 29 806 527 triangle 29 807 314 hann 29 809 327 blackman 29 811 448 kaiser_bessel 29 811 496 nuttall 29 812 210 blackman_harris_4term_92db 29 813 799 gauss(0,5) 29 817 479 gauss(0,25) 29 824 973 flattop 29 830 982 gauss(0,125) 29 860 623 gauss(0,0625) 29 909 657 gauss(0,03125) 29 990 596 gauss(0,015625) 30 033 688 bartlett_hann 30 067 595 rectangle 30 099 657 bartlett 30 132 632 gauss(0,0078125) CODE Bryan Adams - Cloud Number Nine Pop / Pop Rock / Rock / Adult Contemporary 39 788 828 test.wav 27 354 308 blackman 27 354 541 gauss(0,25) 27 354 698 blackman_harris_4term_92db 27 355 443 nuttall 27 356 279 flattop 27 356 694 kaiser_bessel 27 357 733 tukey(0,875) 27 358 142 hann 27 358 818 connes 27 359 964 hamming 27 360 192 tukey(0,71875) 27 360 643 tukey(0,75) 27 360 721 tukey(0,6875) 27 361 506 gauss(0,125) 27 363 033 triangle 27 363 394 tukey(0,625) 27 366 078 tukey(0,5) 27 366 474 welch 27 372 787 gauss(0,5) 27 375 991 gauss(0,0625) 27 377 582 tukey(0,25) 27 387 775 tukey(0,125) 27 393 651 tukey(0,0625) 27 396 525 tukey(0,03125) 27 397 724 tukey(0,015625) 27 398 791 tukey(0,0078125) 27 406 955 gauss(0,03125) 27 466 587 gauss(0,015625) 27 562 553 gauss(0,0078125) 27 564 003 bartlett_hann 27 601 758 rectangle 27 620 854 bartlett CODE Acoustic Alchemy - So Kylie Jazz / Smooth Jazz / New Age 46 247 420 test.wav 31 082 004 flattop 31 084 092 gauss(0,25) 31 085 215 blackman_harris_4term_92db 31 085 631 nuttall 31 087 579 kaiser_bessel 31 088 416 blackman 31 089 980 gauss(0,125) 31 095 130 hann 31 097 849 connes 31 097 851 tukey(0,875) 31 099 848 hamming 31 102 273 triangle 31 102 425 tukey(0,75) 31 104 121 tukey(0,71875) 31 105 341 tukey(0,6875) 31 108 436 tukey(0,625) 31 108 965 gauss(0,0625) 31 111 493 gauss(0,5) 31 114 695 welch 31 115 786 tukey(0,5) 31 136 227 tukey(0,25) 31 143 722 gauss(0,03125) 31 148 950 tukey(0,125) 31 156 207 tukey(0,0625) 31 160 024 tukey(0,03125) 31 161 325 tukey(0,015625) 31 162 139 tukey(0,0078125) 31 172 280 bartlett_hann 31 189 186 bartlett 31 203 537 gauss(0,015625) 31 209 187 rectangle 31 297 414 gauss(0,0078125) CODE 3rd Force - You Got It Jazz / New Age 48 423 020 test.wav 32 524 489 blackman_harris_4term_92db 32 524 503 nuttall 32 524 574 kaiser_bessel 32 524 638 blackman 32 525 499 gauss(0,25) 32 528 466 hann 32 529 867 flattop 32 530 914 tukey(0,875) 32 531 204 connes 32 534 237 tukey(0,75) 32 535 370 hamming 32 535 886 tukey(0,71875) 32 537 112 tukey(0,6875) 32 537 227 triangle 32 539 904 tukey(0,625) 32 542 725 gauss(0,125) 32 545 130 gauss(0,5) 32 546 652 welch 32 547 263 tukey(0,5) 32 565 544 gauss(0,0625) 32 567 758 tukey(0,25) 32 581 849 tukey(0,125) 32 590 546 tukey(0,0625) 32 594 973 tukey(0,03125) 32 597 231 tukey(0,015625) 32 597 751 tukey(0,0078125) 32 598 698 gauss(0,03125) 32 603 189 bartlett_hann 32 606 696 bartlett 32 648 365 rectangle 32 653 773 gauss(0,015625) 32 741 336 gauss(0,0078125) CODE The Temptations - A love I can see
Oldies / Classic R&B / R&B / Soul 61 039 148 test.wav 42 603 149 tukey(0,6875) 42 603 260 tukey(0,625) 42 604 157 tukey(0,75) 42 605 036 tukey(0,5) 42 605 283 welch 42 605 489 tukey(0,875) 42 605 912 triangle 42 605 960 hamming 42 606 559 connes 42 608 149 hann 42 609 320 gauss(0,5) 42 613 505 tukey(0,25) 42 613 851 blackman 42 616 907 kaiser_bessel 42 622 192 nuttall 42 622 417 tukey(0,125) 42 622 759 blackman_harris_4term_92db 42 626 694 tukey(0,0625) 42 629 175 tukey(0,03125) 42 630 495 tukey(0,015625) 42 631 024 tukey(0,0078125) 42 631 272 gauss(0,25) 42 645 378 flattop 42 672 991 gauss(0,125) 42 721 847 gauss(0,0625) 42 767 332 bartlett_hann 42 772 875 rectangle 42 788 818 gauss(0,03125) 42 857 372 bartlett 42 895 465 gauss(0,015625) 43 059 477 gauss(0,0078125) |
|
|
|
May 3 2006, 16:26
Post
#14
|
|
![]() Group: Super Moderator Posts: 4887 Joined: 12-August 04 From: Exeter, UK Member No.: 16217 |
Glad to see someone testing using tukey values over 0.5.
Josh may have only listed results from 0-0.5; however, as his docs state, it ranges from 0-1. Egor's results appear to show that a higher value than 0.5 may be better... Edit: I was actually hoping to be smug and be the first to test higher values, but Egor beat me to the punch. Edit 2: Am I going mental? I thought the original batch script didn't include values over 0.5, and Insolent's results appear to bear that out. I dunno, I'm confused. Remember to test values over 0.5 anyway children, but always get an adult to supervise. This post has been edited by Synthetic Soul: May 3 2006, 17:15 -------------------- I'm on a horse.
|
|
|
|
May 3 2006, 16:50
Post
#15
|
|
![]() Group: Members Posts: 112 Joined: 9-February 06 From: Edmonton, Alberta Member No.: 27644 |
I did a test just now with Egor's script and here's the results:
Would it be useful to record the length of time it takes to do each test for encoding and decoding? The only problem is it wouldn't be very accurate because the guy working the stopwatch is a bit tired right now CODE File: Econoline Crush "Surefire". Moderately fast, hard rock,
album replay gain value is -7.18, peak level 0.982. Track 01 in album "The Devil You Know". Original size of .wav: 37996604 Baseline test with the old flac.exe 1.1.2 with -8 results: size: 26548249, ratio: 0.699 Baseline test with the old flac.exe 1.1.2 with -5 results: size: 26597329, ratio: 0.700 26,373,390 tukey(0.0625).flac 26,373,419 tukey(0.015625).flac 26,373,552 tukey(0.03125).flac 26,373,866 tukey(0.25).flac 26,374,304 tukey(0.0078125).flac 26,375,957 tukey(0.5).flac 26,376,569 tukey(0.625).flac 26,376,703 welch.flac 26,379,314 tukey(0.75).flac 26,381,420 tukey(0.875).flac 26,381,883 connes.flac 26,382,157 triangle.flac 26,383,403 hamming.flac 26,383,762 hann.flac 26,384,467 gauss(0.5).flac 26,389,232 blackman.flac 26,390,587 kaiser_bessel.flac 26,393,578 nuttall.flac 26,394,967 blackman_harris_4term_92db.flac 26,398,926 gauss(0.25).flac 26,406,505 flattop.flac 26,419,611 gauss(0.125).flac 26,448,924 gauss(0.0625).flac 26,494,724 gauss(0.03125).flac 26,537,577 bartlett_hann.flac 26,548,247 rectangle.flac 26,572,386 gauss(0.015625).flac 26,595,903 bartlett.flac 26,689,265 gauss(0.0078125).flac This post has been edited by Cartman_Sr: May 3 2006, 16:54 |
|
|
|
May 3 2006, 17:47
Post
#16
|
|
![]() Group: Members Posts: 112 Joined: 9-February 06 From: Edmonton, Alberta Member No.: 27644 |
Here's another one:
CODE File: Black Sabbath "Reunion", track 7 of disc 2, "Paranoid (live)". Metal, with a
loud audience track. .wav file size: 47604524 bytes Baseline tests with old flac 1.1.2: -8 result was 33483792 bytes, ratio 0.703 -5 result was 33539684 bytes, ratio 0.705 33,350,660 tukey(0.25).flac 33,350,752 tukey(0.125).flac 33,351,083 tukey(0.03125).flac 33,351,089 tukey(0.0625).flac 33,351,553 tukey(0.015625).flac 33,351,644 tukey(0.0078125).flac 33,353,213 tukey(0.5).flac 33,354,387 welch.flac 33,355,954 tukey(0.625).flac 33,358,746 tukey(0.75).flac 33,360,615 gauss(0.5).flac 33,361,061 triangle.flac 33,361,724 tukey(0.875).flac 33,362,022 connes.flac 33,362,137 hamming.flac 33,364,682 hann.flac 33,371,447 blackman.flac 33,373,167 kaiser_bessel.flac 33,377,505 nuttall.flac 33,378,299 blackman_harris_4term_92db.flac 33,384,174 gauss(0.25).flac 33,396,431 flattop.flac 33,417,378 gauss(0.125).flac 33,458,057 gauss(0.0625).flac 33,483,790 rectangle.flac 33,486,829 bartlett_hann.flac 33,516,644 gauss(0.03125).flac 33,544,766 bartlett.flac 33,607,746 gauss(0.015625).flac 33,740,096 gauss(0.0078125).flac |
|
|
|
May 3 2006, 18:43
Post
#17
|
|
|
FLAC Developer Group: Developer Posts: 1526 Joined: 27-February 02 Member No.: 1408 |
Are the blocks' windows currently overlapping? no, this is really hard to do with the reference encoder due to its design. Did you try it Vorbis-style? (overlapping + Vorbis window) you mean this one? no, haven't tried it, what is the motivation behind that function? Josh edit: just found this This post has been edited by jcoalson: May 3 2006, 18:51 |
|
|
|
May 3 2006, 19:11
Post
#18
|
|
|
Group: Members Posts: 105 Joined: 12-January 06 Member No.: 27057 |
Results from 4 CD images. Compression level is -5. If CD images are of any use, I can repeat the runs for -8, and maybe add some more. I used Egor's batch file (thanks).
Rock, Indie rock CODE Franz Ferdinand - Franz Ferdinand ( Rock, Indie rock ) Settings flac -5 411.000.284 wav 263.146.891 hamming 263.213.796 tukey(0,75) 263.219.469 tukey(0,875) 263.225.582 connes 263.229.532 gauss(0,5) 263.234.058 tukey(0,625) 263.234.129 hann 263.242.693 triangle 263.244.283 tukey(0,5) 263.244.351 welch 263.256.663 blackman 263.265.702 kaiser_bessel 263.294.433 nuttall 263.298.751 blackman_harris_4term_92db 263.312.349 tukey(0,25) 263.348.230 gauss(0,25) 263.368.586 tukey(0,125) 263.384.188 flattop 263.403.331 tukey(0,0625) 263.416.217 tukey(0,03125) 263.426.772 tukey(0,015625) 263.431.307 tukey(0,0078125) 263.624.620 gauss(0,125) 264.007.491 gauss(0,0625) 264.667.490 gauss(0,03125) 265.609.974 bartlett_hann 265.670.090 gauss(0,015625) 265.804.430 rectangle 266.350.898 bartlett 267.144.977 gauss(0,0078125) Classical, Chamber CODE Bartok - The 6 String Quartets - Hagen Quartett - CD2 ( Classical, Chamber ) Settings flac -5 792.388.844 wav 328.807.460 tukey(0,015625) 328.808.011 tukey(0,03125) 328.816.780 tukey(0,0625) 328.817.533 tukey(0,0078125) 328.824.978 tukey(0,125) 328.848.866 tukey(0,25) 328.907.717 tukey(0,5) 328.954.232 tukey(0,625) 328.990.946 welch 329.034.004 tukey(0,75) 329.119.309 tukey(0,875) 329.142.472 gauss(0,5) 329.159.989 hamming 329.165.919 connes 329.245.401 hann 329.275.609 flattop 329.291.402 triangle 329.462.428 blackman 329.520.377 kaiser_bessel 329.621.737 nuttall 329.635.319 blackman_harris_4term_92db 329.791.393 gauss(0,25) 330.368.669 gauss(0,125) 331.143.291 gauss(0,0625) 331.630.913 rectangle 332.065.047 bartlett 332.083.237 bartlett_hann 332.234.396 gauss(0,03125) 333.747.781 gauss(0,015625) 335.701.502 gauss(0,0078125) Rock, Pop, Dance, Electronica CODE Madonna - Music ( Rock, Pop, Dance, Electronica ) Settings flac -5 521.913.548 wav 339.256.667 flattop 339.292.763 kaiser_bessel 339.292.915 nuttall 339.297.501 blackman_harris_4term_92db 339.300.268 blackman 339.313.694 gauss(0,25) 339.326.053 hann 339.341.414 hamming 339.345.183 tukey(0,875) 339.354.898 connes 339.370.916 tukey(0,75) 339.407.096 triangle 339.414.757 tukey(0,625) 339.466.101 gauss(0,5) 339.466.944 tukey(0,5) 339.474.566 welch 339.597.401 gauss(0,125) 339.642.737 tukey(0,25) 339.759.687 tukey(0,125) 339.820.297 tukey(0,0625) 339.860.098 tukey(0,03125) 339.882.491 tukey(0,015625) 339.901.977 tukey(0,0078125) 340.067.700 gauss(0,0625) 340.791.923 gauss(0,03125) 341.228.752 bartlett_hann 341.406.438 rectangle 341.715.784 bartlett 341.955.434 gauss(0,015625) 343.911.423 gauss(0,0078125) Jazz CODE The Dave Brubeck Quartet - Time out ( Jazz )
Settings flac -5 410.447.564 wav 233.113.139 tukey(0,75) 233.113.646 tukey(0,625) 233.118.157 tukey(0,875) 233.118.799 connes 233.119.233 tukey(0,5) 233.120.528 hamming 233.123.485 hann 233.124.423 triangle 233.126.009 welch 233.129.824 gauss(0,5) 233.145.960 blackman 233.154.044 kaiser_bessel 233.156.273 tukey(0,25) 233.173.263 nuttall 233.175.633 blackman_harris_4term_92db 233.193.930 tukey(0,125) 233.205.649 gauss(0,25) 233.218.003 tukey(0,0625) 233.232.815 tukey(0,03125) 233.240.404 tukey(0,015625) 233.240.596 flattop 233.246.803 tukey(0,0078125) 233.374.878 gauss(0,125) 233.589.049 gauss(0,0625) 233.647.616 bartlett_hann 233.691.834 rectangle 233.939.049 gauss(0,03125) 233.947.922 bartlett 234.596.944 gauss(0,015625) 235.735.481 gauss(0,0078125) |
|
|
|
May 3 2006, 19:23
Post
#19
|
|
|
Group: Members Posts: 41 Joined: 21-July 03 Member No.: 7909 |
Original WAV 46,223,900
05/03/2006 02:09 PM 29,229,288 blackman.flac 05/03/2006 02:09 PM 29,229,510 kaiser_bessel.flac 05/03/2006 02:09 PM 29,230,648 nuttall.flac 05/03/2006 02:09 PM 29,230,869 blackman_harris_4term_92db.flac 05/03/2006 02:09 PM 29,232,884 hann.flac 05/03/2006 02:09 PM 29,233,992 gauss(0.25).flac 05/03/2006 02:09 PM 29,235,303 tukey(0.875).flac 05/03/2006 02:09 PM 29,235,885 connes.flac 05/03/2006 02:09 PM 29,237,784 hamming.flac 05/03/2006 02:09 PM 29,240,103 flattop.flac 05/03/2006 02:09 PM 29,240,127 tukey(0.75).flac 05/03/2006 02:09 PM 29,240,700 triangle.flac 05/03/2006 02:09 PM 29,247,420 tukey(0.625).flac 05/03/2006 02:09 PM 29,253,185 gauss(0.5).flac 05/03/2006 02:09 PM 29,253,760 welch.flac 05/03/2006 02:09 PM 29,257,277 tukey(0.5).flac 05/03/2006 02:09 PM 29,265,523 gauss(0.125).flac 05/03/2006 02:09 PM 29,285,601 tukey(0.25).flac 05/03/2006 02:09 PM 29,301,418 gauss(0.0625).flac 05/03/2006 02:09 PM 29,305,862 tukey(0.125).flac 05/03/2006 02:09 PM 29,317,644 tukey(0.0625).flac 05/03/2006 02:09 PM 29,323,825 tukey(0.03125).flac 05/03/2006 02:09 PM 29,327,476 tukey(0.015625).flac 05/03/2006 02:09 PM 29,328,710 tukey(0.0078125).flac 05/03/2006 02:09 PM 29,348,962 gauss(0.03125).flac 05/03/2006 02:09 PM 29,397,980 bartlett_hann.flac 05/03/2006 02:09 PM 29,422,630 gauss(0.015625).flac 05/03/2006 02:09 PM 29,433,043 rectangle.flac 05/03/2006 02:09 PM 29,445,063 bartlett.flac 05/03/2006 02:14 PM 29,461,245 test.flac 05/03/2006 02:09 PM 29,539,707 gauss(0.0078125).flac |
|
|
|
May 3 2006, 23:01
Post
#20
|
|
![]() Group: Members Posts: 112 Joined: 9-February 06 From: Edmonton, Alberta Member No.: 27644 |
Need any more tests?
|
|
|
|
May 3 2006, 23:54
Post
#21
|
|
![]() Group: Members Posts: 274 Joined: 17-May 04 From: QLD, Australia Member No.: 14136 |
Edit 2: Am I going mental? I thought the original batch script didn't include values over 0.5, and Insolent's results appear to bear that out. I dunno, I'm confused. Remember to test values over 0.5 anyway children, but always get an adult to supervise. I think Egor edited his script after I'd already done my tests. Because I don't remeber seeing 0.75 and 0.875 in there. -------------------- </signature>
|
|
|
|
May 4 2006, 02:18
Post
#22
|
|
|
Group: Members Posts: 115 Joined: 15-October 03 Member No.: 9325 |
I ran two tests and I have more on the way later
CODE Opeth - The Drapery Falls Death Metal Original size: 115,342,124 05/03/2006 08:07p 84,925,538 tukey(0.625).flac 05/03/2006 08:07p 84,926,049 tukey(0.75).flac 05/03/2006 08:07p 84,927,584 tukey(0.5).flac 05/03/2006 08:07p 84,928,237 welch.flac 05/03/2006 08:07p 84,929,268 tukey(0.875).flac 05/03/2006 08:07p 84,929,275 triangle.flac 05/03/2006 08:07p 84,930,206 connes.flac 05/03/2006 08:07p 84,931,772 hann.flac 05/03/2006 08:07p 84,933,449 hamming.flac 05/03/2006 08:07p 84,938,885 tukey(0.25).flac 05/03/2006 08:07p 84,941,754 blackman.flac 05/03/2006 08:07p 84,946,453 kaiser_bessel.flac 05/03/2006 08:07p 84,951,194 tukey(0.125).flac 05/03/2006 08:07p 84,952,685 blackman_harris_4term_92db.flac 05/03/2006 08:07p 84,953,268 nuttall.flac 05/03/2006 08:07p 84,955,396 gauss(0.5).flac 05/03/2006 08:07p 84,956,352 tukey(0.0625).flac 05/03/2006 08:07p 84,961,363 tukey(0.03125).flac 05/03/2006 08:07p 84,964,095 tukey(0.015625).flac 05/03/2006 08:07p 84,964,670 tukey(0.0078125).flac 05/03/2006 08:07p 84,965,453 gauss(0.25).flac 05/03/2006 08:07p 84,987,934 flattop.flac 05/03/2006 08:07p 85,029,063 gauss(0.125).flac 05/03/2006 08:07p 85,106,610 gauss(0.0625).flac 05/03/2006 08:07p 85,225,779 gauss(0.03125).flac 05/03/2006 08:07p 85,413,339 bartlett_hann.flac 05/03/2006 08:07p 85,418,708 gauss(0.015625).flac 05/03/2006 08:07p 85,456,032 rectangle.flac 05/03/2006 08:07p 85,586,037 bartlett.flac 05/03/2006 08:07p 85,709,985 gauss(0.0078125).flac And just out of interest, I ran a mono file through: CODE Phil Harris - "The Dark Town Poker Club" (mono)
Big Band Original Size: 17,057,924 05/03/2006 08:27p 8,397,704 gauss(0.03125).flac 05/03/2006 08:27p 8,400,230 gauss(0.015625).flac 05/03/2006 08:27p 8,405,118 gauss(0.0625).flac 05/03/2006 08:27p 8,405,835 gauss(0.125).flac 05/03/2006 08:27p 8,406,988 tukey(0.125).flac 05/03/2006 08:27p 8,409,333 tukey(0.875).flac 05/03/2006 08:27p 8,410,243 tukey(0.5).flac 05/03/2006 08:27p 8,411,396 welch.flac 05/03/2006 08:27p 8,411,481 tukey(0.015625).flac 05/03/2006 08:27p 8,411,784 triangle.flac 05/03/2006 08:27p 8,412,951 blackman.flac 05/03/2006 08:27p 8,412,953 nuttall.flac 05/03/2006 08:27p 8,413,914 tukey(0.03125).flac 05/03/2006 08:27p 8,414,332 tukey(0.25).flac 05/03/2006 08:27p 8,414,512 gauss(0.25).flac 05/03/2006 08:27p 8,414,700 hann.flac 05/03/2006 08:27p 8,415,178 tukey(0.0078125).flac 05/03/2006 08:27p 8,415,700 tukey(0.0625).flac 05/03/2006 08:27p 8,416,148 tukey(0.625).flac 05/03/2006 08:27p 8,416,680 kaiser_bessel.flac 05/03/2006 08:27p 8,417,520 tukey(0.75).flac 05/03/2006 08:27p 8,417,637 blackman_harris_4term_92db.flac 05/03/2006 08:27p 8,420,836 connes.flac 05/03/2006 08:27p 8,423,927 flattop.flac 05/03/2006 08:27p 8,436,133 gauss(0.0078125).flac 05/03/2006 08:27p 8,445,898 hamming.flac 05/03/2006 08:27p 8,503,197 gauss(0.5).flac 05/03/2006 08:27p 8,871,029 bartlett_hann.flac 05/03/2006 08:27p 8,937,868 bartlett.flac 05/03/2006 08:27p 8,958,712 rectangle.flac -------------------- http://www.last.fm/user/mattimeo18
|
|
|
|
May 4 2006, 04:56
Post
#23
|
|
|
Group: Members Posts: 826 Joined: 29-September 04 Member No.: 17374 |
Edit 2: Am I going mental? I thought the original batch script didn't include values over 0.5, and Insolent's results appear to bear that out. I dunno, I'm confused. Remember to test values over 0.5 anyway children, but always get an adult to supervise. I added values over 0.5 a little later, sorry for not mentioning it in the original post. |
|
|
|
May 4 2006, 08:27
Post
#24
|
|
![]() Group: Members Posts: 841 Joined: 21-December 01 From: New Zealand Member No.: 705 |
A Perfect Circle - Mer De Noms (full Album)
Style: Hard Rock CODE Original Wav
471,199,724 A Perfect Circle - Mer De Noms.wav Flac 1.1.2 -8 Results 314,591,233 A Perfect Circle - Mer De Noms.flac Flac 1.1.2_CVS -8 Results 311,793,269 tukey(0.875).flac 311,795,907 hann.flac 311,799,691 tukey(0.75).flac 311,800,567 connes.flac 311,800,932 blackman.flac 311,805,213 kaiser_bessel.flac 311,807,392 tukey(0.625).flac 311,819,838 nuttall.flac 311,820,794 triangle.flac 311,821,621 blackman_harris_4term_92db.flac 311,824,423 tukey(0.5).flac 311,836,389 hamming.flac 311,839,182 welch.flac 311,842,671 gauss(0.25).flac 311,911,330 flattop.flac 311,911,482 tukey(0.25).flac 311,973,386 tukey(0.125).flac 312,003,993 gauss(0.5).flac 312,011,598 tukey(0.0625).flac 312,028,774 gauss(0.125).flac 312,029,537 tukey(0.03125).flac 312,050,233 tukey(0.015625).flac 312,059,872 tukey(0.0078125).flac 312,319,289 gauss(0.0625).flac 312,783,031 gauss(0.03125).flac 313,596,101 gauss(0.015625).flac 314,287,375 bartlett_hann.flac 314,591,231 rectangle.flac 314,927,922 gauss(0.0078125).flac 314,978,062 bartlett.flac This post has been edited by A_Man_Eating_Duck: May 4 2006, 09:06 -------------------- Who are you and how did you get in here ?
I'm a locksmith, I'm a locksmith. |
|
|
|
May 4 2006, 09:12
Post
#25
|
|
![]() Group: Super Moderator Posts: 4887 Joined: 12-August 04 From: Exeter, UK Member No.: 16217 |
Need any more tests? I hope so as I've got 1,680 files being encoded at home as I type! I intend to post results on 28 files testing tukey values from 0.1 to 1 in 0.1 increments for compression settings 3 through 8. I think tukey looks like an interesting candidate at the moment so I wanted to try to pin it down a little more. Afterward I may look at some of the other top contenders, like welch, connes, hamming, etc., if I have time. Edit: Updated figures (I thought I was doing tukey(0) but I'm not) This post has been edited by Synthetic Soul: May 4 2006, 09:34 -------------------- I'm on a horse.
|
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 19th May 2013 - 10:55 |