Skip to main content

Topic: TAK 1.0.4 (Read 107100 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • TBeck
  • [*][*][*][*][*]
  • Developer
TAK 1.0.4
Final release of TAK 1.0.4 ((T)om's lossless (A)udio (K)ompressor)

This version brings pipe decoding, faster encoding for presets -p0 and -p1 and faster decoding for all presets.

It consists of:

- TAK Applications 1.0.4
- TAK Winamp plugin 1.0.8.
- TAK SDK 1.0.6.
- TAK Decoding library 1.0.7.

Download

Download the archive in the upload section: TAK 1.0.4 final

  • TBeck
  • [*][*][*][*][*]
  • Developer
TAK 1.0.4
Reply #1
What's new

New Features:

- Support for pipe decoding.

Improvements:

- Decoding speed improvements of 7 (preset 5) to 13 (preset 0) percent on my system.
- Modification of the presets -p0 and -p1 to make them even faster: -p0 is now encoding 17, -p1 10 percent faster on my system.
- I have replaced some of the Delphi libraries with own code. This will help a later translation to standard C, which can't use delphi libraries. A nice side effect: Most of the binaries are much smaller now.
- The Readme file now contains links to software with TAK support and to some guides.

Modifications:

- The read buffer used to decode presets -p0 to -p3 is considerably smaller now. In most cases this should improve the decoding speed.

Known issues:

- If you use pipe decoding and the application reading the pipe is beeing terminated before the whole file has been read, TAKC may get into an endless loop and has to be manually killed with the task manager. I don't think this is a big issue but i will try to fix it in one of the next versions. BTW: Big thanks to shnutils for testing the pipe decoding!

- There seem to be some compatibility issues with pipe decoding to some other applications ("crc1632.exe" has been reported). I will try to fix it in the next release.

More information

You may find some useful information in the beta thread.

Synthetic Soul has already tested the performance of the beta release, which is identical with the final release: His comparison.

Plans for V1.0.5

The next version will most probably implement one or more of those options:

- Tagging functions for the command line version (but first without unicode support).
- Fixes for some compatibility problems with the pipe decoding.
- Fast seeking without seek table.
- TAK needs a logo...

Have fun...

  Thomas
  • Last Edit: 11 March, 2008, 05:13:23 PM by TBeck

TAK 1.0.4
Reply #2
Great work as usual TBeck, thanks a lot
Allegari nihil et allegatum non probare, paria sunt.

TAK 1.0.4
Reply #3
Thanks, TBeck. You are a legend!

  • twostar
  • [*][*][*][*]
TAK 1.0.4
Reply #4
Thanks for the new version Tbeck! Just one question please. What's the easiest way to re-encode existing TAKs to the newer version? Is there something like Reflacer for TAK?

  • IgorC
  • [*][*][*][*][*]
TAK 1.0.4
Reply #5
foobar decoder plugin + TAK last library 1.0.7 is slower (p0-p1) than built-in FLAC decoder of foobar.

  • DOS386
  • [*][*]
TAK 1.0.4
Reply #6
Quote
Final release of TAK 1.0.4 ((T)om's lossless (A)udio (K)ompressor)


Great

Quote
Plans for V1.0.5
- TAK needs a logo...


... and an open source minimal decoder written in plain C

Test & comparison:

Original (?) WAV: 28'725'020 bytes, ripped from CD (nevertheless possibly pre-trashed by MP3 ??)

Code: [Select]
TAK4 -pMax   | ENC 41 s   | DEC 4 s   | 15'044'543 | BLO 213.5 fixups . . | IMP 96+x
TAK3 -pMax   | ENC 40.5 s | DEC 4.2 s | 15'044'543 | BLO 322.5 fixups . . | IMP 134+x
WAP  -hh -x3 | ENC 119 s  | DEC 7.6 s | 15'390'322 | BLO 396 both . . . . | IMP 100+x
FLAC --best  | ENC 24.5 s | DEC 3.1 s | 15'716'219 | BLO 244+x MSVCRT.DLL | IMP 79


NOTES:

- ENC is compression time
- - TAK is much faster with a lower "-p"
- - WAP is much faster without "-x3" , didn't use "-x6" because unusably slow
- - FLAC also can be faster, but useless since it's the weakest even with "--best"

- BLO is executable size in KiB
- - TAK: has (optional) fixups (15 KiB -> 9 KiB)
- - WAP: added both EXE's together -> the looser here
- - FLAC: uses MSVCRT.DLL and is not smaller, myth dead

TAK: from 1.0.3 to 1.0.4 :

- EXE size decreased by factor 1.51
- Amount of imports decreased by factor 1.4 
- No compression speedup  - cca 1% slower for "-pMax" and "-p5" , 1% faster (?) for "-p2"
- Compression exactly same
- Small speedup in decompression

TAK vs FLAC: compression better by factor 1.045 , cca 4.5%

TAK and WAP do display time, FLAC doesn't.

FLAC can't handle "disk full" , no tests with WAP and TAK.

The winner by compression is TAK  ... but closed source

The winner by portability and support is WAVPACK ( @D.B.: not dropped, just delayed ...  )

Quote
What's the easiest way to re-encode existing TAKs to the newer version?


NO need this time:

- No compression improvement
- No format breakage - but pending for future ?
  • Last Edit: 12 March, 2008, 10:12:42 PM by DOS386
/\/\/\/\/\/\

  • houyhnhnm
  • [*]
TAK 1.0.4
Reply #7
Thank you very much for your hard work, TBeck.

Improvements:

- Decoding speed improvements of 7 (preset 5) to 13 (preset 0) percent on my system.


Now TAK decodes faster than [a href='index.php?act=findpost&pid=548553']FLAC[/a] with MD5 according to Synthetic Soul's comparison.





(These graphs are zoomed. The followings show that the codecs don't differ very much in compression ratio.)
  • jcoalson's
  • [a href='index.php?showtopic=61054']A_Man_Eating_Duck's[/a]
  • Synthetic Soul's [a href='index.php?act=findpost&pid=541304']1[/a], [a href='index.php?act=findpost&pid=541307']2[/a]

  • Squeller
  • [*][*][*][*][*]
TAK 1.0.4
Reply #8
Anyone else having a problem with takc.exe? Files seem to convert good with fb2k, but in the end I get:
Quote
An error occured while finalizing the encoding process (Unsupported format or corrupted file) : "C:\Symph.tak"
Additional information:
Command line: "C:\Programme\Audio\foobar2000\takc.exe" -e -pmax -ihs -sts20 - "Symph.tak"
Working folder: C:\

I'm transcoding from an external cuesheet to single tracks, source is flac.

EDIT: Hmmm. It's also happening with takc 1.03. There must be something wrong here.
EDIT2: The flacs itself had embedded cuesheets. Starting the encoding from those tracks works.
  • Last Edit: 13 March, 2008, 04:18:58 AM by Squeller

  • Synthetic Soul
  • [*][*][*][*][*]
  • Global Moderator
TAK 1.0.4
Reply #9
Quote
Plans for V1.0.5
- TAK needs a logo...
... and an open source minimal decoder written in plain C 
Ooh, six posts in.  They're slowing up.

Anyone else having a problem with takc.exe?
I have problems with an external cuesheet also.  As you say, source track files or embedded cuesheets work fine.

It happens with WavPack also:

Code: [Select]
An error occured while finalizing the encoding process (Unsupported format or corrupted file) : "C:\Documents and Settings\Neil\Desktop\The Go! Team\Grip Like A Vice\01 - Grip Like A Vice.wv"
Additional information:
Command line: "C:\WINDOWS\wavpack.exe" -m -i -q - "01 - Grip Like A Vice.wv"
Working folder: C:\Documents and Settings\Neil\Desktop\The Go! Team\Grip Like A Vice\

... and FLAC:

Code: [Select]
An error occured while finalizing the encoding process (Unsupported format or corrupted file) : "C:\Documents and Settings\Neil\Desktop\The Go! Team\Grip Like A Vice\01 - Grip Like A Vice.flac"
Additional information:
Command line: "C:\WINDOWS\flac.exe" -s --ignore-chunk-sizes -5 - -o "01 - Grip Like A Vice.flac"
Working folder: C:\Documents and Settings\Neil\Desktop\The Go! Team\Grip Like A Vice\
I'm on a horse.

  • greynol
  • [*][*][*][*][*]
  • Global Moderator
TAK 1.0.4
Reply #10
I don't think we've compared enough codecs at their highest compression in order to see which one is the fastest yet.

  • Last Edit: 13 March, 2008, 07:31:15 AM by greynol
Your eyes cannot hear.

  • Alexxander
  • [*][*][*][*]
TAK 1.0.4
Reply #11
...
Plans for V1.0.5

The next version will most probably implement one or more of those options:

- Tagging functions for the command line version (but first without unicode support).
...

Thank you again for the fantastic job! I played around with TAK1.0.4 using default values. Encoding, decoding and transcoding speeds are impressive (I use foobar2000), and all with a good compression.

But I won't switch because (in order of importance):
  • No Unicode support
  • Not supported by Rockbox firmware
  • Not open source though it isn't really that important to me and I respect always the creator's decision
  • Small compression gains get less important by time due to increasing storage capacities

FLAC will remain my choice for lossless codec but we will see in the future.

  • foosion
  • [*][*][*][*][*]
  • FB2K Moderator (Donating)
TAK 1.0.4
Reply #12
Whatever you did with tak_deco_lib 1.0.7, its speed is on par with takc.exe 1.0.4. Cheers!

I've just released foo_input_tak 0.4.1. No significant changes in the plugin itself, it just bundles the new TAK decoding library.
http://foosion.foobar2000.org/ - my components for foobar2000

  • TBeck
  • [*][*][*][*][*]
  • Developer
TAK 1.0.4
Reply #13
Quote
Plans for V1.0.5
- TAK needs a logo...
... and an open source minimal decoder written in plain C 
Ooh, six posts in.  They're slowing up.

Maybe the timing of the release was responsible. Possibly they were sleeping...  Therefore i had to live a while without someone reminding me of my duty. This was hard... 

No offence! I am only joking 

Anyone else having a problem with takc.exe?
I have problems with an external cuesheet also.  As you say, source track files or embedded cuesheets work fine.

It happens with WavPack also:
...
... and FLAC:
...

Thank you! This lightens me very much.

Whatever you did with tak_deco_lib 1.0.7, its speed is on par with takc.exe 1.0.4. Cheers!

I've just released foo_input_tak 0.4.1. No significant changes in the plugin itself, it just bundles the new TAK decoding library.

Great news! I was hoping for some positive effect of this modification:

- The read buffer used to decode presets -p0 to -p3 is considerably smaller now. In most cases this should improve the decoding speed.

Possibly the lower memory usage helps the memory caching or the smaller io-size is interacting better with foobar's or your plugin's io system.

  • TBeck
  • [*][*][*][*][*]
  • Developer
TAK 1.0.4
Reply #14
foobar decoder plugin + TAK last library 1.0.7 is slower (p0-p1) than built-in FLAC decoder of foobar.

Indeed. Please read from here.

One possible explaination:
Quote
Hm, i am not sure but i seem to remember to have read somewhere that the FLAC plugin is using a separate thread to read the data to decode in the background. If so this might explain it's better performance.

I am not sure, what you want to say:

1. The TAK foobar plugin is working suboptimal

Yes. Something in the interaction of the plugin/my decoding library and foobar isn't working optimally. But decoding is still very fast.

2. Decoding complexity of TAK's presets -p0 and -p1 is significantly higher than that of FLAC -8

No. The decoding complexity of -p1 is only slightly higher than that of FLAC -8. Up to 13 multiplications per sample for TAK, 12 for FLAC. And about 7 simple instructions more for TAK (Could be less with a new incompatible codec). Depending on the cpu, TAK or FLAC may decode faster. Most important: TAK needs about 3 KB more of memory for it's data and this can be just too much to keep most of the data in a small L1 cache. I think that's the reason why TAK is performing better in Synthethic Souls' than in Josh Coalson's comparison.

  • IgorC
  • [*][*][*][*][*]
TAK 1.0.4
Reply #15
Thank you for information. I didn't see this part of discussion.

  • skamp
  • [*][*][*][*][*]
  • Developer
TAK 1.0.4
Reply #16
Btw, doesn't "tak" mean "thank you" in swedish?
See my profile for measurements, tools and recommendations.

  • claesbas
  • [*]
TAK 1.0.4
Reply #17
Btw, doesn't "tak" mean "thank you" in swedish?


yes, its spelled "tack" in swedish though

  • stigc
  • [*][*][*]
TAK 1.0.4
Reply #18
In danish tak is thank you.

  • mourner
  • [*]
TAK 1.0.4
Reply #19
And in ukrainian "Tak" means "Yes".

  • Gandoon
  • [*]
TAK 1.0.4
Reply #20

Btw, doesn't "tak" mean "thank you" in swedish?


yes, its spelled "tack" in swedish though


First, note the Danish guys comment on the Danish spelling of "Thank you"...
And next we can add that the spelling "tak" in Swedish is pronounced with a long 'a'-sound (somewhat akin to the 'a' in English "talk"), and means roof or ceiling.

And thus we have spread the Nordic languages a little further... 

  • skamp
  • [*][*][*][*][*]
  • Developer
TAK 1.0.4
Reply #21
Tack so mücke for your contributions, everybody
See my profile for measurements, tools and recommendations.

  • Synthetic Soul
  • [*][*][*][*][*]
  • Global Moderator
TAK 1.0.4
Reply #22
Duscussion regarding shaohao's problems using the SDK moved to a separate thread.
I'm on a horse.

  • johnsonlam
  • [*][*][*]
TAK 1.0.4
Reply #23
And in ukrainian "Tak" means "Yes".


"Tak" pronounce in Cantonese (Chinese) means "Okay" or "Alright".
  • Last Edit: 31 March, 2008, 09:59:13 AM by johnsonlam
Hong Kong - International Joke Center (after 1997-06-30)

  • IgorC
  • [*][*][*][*][*]
TAK 1.0.4
Reply #24

And in ukrainian "Tak" means "Yes".


"Tak" pronounce in Cantonese (Chinese) means "Okay" or "Alright".


In russian it means "alright", "correct" or "so"