MATLAB音訊訊號處理(一):函式簡易用法(audioread,sound函式)
一、讀取音訊檔案
函式名稱:audioread
呼叫格式:
- [y,Fs] = audioread(filename)
- [y,Fs] = audioread(filename,samples)
變數含義
filename:檔案的位置加名字,常用的在桌面的檔案,音訊格式為WAV,注意檔名帶引號,特別注意的是,如果檔案是在MATLAB選單欄下的當前檔案路徑下,可以只寫檔名,如果不在這個路徑裡面呼叫,需要把完整的全部地址寫進去,程式如下
[y,Fs]=audioread('C:\Users\Administrator\Desktop\1.wav');
Fs:取樣頻率,1秒內對連續的音訊訊號取的點的個數
y:輸出的音訊數字訊號,預設是n行2列,其中2的意思是,這個音訊訊號是兩個聲道的,n的值等於該音訊訊號的時長乘取樣頻率Fs。
samples :音訊讀取區域,samples其實是一個陣列,意思就是一段音訊比如是1分鐘,但是我只需要讀取一部分,比如0-20s,20s-40s,40s-最後,那麼執行下面程式可以實現
Fs = 48000; %%定義取樣頻率(系統預設的)
samples1 = [1,20*Fs];
samples2 = [20*Fs,40*Fs];
samples3 = [40*Fs,inf];
[y1,Fs]=audioread('1.wav',samples1);
[y2,Fs]=audioread('1.wav',samples2);
[y3,Fs]=audioread('1.wav',samples3);
二、播放音訊檔案
函式名稱:sound
呼叫格式:sound(y,Fs)
播放一個音訊檔案只需要給出兩個引數,好奇的我突發奇想寫了下面幾條語句
[y,Fs]=audioread('1.wav');
sound(y,Fs);
sound(y,0.5*Fs);
sound(y,2*Fs);
依次執行以後發現,改了這個Fs,好像就是改變了語速,也就是Fs是播放音訊的頻率,貌似就簡單完成了語速的調整,當然可以也可以對y進行倍數的調整,看一下效果。不過突然出現個問題,音訊時間太長了,MATLAB一直在那裡放,怎麼讓他停下來呢?只需要在命令列寫下面一條語句,按Enter鍵
>> clear sound
>>
三、生成音訊檔案
函式名稱:audiowrite
呼叫格式:audiowrite(filename,y,Fs)
y和Fs是需要生成的音訊檔案的音訊資訊和採集頻率,必須事先生成好資料,直接寫會報錯。
下面程式實現了將原音訊訊號擷取了12-26s,並儲存成一個新的檔案,執行程式以後,桌面會多一個名字為2的音訊檔案,格式是.WAV
%%當前預設路徑是桌面
Fs = 48000;
[y,Fs]=audioread('1.wav',[12*Fs,26*Fs]);
audiowrite('2.wav',x1,Fs);
相關文章
- 語音訊號處理獲取 NFFT 的自定義函式音訊FFT函式
- Linux 訊號signal處理函式--轉Linux函式
- 語音學習筆記4------matlab實現逆向生成音訊格式的訊號audiowrite()函式筆記Matlab音訊函式
- Matlab影像處理常用基本函式Matlab函式
- Matlab中erf函式的用法Matlab函式
- matlab中sort函式的用法Matlab函式
- oracle函式大全-字串處理函式Oracle函式字串
- 解析Linux訊號集操作函式Linux函式
- 訊號量函式 semget() semop() semctl()函式
- MATLAB函式randn簡介Matlab函式
- 【C/C++】訊號處理之sigaction函式的健壯性測試C++函式
- MATLAB及其訊號處理基礎Matlab
- 磁碟處理函式函式
- 字元處理函式字元函式
- QT之靜態函式傳送訊號QT函式
- Qt5的訊號和槽函式QT函式
- MatLab 基本影像處理(3)——函式變換Matlab函式
- VC自定義訊息postmessage用法(訊息響應函式)函式
- python函式每日一講 - divmod數字處理函式Python函式
- c++中訊息函式 -- GetMessage函式C++函式
- PHP函式處理函式例項詳解PHP函式
- Python 音訊訊號處理庫 librosaPython音訊ROS
- HMS Core音訊編輯服務支援7種音訊特效,助力一站式音訊處理音訊特效
- QT槽函式獲取訊號傳送物件QT函式物件
- escape函式處理帶加號字串問題函式字串
- 陣列處理函式陣列函式
- SqlServer——字串處理函式SQLServer字串函式
- Oracle函式-->字元處理Oracle函式字元
- 安全字串處理函式字串函式
- 檔案處理函式函式
- 時間處理函式函式
- linux系統程式設計之訊號(七):被訊號中斷的系統呼叫和庫函式處理方式Linux程式設計函式
- 音訊訊號處理入門音訊
- matlab表示函式Matlab函式
- ascii函式和substr函式的用法ASCII函式
- python函式符號sympy的用法Python函式符號
- 數字訊號處理實驗一(離散時間訊號的MATLAB實現)Matlab
- $.ajax()函式用法簡單例項函式單例