Как записать 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
28
задан JakeGould
05.03.2023 19:29 Количество просмотров материала 3227
Распечатать страницу

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 2023-03-07 03:17

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх