질문은 제목에 명시된 바와 같습니다.원본과 동일한 속도로 샘플 오디오 파일을 재생하는 방법은 무엇입니까?
n 번째 포인트마다 차례로 나오는 오디오 신호를 데시 메이트 한 후에 n 배율로 오디오 클립의 속도를 높입니다. 데시 메이트 된 원본 클립의 시간 길이가 같아야합니다. 나머지 포인트를 두 번 각 새로운 죽였다 클립 이후 원래 다음 배 짧은 :
Heres는 내 코드를 분석하고하는 것은
[piano,fs]=wavread('piano.wav'); % loads piano
play=piano(:,1); % Renames the file as "play"
t = linspace(0,time,length(play)); % Time vector
x = play;
y = decimate(x,2);
stem(x(1:30)), axis([0 30 -2 2]) % Original signal
title('Original Signal')
figure
stem(y(1:30)) % Decimated signal
title('Decimated Signal')
%changes the sampling rate
fs1 = fs/2;
fs2 = fs/3;
fs3 = fs/4;
fs4 = fs*2;
fs5 = fs*3;
fs6 = fs*4;
wavwrite(y,fs,'PianoDecimation');
가능한 솔루션 .WAV 피아노를 죽였다.
두 클립을 나란히 비교할 수 있기를 바랍니다. 당신이 audioplayer을 wavplay 사용하고, 또는 뭔가 다른이 격감 신호를 재생 http://www.4shared.com/audio/11xvNmkd/piano.html
글쎄 .wav 파일은 내 matlab 폴더에 저장하고 그것은 재생중인 하나입니다. wavwrite (y, fs, 'PianoDecimation'); . 나는 그걸 내 원본과 같은 길이로 만들고 싶다. – Andrew
기다리면 wavwrite (y, fs/2, 'PianoDecimation')입니다. ? – Andrew
질문에 대한 오해를했을 수도 있습니다. 당신의 질문은 "어떻게 데시 메이션 후 wav 파일을 쓰나요?" helpfile에 표시된대로 명령의 wavwrite (y, Fs, filename) 양식을 사용하려고합니다. 위의 예제는 MATLAB에 내장 된 wavplay를 사용하여 사운드 파일을 재생합니다. – sage