質問はタイトルに記載されています。サンプリングされたオーディオファイルをオリジナルと同じ速度で再生するにはどうすればよいですか?
n番目のポイントを取るオーディオ信号をデシメートした後、それをn倍にスピードアップします。デシメートされた元のクリップの時間長さを同じにしたい。残りの点のダブル各新しい間引きクリップ以来のオリジナルその後、2倍短いです:
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ピアノを間引き。
2つのクリップを並べて比較できるようにしたいだけです。 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