검색어 입력폼

MATLAB 디지털신호해석 C.3.3 실습 음으로 음악 합성

저작시기 2013.04 |등록일 2013.05.07 | 최종수정일 2015.11.04 파일확장자압축파일 (zip) | 9페이지 | 가격 3,000원

소개글

먼저 배우는 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)를 이용하여 소리를 출력함

참고 자료

없음
다운로드 맨위로