スレッドを続けるために、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