두 개 이상의 PCM 오디오 채널 (예 : 녹음 된 샘플)을 음향 적으로 충실한 방식으로 디지털 방식으로 혼합하고 싶습니다 (가급적이거나 거의 없음).
이를 수행하는 물리적 "올바른"방법은 샘플을 합산하는 것입니다. 그러나 두 개의 임의 샘플을 추가하면 결과 값이 최대 값의 두 배가 될 수 있습니다.
예를 들어 샘플이 16 비트 값인 경우 결과는 최대 65536 * 2가됩니다. 클리핑이 발생합니다.
여기서 순진한 해결책은 N으로 나누는 것입니다. 여기서 N은 혼합되는 채널의 수입니다. 그러나 이로 인해 각 샘플의 1 / N은 큰 소리로 들리므로 완전히 비현실적입니다. 실제로는 두 악기가 동시에 연주 할 때 각 악기의 반이 크지 않습니다.
주변에서 읽을 때 일반적인 믹싱 방법은 다음과 같습니다. result = A + B-AB. 여기서 A와 B는 혼합 된 두 개의 표준화 된 샘플이며 AB는 더 큰 소리가 점점 "부드럽게"고정되는 용어입니다.
그러나 이로 인해 신호 왜곡이 발생합니다. 이 수준의 왜곡은 고품질 오디오 합성에서 허용됩니까?
이 문제를 해결하기 위해 어떤 다른 방법이 있습니까? 효율적인 저품질 알고리즘과 저효율 고품질 알고리즘에 관심이 있습니다.
여러 악기 트랙을 믹싱하기 위해 디지털 음악 합성의 맥락에서 내 질문을하고 있습니다. 트랙은 오디오, 사전 녹음 된 샘플 또는 실시간 마이크 입력일 수 있습니다.