2012-01-21 5 views
4

:은 삭스 스플 라이스와 오디오 파일의 그룹을 크로스 페이드 내가 지금처럼 가입 삭스를 사용하여 두 개의 오디오 파일을 크로스 페이드 수 있어요

sox file1.wav file2.wav outfile.wav splice -q `soxi -D file1.wav`,0.5 
soxi 대체가 FILE1의 시간을 가져 오는되어

0.5은 길이 크로스 페이드의. 나는 이제이 파일을 임의의 수의 파일로 확장하여 짧은 크로스 페이드와 함께 문자열로 연결하려고합니다. 파이핑 (piping)과 스크립팅 (scripting)이라는 두 가지 접근법이있는 것처럼 보입니다. Sox는 -p 옵션을 사용하여 파일을 출력하는 대신 파이프로 출력되도록 처리합니다. 그러나 명령 당 많은 입력과 인수가 있기 때문에 후속 명령에서 출력 (and input?)이 어떻게 할당되는지는 명확하지 않습니다. 지금까지 나는 이 작동하지 않는 아래의 행을 가지고 있으며, 3 개의 파일로 확장하려고합니다.

sox -p file1.wav file2.wav splice -q `soxi -D file1.wav`,0.5 | sox -p file3.wav outfile.wav splice -q `soxi -D file3.wav`,0.5 

sox 파이핑 및 스크립팅에 대한 귀하의 조언을 매우 높이 평가할 것입니다.

답변

2

I은 ​​거기 대부분의 방법 받고

끝에 접합 효과는 제 파일로 삼초의 크로스 - 페이드의 시작을 배치하고, 교차 - 페이드와 같은 1 초 사용
sox --combine concatenate *.wav _merge.wav splice -q 3,1 

duration (두 파일의 시작과 끝에서 0.5 초). 이 방법은 ~ 3 초 파일 만 내 출력에 포함하도록 선택할 수 있으므로 임시 수정 방법입니다 (다른 방법 사용). 더 나은 대답은 그것을 할 것의 3

sox --combine concatenate *.wav _merge.wav splice -q $(soxi −D {}),1 

대신에 {} 여기 (find 같이) 현재 항목을 선택한 경우 것이 현재 파일과 대체의 기간을 잡아하는 방법을 알아낼 것이다. 하지만 그건 효과가없는 것 같습니다.

+0

네, 이건 작동하지 않습니다, 당신은 파일의 crossfading banch에 대한 해결책을 찾을 수있는 기회. 고맙습니다. 이런 일종의 일괄 작업을 절실히 필요로합니다. 처리 할 파일이 너무 많습니다. 제발 도와주세요. – user642523