Sounderkennung greift direkt auf den Geräteknoten zu

773
cdaaawg

Ich versuche, eine durch Audioeingabe ausgelöste Bash-Aktion aufzurufen. Ein sehr einfacher Schallerkennungssensor (keine Aufzeichnung) mit einstellbarem Schwellenwert unter Verwendung eines integrierten Audio-Chipsets und eines Audiomikrofons eines PCs wäre der Trick, etwa das Perl-Skript unter http://photodoto.com/index.php/2008/02/25 / tethered-shooting-with-linux / Nichts gegen Perl, aber ich hoffe, dass ich dies auf einer Hardware-Hardware-Umgebung einsetzen kann. Es ist daher unerlässlich, die Dinge so nahe am Kernel und an der Bash zu halten. In dieser Hinsicht sind auch Lösungen, die ALSA und OSS verwenden, nicht geeignet. Ist es möglich, proc- und / oder device-Knoten über bash zu verwenden, um diese Aufgabe auszuführen? Vielen Dank für die Aufklärung.

0

2 Antworten auf die Frage

0
geekosaur

Es sei denn, jemand macht eine binäre Erweiterung, bashum das Audiogerät zu konfigurieren. Dies erfordert sowohl die Möglichkeit, willkürliche binäre Daten zu verarbeiten, als auch die Fähigkeit, gerätespezifische ioctl()Anrufe zu tätigen.

`dd bs = 8k count = 4 testing-mic.raw` zeichnet 32768 Bytes Audio auf cdaaawg vor 12 Jahren 0
@cdaaawg, bei einigen Standardformaten / Bitraten, die Sie nicht steuern können, ist die Verwendung dieses Audios als Trigger (gemäß der OP-Frage) von der Shell aus schwierig. geekosaur vor 12 Jahren 0
0
cdaaawg

dd bs=8k count=4 </dev/audio >testing-mic.rawnimmt 32768 Bytes Audio auf, während cat testing-mic.raw >/dev/audiodas aufgezeichnete Audio abgespielt wird. Ich bin nicht sicher, wie ich mit dieser rohen Audiodatei umgehen sollte, um eine Ausgangsbasis zu erhalten