查看: 1448|回复: 3|关注: 0

[已解决] 未定义函数或变量 'wavread'。怎么弄啊,求告知

[复制链接]

新手

9 麦片

财富积分


050


8

主题

13

帖子

0

最佳答案
% 对一个语音信号进行分帧,并研究分帧后的短时能量和过零率特性
%读音频文件
clear all;
[filename,pathname]=uigetfile('d:\FJ1.wav','请选择语音文件:');
[sound,fs]=wavread([pathname,filename]);
a=size(sound(:,2));
Tn=(a(1)-1)/fs;     
t=0:1/fs:Tn;
figure(1)
subplot(411),plot(t,sound(:,2)),xlabel('t(s)'),ylabel('sound')
%分帧
N=fs*20*10.^(-3);
frame_shift=N/3
frame_array=enframe(sound(:,2),hamming(N),frame_shift);
subplot(412),plot(frame_array),xlabel('帧'),ylabel('分帧加窗后矩阵')
%求短时能量
n=size(frame_array);
for i=1:n(1)
    frame_energy(i)=frame_array(i,:)*frame_array(i,:)';
end
subplot(413),plot(frame_energy),xlabel('帧'),ylabel('短时能量')
%求过零率
a=sign(frame_array);
b=zeros(1,n(1));
c=[b' a];
d=[a b'];
zeropass_density=d-c;
zeropass_density=0.5*sum(abs(zeropass_density),2);
subplot(414),plot(zeropass_density),xlabel('帧'),ylabel('过零率')

新手

17 麦片

财富积分


050


2

主题

12

帖子

1

最佳答案
发表于 2018-4-14 08:54:26 | 显示全部楼层 |此回复为最佳答案
读取用audioread,不要用waveread。

新手

9 麦片

财富积分


050


8

主题

13

帖子

0

最佳答案
 楼主| 发表于 2018-4-15 19:16:17 | 显示全部楼层
八百里龙腾 发表于 2018-4-14 08:54
读取用audioread,不要用waveread。

多谢多谢

新手

17 麦片

财富积分


050


2

主题

12

帖子

1

最佳答案
发表于 2018-4-15 19:55:41 | 显示全部楼层

我最近在用MATLAB做声音识别分析,可以交流交流么?QQ:574089431
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表