【信号处理教程】基于倒谱图判断浊音的基音周期附MATLAB代码

简介: 【信号处理教程】基于倒谱图判断浊音的基音周期附MATLAB代码

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

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

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

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

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

⛄ 内容介绍

自相关基音检测算法是语音信号处理的关键技术,算法的效率直接影响语音信号实时处理的质量。在对自相关基音检测算法基本原理进行分析的基础上,设计了Matlab算法实现方案,通过对一段具体语音时域信号采样值进行滤波、分帧、求短时自相关函数,得到了浊音语音的基音周期。

⛄ 代码

clcclear allclose allwaveFile = 'qinghua.wav ';[y, fs] =audioread(waveFile);time=(1:length(y))/fs;frameSize=floor(40*fs/1000);     %帧长startIndex=round(15000);         %起始序号endIndex=startIndex+frameSize-1; %结束序号frame = y(startIndex:endIndex);  %取出该帧frameSize=length(frame);frame2=frame.*hamming(length(frame));  % 加hamming窗rwy = rceps(frame2);                   % 求倒谱ylen=length(rwy);cepstrum=rwy(1:ylen/2); %基音检测LF=floor(fs/500);     %设置基音搜索的范围HF=floor(fs/70);cn=cepstrum(LF:HF);[mx_cep ind]=max(cn); %设置门限,找到峰值位置if mx_cep > 0.08 & ind >LF    a= fs/(LF+ind);else    a=0;endfigure(1);plot(time, y); title(waveFile); axis tightylim=get(gca, 'ylim');line([time(startIndex), time(startIndex)], ylim, 'color', 'r');line([time(endIndex), time(endIndex)], ylim, 'color', 'r');title('语音波形');figure(2);subplot(2,1,1);plot(frame);title('取出帧的波形');subplot(2,1,2);plot(cepstrum);title('倒谱图');[x,sr]=audioread('qinghua.wav');  meen=mean(x);x= x - meen;updRate=floor(20*sr/1000);          %每20ms更新fRate=floor(40*sr/1000);            %40ms一帧n_samples=length(x);nFrames=floor(n_samples/updRate)-1; %帧数k=1;pitch=zeros(1,nFrames);f0=zeros(1,nFrames);LF=floor(sr/500);HF=floor(sr/70);m=1;avgF0=0;for t=1:nFrames        yin=x(k:k+fRate-1);        cn1=rceps(yin);        cn=cn1(LF:HF);        [mx_cep ind]=max(cn);        if mx_cep > 0.08 & ind >LF           a= sr/(LF+ind);        else            a=0;        end         f0(t)=a;        if t>2 & nFrames>3   %中值滤波对基音轨迹图进行平滑           z=f0(t-2:t);           md=median(z);           pitch(t-2)=md;           if md > 0             avgF0=avgF0+md;             m=m+1;           end        else            if nFrames<=3            pitch(t)=a;            avgF0=avgF0+a;            m=m+1;           end         end     k=k+updRate;endfigure(3)subplot(211);plot((1:length(x))/sr, x);ylabel('幅度');xlabel('时间');subplot(212);xt=1:nFrames;xt=20*xt;plot(xt,pitch)xlim([0,3]);axis([xt(1) xt(nFrames) 0 max(pitch)+50]);ylabel('基音频率/HZ');xlabel('时间');

⛄ 运行结果

⛄ 参考文献

[1] 郭武, 王仁华, 戴礼荣. 基于基音周期与清浊音信息的梅尔倒谱参数[J]. 数据采集与处理, 2007, 22(2):5.

[2] 宋建华, 朱勇, 徐军,等. 基于Matlab的一种基音周期检测算法[J]. 信息技术, 2009(1):5.

[3] 段继鹏, 李春泉, 熊殷. 基于MATLAB的语音信号基音周期检测的实现[J]. 中国科技博览, 2008(21):2.

⛳️ 代码获取关注我

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


相关文章
|
22天前
|
存储 算法 数据可视化
基于 MATLAB的GUI信号处理界面设计 源码+运行截图
基于 MATLAB的GUI信号处理界面设计 源码+运行截图
43 2
|
3月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
174 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
3月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
122 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
3月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
86 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
3月前
|
Go C++ Windows
Matlab 冰壶仿真游戏安装及教程
在Matlab上安装并运行冰壶仿真游戏的详细教程,包括编译环境准备、通过APP安装或直接运行源代码的方式,以及游戏的基本操作步骤。
35 0
|
5月前
|
算法 数据可视化 数据挖掘
大学生必备!GitHub星标破千的matlab教程(从新手到骨灰级玩家)
MATLAB(Matrix Laboratory)是MathWorks公司推出的用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境的商业数学软件。 MATLAB具有数值分析、数值和符号计算、工程与科学绘图、数字图像处理、财务与金融工程等功能,为众多科学领域提供了全面的解决方案。
|
5月前
|
机器学习/深度学习 数据可视化 算法
探索MATLAB世界:掌握基础知识与实用技能(1. MATLAB环境与基本操作 2. 数据类型与变量 3. 条件与循环,1. 数据分析与统计 2. 图像处理与计算机视觉 3. 信号处理与控制系统)
探索MATLAB世界:掌握基础知识与实用技能(1. MATLAB环境与基本操作 2. 数据类型与变量 3. 条件与循环,1. 数据分析与统计 2. 图像处理与计算机视觉 3. 信号处理与控制系统)
50 0
|
5月前
|
数据可视化 数据挖掘 计算机视觉
Matlab教程:入门指南
Matlab教程:入门指南
|
6月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)

热门文章

最新文章