matlab绘制鸟类语谱图教程
【摘要】
文章目录
一.配置语音箱二.绘制语谱图
一.配置语音箱
跳转这一篇文章有教程 配置语音箱
二.绘制语谱图
测试代码:
clear all; clc; close all;
[x,...
一.配置语音箱
跳转这一篇文章有教程
配置语音箱
二.绘制语谱图
测试代码:
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('语音信号波形');
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
返回:
文章来源: chuanchuan.blog.csdn.net,作者:川川菜鸟,版权归原作者所有,如需转载,请联系作者。
原文链接:chuanchuan.blog.csdn.net/article/details/120008934
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)