Audio-Encoding
-
Hi Leute,
Ich intressiere mich für Audio-Encoding und würde gerne einen eigenen Encoder (+ Decoder) ausprogrammieren.
Allerdings bin ich in diesem Gebiet noch recht unerfahren und weiss auch noch nicht wie ich das anstellen soll.
Vielleicht hat ja jemand von euch Erfahrung und kann mir sagen wie ich da am besten an die Sache rangehe, wäre echt cool
lg
trashorr
-
Willst du auch einen eigenen Codec entwerfen oder nur einen Encoder und Decoder für einen bekannten Codec bauen?
-
Wenns geht würde ich auch gerne einen eigenen Codec entwerfen

Allerdings muss der dann am Ende nicht gleich sooo effizient sein, also wie gut der am Ende komprimieren kann ist mir gar nicht mal so wichtig, das Entscheidende dabei ist eher, dass ich dann eben generell weiss wie man so etwas programmieren kann.
-
Zum Einstieg solltest du dich vermutlich mit dem Thema zeitkontinuierliche Signale und wie man diese digital darstellt (Stichwort Fourier Transformation, MDCT, Wavelets) und dem psychoakkustischem Modell befassen. Wikipedia gibt dir da sicher einen guten ersten Überblick.
Das ist aber alles kein leichtes Thema und setzt natürlich entsprechende mathematische Kenntnisse voraus.
-
Hm.. das klingt wirklich nicht sehr einfach..
Nun ja, es ist so dass ich für die Schule eine (eigentlich rein schriftliche) Arbeit in Programmieren über das Thema Audio-Encoding schreibe, und ich dachte dass ich zusätzlich noch einen ganz primitiven Codec oder einen Encoder programmieren könnte, um auch meine eigenen Erfahrungen bei dem Thema mit einzubringen.
Aber wenn ich dafür wirklich noch so viel Vorwissen benötige zahlt sich das nicht wirklich aus denke ich..
Wie ist es denn, wenn ich nur einen Encoder/Decoder programmieren will, brauche ich da genauso viel Erfahrung?
-
trashorr schrieb:
Wie ist es denn, wenn ich nur einen Encoder/Decoder programmieren will, brauche ich da genauso viel Erfahrung?
Nicht genauso viel, aber wenn es halbwegs was werden soll, solltest du dein Handwerk beherrschen. Schau einfach mal auf xiph.org und lad dir die Spezifikation zu FLAC oder Ogg Vorbis herunter, dann siehst du ja ob du faehig waerst sowas selber zu implementieren.
-
Hm.. das sieht sehr umfangreich aus, ich weiss nicht ob das wirklich das Richtige für mich wäre..
Gibt es vielleicht irgendwelche ganz primitiven Audio-Codecs die man ohne sehr viel Aufwand nachbauen kann? Für "normale" Files gibt es ja da zB Huffman, gibt es sowas auch im Bereich der Audio-Codecs?
Ich bezweifle es zwar irgendwie, aber fragen kostet ja nichts
Ansonsten könntet ihr mir vielleicht Tipps dazu geben, was man sonst noch alles zum Thema Audio-Encoding programmieren könnte?
-
Hm.. das sieht sehr umfangreich aus
In der Tat
Für "normale" Files gibt es ja da zB Huffman, gibt es sowas auch im Bereich der Audio-Codecs?
zB Huffman

Ist das eine Facharbeit die du schreibst? Vielleicht wäre es eine Idee, wenn du die Thematik eben abstrakter beschreibt (Was macht ein Encoding; Datenreduktion vs Datenkompression; Entropie (siehe Huffman); Was ist ein Audio-Signal; Umwandlung des analogen Signals in digitale Daten) und dann vielleicht grob die Fourier-Transformation oä beschreibst (also die Idee dahinter) und/oder ähnliche Methoden.
-
Man könnte also einen Huffman-Audio-Codec erstellen, und eine damit komprimierte Datei dann auch wirklich auf einen Player abspielen ohne es vorher zu dekomprimieren?

Ja, ist ne Facharbeit

Also diese allgemeinen Themen die Encoding betreffen werde ich mir sowieso noch ansehen, aber ich soll bei dieser Facharbeit auch etwas innovatives reinbringen, bzw. es soll eine Eigenleistung erkennbar sein, also nicht bloß simple Beschreibungen die man theoretisch überall finden könnte..
Daher dachte ich, dass ich irgendwas passendes zu dem Thema programmieren könnte...
-
trashorr schrieb:
Man könnte also einen Huffman-Audio-Codec erstellen,
Wäre alleine vermutlich ziemlich nutzlos. Aber Huffman wird von vielen Audio-Codes (und anderen Codecs, wie JPEG) als letzter Schritt eingesetzt, da dieser die Entropie verringert.
trashorr schrieb:
und eine damit komprimierte Datei dann auch wirklich auf einen Player abspielen ohne es vorher zu dekomprimieren?

Nur wenn der Player dein Codec kann

trashorr schrieb:
Ja, ist ne Facharbeit

Also diese allgemeinen Themen die Encoding betreffen werde ich mir sowieso noch ansehen, aber ich soll bei dieser Facharbeit auch etwas innovatives reinbringen, bzw. es soll eine Eigenleistung erkennbar sein, also nicht bloß simple Beschreibungen die man theoretisch überall finden könnte..
Daher dachte ich, dass ich irgendwas passendes zu dem Thema programmieren könnte...Das ist eben kein leichtes Themengebiet.
-
trashorr schrieb:
Ja, ist ne Facharbeit

Also diese allgemeinen Themen die Encoding betreffen werde ich mir sowieso noch ansehen, aber ich soll bei dieser Facharbeit auch etwas innovatives reinbringen, bzw. es soll eine Eigenleistung erkennbar sein, also nicht bloß simple Beschreibungen die man theoretisch überall finden könnte..
Daher dachte ich, dass ich irgendwas passendes zu dem Thema programmieren könnte...Hm, vielleicht verstehe ich nicht ganz, was du meinst, aber die Ausarbeitungen an der Uni, die ich gesehen habe, waren in den meisten Fällen auch nichts innovatives, d.h. auch oft nur ordentlich recherchiert und schön aufbereitet zusammengefasst. Die richtigen Innovationen hab ich wenn überhaupt nur in Diplomarbeiten gesehen.
Daher frage ich mich, woher der hohe Anspruch an der Schule! kommt...
Ansonsten ist m.M.n. der Aufwand für eine ordentliche Übersicht über das Thema Audiokodierung völlig ausreichend für eine Facharbeit. Für welches Fach ist denn die Arbeit gedacht?
gruß
Martin
-
Hm.. also um genau zu sein wird das auch eine Diplomarbeit ^^
Und es betrifft nicht explizit ein Fach.
-
Hm, wenn du von Facharbeit und Schule redest, denkt man als Inhaber der nordrhein-westfälischen allgemeinen Hochschulreife automatisch an 10-15 Seiten relativ unangestrengtes Geschreibsel aus der 12. Klasse.

Was für eine Schule ist das denn? Und warum schreibst du Facharbeit, wenn du Diplom meinst???

-
Naja ich wohne in Österreich und dachte dass man sowas bei euch vielleicht Facharbeit nennt ^^
-
trashorr schrieb:
Naja ich wohne in Österreich und dachte dass man sowas bei euch vielleicht Facharbeit nennt ^^
Er meinte aber eine Uni-Diplomarbeit und nicht das was man (merkwürdigerweise) in österreichischen Schulen auch als Diplomarbeit bezeichnet. Dazwischen liegt eben ein gewaltiger Unterschied!
-
Nun ja, ich gehe nicht in irgendeine "normale" Schule, sondern in eine hohe technische berufsbildende Schule.. es ist zwar keine Uni-Diplomarbeit, allerdings sollte sie vom Aufbau her genauso sein wie eine normale Uni-Diplomarbeit..
Hm.. aber eigentlich hat das alles hier nichts mehr mit dem Thema zu tun ^^
-
Es sind aber dennoch zwei verschiedene Welten (sonst wärst du ja nach der HTL direkt Dipl-Inf/Ing.). Formal sollte der Aufbau vielleicht gleich sein. Aber bei einer Uni-Diplomarbeit erwartet man dann wohl doch mehr.
-
Oh du scheinst dich ja wohl etwas bei uns auszukennen

Also **Dipl-**Ing. bin ich dann nicht, da hast du Recht, aber nach 3 Praxisjahren bin ich dann Ing. :p
Ich denke auch nicht, dass die wirklich so viel wie bei ner Uni-Diplomarbeit von uns erwarten, allerdings muss das vorher auch von einer Kommission zugelassen werden, weiss zwar nicht ob das dieselbe ist wie bei der Uni, nehme es aber schon an.. Naja, jedenfalls achten die angeblich sehr darauf dass man irgendwas innovatives reinbringt..
Und wenn ich nur irgendwelche Verfahren usw beschreibe wird das nicht ausreichen denke ich..
Denen ist nämlich sehr wichtig dass man eine (ersichtliche) Eigenleistung zu dem Thema beiträgt..Und so ist mir die Idee gekommen nen eigenen Codec zu programmieren

Aber so wie ich das bis jetzt aufgefasst habe scheint das echt verdammt schwer zu sein..
Hab da nen Huffman-Encoder gesehen der fast 1000 Codezeilen lang ist.. mit Decoder dann insgesamt 1500
Wenn ich mehr Zeit hätte würde ich ja gerne damit anfangen, aber es gibt auch noch sehr viel andere Fächer um die ich mich kümmern muss, daher denke ich dass sich das mit nem eigenen Codec nicht wirklich ausgehen wird..
Hm.. tja ich hoffe dass mir noch irgendwas andres einfallen wird was ich dazu programmieren kann oder so..
Falls jemand Vorschläge hat, bin für alles offen
-
Ich glaub nicht dass die Kommission bei der HTL so streng sein wird, frag doch einfach mal deinen Informatik-Lehrer, ob eine rein theoretische Abhandlung zum Thema nicht ausreichend ist, das ist naemlich auch schon eine Eigenleistung: du hast dich privat und auf eigene Initiative hin mit dem Thema befasst und fasst dein Wissen dann in der Arbeit zusammen.
Ansonsten koenntest du z. B. einen PCM-zu-DPCM (oder ADPCM) Converter fuer WAV-Dateien schreiben, oder ein Programm, das Audiodateien neu sampled (z. B. von 44 kHz auf 22 kHz). Einen ordentlichen Resample-Filter zu Implementieren ist auch schon Herausforderung genug, IMO.
-
Ich habe eh schon mit meinem Informatik-Professor darüber geredet, und der ratet uns von rein theoretischen Arbeiten ab, weil man sowas ja möglicherweise einfach von ein paar Seiten rauskopiert haben könnte..

Klingt schon mal ganz intressant das mit dem Converter..

Ich werd mich da mal drüber informieren