1 / 19

Matlab 을 이용한 전자 기타 연주

2012_2 선형대수학 TermProject. Matlab 을 이용한 전자 기타 연주. Team Member 200711432 방호균 200711463 이준 하 200711465 이홍재 200811437 여종훈. 2 / 45. Index. Motivation Theory Materialization MATLAB Code Demo Program. F a n t a s t i c !. < Dr. Choi >. 3 / 45. Motivation.

Download Presentation

Matlab 을 이용한 전자 기타 연주

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2012_2 선형대수학 TermProject Matlab을 이용한 전자 기타 연주 Team Member 200711432 방호균 200711463 이준하 200711465 이홍재 200811437 여종훈

  2. 2 / 45 Index • Motivation • Theory • Materialization • MATLAB Code • Demo Program F a n t a s t i c ! < Dr. Choi >

  3. 3 / 45 Motivation • 이름 : 전자 기타 연주 프로그램 • 동기 • 멀티미디어 공학개론 (3-2) • 음악, 사진, 영상 • 실 세계에 존재하는 것들을 모델링, 디지털화 • 피타고라스가 대장간에서 울리는 망치소리를 영감으로 (2 : 3 비율로써 화음을 발견해냄; 솔 : 도) 12음계를 만들어냄. • 실 세계의 악기 중 가장 쉽게 접할 수 있는 기타를 선택 기타음을 컴퓨터로?

  4. 4 / 45 Theory(파동) 소리도 파동현상의 일종이고, 파동의 모든 성질을 가지고 있다.

  5. 5 / 45 Theory (파동) 기타의 소리를 디지털화 하기 위해서? 파형 2. 주파수 3. 진폭

  6. Theory (각 음계 주파수) 주파수(f) x 2

  7. Theory (기타&피아노 음역대) <피아노로 표현할 수 있는 음역대> <기타로 표현할 수 있는 음역대> 통상적으로 피아노가 표현할 수 있는 음역대가 통기타로 표현할 수 있는 음역대 보다 2배 정도 넓다.

  8. Theory (기타의 운지법) <해당 음계의 기타 운지법> Demo Program을 제작할 UI에 기초가 됨

  9. 9 / 45 Theory (음계의 구성 & 푸리에 급수) Add Sinusoids with Fourier Analysis : 모든 주기적인 파형은 두 개 이상의 고조파들 (harmonic frequencies)의 합으로 표현 가능 소리 또한 파동의 한 종류로써 정현파들의 합으로 표현 가능하다! 소리의 파형을 분석해서 수식으로 나타낼 수 있다!

  10. Materialization S u c c e s s!! • 구현 내용 • Matlab 을 통해 .wma 확장자의 파일을 불러와서, 프로그램 run-time동안 재생 가능하다. • Matlab을 통해실제 악기 소리를 수식화 ( Fourier Analysis : 모든주기적인 파형은 두 개 이상의 고조파들의 합으로 표현 가능 ) 하여 Digital화 된 소리가 재생 가능하다. • Matlab에서 제공하는 GUI를 통해 콘솔환경 탈피 • Matlab의 .m 확장자로작성된 파일을 .c 소스코드로 바꿔서 .exe 실행파일형태로 바꿔냄 • Matlab에서 제공하는 serial network 기능을 통해 PC환경 뿐만 아니라 Bluetooth통신을통해 원격으로 실행 프로그램을 제어할 수 있도록 하는 스마트폰 어플리케이션을 개발 S u c c e s s!!

  11. 11 / 45 Matlab Code • MATLAB에서 직접 음원 파일을 불러오기 - 기타 소리를 재생 • [w,fs] 배열 • soundsc(w, fs) ※ clear playsnd; ※ wavplay(w, fs)

  12. 12 / 45 1. 샘플링 주파수(Hz) 시간 벡터(x축) 진폭 벡터(y축) 각각의 음계에 대한 주파수 계산 Matlab Code 4. Sound 들의 tone들이 amplitude 에 의존Sin파들의 합성을 통해서 피아노 소리와 가장 비슷하게 소리를 내준다. 2. 저주파 대역 계산부 3. 고주파 대역 계산부 5. 각 tone들을 최종 합성 해서 soundsc() 를 통해 음 재생

  13. 13 / 45 Matlab GUI Code • MATLAB 에서 GUI 환경구축을 하면, 다른 함수들과 마찬가지로 .m파일 생성 • 코드가 실제로 어떻게 구현되었는지 확인할 수 있다. (간단함) <MENU.fig에 대한 MENU.m>

  14. 14 / 45 Matlab Compile Code File – Development Project에서 컴파일, 컴파일할 파일과 디렉토리를 설정 후, MCRInsaller를 설치하면 MATLAB 없이 .exe 파일로 실행할 수 있다.

  15. 15 / 45 Matlab GU Code Matlab Compile Code <MATLAB .m 파일 컴파일 후 생성된 .c 소스 파일>

  16. 16 / 45 Matlab - Bluetooth 연동, JAVA Code • Bluetooth로 연동된 기기에서 음계버튼을 눌렀을 때, Button 클래스가 실행이 되고, 음계버튼에 해당하는 번호 (1~18) 실행! • String 타입의 message 변수에 입력 받은 Button이 저장된다. 그 다음에 byte[] send 배열에 Button 값을 저장한 다음 mControlService.write() method로 보내주게 된다.

  17. 17 / 45 Demo 프로그램 (PC) <기타 도(C4_do음) 연주 화면> <피아노(C4_la#) 연주 화면> 악기에 대한 사용자의 이해를 돕기 위해 해당하는 음을 재생하면서 image형태로 출력 해줍니다.

  18. 18 / 45 Demo 프로그램 (Mobile) <Bluetooth와 통신할 PC 선택> <Connect> <Disconnect>

  19. Q & A 수고하셨습니다!

More Related