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

简介: 【语音识别】基于小波变换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电子书和数学建模资料


相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
3月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
191 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
3月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
124 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
2月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于NSCT非采样轮廓波变换和CNN网络人脸识别matlab仿真
本项目展示了一种结合非采样轮廓波变换(NSCT)与卷积神经网络(CNN)的人脸识别系统。通过NSCT提取多尺度、多方向特征,并利用CNN的强大分类能力实现高效识别。项目包括ORL人脸库的训练结果对比,提供Matlab 2022a版本下的完整代码及详细中文注释,另有操作步骤视频指导。
|
3月前
|
机器学习/深度学习 人工智能 算法
【人工智能】传统语音识别算法概述,应用场景,项目实践及案例分析,附带代码示例
传统语音识别算法是将语音信号转化为文本形式的技术,它主要基于模式识别理论和数学统计学方法。以下是传统语音识别算法的基本概述
71 2
|
3月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
88 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
5月前
|
算法 计算机视觉 异构计算
基于FPGA的图像一维FFT变换IFFT逆变换verilog实现,包含tb测试文件和MATLAB辅助验证
```markdown ## FPGA 仿真与 MATLAB 显示 - 图像处理的 FFT/IFFT FPGA 实现在 Vivado 2019.2 中仿真,结果通过 MATLAB 2022a 展示 - 核心代码片段:`Ddddddddddddddd` - 理论:FPGA 实现的一维 FFT/IFFT,加速数字信号处理,适用于高计算需求的图像应用,如压缩、滤波和识别 ```
|
5月前
|
API 语音技术 Python
【python的魅力】:教你如何用几行代码实现文本语音识别
【python的魅力】:教你如何用几行代码实现文本语音识别
|
4月前
|
语音技术 开发者 Python
语音识别,python运行H ~W~,要使用英符,执行Python的流程是输入Python,回车,解释器的两大功能,翻译代码,提交计算机运算,多行代码运行,写一个py文件,pycharm安
语音识别,python运行H ~W~,要使用英符,执行Python的流程是输入Python,回车,解释器的两大功能,翻译代码,提交计算机运算,多行代码运行,写一个py文件,pycharm安
|
6月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)

热门文章

最新文章