Devo monitorare il mio audio line-in in linux e, nel caso in cui l'audio venga riprodotto, il suono deve essere registrato e salvato su un file. È simile a come motion controlla il feed video.Monitoraggio di una linea audio
È possibile farlo con bash? qualcosa sulla falsariga di:
#!/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: Il flusso mi piacerebbe ottenere da questo programma è
a. when noise > threshold, start recording
b. stop recording when noise < threshold for 10 seconds
c. save recorded piece to separate file
Mai sentito parlare di movimento prima, bello –
L'output predefinito di 'date' contiene degli spazi. Sarebbe meglio usare qualcosa come '$ (date +% FT% T)' che assomiglia a: "2010-04-10T09: 55: 56" quindi è ordinabile e non ha spazi. [ISO 8601] (http://www.iso.org/iso/support/faqs/faqs_widely_used_standards/widely_used_standards_other/date_and_time_format.htm) (e [qui] (http://en.wikipedia.org/wiki/ISO_8601)) –
@Dennis, grazie, ha cambiato. – Stefan