matlab怎么把音频变成信号_如何使用 MATLAB 实现音频信号处理、实验仿真?
matlab的音頻工具箱(Audio Toolbox)https://www.mathworks.com/products/audio.html 還是很強(qiáng)大的,即使是復(fù)雜的任務(wù)也不需要大量的代碼。
一個簡單的例子:
recObj = audiorecorder;
disp('Start speaking.')
recordblocking(recObj, 5);
disp('End of Recording.');
y = getaudiodata(recObj);
y變量就保存了當(dāng)前電腦音頻輸入端錄的5秒音頻。
這就是題主需要的最基本的東西:方便的輸入輸出接口。
有了這接口,音頻信號就數(shù)字化了,研究對象聲音就已經(jīng)是數(shù)字信號對應(yīng)的向量了,后面有什么算法就是數(shù)值計算矩陣操作的事兒了。
同時Audio ToolBox也提供了一些非常常用但是如果自己造輪子會很崩潰的函數(shù)來輔助分析,比如著名的短時傅里葉變換(short time fourier transform),這個函數(shù)可以吧包含數(shù)字信號的波形的動態(tài)譜給出來。
(接著上面那個例子)
% y is an array of audio digital signal
stft((y),'FFTLength',512*8);
ylim([0 1])
ylabel('Normalized Freq')
就可以直接給出聲音的頻譜,比如下圖就是我吹口哨的頻譜。
眾所周知,嘴吹口哨是升調(diào),所以頻譜里能看到一個上升。
甚至還可以看到它的二階和三階諧波
總結(jié)
以上是生活随笔為你收集整理的matlab怎么把音频变成信号_如何使用 MATLAB 实现音频信号处理、实验仿真?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的用车感受
- 下一篇: matlab人脸追踪,求大神帮助我这个菜