SoX로 10초 분량의 오디오를 녹음하는 방법은 무엇입니까?

SoX로 10초 분량의 오디오를 녹음하는 방법은 무엇입니까?

마이크 입력에서 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 값을 사용하면 오디오 시작 부분부터 복사할 수 있습니다.

관련 정보