Optische Klingel kompliziert realisiert

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
FragDenPinguin
Beiträge: 34
Registriert: 06.01.2017 05:41:47

Re: Optische Klingel kompliziert realisiert

Beitrag von FragDenPinguin » 11.01.2017 14:17:22

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.
Habe ich auch dran gedacht, wusste aber nicht, wie ich das umsetzen soll. ;)

BenutzerGa4gooPh

Re: Optische Klingel kompliziert realisiert

Beitrag von BenutzerGa4gooPh » 11.01.2017 20:09:32

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?
Verschieben musst du auch. :wink:
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! :THX:

BenutzerGa4gooPh

Re: Optische Klingel kompliziert realisiert

Beitrag von BenutzerGa4gooPh » 12.01.2017 10:32:22

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.
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.

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

FragDenPinguin
Beiträge: 34
Registriert: 06.01.2017 05:41:47

Re: Optische Klingel kompliziert realisiert

Beitrag von FragDenPinguin » 12.01.2017 13:49:00

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. :THX:

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?

Benutzeravatar
MSfree
Beiträge: 10754
Registriert: 25.09.2007 19:59:30

Re: Optische Klingel kompliziert realisiert

Beitrag von MSfree » 12.01.2017 14:08:45

FragDenPinguin hat geschrieben:Kann man das vielleicht nutzen, um den mp3-Stream ohne Dekodieren bezüglich der Präsenz des Gongs auszuwerten?
Radio Eriwan sagt:
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.

Antworten