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 文件,你只能用「y」實作 wavwrite() ,一切都會很完美。

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

這將在您正在工作的資料夾中建立 out.wav。你可以檢查它

pwd

相關內容