Как записать аудио только при обнаружении звука или шума

arecord -q -f cd -d 1 recvol.wav;sox recvol.wav -n stat 2>&1|grep RMS|grep amplitude|cut -d"." -f2|cut -c 1-2>recvol;echo $((`cat recvol`+1))>recvol;rec -t wav - silence 1 0.1 `cat recvol` -1 1.0 `cat recvol`%|lame -s 44.1 -a -v - >record.mp3


Данная команда записывает аудио только при обнаружении звука или шума.
Сначала она использует утилиту «arecord» для записи аудио в файл «recvol.wav» продолжительностью 1 секунда и формата CD.
Затем она использует утилиту «sox» для анализа амплитуды записанного аудио файла. Результат выводится с помощью команд «stat», «RMS» и «amplitude».
Далее команда использует команду «cut» для извлечения значения амплитуды из вывода.
Значение амплитуды записывается в файл «recvol».
Следующая команда увеличивает значение амплитуды на 1 и записывает его обратно в файл «recvol».
Затем команда использует утилиту «rec» для записи аудио с помощью микрофона. Заданы параметры: формат — wav, активация записи при наличии звука, задержка перед началом записи 0.1 секунды, минимальное значение амплитуды для активации записи (считанное из файла «recvol»), максимальное значение амплитуды для окончания записи (считанное из файла «recvol»), и длительность тишины для окончания записи 1.0 секунды.
Результат записывается в файл «record.mp3» с помощью утилиты «lame» с использованием параметров семплирования 44.1 кГц, переменного битрейта и высокого качества кодирования.
Альтернативой может быть использование других программ для записи аудио с поддержкой обнаружения звука или шума.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *