Как записать 10 секунд аудио с SoX?

Я хочу записать 10 секунд аудио с микрофонного входа с помощью SoX. Я не нашел ни одного примера в документации или в другом месте, который бы показал, как это сделать. Вот моя текущая команда, использующая timeout остановить запись. Есть ли лучший способ сделать это?

timeout 10 sox -b 32 -e unsigned-integer -r 96k -c 2 -d --clobber --buffer $((96000*2*10)) /tmp/soxrecording.wav
5
задан JakeGould
источник

1 ответов

немного поздно, но если у кого-то был тот же вопрос, вы должны использовать обрезку "эффект", чтобы записать заданную длину звука.

таким образом, чтобы записать 10 секунд аудио просто добавить обрезку 0 10 в конце вашей команды, например,

$ sox -b 32 -e unsigned-integer -r 96k -c 2 -d --clobber --buffer $((96000*2*10)) /tmp/soxrecording.wav trim 0 10

от SoX man:

trim {position(+)}

вырезает части из аудио. Любое количество позиций может быть дана; аудио не передается на выход до первой позиции достигнутый. Эффект затем чередуется между копированием и отбрасыванием аудио на каждая позиция. Используя значение 0 для первого параметра установки позволяет копировать с начала аудио.

11
отвечен toes 2016-04-19 20:10:10
источник

Другие вопросы audio audio-recording sox