Немного поздно, но если у кого-то возникли те же вопросы, вы должны использовать «эффект» обрезки, чтобы записать заданную длину звука.
Таким образом, чтобы записать 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
Вырезает части из аудио. Любое количество позиций может быть дано; аудио не отправляется на выход, пока не будет достигнута первая позиция. Затем эффект чередуется между копированием и удалением звука в каждой позиции. Использование значения 0 для первого параметра позиции позволяет копировать с начала аудио.