sox를 사용하여 mp3 샘플 속도를 44.1k로 설정할 수 없습니다

sox를 사용하여 mp3 샘플 속도를 44.1k로 설정할 수 없습니다

두 개의 파일을 덮어쓰려고 합니다(동시에 배치되도록 하나로 병합).

옵션에는 sox --combine시퀀스, 연결, 혼합, 혼합 거듭제곱, 결합 및 곱셈이 포함됩니다. 나는 문서를 읽었습니다.여기어느 것을 사용해야 하는지는 완전히 명확하지 않습니다. 시퀀스와 연결의 샘플 속도가 다를 때 작동하지만 덮어쓰지는 않습니다.

믹스를 사용하려고 하는데 샘플 속도를 41k로 설정할 수 없습니다(제가 이해한 바에 따르면 mp3의 올바른 샘플 속도입니다).

샘플 속도가 달라지는 것을 방지하기 위해 입력 파일을 반복하고 모든 샘플 속도를 41k로 설정했습니다. 이 작업을 수행하려면 다음 코드가 있습니다.

sox -r 44.1k input1.mp3 output1.mp3
sox -r 44.1k input2.mp3 output2.mp3

알겠습니다(파일마다 다름)

sox WARN formats: can't set sample rate 44100; using 24000
sox WARN formats: can't set sample rate 44100; using 48000

그런 다음 다음을 사용하여 덮어쓰려고 할 때:

sox --combine mix output1.mp3 output2.mp3 output3.mp3 

나는 이것을 본다:

sox FAIL sox: Input files must have the same sample-rate

우분투 16.04를 사용하고 있습니다.

해결 방법으로 여기에 표시된 ffmpeg 명령을 사용합니다.https://stackoverflow.com/questions/14498539/how-to-overlay-two-audio-files-using-ffmpeg

양말이 왜 작동하지 않는지 알고 싶지만 이것은 실제로 나에게 잘 작동하고 작업을 완료합니다.

답변1

Change Sample Rate 를 사용하려면 효과를 사용하여 리샘플링 sox해야 합니다 rate(품질이 약간 저하됨). -r파일 형식을 사용할 수 없거나 여러 가지 가능한 속도(예: 장치)가 있는 경우 속도만 지정됩니다.

MP3에는 "올바른" 샘플링 속도가 없습니다. 두 개의 입력 MP3가 동일한 샘플링 속도를 갖고 해당 샘플링 속도를 유지하는 경우 최상의 결과를 얻을 수 있습니다. 한 요율이 다른 요율의 배수인 경우(예: 48000 및 24000) 더 큰 요율(48000)을 사용하십시오.

샘플 속도를 쿼리하는 도구는 다양합니다(예: mediainfo.

관련 정보