본문 바로가기
programming language/MATLAB

MATLAB 으로 음계 재생

by __observer__ 2015. 6. 15.
반응형

오늘은 MATLAB 을 사용하여 계이름을 재생하는 방법에 대해 알아보려 합니다.

 

일단 음계에 대한 특징을 알아야 하는데요. 음성은 주파수에 따라 음계가 달라지고~ 음성의 크기는 신호의 크기에 영향을 받습니다.

 

즉 위상에 따른 음성의 차이가 없다는 거죠.

 

우리가 알고 있는 도레미파솔라시도~~ 는 다음과 같은 주파수를 갖습니다.

 

260 Hz

294 Hz

330 Hz

349 Hz

392 Hz

440 Hz

495 Hz

524 Hz

 

이제 간단하게 MATLAB 을 사용하여 위 사실이 맞는지 테스트 해보죠.

 

테스트를 위한 코드는 다음과 같습니다.

Sample rate 는 CD 음질인 44.1 k 로 했고 주파수, 위상, 크기 에 따른 시뮬레이션을 해 보시길 바랍니다.

 

위 코드에서 A 라는 변수가 Amplitude 이며 phaseV 값이 위상 for 문 안의 fc 가 주파수 입니다.

 

A 를 변화 시켜 보면 소기라 커지고 작아지고 한다는 것을 느끼실 테고~

 

phaseV =0 인 경우와 phaseV =20 인 경우를 비교해보면 아래 그림과 같이 위상은 달라졌지만 소리를 들어보면 차이가 없다는 것을 느낄 수 있을 겁니다.

 

 


반응형

댓글