TAK

steht fr (T)om's verlustfreier (A)udio(k)ompressor. Nebenbei ist es eine Reminiszenz an eine (nicht sehr menschenfreundliche) Figur aus Stephen King's "Regulators". Frhe halbffentliche Evaluationsversionen firmierten unter dem Arbeitstitel YALAC.

Merkmale

Links zu TAK

Download

Das folgende ZIP-Archiv enthlt die aktuelle Version TAK 2.3.3 incl. Zubehr (Winamp plugin, SDK usw.):

TAK_2.3.3 Final Gre: 1.77 MB

Applikationen mit TAK-Untersttzung

caudec - Multiprozess Transcoder
dsfTAKSource - TAK DirectShow Source Filter
Plugin fr die Wiedergabe in jedem Media Player, der DirectShow untersttzt (z.B. Windows Media Player, MediaPlayerClassic, ).
Exact Audio Copy (EAC) - Audio grabber
Kann die Audiodaten im TAK-Format speichern. Die folgenden Anleitungen zeigen, wie es geht: EAC and TAK auf Hydrogenaudio.org und EAC+TAK encoder+foobar2000 auf hqshare.net.
Foobar2000 - Audioplayer
Enkodierung, Dekodierung, Tagging und Wiedergabe. Die folgenden Anleitungen zeigen, wie es geht: TAK Wiki auf hydrogenaudio.org sowie EAC+TAK encoder+foobar2000 auf hqshare.net. Das bentigte Wiedergabeplugin gibt es hier: TAK Decoder 0.4.7
GermaniX Transcoder - Transcoder
ImgBurn - Images brennen
Mp3tag - Tag Editor
Quintessential Player - Media Player
Wiedergabe von TAK-Dateien. Das bentigte Plugin gibt es hier.
shntool - Verarbeitung und Analyse von (komprimierten) WAVE-Audiodateien
Winamp - Media Player
Wiedergabe von TAK-Dateien. Bentigt mein Winamp-Plugin (s. Download).
XMPlay - Audio Player
Wiedergabe von TAK-Dateien. Bentigt mein Winamp-Plugin (s. Download).
xrecode II - Transcoder

Informationen und Support

Ich bin regelmig im Forum "Lossless / Other Codecs" auf Hydrogenaudio aktiv. Dies ist derzeit der beste Ort um Untersttzung zu bekommen, Verbesserungsvorschge zu machen oder Fehler zu berichten.

Vergleichstests

ktf's Vergleichstest. Nach meiner Ansicht aktuell der aussagekrftigste Test.
"Comparisons" auf der offiziellen FLAC-Homepage. Zitiert ktf's Test (s.o.).
Squeeze Chart - Audio

Audiokompression

Audiokompressoren (nicht zu verwechseln mit Dynamikkompressoren!) werden eingesetzt, um den Platzbedarf von Audiodateien (z.B. Musik) zu reduzieren. Durch den Vorgang der Kompression bzw. Kodierung wird eine mglichst kompakte Reprsentation der Daten erzeugt und in eine Datei geschrieben. Das Gegenstck stellt die Dekomprimierung bzw. Dekodierung dar, die die komprimierten Daten wieder in eine Form zurckverwandelt, die zur Wiedergabe oder Weiterverarbeitung in Audiosoftware geeignet ist.

Verlustfrei vs. verlustbehaftet

TAK gehrt zur Famile der verlustfreien Audiokompressoren wie auch z.B. Flac, WavPack, Monkey's Audio usw. Im Gegensatz zu verlustbehafteten Audiokompressionsverfahren wie z.B. MP3 erlauben sie eine originalgetreue Wiederherstellung der Originaldatei aus den komprimierten Daten. Dabei entstehen keinerlei Verluste; das Ergebnis stellt eine bitgenaue Kopie des Originals dar. Verlustfreie Audiokompressoren verhalten sich also hnlich wie die bekannten ZIP-Pack-Programme, die ja in der Lage sind, ihnen anvertraute Daten wie z.B. Texte unverflscht zu reproduzieren.

Verlustbehaftete Audiokompressoren dagegen entfernen unwiederbringlich Bestandteile des urspnglichen Audiosignals, die von Menschen mit normalem Hrvermgen blicherweise nicht wahrgenommen werden. Das Originalsignal kann also nicht wiederhergestellt werden.

Dafr erzielen verlustbehaftete Audiokompressoren deutlich hhere Kompressionsraten, erzeugen also deutlich kleinere Dateien als verlustfreie Kompressoren. Eine MP3-Datei, die mit der gngigen konstanten Bitrate von 128 KBit komprimiert wurde, ist um etwa den Faktor 11 kleiner als die Originaldatei im CD-Audio Format. Verlustfreie Kompressoren erzielen dagegen im Schnitt nur eine Reduktion um den Faktor 2. (Tatschlich schwankt der Kompressionsfaktor in Abhngigkeit vom Audiomaterial: So lassen sich z.B. leisere Audiosignale leichter komprimieren als laute).

Anwendungsgebiete verlustfreier Audiokompression

Whrend der Umgang mit verlustbehafteten Audiokompressionsverfahren wie MP3 heutzutage fr die meisten Musikliebhaber und Computernutzer alltglich ist, fristen verlustfreie Verfahren bislang eher ein Nischendasein. Nichtdestotrotz sind sie den verlustbehafteten Verfahren in vielen Fllen berlegen oder knnen sie hervorragend ergnzen, z.B.:

Musikproduktion

Bei der Musikproduktion durchluft das Originalsignal meist eine Vielzahl von Bearbeitungsschritten. Sollen Zwischenergebnisse zunchst gespeichert und spter weiterverarbeitet werden, sind Verluste gnzlich inakzeptabel, da die Verluste aller Speichervorgnge kumulieren und schnell zu hrbaren Verflschungen fhren. Ferner werden Signalvernderungen der verlustbehafteten Kompression, die normalerweise nicht hrbar sind, durch die blichen Klangmanipulationen der Produktion schnell ber die Wahrnehmungsgrenze gehoben.

Archivierung

Bei der Archivierung privater Musikbestnde mag eine verlustbehaftete Kompression in einem Format, das fr den Anwender keine hrbaren Artefakte erzeugt, zunchst ausreichend erscheinen. Soll aber spter ein Wechsel zu einem anderen verlustbehafteten Format durchgefhrt werden (z.B. um Kompatibilitt zu neueren Wiedergabegerten herzustellen), besteht die Gefahr, da die Kumulation der Signalverflschungen des ursprnglichen sowie des neuen Kompressionsverfahrens eben doch zu hrbaren Artefakten fhrt.

Garantierte Klangqualitt

Trotz aller beeindruckenden Fortschritte der verlustbehafteten Kompressionsverfahren lassen sich fast immer Musikstcke finden, die zu hrbaren Artefakten fhren. Derzeit knnen nur verlustfreie Verfahren eine unverflschte Klangqualitt garantieren.

Funktionsprinzip

Prdiktion

Um eine kompaktere Reprsentation -also Kompression- der Daten zu erreichen, suchen alle verlustfreien Audiokompressoren nach Regelmigkeiten im Audiosignal. So besteht zumeist eine starke Abhngigkeit zwischen aufeinanderfolgenden Signalwerten, so da nachfolgende Werte aus den vorangegangenen vorhergesagt werden knnen. Dazu mssen einige geeignete Parameter berechnet werden, die die Art der Abhngigkeit mglichst gut beschreiben. Diese knnen dann zur Vorhersage bzw. Prdiktion eingesetzt werden. Anstelle der Originaldaten speichert der Kodierer dann die Differenzen zwischen der Vorhersage und dem Originalsignal, also den Prdiktionsfehler. Da die Differenzen bei einer guten Prdiktion viel kleiner sind als die Originalwerte und da kleinere Werte weniger Speicherplatz bentigen, erzielt man eine Kompression.

Im Dekodierer wird dieselbe Prdiktion vorgenommen, wobei der vom Kodierer gespeicherte Prdiktionsfehler zu den vorhergesagten Werten addiert wird, um die Originalwerte zurckzuerhalten.

Die Berechnung der otpimalen Parameter fr die Prdiktion ist der zeitaufwendigste Vorgang der Kompression.

Adaption

Prdiktionsparameter mssen zu dem Signal passen, fr dessen Vorhersage sie eingesetzt werden sollen. Verndern sich entscheidende Aspekte des Audiosignals, mu eine Neuberechnung bzw. Adaption der Prdiktionsparameter durchgefhrt werden.

Asymmetrische vs. symmetrische Kompressoren

TAK basiert im wesentlichen auf adaptiver linearer Vorwrts-Prdiktion. Dieselbe Technik wird z.B. von FLAC, LPAC, Mpeg4Als (in der Standardeinstellung) und Shorten verwendet.

Alle genannten Programme gehren zur Klasse der asymmetrischen Audiokompressoren. Die Asymmetrie bezieht sich auf den unterschiedlichen Rechenaufwand fr den Vorgang der Kodierung und Dekodierung.

Alle fr die Kompression relevanten Parameter (vor allem die der Prdiktion) werden einmalig whrend der Kodierung berechnet und in der komprimierten Datei gespeichert. Der Dekodierer liest diese Parameter einfach aus der Datei, braucht die entsprechenden Berechnungen also nicht zu wiederholen und kann so sehr hohe Geschwindigkeiten erzielen. Ferner ist es mglich, den Rechenaufwand im Kodierer zu erhhen, um bessere Parameter fr eine strkere Kompression zu erhalten, ohne da dies den Rechenaufwand im Dekodierer signifikant steigern wrde. In der Folge sinkt die Verarbeitungsgeschwindigkeit des Kodierers, whrend die des Dekodierers konstant (hoch) bleibt.

Bei symmetrischen Verfahren (eingesetzt z.B. in WavPack, Monkey's Audio, OptimFrog, LA) dagegen werden die Berechnungen der Kompressionsparameter sowohl im Kodierer als auch im Dekodierer durchgefhrt, soda auf beiden Seiten ungefhr derselbe Rechenaufwand entsteht. Wird der Rechenaufwand im Enkodierer erhht, um die Kompressionsleistung zu verbessern, steigt der Rechenaufwand im Dekodierer gleichermaen.

Aber symmetrische Verfahren bieten auch Vorteile. Sie verwenden in der Regel die sogenannte Rckwrtsprdiktion, die die Kompressionsparameter kontinuierlich aufgrund des vorangegangenen Signals berechnet. Da dies gleichermaen im Kodierer wie im Dekodierer geschieht, brauchen die Kompressionsparameter nicht gespeichert werden, was Platz spart und die Kompressionsrate erhht. Und da die Parameter nicht gespeichert werden mssen, knnen sie beliebig oft bzw. schnell an Vernderungen des Audiosignal angepat werden, was die Kompressionsrate weiter erhht. Symmetrische Verfahren mit Vorwrts-Prdiktion dagegen knnen diese Adaption nur in greren Intervallen vornehmen, da andernfalls der Speicherbedarf fr die hufiger aktualisierten Kompressionsparameter den Gewinn der schnellen Anpassung bersteigen wrde.

Anmerkung: Auf die Mglichkeit, beide Verfahren zu kombinieren, soll an dieser Stelle nicht eingegangen werden.

Leistungsvergleich der Verfahren

Vergleichstests der Leistung aktuell gngiger verlustfreier Kompressionsprogramme besttigen im groen und ganzen die Vorhersagen, die sich aus den unterschiedlichen Funktionsprinzipien ergeben: Asymmetrische Verfahren dekodieren deutlich schneller, whrend symmetrische Verfahren die hchsten Kompressionsraten erzielen knnen, wenn auch auf Kosten der Dekodiergeschwindigkeit.

TAK's Technologie

Kompressor

Bei der Entwicklung von TAK standen diese Anforderungen in Vordergrund:

Das gesamte Design wurde auf hohe Geschwindigkeit ausgerichtet und unterscheidet sich in einigen Punkten deutlich von dem anderer asymmetrischer Kompressoren.

Einige Merkmale:

Containerformat

Die vom Enkodierer erzeugten komprimierten Frames werden in ein eigenes, proprietres Containerformat verpackt, das folgende Merkmale aufweist:

Zukunft

Meine To-Do-Liste

geplanter Erweiterungen:

Die Position in der Liste wird durch wenistens zwei Faktoren bestimmt: die Prioritt, die eine Erweiterung fr mich (und die Anwender) hat, sowie durch den erforderlichen Aufwand. So messe ich der Untersttzung fr andere Plattformen eigentlich eine recht hohe Bedeutung zu, habe sie aber aufgrund des betrchtlichen Aufwandes zunchst zurckgestellt.

Entwicklungsgeschichte

Meine ersten Gehversuche im Bereich (verlustbehafteter) Audiokompression erfolgten bereits 1994. Ich erfoschte eine Reihe eher simpler Verfahren, die zunchst mehr oder weniger auf ADPCM (Adaptive Delta Pulse Code Modulation) basierten und von mir zur Kompression von Sprachaufnahmen eingesetzt wurden.

Etwa 1996 wandte ich mich der verlustfreien Audiokompression mittels linearer Prdiktion zu. Da ich kaum Ahnung von den Standardverfahren der digitalen Signalverarbeitung hatte, nutzte ich zunchst eine (laaangsame) multiple Regression zur Bestimmung der Pdiktionskoeffizienten.

1997 brachte mir einen Internetzugang und es dauerte nicht lange, bis ich auf den Audiokompressor Shorten stie. Auch wenn Shorten aus heutiger Sicht nicht mehr konkurrenzfhig ist, sollte seine Bedeutung fr die Entwicklung der Audiokompression keinesfalls unterschtzt werden. Zum einen war es der erste Quasi-Standard fr den Austauch verlustfrei komprimierter Audiodateien via Internet, zum anderen haben sein Quellcode und die ausfhrliche Dokumentation der eingesetzten Verfahren sicher vielen Entwicklern anderer Kompressoren als Einstig und Anregung gedient. Mir jedenfalls zeigte es ein schnelleres Verfahren zur Berechnung der Prdiktionskoeffizienten, nmlich den Levinson-Durbin-Algorithmus.

Mein anfngliche Euphorie darber, wie leicht es mir fiel, mittels meiner Verfahren deutlich bessere Kompressionsergebnisse als Shorten zu erzielen, war dahin, als ich auf Monkey's Audio stie. Es war meinem damaligen Entwicklungsstand in jeder Hinsicht berlegen: Es komprimierte nicht nur besser sondern dazu auch noch mit hherer Geschwindigkeit! In den Folgejahren konzentrierte sich meine Entwicklungsarbeit darauf, diesen Vorsprung aufzuholen.

Ende Mrz 2006 war -salopp gesagt- "die Luft raus". Ich hatte meine Ziele erreicht und sah keine Mglichkeit mehr, aus meinem Design deutliche Verbesserungen herauszuarbeiten. Da ich mir nicht sicher war, was ich nun sinnvolles mit dem Ergebnis meiner Arbeit anstellen sollte, fragte ich meine potentielle Zielgruppe im renomierten Audioforum hydrogenaudio.org: Yet another lossless audio compressor: Braucht die Welt ein weiteres verlustfreies Audiokompressionsverfahren?

Dieser Post brachte einiges an Dynamik in die weitere Entwicklungsgeschichte. Zunchst versorgte mich die berwiegend positive Resonanz auf die von mir verffentlichten Daten zur Kompressionsleistung mit neuer Motivation. Weiterer Antrieb erwuchs aus meinem ausgesprochen schlechten Timing: Wer als Neuling ausgerechnet am 1. April berraschend gute Ergebnisse seines unverffentlichten Programmes postet, darf sich nicht beklagen, wenn ihm die Hlfte der Leser nicht glaubt...

Da ich mich nun in Beweisnot sah, entwickelte ich innerhalb weniger Tage einen funktionsfhigen Prototypen (YALAC V0.01) und schickte ihn an einen kleinen Kreis interessierter Tester aus den Reihen der Forumsmitglieder.

Versehen mit neuer Motivation und mit teilweise unglaublich umfangreicher Untersttzung der Tester verbrachte ich die folgenden Monate mit Verbesserungen der Kompressionsleistung und vor allem der Geschwindigkeit (es war doch noch einiges rauszukitzeln...). Die Optimierungen wurden bis zur Version V0.10 fortgesetzt. Danach begann die Arbeit am Streaming-Support, der Finalisierung des Dateiformates sowie an der Verbesserung der Anwenderfreundlichkeit.

Die erste finale Version 1.0 wurde am 26.1.07 verffentlicht.

Links zu anderen Audiokompressoren

FLAC
La
Lpac
Monkey's Audio
Mpeg4Als
OptimFrog
Shorten
WavPack