После того, как мы разобрались с записью в файл с SDR-приемника можем организовать аудио архив переговоров с вызывной частоты. Вспоминаем заметку о записи со сканера и попробуем все совместить в удобный скрипт.

Для работы скрипта описаного ниже нужен настроейнный сервер OpenWebRX

#!/bin/bash

# частота мониторинга, в данном случае вызывной канал на 2м диапазоне
FREQ=145500000

# основная папка для складывания записей
ARCHIVE_FOLDER="/tmp/sdr_archive"

# временный файл
TEMP_FILE="/tmp/ham_145500.ogg"


# проверяем что бы существовал pipe для записи уровня шумодава
fifo_file="/tmp/record_squelch_pipe"

if [ -f "$fifo_file" ]
then
  echo "squelch pipe $fifo_file founded."
else
  echo "$fifo_file not found. created it"
  mkfifo $fifo_file
fi

# подсчет частоты сдвига
# числа 145000000 и 2000000  нужно брать из OpenWebRX сервера: center_freq и samp_rate соответственно
FREQ_OFFSET=`python -c "print float(145000000-$FREQ)/2000000"`

# записываем занчение выше которого должен срабатывать шумодав
echo "0.0002" > $fifo_file


# функция которая ждет пока не появится звук на входе звуковой карте
# и остановится когда звук пропадет
function vox() {
  echo "-----[ START recording cycle ]-----"
  rm -rf $TEMP_FILE
  nc -v 127.0.0.1 4951 | csdr convert_u8_f | csdr shift_addition_cc $FREQ_OFFSET | csdr fir_decimate_cc 181 0.000828675 HAMMING  | csdr squelch_and_smeter_cc --fifo $fifo_file --outfifo /dev/null  5 1 | csdr fmdemod_quadri_cf | csdr limit_ff | csdr deemphasis_nfm_ff 11025 | csdr fastagc_ff | csdr convert_f_s16 | sox -r 11025 -e signed -b 16 -c 1 -t raw  - $TEMP_FILE silence  1 00:01 0.1% 1 00:03 3%
  wait

  echo "-----[ END recording cycle ]-----"

echo "-----[ prepare file ]-----"
# проверяем что полученный в итоге файл имеет хоть какой-то размер (800байт)
for i in $TEMP_FILE ; do
   b=`stat -c %s "$i"`
  if [ $b -ge 800 ] ; then
    # создаем подпапку 2017/10/14
    ARCHIVE_SUB_FOLDER=`date +%Y/%m/%d`
    mkdir -p $ARCHIVE_FOLDER/$ARCHIVE_SUB_FOLDER

    # формируем имя файла из даты когда закончилась запись 
    NAME=`date +%s.%H_%M_%S`
    FILENAME=$ARCHIVE_FOLDER/$ARCHIVE_SUB_FOLDER/$NAME.ogg
    
    echo "MOVE $TEMP_FILE to $FILENAME"
    mv $TEMP_FILE $FILENAME
  else
    rm -rf $TEMP_FILE
  fi
done
echo "-----[ end cycle ]-----"

# повторяем цикл
vox
}

# запускаем функцию записи в цикле
vox 

Дальше как обычно, устанавливаем права на запуск chmod +x ./record_from_sdr.sh и запускаем ./recored_from_sdr.sh

То что получилось можно посмотреть тут http://ur5zhf.com/archive/145500/

UPDATE: 15 октября 2017

Что бы уменьшить размер файлов и добавить совместимости с большенством браузеров решил перейти с OGG на MP3. Для этого под Ubuntu нужно установить пакет apt-get install sudo apt-get install libsox-fmt-mp3 И поменять в скрипте расширения с .ogg на .mp3

Сконвертировать все .ogg файлы в папке можно командой

for f in *.ogg; do sox "$f" "${f%.ogg}.mp3"; done