天天看點

matlab繪制鳥類語譜圖教程

文章目錄

一.配置語音箱 二.繪制語譜圖

跳轉這一篇文章有教程

配置語音箱

測試代碼:

clear all; clc; close all;
[x,Fs]=audioread(['./mat_file/yunque/XC2' ...
    '86466 - 雲雀 - Alauda arvensis.mp3']);   %讀入資料檔案
wlen=800; inc=80; win=hanning(wlen);% 設定幀長,幀移和窗函數
N=length(x); time=(0:N-1)/Fs;       % 計算時間
y=enframe(x,win,inc)';              % 分幀
fn=size(y,2);                       % 幀數
frameTime=(((1:fn)-1)*inc+wlen/2)/Fs; % 計算每幀對應的時間
W2=wlen/2+1; n2=1:W2;
freq=(n2-1)*Fs/wlen;                % 計算FFT後的頻率刻度
Y=fft(y);                           % 短時傅裡葉變換
clf                                 % 初始化圖形
%=====================================================%
% Plot the STFT result              % 畫出語譜圖        
%=====================================================%
set(gcf,'Position',[20 100 600 500]);            
axes('Position',[0.1 0.1 0.85 0.5]);  
imagesc(frameTime,freq,abs(Y(n2,:))); % 畫出Y的圖像  
axis xy; ylabel('頻率/Hz');xlabel('時間/s');
title('語譜圖');
%=====================================================%
% Plot the Speech Waveform          % 畫出語音信号的波形  
%=====================================================%
axes('Position',[0.07 0.72 0.9 0.22]);
plot(time,x,'k');
xlim([0 max(time)]);
xlabel('時間/s'); ylabel('幅值');
title('語音信号波形');      

傳回:

matlab繪制鳥類語譜圖教程

繼續閱讀