2016-10-31 1 views
0

私は何千ものmp3オーディオを処理しています。最初にこれらのファイルは44.1kHzに正規化され、16ビット以上の.wavモノフォーマットでコーディングされています。matlabで長さを変えずにmp3オーディオをリサンプリングする方法

Iは、(wavwrite()サンプリングレートを設定することができる)プロセスにmp3read()wavwrite()を試みたが、私はまた、resample()機能を試してみました。しかし、オーディオのサンプリングレートが44.1kHzよりも小さい場合、この処理の後、オーディオの長さは短くなります(逆も同様です)。たとえば、22kHzにリサンプリングされた44kHzの4分のオーディオは、8分になります。オーディオの長さを固定して再サンプリングするにはどうしたらいいですか?

英語は母国語ではありません。私の文法上の誤りや間違った言葉を許してください。ありがとう。

答えて

0

あなたは新しいFsにリサンプリングしていましたが、あなたは古いFsに保存していました。

ここには4行のコードがあります。 - wavファイルに読み込みます。 - サンプリング周波数(FsOld)を取得します。 - 希望するサンプリング周波数(FsNew)に再サンプリングします。 - 新しいサンプリング周波数で新しいwavファイルとして保存します。

[yOld, FsOld] = audioread('audio.wav'); 
FsNew = 44100; 
yNew = resample(yOld,FsNew, FsOld); 
audiowrite('audioNew.wav', yNew, FsNew); 

...すべてのベスト
関連する問題