基于瞬时频率的语言信号清/浊音判决和高音检测(MATLAB R2021)

embedded/2024/9/23 10:39:27/

语音是由气流激励声道从嘴唇或鼻孔辐射出来而产生的。根据声带是否振动,发音可分为浊音和清音。浊音和清音有明显的区别,浊音具有周期信号的特征,而清音则具有随机噪声的特征;浊音在频域上具有共振峰结构,其能量主要集中在低频带,清音的振幅值相对较小,在时域和频域没有明显的规律性。清音和浊音的正确判断在语音识别、语音合成、语音编码中具有重要作用。传统的清浊音区分方法有:短时能量法、短时自相关函数法和过零点法等。由于实际语音常有连读以及单音素发音过短的情况,现有的清浊音判断方法也会出现判断不准确的情况。

程序运行环境为MATLAB R2021B,为基于瞬时频率的语言信号清/浊音判决和高音检测,部分代码如下:

%% Comparison with Matlab'2020 built-infunction (pitch) (Method: SRH (Drugman 2011)%%%%
[f0_matlab_value,idx] = pitch(s,fs, ...'Method','SRH', ...'WindowLength',framedur*fs/1000, ...'OverlapLength',timestep*fs/1000, ...'Range',[f0min,f0max], ...'MedianFilterLength',smoothing_dur*fs/1000);
hr = harmonicRatio(s,fs,"Window",hamming(framedur*fs/1000,'periodic'),..."OverlapLength",timestep*fs/1000);
hr_threshold=0.4;
f0_matlab_value(hr<hr_threshold)=0;
%完整代码:mbd.pub/o/bread/mbd-ZZ6blJtu%%%%%%%% Draw extracted f0 %%%%%%%%%%%%%%%%%%
subplot(3,1,3)
f0_matlab_time = 1000*(idx - 1)/fs;
vuv_matlab=(hr<hr_threshold);
plot(f0_matlab_time,f0_matlab_value)
hold on
plot(f0_ref_time,f0_ref_value)
xlabel('Time (s)')
ylabel('Pitch (Hz)')
legend('F0 est by Matlab','Gnd truth f0')
title('F0 contour extracted from Matlab built-in function (pitch)')

图片

图片


http://www.ppmy.cn/embedded/6677.html

相关文章

Linux--环境变量

目录 命令行参数 认识环境变量 环境变量的特性及命令行操作 命令行参数 在介绍环境变量之前&#xff0c;我们先来理解一下命令行参数&#xff0c;因为命令行参数与环境变量的构成是非常相似的。在这里我们以main函数为例&#xff1a; 下面是一段代码&#xff1a; 运行结果&am…

.NET 设计模式—备忘录模式(Memento Pattern)

简介 备忘录模式&#xff0c;又称之为快照模式(Snapshop Pattern)&#xff0c;是一种行为型设计模式&#xff0c;&#xff0c;它允许在不破坏对象封装性的前提下&#xff0c;捕获并保存一个对象的内部状态&#xff0c;以便在需要时恢复该对象到原先的状态。备忘录模式可以为我们…

头歌平台云计算实验

云计算 Hive综合应用案例——用户学历查询1 查询每一个用户从出生到现在的总天数2 同一个地区相同的教育程度的最高收入3 统计各级学历所占总人数百分比 Hive综合应用案例——用户学历查询 1 查询每一个用户从出生到现在的总天数 ---------- 禁止修改 ----------drop databas…

SpringCloud系列(8)--将服务提供者Provider注册进Eureka Server

前言&#xff1a;上一章节我们介绍了Eureka服务端的安装与配置&#xff0c;本章节则介绍关于微服务如何入职Eureka Server Eureka架构原理图 1、修改provider-payment8001子模块的pom.xml文件&#xff0c;引入Eureka Clinet的依赖&#xff0c;然后reolad一下&#xff0c;下载依…

centos的服务器root密码重置的步骤

如果CentOS服务器的root密码被修改了&#xff0c;你需要进行密码恢复操作。以下是在CentOS系统上恢复或重置root密码的步骤&#xff1a; CentOS 7 或 CentOS 8 重启服务器&#xff1a; 重新启动你的服务器。在启动过程中&#xff0c;当GRUB启动菜单出现时&#xff0c;按下e键来…

Python数据挖掘项目开发实战:使用朴素贝叶斯进行社会媒体挖掘

注意&#xff1a;本文的下载教程&#xff0c;与以下文章的思路有相同点&#xff0c;也有不同点&#xff0c;最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程&#xff1a; Python数据挖掘项目开发实战_使用朴素贝叶斯进行社会媒体挖掘_编程案例实例课程教程.pdf Pytho…

2024红明谷杯——Misc 加密的流量

2024红明谷杯——Misc 加密的流量 写在前面&#xff1a; 这里是贝塔贝塔&#xff0c;照例来一段闲聊 打比赛但赛前一波三折&#xff0c;又是成功签到的一个比赛 说起来比赛全名叫红明谷卫星应用数据安全场景赛&#xff0c;但好像真的跟卫星的关系不大&#xff0c;没有bin方…

Java高阶私房菜:高并发之线程池底层原理学习

目录 什么是池化思想 什么是线程池 JDK中线程池关键类&#xff08; ThreadPoolExecutor&#xff09; 线程池设计原理和核心参数配置 ​编辑线程拒绝策略 Executors创建常见线程池种类 工具类创建线程池 应用场景问题解析 商品详情页聚合接口 商家管理后台业务报表数据…