Hallo!
Schön, daß auch mal die theoretische Seite der digitalen Audio- Videotechnik hier im Forum eine Erwähnung findet. Normalerweise benutzen wir ja nur die Tools und drehen an den Reglern eines EQ, etc. "im Computer", ohne uns überhaupt Gedanken zum "Wie funktioniert das eigentlich?" zu machen. Danke, Dude! Das Thema DSP ist natürlich sehr speziell und erreicht damit sicher nicht die "Klickzahlen" eines "Topthemas" in dieser Rubrik. Dafür gibt es andere Anlaufstellen im Internet. Man kann also nicht erwarten, daß hier die "Top-Spezialisten" in Sachen DSP im Forum rumgeistern.
Wer aber mit - hier bei uns speziell - Audio zu tun hat, einen PC in einer gängigen Programmiersprache programmieren kann, und dann auch noch ein bestimmtes Problem lösen möchte, ist mit den in diesen "Tuts" aus dem Internet vermittelten Grundlagen (auch in Form von Programmcode in C-64-BASIC) bestens bedient!
Wer eine Programmiersprache einigermaßen beherrscht, der kann auch eine andere Sprache lesen! (Von selbst "Schreiben" rede ich nicht!) Man muß sich halt etwas in die Struktur der "fremden" Sprache - z.B "FORTAN-77" einlesen, damit man sie versteht. (Viele alte Werke zum Thema "DSP" verwendeten diese Programmiersprache, weil sie halt für diese Zwecke gedacht war.)
http://de.wikipedia.org/wiki/Fortran
Wer "nur" C kann, kann aber (mit Sicherheit völlig problemlos) einen in "C-64-Basic" vorgegebenen Programmcode auch richtig in C übersetzen. Wichtig ist doch nur, daß die Übersetzung "stimmt" und beim Test bei gleichen Eingangsdaten bei beiden Codes "hinten" das selbe Ergebnis rauskommt. (Denkt besonders an die "Laufweite" von Schleifen aller Art! Kleiner Fehler - große Wirkung - mitunter schwer zu finden!) Für die "Weicheier"gibt es aber auch "Übersetzer", die meinetwegen "BASIC" direkt nach "C" übersetzen. Das hat aber den Nachteil, daß man mögliche Übersetzungsfehler nicht erkennt, weil man die Übersetzung gedanklich ja nicht selbst nachvollzogen hat.
Auch wenn es jetzt so manchen "Hobbyprogrammierer" mächtig in den Fingern juckt, mal selbst einen "kleinen EQ" zu basteln, die letzte Mathestunde (egal ob Abi oder nicht) liegt selbst bei mir schon 30 Jahre zurück. Die höhere Mahtematik braucht man im normalen Leben eigentlich nicht. Man vergisst unnützes Wissen schell. Wenn man dann nach vielen Jahren in diesen PDF-Dateien diese komplexen Formeln sieht, dann sagt man vorschnell: "Nee - das begreif ich nicht, krieg es nicht mehr auf die Reihe!" (Ja, ich bin auch faul!)
Schade eigentlich, denn wer einigermaßen anständig programmieren kann, kann mit Mathematik nicht generell auf Kriegsfuß stehen. Es fehlt doch eigentlich nur ein Beispiel, um zu zeigen, wie diese oder jene komplexe Formel funktioniert. Und darum nimmt uns der Autor der unten verlinkten Website an die Hand, gibt es diese Beispiele in "BASIC" und wir haben erstmal ein "Erfolgserlebnis"...
Natürlich hat man danach erstmal nur den rudimentären Kern des "EQ"-Programms, damit kann man aber arbeiten! Es fehlt noch die Dateneingabe (z.B. Samples über "Line-In" reinholen, oder die Ausgabe (z.B. die gefilterten Samples über "Line -Out" auszugeben oder auf Festplatte zu speichern). Aber wer sich an ein solches Projekt wagt, wird das sicherlich problemlos können.
"Richtig schick" wird es, wenn man dann noch ein GUI programmiert, wo man "den Frequenzgang" des Filters live mit der Maus "zeichnen" (und hören!) kann (sowas findet ihr heute in jedem Soundeditor in der "EQ-Abteilung") oder spezielle Funktionen anwenden kann. Letzteres findet ihr sicherlich seltener.
Gibt es denn mittlerweile beispielsweise einen kostenlosen "Handyton-Killer"?
Vor ziemlich exakt fünf Jahren haben wir hier ein solches Filter gebraucht.
http://www.radioforen.de/index.php?threads/handy-störgeräusch-im-interview.22944/page-2#post-386957
Ich habe damals nichts weiter gemacht, als kuzfristig ein schon bestehendes Programm zur Entzerrung von Schallplatten etwas umgeschrieben. Ich habe nur den "gewünschten Frequenzgang" vorgegeben. Die Grundlagen sind die selben.
Wer also selbst "sowas" schreiben will, sollte mit der Theorie etwas vertraut sein oder sie hier
http://www.dspguide.com/
nachholen. Richtig interessant wird es dann nämlich im Kapitel 17 - Custom Filters
"This is DSP at its best.", wie im Einleitungstext zu lesen ist. Und so ist es auch, denn damit (auf deutsch heißt das glaube ich "Frequenzabtastfilter") kann man jeden (!) gewünschten Frequenzgang im Rechner (mit der Maus) "hinbiegen". Mit analogen Bauelementen in Filtern ist sowas praktisch nicht möglich!
Wenns dann am Ende auch funktioniert, macht DSP richtig Spaß!
Ich hoffe, ich konnte die leicht müden (Old-School)Programmierer hier etwas aufmuntern! Glaubt mir: Selbst etwas zu programmieren und dabei in die Röhre zu gucken, ist besser, als am Wochenende in die Röhre zu gucken und sich dabei die Rübe aufweichen zu lassen!