마이크 입력에서 10초 분량의 오디오를 녹음하고 싶습니다.SoX. 문서나 다른 곳에서 이를 수행하는 방법을 보여주는 예제를 찾지 못했습니다. timeout
녹음을 중지하는 데 사용하는 현재 명령은 다음과 같습니다 . 더 좋은 방법이 있나요?
timeout 10 sox -b 32 -e unsigned-integer -r 96k -c 2 -d --clobber --buffer $((96000*2*10)) /tmp/soxrecording.wav
답변1
조금 늦었지만, 같은 질문을 하시는 분이 계시다면, 트림 "효과"를 사용하여 설정된 길이의 오디오를 녹음하셔야 합니다.
따라서 10초 분량의 오디오를 녹음하려면 명령 끝에 Trim 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에서남성:
{위치(+)} 다듬기
오디오의 일부를 잘라냅니다. 원하는 수의 직위가 제공될 수 있습니다. 첫 번째 위치에 도달할 때까지 오디오는 출력으로 전송되지 않습니다. 그런 다음 효과는 각 위치에서 오디오 복사와 삭제를 번갈아 가며 수행합니다. 첫 번째 위치 매개변수에 0 값을 사용하면 오디오 시작 부분부터 복사할 수 있습니다.