[Android_AudioRecord] PCM이란?
PCM이란?
사운드 아날로그 신호를 디지털화 하는 방식을 말하는 겁니다.
연속되는 아날로그 신호를 0과 1의 디지털신호로 변환 하기 위하여 오른쪽 그림처럼 각비트에 따른 높이 차를 설정 해둬서 곡선이 변화하는 높이대로 값을 설정 하게 됩니다.
저렇게 나온값을 각각 막대당 가지는 비트율을 나열하게 되면 아날로그 신호를 디지털 화 하게 되는 겁니다.(이걸 샘플링이라 합니다)
저렇게 나눌때 그값의 최대변화 량을 256단계로 나누게 되면 8bit 샘플링이 되는 것이고 65,536 단계의 변화 폭을 가지게하게 되면 16bit 샘플링이 되는겁니다.
이러한 아날로그신호를 고수준의 비트율로 샘플링 하게 되면 그만큼 음성 신호와 같은 아주복잡한 아날로그 파형도 조금더 정밀하게 정보를 저장 할수 있어 디지털화한 소리를 다시 복원 시켜도 음질이 거의 변화가 없는겁니다.
그래도 잘 이해가 안되시겠다면 위 두개의 그래프를 보시면 곡선 그래플와 막대 그래프가 변화되는 형태가 비슷한걸 보실 수 있을껍니다.
둘을 합처보면 딱 일치 하게 되는 데 이렇게 어디어서 어디까지 구간을 정하고 변화되는 갑에 따라 정해진 규격대로 막대그래프를 그리게 되는 겁니다.(여기서 샘플링 비트율이 적용 되는것이죠 8bit는 총 256단계 16bit는 65,536단계)이렇게 그려진 막대그래프를 막대당 각각 가지는 디지털데이터 값(위 내개막대중 첫번째의 높이 값인 010 등과 같은 비트값)을 연속적으로 추출해내는 것이 PCM(펄스 코드변조)방식 입니다.
조금 더 큰 세상 바라보기 프로젝트 (아래사진 클릭시 링크로 이동)
나를 성장시켜줄 첫번째 도구 - 똑똑이 (아래사진 클릭시 링크로 이동)