wavwrite 関数の使用法、Octave

wavwrite 関数の使用法、Octave

スレッドを続けるために、wavwrite について質問したいと思います。mat ファイル (T01DATA.mat) を再生しようとしています。試してみましたが、sound()実際の解決策はありませんでした。おかげで理由がわかりました。ファイルを変数に取り込むように変更しました。

s = load("T01DATA.mat");

s をチェックし、メソッドが成功したというかなり適切な証拠を得ました。次に、それを wav ファイルにしようとすると、混乱が生じます。

wavwrite(s,"out.wav");

私はこれを理解します:

スクリーンショット

そこで私は次のことを実行しました:

wavwrite("T01DATA.mat","out.wav");

今、wav ファイルを取得しましたが、信号が正しく書き込まれたかどうかは 100% 確信できません。取得できるのは 0 秒の録音だけです。

答え1

これをチェックしている人へ: 解決策は思ったより簡単です。Octave にファイルをロードすることで:

load("filename.ext");

Octave はそれを変数「y」に自動的に保存します。これは、Octave が .mat ファイルから変数をインポートできるためです。ファイルをロードすると、Octave は列の名前とベクトルを認識し、変数内のデータを自動的にインポートします。

s = load("T01DATA.mat"); #Making this whole code unnecessary)

.mat から .wav ファイルを取得するには、wavwrite() を "y" で実装するだけで、すべてが完璧になります。

wavwrite(y,Fs,"out.wav");

これにより、作業中のフォルダ内にout.wavが作成されます。

pwd

関連情報