[공학]매트랩(MATLAB)을 이용한 오디오파일 처리
- 최초 등록일
- 2006.09.28
- 최종 저작일
- 2006.06
- 8페이지/ MS 워드
- 가격 1,000원
소개글
매트랩을 이용해서 매트랩으로 오디오 파일을 불러들이고
이를 그래프로 나타내며 또한 각종 처리를 하는 실험 내용입니다.
실제 오디오파일을 녹음해서 매트랩으로 불러들이기도 했으며
resampling 을 통해 khz를 변경하는 실험이다.
이 레포트에는 모든 매트랩 코드, 매트랩 실행결과, 실행결과 분석이 포함되어있습니다
목차
1. Audio Data를 Digitization할 때 사용하는 sampling rate와 quantization bit의 수를 열거하시오. (Telephone, Audio CD, DAT의 세 종류를 반드시 포함하여)
2. 좋아하는 instrumental music (가수의 목소리가 없는)의 CD를 44.1 KHz, 16-bit, Mono로 10 sec의 구간을 digitization 하고, 악기의 종류에 따라 파형을 잘 볼 수 있도록 네 군데를 골라서 각각 5 msec 동안의 파형을 sub-plot 하시오.
3. 음절이 분명하게 끊어지고, 중간에 pause가 분명하도록 발성한 자신의 voice를 32 KHz, 16-bit, Mono로 10 동안 digitization 하고, 음소에 따라 혹은 active/idle상태에 따라 파형이 달라지는 모습을 관찰하여 네 군데를 골라서 각각 5 msec 동안의 파형을 sub-plot 하시오.
4. Matlab의 Resample function과 Interp1 function을 비교하시오.
5. Resample function을 이용하여 Music Data를 32 KHz로 변환한 Wave file을 만드시오.
6. 자신의 Voice와 준비된 Music을 합하는 방법을 서술하시오.
본문내용
좋아하는 instrumental music (가수의 목소리가 없는)의 CD를 44.1 KHz, 16-bit, Mono로 10 sec의 구간을 digitization 하고, 악기의 종류에 따라 파형을 잘 볼 수 있도록 네 군데를 골라서 각각 5 msec 동안의 파형을 sub-plot 하시오.
위의 그래프를 보게 되면 플루트는 부드러운 곡선의 단조로운 모습을 볼 수 있는데, 바이올린의 경우 날카롭고 변화가 심한 모습을 볼 수 있다. 특히 마지막 바이올린 파형은 진폭이 매우 작은데, 일부러 소리가 작은 부분을 캡쳐한 것이다. 이를 통해 파형의 모습은 소리의 크기에 의해 변하지 않음을 알 수 있다.
[AW, AWFrequency, bits] = wavread(`voice.wav`);
AW = AW`;
t1=0:1/AWFrequency:0.005; % sec scale
t_initial= round (AWFrequency *[1.6 2.5 4.6 6.5]); % index = sec*frequency
for k = 1:4
t_ms = 1000*(t1+t_initial(k)/AWFrequency); % msec scale
subplot(2,2,k); plot(t_ms, AW(1,t_initial(k):( t_initial(k)+length(t1)-1)));
xlabel(`시간 t(msec)`); ylabel(`Amplitude of wave file`);
if k <= 2
title([`Part `, num2str(k), ` : active`]);
else
title([`Part `, num2str(k), ` : idle`]);
end
end
기본적인 용례는 아래와 같다.
x2 = interp1(t1,x1,t2);
x2 = resample(x1,p,q);
일단 두 함수의 기능은 sampling rate를 변화시킨 신호를 만들어 주는 것이다.
interp1의 경우 length(t2)/length(t1)배의 길이를 가진 신호를, resample의 경우 p/q배의 길이를 가진 신호를 만들어 준다.
참고 자료
없음