Soooo, dann mach ich mal meinen ersten Post
Ich hab mit Google und der Boardsuche gesucht, aber nicht das passende gefunden. Ich hoffe, ich habe nichts übersehen und mache hier jetzt jemand doppelte Mühe. Wenn doch, Schande über mein Haupt!
Was ich vor habe:
1) Mittels Mikro aufnehmen, was grade so um mich rum passiert. (realisiert mittels targetDataLine.read() )
2) Das ganze wird dann in ein byte-Array gespeichert (ich habe hier die Länge 1024 gewählt)
3) das byte-Array wird nun einer FFT (Fast Fourier Transformation) unterzogen (dazu muss es vorher in Double bzw. Complex konvertiert werden). (FFT-Code musste ich vorgefertigten nehmen, da ich davon keine Ahnung hab )
4) Die FFT wirft mir dann nen neues Double bzw. Complex-Array der Länge 1024 aus, in dem sich wiederum Daten, sprich Zahlen, befinden.
5) Da soll nun heraus gefunden werden, welche Frequenzen mit welcher Amplitude vorhanden sind. Das alles sollte möglichst Echtzeit sein, so das ich also kontinuierlich ne Anzeige habe, welche Frequenzen mit welchen Amplituden grade am Mikro aufgenommen werden.
Ziel:
Heraus finden, ob das, was ich aufnehme z.B. Sprache ist, oder Musik, oder was auch immer
Problem (die Stelle an der ich grade hänge):
Ich weiss nicht, wie ich das Ergebnis der FFT interpretieren muss, um die Frenquenzen und deren Amplitude zu erhalten.
Sicher bin ich mir auch nicht, ob ich die FFT mit den richtigen Daten gefüttert habe (also das Double-Array von vorher).
Hier ein Teil des Codes, den ich bisher produziert habe (ich hab noch andere Varianten, aber hier erst mal zwei):
Komplex:
http://papernapkin.org/pastebin/view/2379 , dazu wird diese Klasse noch benötigt:
http://papernapkin.org/pastebin/view/2380
Da sieht die Ausgabe so aus bei mir: http://papernapkin.org/pastebin/view/2385
Das müsste eindimensional sein, wenn ich es richtig verstanden habe:
http://papernapkin.org/pastebin/view/2383 , hier braucht man noch diese Klasse:
http://papernapkin.org/pastebin/view/2384
Hier ist die Ausgabe: http://papernapkin.org/pastebin/view/2386
Ich hoffe, jemand kennt sich damit aus.
Vielen Dank für eure Hilfe und einen schönen Tag!
Grüße,
Dodo
Ich hab mit Google und der Boardsuche gesucht, aber nicht das passende gefunden. Ich hoffe, ich habe nichts übersehen und mache hier jetzt jemand doppelte Mühe. Wenn doch, Schande über mein Haupt!
Was ich vor habe:
1) Mittels Mikro aufnehmen, was grade so um mich rum passiert. (realisiert mittels targetDataLine.read() )
2) Das ganze wird dann in ein byte-Array gespeichert (ich habe hier die Länge 1024 gewählt)
3) das byte-Array wird nun einer FFT (Fast Fourier Transformation) unterzogen (dazu muss es vorher in Double bzw. Complex konvertiert werden). (FFT-Code musste ich vorgefertigten nehmen, da ich davon keine Ahnung hab )
4) Die FFT wirft mir dann nen neues Double bzw. Complex-Array der Länge 1024 aus, in dem sich wiederum Daten, sprich Zahlen, befinden.
5) Da soll nun heraus gefunden werden, welche Frequenzen mit welcher Amplitude vorhanden sind. Das alles sollte möglichst Echtzeit sein, so das ich also kontinuierlich ne Anzeige habe, welche Frequenzen mit welchen Amplituden grade am Mikro aufgenommen werden.
Ziel:
Heraus finden, ob das, was ich aufnehme z.B. Sprache ist, oder Musik, oder was auch immer
Problem (die Stelle an der ich grade hänge):
Ich weiss nicht, wie ich das Ergebnis der FFT interpretieren muss, um die Frenquenzen und deren Amplitude zu erhalten.
Sicher bin ich mir auch nicht, ob ich die FFT mit den richtigen Daten gefüttert habe (also das Double-Array von vorher).
Hier ein Teil des Codes, den ich bisher produziert habe (ich hab noch andere Varianten, aber hier erst mal zwei):
Komplex:
http://papernapkin.org/pastebin/view/2379 , dazu wird diese Klasse noch benötigt:
http://papernapkin.org/pastebin/view/2380
Da sieht die Ausgabe so aus bei mir: http://papernapkin.org/pastebin/view/2385
Das müsste eindimensional sein, wenn ich es richtig verstanden habe:
http://papernapkin.org/pastebin/view/2383 , hier braucht man noch diese Klasse:
http://papernapkin.org/pastebin/view/2384
Hier ist die Ausgabe: http://papernapkin.org/pastebin/view/2386
Ich hoffe, jemand kennt sich damit aus.
Vielen Dank für eure Hilfe und einen schönen Tag!
Grüße,
Dodo