【语音识别】基于小波变换DWT 0-9数字语音识别附matlab代码

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 【语音识别】基于小波变换DWT 0-9数字语音识别附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

语音识别是一门交叉学科,它与语音学,语言学,数字信号处理,模式识别,最优化理论,计算机科学等众多学科紧密相连,是一门既有理论价值又有实际意义的学科.语音识别发展了几十年,取得了很大的进步.语音识别在某些方面还是存在一些问题:如对自然语言的识别和理解还属于初级阶段;语音信息量大不易存储;语音的模糊性;单个字母或词,字的语音特性受上下文的影响,以致改变了重音,音调,音量和发音速度等;环境噪声和其它干扰对语音识别有严重影响,致使识别率低.因此,解决以上问题是语音识别发展的重点.

⛄ 部分代码

function [x,mn,mx]=melbankm(p,n,fs,fl,fh,w)

%MELBANKM determine matrix for a mel-spaced filterbank [X,MN,MX]=(P,N,FS,FL,FH,W)

%

% Inputs: p   number of filters in filterbank

% n   length of fft

% fs  sample rate in Hz

% fl  low end of the lowest filter as a fraction of fs (default = 0)

% fh  high end of highest filter as a fraction of fs (default = 0.5)

% w   any sensible combination of the following:

%      't'  triangular shaped filters in mel domain (default)

%      'n'  hanning shaped filters in mel domain

%      'm'  hamming shaped filters in mel domain

%

%      'z'  highest and lowest filters taper down to zero (default)

%      'y'  lowest filter remains at 1 down to 0 frequency and

%   highest filter remains at 1 up to nyquist freqency

%

%       If 'ty' or 'ny' is specified, the total power in the fft is preserved.

%

% Outputs: x     a sparse matrix containing the filterbank amplitudes

%      If x is the only output argument then size(x)=[p,1+floor(n/2)]

%      otherwise size(x)=[p,mx-mn+1]

% mn   the lowest fft bin with a non-zero coefficient

% mx   the highest fft bin with a non-zero coefficient

%

% Usage: f=fft(s); f=fft(s);

% x=melbankm(p,n,fs); [x,na,nb]=melbankm(p,n,fs);

% n2=1+floor(n/2); z=log(x*(f(na:nb)).*conj(f(na:nb)));

% z=log(x*abs(f(1:n2)).^2);

% c=dct(z); c(1)=[];

%

% To plot filterbanks e.g. plot(melbankm(20,256,8000)')

%



%      Copyright (C) Mike Brookes 1997

%      Version: $Id: melbankm.m,v 1.3 2005/02/21 15:22:13 dmb Exp $

%

%   VOICEBOX is a MATLAB toolbox for speech processing.

%   Home page: http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html

%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%   This program is free software; you can redistribute it and/or modify

%   it under the terms of the GNU General Public License as published by

%   the Free Software Foundation; either version 2 of the License, or

%   (at your option) any later version.

%

%   This program is distributed in the hope that it will be useful,

%   but WITHOUT ANY WARRANTY; without even the implied warranty of

%   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

%   GNU General Public License for more details.

%

%   You can obtain a copy of the GNU General Public License from

%   ftp://prep.ai.mit.edu/pub/gnu/COPYING-2.0 or by writing to

%   Free Software Foundation, Inc.,675 Mass Ave, Cambridge, MA 02139, USA.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


if nargin < 6

 w='tz';

 if nargin < 5

   fh=0.5;

   if nargin < 4

     fl=0;

   end

 end

end

f0=700/fs;

fn2=floor(n/2);

lr=log((f0+fh)/(f0+fl))/(p+1);

% convert to fft bin numbers with 0 for DC term

bl=n*((f0+fl)*exp([0 1 p p+1]*lr)-f0);

b2=ceil(bl(2));

b3=floor(bl(3));

if any(w=='y')

 pf=log((f0+(b2:b3)/n)/(f0+fl))/lr;

 fp=floor(pf);

 r=[ones(1,b2) fp fp+1 p*ones(1,fn2-b3)];

 c=[1:b3+1 b2+1:fn2+1];

 v=2*[0.5 ones(1,b2-1) 1-pf+fp pf-fp ones(1,fn2-b3-1) 0.5];

 mn=1;

 mx=fn2+1;

else

 b1=floor(bl(1))+1;

 b4=min(fn2,ceil(bl(4)))-1;

 pf=log((f0+(b1:b4)/n)/(f0+fl))/lr;

 fp=floor(pf);

 pm=pf-fp;

 k2=b2-b1+1;

 k3=b3-b1+1;

 k4=b4-b1+1;

 r=[fp(k2:k4) 1+fp(1:k3)];

 c=[k2:k4 1:k3];

 v=2*[1-pm(k2:k4) pm(1:k3)];

 mn=b1+1;

 mx=b4+1;

end

if any(w=='n')

 v=1-cos(v*pi/2);

elseif any(w=='m')

 v=1-0.92/1.08*cos(v*pi/2);

end

if nargout > 1

 x=sparse(r,c,v);

else

 x=sparse(r,c+mn-1,v,p,1+fn2);

end

⛄ 运行结果

⛄ 参考文献

[1] 李法强. 基于小波变换的语音识别的研究和应用[D]. 桂林理工大学, 2011.

[2] 邹蓬, 张鹏, 陈艳. 一种基于小波变换的数字水印技术[J]. 中国民航大学学报, 2005.

[3] 金小华. 基于DWT的数字视频水印技术[J]. 苏州市职业大学学报, 2009.

[4] 杨雄. 基于小波变换的数字图像水印研究[D]. 华中师范大学.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
9月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
770 0
|
9月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
1094 0
|
9月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
287 0
|
9月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
394 8
|
9月前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
389 8
|
9月前
|
机器学习/深度学习 数据采集 测试技术
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
345 8
|
9月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
456 8
|
9月前
|
编解码 算法 数据可视化
MATLAB 实现同步压缩小波变换
MATLAB 实现同步压缩小波变换
610 3
|
9月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
286 0
|
9月前
|
编解码 运维 算法
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
785 12

热门文章

最新文章