该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

这是我一个学长给的程序,他说里面要算得基本上已经实现了改一下就可以用了。。。但是i本人不是主攻matlab的说白了就是不怎么会,,想问下该怎么改来实现判断清浊音的功能。

%对语音信号采样分帧

clear

clc

X= wavread('E:\003\luyin.wav');

%对信号进行预加重

x=X;

x4=filter([1,-0.9375],1,x);

figure(1)

subplot(2,1,1),plot(x)

title('原始语音信号');

xlabel('样本序列n');

ylabel('幅值');

subplot(2,1,2),plot(x4)

title('原始语音信号的预加重');

xlabel('样本序列n');

ylabel('幅值');

% 幅度归一化到[-1,1]

x=double(x);

x=x/max(abs(x));

% 常数设置

FrameLen=240; % 帧长取30ms,8kHz的采样率

FrameInc=80; % 帧移取10ms,1/3

amp1=3;

amp2=2;

zcr1=10;

zcr2=5;

maxsilence=3; % 3*10ms=30ms

minlen=15; % 15*10ms=150ms

status=0;

count=0;

silence=0;

% 短时过零率(矢量法)

tmp1=enframe(x(1:length(x)-1),FrameLen,FrameInc);

tmp2=enframe(x(2:length(x)),FrameLen,FrameInc);

signs=(tmp1.*tmp2)< 0;

diffs=(tmp1-tmp2)> 0.02;

zcr=sum(signs.*diffs,2);

figure(2)

subplot(2,1,1)

plot(zcr);

title('短时过零率');

ylabel('zcr')

%计算短时能量

amp=sum(abs(enframe(filter([1-0.9375],1,x),FrameLen,FrameInc)),2);

inz=find(amp>1);

amm=amp(inz);

ll=min(amm);

figure(2)

subplot(2,1,2)

plot(amp);

title('短时能量');

ylabel('amp')

%调整能量门限

amp1=ll+(max(amp)-ll)/8;

amp2=ll+(max(amp)-ll)/16;

%开始端点检测

x1=0;

x2=0;

for n=1:length(zcr)

goto = 0;

switch status

case{0,1} % 0=静音,1=可能开始

if amp(n) > amp1 % 确信进入语音段

x1=max(n-count-1,1);

status=2;

silence=0;

count=count+1;

elseif amp(n) >amp2 | zcr(n) > zcr2 % 可能处于语音段

status=1;

count=count+1;

else % 静音状态

status=0;

count=0;

end

case 2, % 2=语音段

if amp(n) > amp2 | zcr(n) > zcr2 % 保持在语音段

count=count+1;

else

silence=silence+1;

if silence < maxsilence % 静音还不够长,尚未结束

count=count+1;

elseif count < minlen % 语音长度太短,认为是噪声

status=0;

silence=0;

count=0;

else % 语音结束

status=3;

end

end

case 3, % 3=语音结束

break;

end

end

count=count-silence;

x2=x1+count-1;

figure(3)

subplot(2,1,1)

plot(x)

title('语音信号的端点检测');

axis([1 length(x) -1 1])

ylabel('Speech');

line([x1*FrameInc x1*FrameInc],[-1,1],'color','red');

line([x2*FrameInc x2*FrameInc],[-1,1],'color','red');

%n1=(x1*FrameInc-x2*FrameInc)+1;

yy=x(x1*FrameInc:x2*FrameInc);%x1*FrameInc=3760,x2=8320,

%yy的长度是4560

figure(3)

subplot(2,1,2)

plot(yy)

axis([1 length(yy) -1 1]) %将此处的横坐标改值就可以取不同的语音段现在是整个语音段,

title('原始语音信号进行端点检测后得到的有用的语音信号段')

fs=11.025;%设定采样频率

y=fft(yy);%进行fft变换

mag=abs(y);%求幅值

f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换

figure(4);

plot(f,mag);%做频谱图

xlabel('频率(Hz)');

ylabel('幅值');

title('信号波幅频谱图');

grid;

z=0.1*rand(1,length(yy));

figure(5);

plot(z)

fs=11.025;%设定采样频率

Z=fft(z);%进行fft变换

mag=abs(Z);%求幅值

f=(0:length(Z)-1)'*fs/length(Z);%进行对应的频率转换

figure(6);

plot(f,mag);%做频谱图

xlabel('频率(Hz)');

ylabel('幅值');

title('噪声波幅频谱图')

grid;

m=yy'+z;

figure(7);

subplot(2,1,1);

plot(m)

fs=11.025;%设定采样频率

M=fft(m);%进行fft变换

mag=abs(M);%求幅值

f=(0:length(M)-1)'*fs/length(M);%进行对应的频率转换

figure(8);

plot(f,mag);%做频谱图

xlabel('频率(Hz)');

ylabel('幅值');

title('混合信号波幅频谱图')

grid;

%wavwrite(m,'s01')

matlab 小波 清浊音,matlab语音信号处理如何判别清浊音?相关推荐

  1. 清浊音判别 matlab,matlab语音信号处理如何判别清浊音?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这是我一个学长给的程序,他说里面要算得基本上已经实现了改一下就可以用了...但是i本人不是主攻matlab的说白了就是不怎么会,,想问下该怎么改来实现判断 ...

  2. matlab怎么选清浊音做短时谱,matlab语音信号处理如何判别清浊音?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这是我一个学长给的程序,他说里面要算得基本上已经实现了改一下就可以用了...但是i本人不是主攻matlab的说白了就是不怎么会,,想问下该怎么改来实现判断 ...

  3. matlab小波三维图,matlab小波包变换估计时变功率谱三维图出图和理想不一样

    close all clear all clc x=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]; x=x'; y=[4.02725 3.3011 2.8372 2.4234 2.06 ...

  4. 【语音去噪】基于matlab小波硬阈值语音降噪【含Matlab源码 532期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[语音去噪]基于matlab小波硬阈值语音降噪[含Matlab源码 532期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  5. 正交db小波 图像处理 matlab,基于matlab小波工具箱的数字图像处理及小波分析

    基于matlab小波工具箱的数字图像处理及小波分析 基于 Matlab 小波工具箱的数字图像处理摘要:小波分析在图像处理中有非常重要的应用,包括图像压缩.去噪.分解和增强等.运用多分辨率分析可以将信号 ...

  6. bp神经网络mallat小波matlab,小波神经网络原理及其应用汇总.ppt

    小波神经网络原理及其应用汇总,小波神经网络原理,小波变换原理与应用,神经网络的原理及应用,小波神经网络matlab,小波神经网络预测代码,小波神经网络模型,小波神经网络预测程序,小波神经网络预测,小波 ...

  7. 基于小波图像去噪的MATLAB实现

    基于小波图像去噪的MATLAB实现 一.课题背景 数字图像处理(Digital Image Processing,DIP)是指用计算机辅助技术对图像信号进行处理的过程.数字图像处理最早出现于 20世纪 ...

  8. matlab 小波中心频率,小波频域特性Matlab实现.pdf

    小波频域特性Matlab实现 小波频域特性– Matlab实现 东北大学 信号与信息处理研究所 栾峰 副教授 /luanfeng /luanfeng 编程示例 例 下面给出了一个信号的连续小波变换的例 ...

  9. 利用matlab小波GUI工具箱对空挡噪声进行滤波

    利用matlab小波GUI工具箱对空挡噪声进行滤波: 1.命令wavemenu调出matlab小波GUI工具箱, 2.File->load加载噪声音频文件,wavelet 1-D,选择小波函数, ...

最新文章

  1. C库函数:scanf、fscanf、printf、fprintf、sprintf、 snprintf
  2. list-style-type:decimal在IE中显示全是1的解析
  3. adaboost算法java_Adaboost 算法实例解析
  4. Rainbond 5.0正式发布, 支持对接管理已有Kubernetes集群
  5. api token 什么意思_还分不清 Cookie、Session、Token、JWT?
  6. 20170829,记我第一次电面
  7. UNBUNTU下与VirtualBox的WINDOWS共享文件夹
  8. CCNA学习指南-----1-3章笔记
  9. GaMD-高斯加速分子动力学模拟中文教程
  10. c 语言dll源码查看,易语言DLL函数查看器源码
  11. uipath 验证码_UiPath邮件自动化Save Attachments的介绍和使用
  12. androidtabhost缓存_Android TabHost用法详解
  13. 计算机主机清洁维护,电脑主机日常维护保养
  14. 数字货币主流币是什么意思?三分钟读懂数字货币主流币
  15. c语言算摄氏温度和绝对温度,将华氏度转换为绝对温度C语言
  16. 苹果的「AI 建筑师」GAUDI:根据文本生成 3D 场景
  17. 欢迎扫码进群加入或关注ServiceComb社区
  18. 计算机量子化学计算焓变,物理化学实验
  19. bp暴力破解(转载)
  20. elementui 按钮 表单_仿ElementUI实现一个Form表单的实现代码

热门文章

  1. 使用vs2008制作dll文件,生成动态链接库
  2. 俞敏洪:这是一个创业的大时代
  3. 2.12 二项式系数加法解 C实现
  4. 甘肃省谷歌地球高程DEM等高线下载
  5. 两阶段市场投标策略。 电力市场程序。 日前日内竞价 提出了日前电力市场和实时电力市场下充电站的投标策略
  6. 2019.10.15
  7. 图像评价常用指标(PSNR、SSIM、LPIPS 、FID、Recall)
  8. 【Linux】特别篇--sqlite3数据库的使用
  9. C++ 11中的Lambda表达式
  10. 2020中国大学生程序设计竞赛(CCPC) - 网络选拔赛 1005 Lunch (杭电 6892)