Мне нужно контролировать мой аудио линейный в linux, а в случае воспроизведения звука звук должен записываться и сохраняться в файл. Совместимо с тем, как motion отслеживает видеопоток.
Можно ли это сделать с помощью bash? что-то вроде:
#!/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: поток, который я хочу получить от этой программы,
a. when noise > threshold, start recording
b. stop recording when noise < threshold for 10 seconds
c. save recorded piece to separate file