2011-04-19 3 views
2

내 iPad 앱의 코드를 통해 여러 유형의 오디오 파일을 하나의 출력 파일로 혼합해야합니다. 예를 들어 .m4a 파일을 .mp3 또는 .wav 또는 다른 형식 파일과 병합해야합니다. 결과 출력 파일은 .m4a 유형이어야합니다.FFMPEG를 사용하여 다른 형식의 사운드 파일을 믹싱하는 방법은 무엇입니까?

내가 링크와 함께 iOS 용 FFMPEG을 컴파일 : 이제 http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-October/076618.html

, 나는 어떤 방향으로 진행 이해할 수없는 무엇입니까?

+0

믹싱의 의미를 정의 할 수 있습니까? FFMPEG에서는 하나의 스테레오 트랙으로 모노 트랙을 결합 할 수 있습니다. 하지만 ffmpeg가 기존의 의미에서 '믹스'하게 할 것이라고 생각하지 않습니다. 변환을 위해 설계되었습니다. – Twelve47

+1

믹싱이란 다음과 같은 의미입니다. 드럼 비트가있는 파일과 기타 사운드가있는 파일을 가지고 있다고 가정합니다. 출력 파일을 믹스하면 두 악기가 동시에 완전한 악기처럼 재생됩니다. – iPhoneDev

+0

저는 ffmpeg이 그렇게 할 것이라고 생각하지 않습니다. – Twelve47

답변

0

이것은 답변이 아닙니다. obj-c에 대한 경험이 없지만 다른 언어로 된 오디오 형식을 사용해 왔습니다. 이 특정 작업을 수행하는 라이브러리를 찾지 못하면 파일을 디코딩하고 데이터를 일반적인 숫자로 변환해야 할 수 있습니다.

sample data of a .wav 파일은 -32768에서 32767 사이의 부호있는 정수로 저장되고 mp3 sample data은 -1에서 +1 사이의 부동 소수점으로 저장됩니다. 어느 표현을 간단한 계산을 통해 다른 표현으로 변환 할 수 있습니다.

mp3ToWavSample = mp3Sample * 32767 

데이터가 변환되면 "병합"이 매우 간단 해집니다. 샘플 값을 함께 추가하기 만하면됩니다.

mergedSample = convertedSample1 + convertedSample2 

mp3의 모든 샘플에이 값을 적용해야합니다. 파일 크기에 따라 중요한 처리 작업이 될 수 있습니다.

트랙에 리버브를 추가하는 것과 관련하여 다른 질문에서 도움을 요청하는 것이 좋습니다.

관련 문제