问题如标题所述。
在我抽取一个每第 n 个点取出的音频信号后,它会以 n 倍的速度加快音频剪辑的速度。我希望抽取的剪辑和原始剪辑的时间长度相同。
这是我的代码,分析和抽取钢琴.wav
[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');
可能的解决方案:将剩余的每个点加倍,因为新的抽取剪辑比原始剪辑短 2 倍。
我只是希望能够对这两个剪辑进行并排比较。