MATLAB 디지털신호해석 C.3.3 실습 음으로 음악 합성
- 최초 등록일
- 2013.05.07
- 최종 저작일
- 2013.04
- 9페이지/
압축파일
- 가격 5,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
먼저 배우는 DSP, 교보문고
MATLAB C.3.3 실습 음으로 음악 합성
악보 및 코드가 포함된 압축파일입니다.
실행프로그램: MATLAB, 매트랩
곡명: Rondo Alla Turca, Turkish March
함수파일: play.m, note.m, keynumber.m 총 3개
참고과목: 디지털신호해석, 디지털신호처리
목차
없음
본문내용
1. 함수 코드 및 설명
1) keynumber.m : 악보에 나타난 음계를 피아노 건반 번호로 표현한 스크립트 m파일
<중 략>
○ play.m 파일의 코드 설명
- play.m 스크립트 파일을 호출하여 건반 번호와 건반음의 길이 값을 사용함
- 샘플링 주파수는 16000 [Hz]로 설정함
- 각 음에 대한 데이터를 저장할 공간을 확보하기 위해 zeros(1, sum(dur)*fs+1)함수를 이용하여 모든 원소가 0으로 이루어진 dur만큼의 배열 x1, x2, x3, x4 를 생성함
- for kk = 1:length(key)
1부터 key의 길이 값까지 반복하는 반복문을 생성함
- keynum = key(kk);
배열 key의 kk번째 값을 keynum에 저장함
- tone = note(keynum, dur(kk));
note 함수에 건반번호와 건반음의 길이를 입력하여 반환된 값을 tone에 저장함
- n2 = n1 + length(tone) - 1;
tone의 길이 값에 n1을 더하고 1을 뺀 값을 n2에 저장함
- x(n1:n2) = tone;
tone값을 x의 n1부터 n2까지 차례대로 저장함
- n1 = n2;
n2값을 n1에 저장함
- 주음계와 3개의 화음 총 4개로 나누어 위와 같은 반복문을 동작함
- xx = x1+x2+x3+x4;
4개의 화음 x1, x2, x3, x4를 하나로 합성하여 xx에 저장
- soundsc(xx, fs)를 이용하여 소리를 출력함
참고 자료
없음
압축파일 내 파일목록
악보.png
keynumber.m
MATLAB 디지털신호해석 C.3.3 실습 음으로 음악 합성.hwp
note.m
play.m