Y
Hallo,
als ich den Beitrag gelesen habe, dachte ich mir, die Idee ist doch wirklich super, mein Informatiklehrer wäre vor ein paar Jahren niemals auf eine Solche gekommen (naja, er hatte aber auch schon mit den Grundlagen von Pascal zu kampfen )
Ich habe mir einmal dieses Projekt von Steven de Toni näher angeschaut und es dahingehend erweitert, dass nun ein Decoder einige Daten erhält:
bool Process(const float* pMagArray, unsigned int maxFreq, unsigned int ampleft, unsigned int ampright);
Ich habe mir jetzt die Sache zunächst denkbar einfach gemacht: Es werden eben nur die Amplituden ge- und die Zeiträume zwischen zwei "Frames" überprüft, in denen der Schwellenwert nicht überschritten wird.
Normalerweise müsste man natürlich die Frequenzen mit einbeziehen, ich bin echt gespannt, ob sich ein erfahrener User hier meldet und schildert, wie er die Sache angehen würde. Ich habe mit so etwas noch leider keine Erfahrung, werde mich aber noch in dieses interessante Gebiet einarbeiten.
In Aktion sieht es dann so so aus.
Mit den Einstellungen muss natürlich jeweils herumgespielt werden, machmal waren die Ergebnisse brauchbar, mit anderen Einstellungen jedoch desaströs.
Die Sourcen des Generators und des Oszis sind hier zu finden. Den Code von Codeproject habe ich an einigen Stellen geändert (bspw. einige nackte Zeiger durch vectoren ersetzt, ich denke aber nicht, da der Name des Autors noch im Dialogtitel steht und ich auf dessen Artikel verwiesen habe, dass ich irgendwelche rechtlichen Grauzonen betreten habe.
Ach ja, kompiliert wurde der Code mit VS 2008, getestet auf XP und Win7.
Edit: Ich veröffentliche eher selten Code, über Kritik würde ich mich freuen .