1

MATLAB で wav ファイルを取得しましたが、サンプル レートを確認できます。私がする必要があるのは、この 1 つの番号を変更することだけです。ファイル内の他のすべては変更されません。(結果のサウンドは異なる速度で再生されますが、サンプル データの配列は同じになります。)

これを行う必要があるのは、8k 以外でサンプリングされたものを開くように MATLAB に指示すると、MATLAB がおかしくなるようだからです。MATLAB が必要なのはファイルを編集することだけなので、完了したら wav ファイルに戻すので、サンプル レートはまったく問題になりません。そのため、サンプル レートを保存する wav ファイルの値を変更できるようにするか、MATLAB が好むサンプル レートを 8k からファイルが記録されたサンプル レートに変更できるようにする必要があります。

4

3 に答える 3

3

サンプリング周波数を変更したいだけの場合は、ここにコードがありますが、元のwavファイルが歪んでしまいます。サンプリング周波数を下げると、ビートと音楽が非常に遅くなります。

Code:
    [y, fs, nbits]=wavread('stego_lab');
    fs2=11025;
    wavwrite(y,fs2,nbits,'stego2_lab.wav');
    sound(y,fs2,nbits)

あなたはそれを聞くことができますが、サンプルは同じままです。それが役に立てば幸い。

于 2012-06-24T17:15:52.203 に答える
0

その点で役立つSOXツールがあり、ほぼすべてのプラットフォームで利用できます-http://sox.sourceforge.net

libsndrate、libsamplerate、libsndfile などもあり、実行可能ファイルも含まれている可能性があります。

于 2012-06-24T04:33:15.800 に答える
-1

この解決策を試してください

[x,fs] = wavread('infile.wav');
<br>[p,q] = rat(16000/fs)  % to convert to 16k sample rate</br>
<br>y = resample(x,p,q); % signal package require

wavwrite(x,16000,'outfile.wav');
于 2016-05-07T12:24:39.857 に答える