오디오 채널을 분리하려고하는 스테레오 오디오 파일이 있습니다. 왼쪽 오디오가있는 버스와 오른쪽 오디오 신호가있는 버스가 생성됩니다. 이 채널에서는 몇 가지 작업을 수행 한 다음 다시 단일 스테레오 신호에 병합하려고합니다.AVAudioEngine 별도 채널
오디오 파일을 읽고 버스에서 작업을 수행하고 단일 신호로 병합해도 아무런 문제가 없습니다. (이 신호가 스테레오인지 테스트하지는 않았지만 이전 채널에 따라 다름).
왼쪽 채널과 오른쪽 채널을 분리 할 때 문제가 있으므로 개별적으로 수정할 수 있습니다. 내 아이디어
하나는 왼쪽/오른쪽 신호를 가지고 AVAudioPlayerNode
의 pan
속성을 사용했지만, 그것은 (문서에 언급 된)이 속성은 아직에도 모두 비록합니다 (AVAudioPlayerNode
에서 구현되지 않은 것 같아 사용 된 WWDC 비디오의 예).
다른 해결책은 this입니다. memcpy
을 사용하여 새 버퍼를 만듭니다. 나는 이것이 꽤 시간이 걸리고 정상적인 선수에게 적당하지 않다고 생각하기 때문에 이것을 아직 시도하지 않았다.
세 번째 프레임에는 audiokit이라는 프레임 워크가 있습니다. 스트림을 모노 왼쪽/오른쪽 채널로 변환 한 다음 AKStereoOperation
을 생성하여 신호를 다시 병합하는 옵션을 제공합니다. 이 솔루션의 문제점은 꽤 간단한 사용 사례입니다. 오디오 채널 분리. 이를 위해 아마도 거대한 프레임 워크를 포함하여 그것을 정당화하기가 어려울 것입니다.
채널을 분리하는 간단한 방법이 있습니까?
감사합니다.
2 개의 모노 스트림을 하나의 스테레오 스트림으로 다시 결합 할 수 있었습니까? – A21
슬프게도 avaudioengine이 없습니다. audiokit이 가능합니다. – Jan
불행히도 저는 객관적인 C 프로젝트를 사용하고 있으며, AudioKit은 Swift만을위한 것이라고 생각합니다. – A21