소리 파형 두 개를 합치는 방법 - Whitmem
소리 파형 두 개를 합치는 방법
Sound Development
2023-01-26 03:34 게시 8827334ac4ca6d6a04da

0
0
71
이 페이지는 외부 공간에 무단 복제할 수 없으며 오직 있는 그대로 게시되며 부정확한 내용을 포함할 수 있습니다. 법률이 허용하는 한 가이드 라인에 맞춰 게시 내용을 인용하거나 출처로 표기할 수 있습니다.
This page is not to be distributed to external services; it is provided as is and may contain inaccuracies.
프로그래밍 언어에서 두 음원 파일을 합치기 위해서는 두 음원을 합쳐 주는 수학 작업을 진행 해야 합니다. 하지만 이는 복잡하지 않으며 약간의 원리와 이해만 한다면 쉽게 개발할 수 있습니다.
기본 원리
기본적으로 두 음원을 합치기 위해서는 원하는 범위의 파형을 서로 더하고 더한 결과를 새 트랙에 적용 해 주면 됩니다. 예를 들어 두 파형을 더하고자 하는 경우, 해당 샘플에 존재하는 파형의 진폭과, 대상 파형의 진폭을 서로 더한 뒤 새 배열에 담습니다.

두 개의 파형
위 예시는 파형 두 개를 더하는 모습을 나타내고 있습니다. 각 이미지의 파형은 최대 진폭 Normalize 기준0.5을 가지고 있습니다. 이 두 파형을 단순 더하기로 각 x에 대한 y를 계산 해 주면, 최대 진폭 1.0을 가지는 파형을 구할 수 있게 됩니다.

합쳐진 파형
이 파형은 두 소리가 합쳐짐과 동시에 최대 진폭도 늘어났으므로 소리 재생시 더 크게 재생되겠죠.
원리 적용
소스 코드 상에서는 더 간단합니다. 더하고자 하는 두 배열을 단순히 더 해 주면 트랙의 버퍼가 완성됩니다.
double buffer1[]; double buffer2[]; double result[]; for(int value=0;value<buffer1.length;value++){ result[value]=buffer1[value] + buffer2[value]; }
댓글 0개
댓글은 일회용 패스워드가 발급되며 사이트 이용 약관에 동의로 간주됩니다.
확인
Whitmemit 개인 일지 블로그는 개인이 운영하는 정보 공유 공간으로 사용자의 민감한 개인 정보를 직접 요구하거나 요청하지 않습니다. 기본적인 사이트 방문시 처리되는 처리 정보에 대해서는 '사이트 처리 방침'을 참고하십시오. 추가적인 기능의 제공을 위하여 쿠키 정보를 사용하고 있습니다. Whitmemit 에서 처리하는 정보는 식별 용도로 사용되며 기타 글꼴 및 폰트 라이브러리에서 쿠키 정보를 사용할 수 있습니다.
이 자료는 모두 필수 자료로 간주되며, 사이트 이용을 하거나, 탐색하는 경우 동의로 간주합니다.