Запись со сканера
Продолжая тему автоматизации записи эфира привожу скрипт который записывает звук со сканера и переименовывает файлы записанные SOX в удобный формат.
#!/bin/bash
# функция которая ждет пока не появится звук на входе звуковой карте
# и остановится когда звук пропадет
function vox() {
sudo rm -rf /tmp/temp.ogg
sudo AUDIODEV=hw:1,0 rec -r 22050 -V2 --channels 1 /tmp/temp.ogg gain +26 silence 1 00:01 0.1% 1 00:03 3%
wait
# проверяем что полученный в итоге файл имеет хоть какой-то размер (800байт)
for i in /tmp/temp.ogg ; do
b=`stat -c %s "$i"`
if [ $b -ge 800 ] ; then
# формируем имя файла из даты когда закончилась запись и будет такой файл
# 1419970524.2014-12-30-20-15-24.ogg
# вермя в секундах.ГОД-МЕСЯЦ-ДЕНЬ-ЧАС-МИН-СЕК.ogg
NAME=`date +%s.%Y-%m-%d-%H-%M-%S`
FILENAME=/home/pi/VOX/$NAME.ogg
echo "MOVE /tmp/temp.ogg to $FILENAME"
sudo chown pi:pi /tmp/temp.ogg
mv /tmp/temp.ogg $FILENAME
else
rm -rf /tmp/temp.ogg
fi
done
# повторяем цикл
vox
}
# запускаем функцию записи в цикле
vox