Ich muss meine Audio Line-in in Linux überwachen, und im Falle, dass Audio gespielt wird, muss der Ton aufgezeichnet und in einer Datei gespeichert werden. Ähnlich wie motion überwacht den Video-Feed.Überwachung einer Audioleitung
Ist es möglich, dies mit bash zu tun? etwas entlang der Linien von:
#!/bin/bash
# audio device
device=/dev/audio-line-in
# below this threshold audio will not be recorded.
noise_threshold=10
# folder where recordings are stored
storage_folder=~/recordings
# run indefenitly, until Ctrl-C is pressed
while true; do
# noise_level() represents a function to determine
# the noise level from device
if noise_level($device) > $noise_threshold; then
# stream from device to file, can be encoded to mp3 later.
cat $device > $storage_folder/$(date +%FT%T).raw
fi;
done;
EDIT: Der Fluss ich von diesem Programm erhalten möchten, ist
a. when noise > threshold, start recording
b. stop recording when noise < threshold for 10 seconds
c. save recorded piece to separate file
Noch nie zuvor von einer Bewegung gehört, nice one –
Die Standardausgabe von 'date' enthält Leerzeichen. Es wäre besser, etwas wie "$ (Datum +% FT% T)" zu verwenden, das wie folgt aussieht: "2010-04-10T08: 55: 56", also ist es sortierbar und hat keine Leerzeichen. [ISO 8601] (http://www.iso.org/iso/support/faqs/faqs_widely_used_standards/widely_used_standards_other/date_and_time_format.htm) (und [hier] (http://en.wikipedia.org/wiki/ISO_8601)) –
@Dennis, danke, das geändert. – Stefan