2012-09-22 2 views
1

여러 개의 오디오 트랙을 하나의 파일로 결합 할 수 있지만 무엇을해야할지 모르기를 원합니다.C++ 오디오 믹싱

나는 여러 트랙을 동시에 재생, 그리고 다양한 지점에서 각 트랙의 볼륨을 변경해야 할 필요가
  • ,

  • 내가 몇 가지 트랙이 필요합니다 : 나는 다음을 수행 할 수 있어야합니다 다른 시간에 시작하십시오.

  • 그리고 파일에 결과를 기록 할 수 있어야합니다.

누구에게 도움이 될 제안이 있다면 어떤 라이브러리를 사용해야할지 모르겠습니다.

+5

좋아하는 검색 엔진에 "C++ 오디오 라이브러리"를 넣습니다. –

+0

http://www.un4seen.com/ - 저음 || http://www.fmod.org/ - fmod – Caesar

+0

원하는 수준까지 어떻게 하느냐에 따라 다음과 같이 직접 할 수 있습니다. 'libvorbis'. 각 트랙의 샘플 (채널 별)의 값을 더하여 최종 출력 샘플 값을 얻으면 오디오 트랙을 믹싱 할 수 있습니다. 이 값이 너무 크면 클리핑해야합니다. – Cameron

답변

2

아무도이 질문에 답변하지 않으므로 내가 끝내준 것을 게시 할 것입니다. 먼저 libffmpeg를 사용해 보았지만 작동하기에는 너무 혼란 스러웠습니다. 그래서 대신 LGPL에서 사용할 수있는 libsndfile을 사용했습니다. 매우 간단하지만 그 말은 어리석은 일이 아닙니다. 유일한 문제는 MP3 형식을 사용할 수 없다는 것입니다. 따라서 프로그래밍 방식으로 ffmpeg.exe를 호출하고 MP3 파일을 FLAC으로 변환하여로드합니다. 완벽하지는 않지만 그렇게 할 것입니다.

관련 문제