Habe ich auch dran gedacht, wusste aber nicht, wie ich das umsetzen soll.niemand hat geschrieben:Gerade Gongs haben doch eine definierte Tonhöhe. Ich würde eine der Libs für Stimmsoftware hernehmen und das auswerten. Da es zwei verschiedene, fixe Töne sind, sollte sich das ziemlich sicher erkennen lassen.
Optische Klingel kompliziert realisiert
-
- Beiträge: 34
- Registriert: 06.01.2017 05:41:47
Re: Optische Klingel kompliziert realisiert
Re: Optische Klingel kompliziert realisiert
Verschieben musst du auch.FragDenPinguin hat geschrieben:Ohne weitere Vereinfachungen müsste ich dann also jedesmal, wenn aus dem Stream ein neues Sample eintrudelt, eine neue Summe aus dem Produkt zwischen den Werten von gehörtem und Referenzsignal berechnen?
Das was du brauchst, ist eigentlich der Spezialfall Diskrete Faltung, hier die einfache Summenformel: http://www.fernuni-hagen.de/lges/spielw ... tung.shtml
In einem Script vlt. Referenzsignal spiegeln, in der Formel kannst du ja beliebig Referenzssignal und Empfangssignal einsetzen/tauschen. Diese Gesetze helfen für Scripting: http://www.eit.hs-karlsruhe.de/mesysto/ ... summe.html
Und dumm kann man sein, wenn man sich zu helfen weiß, 2 unterschiedlich lange Papierstreifen mit Beispiel-Zahlenfolgen erleichtern Scripting: http://www.gunnar-eisenberg.de/NUe/reso ... Filter.pdf
Vielleicht findest du im Netz auch was ziemlich Fertiges.
Und nun los, Falter!
Re: Optische Klingel kompliziert realisiert
Um hierauf theoretisch einzugehen: Diese Möglichkeit bestünde auch. Der TO müsste eine Fouriertransformation des empfangenen Klingelsignales tun. Damit wäre ein Amplitudengang (Amplitude pro Frequenz) ersichtlich. Es wird mit Sicherheit einen ganzen Frequenzbereich, mehrere "Hauptfrequenzen" geben. Ding-Dong ist ja kein Sinuston. Dafür kann man vielleicht fertige, grafische Audio-Software nutzen.niemand hat geschrieben:Gerade Gongs haben doch eine definierte Tonhöhe. Ich würde eine der Libs für Stimmsoftware hernehmen und das auswerten. Da es zwei verschiedene, fixe Töne sind, sollte sich das ziemlich sicher erkennen lassen.
Ein auf den "Hauptfrequenzbereich" eingestellter Bandpass-Filter (oder Equalizer) wird nur diesen Bereich durchlassen. Die quick-and-dirty-Methode wäre vielleicht sogar, einfach das Audiprogramm für Kopfhörergenuss mit ständig laufendem 2. Kanal (Mikrofon, Equalizer-gefiltert) per Mixer in die Kopfhörer einzuspeisen.
Den Hauptfrequenzbereich des Klingeltons kann man sicher auch ohne Fouriertransformation experimentell per Equalizer-Regler grob ermitteln. Einige Audioprogramme haben wohl auch die Fouriertransformation mit optischer Anzeige beriets an Bord.
Das einfache Faltungsscript würde mich jedoch mehr reizen, Meldung per Terminal "Polizei, öffnen sie die Tür!" genügt und stört den Kopfhörergenuss nicht. Was ich bei der quick-and-dirty-Lösung fast vermute. Zusätzliche Rauschunterdrückung oder Pegelschwelle für gefiltertes Mikrofonsignals verwenden?!
"Fertigen" Filtern kann man vielleicht auch eine Terminalmeldung entlocken: http://apps.linuxaudio.org/apps/categories/filters
-
- Beiträge: 34
- Registriert: 06.01.2017 05:41:47
Re: Optische Klingel kompliziert realisiert
Rudimentär läuft die Kreuzkorrelation schon einmal (frisst RAW signed 16 Bit Audio from stdin), werde heute abend noch ein bisschen feintunen. Tolle Anmerkungen hier.
Jemand hatte noch gesagt, dass mp3 eigentlich schon das Resultat der Fouriertransformation ist. Kann man das vielleicht nutzen, um den mp3-Stream ohne Dekodieren bezüglich der Präsenz des Gongs auszuwerten?
Jemand hatte noch gesagt, dass mp3 eigentlich schon das Resultat der Fouriertransformation ist. Kann man das vielleicht nutzen, um den mp3-Stream ohne Dekodieren bezüglich der Präsenz des Gongs auszuwerten?
Re: Optische Klingel kompliziert realisiert
Radio Eriwan sagt:FragDenPinguin hat geschrieben:Kann man das vielleicht nutzen, um den mp3-Stream ohne Dekodieren bezüglich der Präsenz des Gongs auszuwerten?
Im Prinzip ja, denn im Prinzip stecken dort die Koeffizienten der Fouriertransformation im Stream. Aber, die Daten sind zusätzlich komprimiert (AFAIK irgendein LZW-Abkömmling) und wie genau so ein MP3-Stream aufgebaut ist, kann ich dir auch nicht sagen.
Ich hatte oben aber auch geschrieben, daß es für deinen Zweck reichen würde, nur einen Kanal und den auch nur mit 8 Bit und 11050 Samples pro Sekunde zu nutzen. Das verringert den Netzwerkverkehr deutlich und verringert den Rechenaufwand bei der Kreuzkorrelation.