sox молчание: новый файл: перезапуск не работает правильно / как ожидалось

У меня есть прямая радиопередача, которую я пытаюсь захватить с помощью rtl_fm и SoX. Источник поступает случайными пакетами по несколько часов с перерывами между событиями в дни или недели. Я хотел бы записать каждое событие в отдельный аудиофайл, не обращая внимания на многочасовую тишину между событиями.

Из проведенного мною исследования должно работать следующее.

‘rtl_fm -f _____0000 -M fm -s 24k -l 45 -p 0 -g 38 | sox -r 24k -e signed -b 16 -c 1 -V1 -t raw - ~/___/___/____Radio_Recording_$(date+%Y-%m-%d_%H:%M:%S).mp3 silence 1 0.1 0.1% 1 00:02:00 0.1% : newfile : restart ‘ 

Он должен начать запись после обнаружения 1/10 секунды звука, остановить запись после 2 часов непрерывной тишины, сохранить файл, создать новый файл, а затем снова начать прослушивание звука.

Проблема в том, что он не перезапускается после сохранения первого файла. Он ждет звука, записывает и сохраняет первый файл безупречно, но не создает второй файл и не перезапускает запись. Единственное исключение - период ожидания перед сбросом составляет ровно 1 секунду, после чего он будет циклически повторяться, как и ожидалось: ожидание звука, запись, сохранение и перезапуск.

Если у вас есть идеи, почему 1 секунда работает и нет другого периода тишины, или идеи, как это исправить, мы будем благодарны за помощь.

Или, если вы знаете совершенно другой способ автоматизации этого процесса, который требует очень небольшой вычислительной мощности, я открыт для предложений. При тестировании концепции я использовал настройку GQRX-PulseAudio-Audacity, но она использовала больше системных ресурсов, чем я хотел ей предоставить, и не была очень автоматической или удобной в использовании.

0 ответов

Другие вопросы по тегам