概述
问题:当调用enframe函数时,会出现,Undefined function or variable ‘enframe’.这类错误。
分析:需要使用Voicebox包了。但是默认情况下是,没有自动安装这个包的。
解决方法:下载一个voicebox语音处理包。
voicebox官方下载地址:
http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.zip
1、下载完voicebox之后,解压出来,将整个目录voicebox复制到MATLAB的安装目录的toolbox目录下,如G:MATLAB2020atoolbox
2、打开MATLAB,找到设置路径——>添加文件夹——>找到复制到MATLAB安装目录下的voicebox文件(选添加文件夹选择:D:Program FilesMATLABR2014atoolbox)——>点击添加并包含子文件夹——>保存。
4.检验是否成功设置:在命令窗口输入以下命令:what voicebox。如果显示为:
则说明设置成功。
参考博客:在MATLAB中添加语音处理工具箱(voicebox)
问题:函数或变量 ‘frame2time’ 无法识别。
分析:查看Voicebox工具箱,可见没有frame2time。
解决方法:编写frame2time函数,并保存至同一工程目录下,注意文件名字不要更改。
代码:
function frameTime=frame2time(frameNum,framelen,inc,fs)
% ================= 计算分帧后每一帧对应的时间=====================
% ================= 输 入 ===================================
%frameNum : 总帧数
%framelen : 帧长
%inc : 帧移
%fs : 采样频率
%================== 输 出 ====================================
%frametime : 每帧的时间,即取这一帧数据中间位置的时间
frameTime=(((1:frameNum)-1)*inc+framelen/2)/fs;
注:该程序代码可从《MATLAB在语音信号分析与合成中的应用》MATLAB程序中获取
最后
以上就是乐观小猫咪为你收集整理的MATLAB--语音信号处理问题及解决方法的全部内容,希望文章能够帮你解决MATLAB--语音信号处理问题及解决方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复