低信噪比环境下的语音端点检测

news2025/1/13 17:29:02
  • 端点检测技术语音信号处理 的关键技术之一
  • 为提高低信噪比环境下端点检测的准确率和稳健性,提出了一种非平稳噪声抑制和调制域谱减结合功率 归一化 倒谱距离的端点检测算法

1 端点检测

1-1 定义

  • 定义:在 存在背景噪声 的情况下检测出 语音的起始点和结束点这里的重点是 噪声环境下 语音信号的处理

1-2 应用需求

  • 应用于语音信号处理:语音增强、语音识别、编码和传输
  • 需求是:人们希望在远场或者 嘈杂的环境中 也能用语音控制智能设备,因此研究低信噪比环境下高效的语音控制技术具有一定的实际应用价值

1-3 获取信号端点对噪声处理的帮助

  • 语音端点的 准确定位 有助于排除噪声段的干扰、增强系统处理的实时响应性、降低功耗从而提升系统性能
  • 传统的处理噪声的办法(算法):主要采用 语音特征参数 进行检测,通常可划分为 时域和频域 两大类
  • 时域: 短时能量、短时过零率、短时相关性特征被广泛应用
  • 频域: 谱熵、方差、倒谱距离、小波变换等特征也被认为是端点检测的有效参数

1-4 低信噪比环境下的端点检测

  • 端点检测的性能和 信噪比 密切相关——引出——>话题:低信噪比环境下的端点检测

2 瞬态噪声抑制

  • 背景:越来越多的研究 在端点检测前 增强了语音,这对端点检测的准确性有重要影响。
    传统上的语音增强技术利用 时间平滑 来估计噪声的 功率谱密度PSD 是不够的。
    因此提高算法在复杂环境中的稳健性具有广泛的研究意义。
  • 实际生活中出现的大多都是非平稳噪声
    如典型的瞬态干扰:键盘敲击、敲门声等
  • 具有 时间短、频域广 等特点,会对语音造成极大的干扰

2-1 瞬态 PSD 估计

2-1-1 算法实现简介

  • 利用语音、瞬态噪声、背景噪声的不同变化率,引入一个 可跟踪 瞬态信号快速变化 的 最优改进 对数谱 幅度 估计 (Optimally-Modified Log-Spectral Amplitude Estimator, OM-LSA)算法
    (具体做法是:通过分配一个较小的 平滑参数 来调整 OM-LSA 的噪声 PSD 估计分量,以跟踪输入信号频谱的瞬态变化)

2-1-2 具体实现步骤

  • 1、表示被测信号 y ( n ) y(n) y(n)
    y ( n ) = x ( n ) + d ( n ) + t ( n ) y(n)=x(n)+d(n)+t(n) y(n)=x(n)+d(n)+t(n)
    x ( n ) x(n) x(n)为语音信号、 d ( n ) d(n) d(n) 为加性平稳噪声、 t ( n ) t(n) t(n)​为瞬态噪声】
    (感觉和eemd处理很相似:eemd加了一段白噪声)

  • 2、 y ( n ) y(n) y(n) 信号经过加窗、快速傅里叶变换FFT 后可实现 短时傅里叶变换SFFT

  • 3、最小控制递归平均MCRA平滑参数 进行调整再加入反因果窗区分瞬态
    可为修正的 OM-LSA 算法提供准确的噪声 PSD估计(这一步感觉这种新处理方法的关键)

2-1-3 改进的噪声 PSD 估计算法流程图

  • 虚线框图为调整部分
    在这里插入图片描述

  • 注:IFFT为 逆傅里叶变换

  • FFT:快速傅里叶变换
    信号从 时域转换到频域FFT变换的结果是复数(即得到的频域是复数)
  • IFFT:逆快速傅里叶变换
    信号从 频域转换到时域 ,将频域数据(复数)进行虚部取反得到共轭复数然后在进行FFT变换得到时域数据
%% 使用 快速傅里叶变换算法 计算 Y的逆离散傅里叶变换(X 与 Y 的大小相同)
X = ifft(Y)
% 如果 Y 是向量,则 ifft(Y) 返回该向量的逆变换。   
% 如果 Y 是矩阵,则 ifft(Y) 返回该矩阵每一列的逆变换。
% 如果 Y 是多维数组,则 ifft(Y) 将大小不等于 1 的第一个维度上的值视为向量,并返回每个向量的逆变换。

X = = i f f t ( f f t ( X ) ) X==ifft(fft(X)) X==ifft(fft(X)) 等式是成立的

参考文献:一种低信噪比环境下的语音端点检测算法-卜玉婷,曾庆宁,郑展恒.pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1341002.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记录 Docker 中安装 ROS2

目录 1 安装 Docker 2 安装 ROS2 3 启动 Docker 4 测试 ROS2 环境 1 安装 Docker 1. 更新软件包sudo apt updatesudo apt upgrade2. 安装 docker 依赖sudo apt-get install ca-certificates curl gnupg lsb-release3. 添加 docker 官方 GPG 密钥curl -fsSL http://mirror…

小米路由器2(R2D) 安装 MIXBOX

1. 先刷开发版 ROM http://www1.miwifi.com/miwifi_download.html 进入上述网页,找到 R2D 点击下载 开发版 ROM 教程 看 下载按钮上边的 “刷机教程” 刷机教程 2. 开启SSH工具 登录自己的小米账号后,里面会显示出 自己的 root密码; 默认…

9_js_dom编程进阶3

Dom节点删除和复制操作事件加强讲解 1. 节点操作 1.1 删除节点 Node.removeChild() 方法从 DOM 中删除一个子节点。返回删除的节点。 child 是要移除的那个子节点。 node 是child的父节点。 PS:只能由父节点删除子节点 课堂案例:1.节点操作之删除节…

酷我音乐逆向 请求头 参数解密(js逆向)

免责声明:     本篇博文的初衷是分享自己学习逆向分析时的个人感悟,所涉及的内容仅供学习、交流,请勿将其用于非法用途!!!任何由此引发的法律纠纷均与作者本人无关,请自行负责!&…

使用Rust发送邮件

SMTP协议与MIME协议 SMTP(简单邮件传输协议,Simple Mail Transfer Protocol)是一种用于发送和接收电子邮件的互联网标准通信协议。它定义了电子邮件服务器如何相互发送、接收和中继邮件。SMTP 通常用于发送邮件,而邮件的接收通常由 POP&#…

通过C++程序实现光驱的自动化刻录和读取

文章目录 ISO文件格式光盘的基本概念光盘种类特点DVDR光盘使用windows调用Linux调用Linux平台下用到的C库:读取设备驱动列表向光驱中写文件 数字存储媒体快速发展的今天,光驱的使用已经不像以前那样普及了。但是在数据备份、安装软件和操作系统、旧设备兼容等领域还…

redis的搭建及应用(三)-Redis主从配置

Redis主从配置 为提升Redis的高可用性,需要搭建多个Redis集群以保证高可用性。常见搭建方式有:主从,哨兵集群等,本节我们搭建一主二从的多Redis架构。 redis主从安装1主2从的方式配置,以端口号为redis的主从文件夹。 主…

Elasticsearch8.x结合OpenAI CLIP模型实现图搜图及文搜图功能

前言 在当今大数据时代,搜索引擎已经是许多应用的核心组件之一,近年随着大模型以及AI技术(如:自然语言处理NLP)的流行,这些技术的结合将会创造出更多的应用场景,比如:电商商品搜索、…

实习知识整理12:点击购物车渲染出购物车中的商品并实现在购物车界面对商品价格和数量的相关操作

1. 点击购物车渲染出购物车商品界面 通过userId从购物车表中查找商品的相关信息 前端:需要向后端传递userId 后端: CartMapper.java CartMapper.xml CartService.java 接口 CartServiceImpl.java 实现类 CartController.java cartIndex.html页面 …

第二十一章Java网络通信

网络通信这一章 基本分为三个部分 网络基础概念和TCP,UDP这三个部分主要如下: 计算机网络实现了堕胎计算机间的互联,使得它们彼此之间能够进行数据交流。网络应用程序就是再已连接的不同计算机上运行的程序,这些程序借助于网络协议&#x…

【Unity动画系统】Unity动画系统Animation详解,参数细节你是否弄清?

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:Uni…

电子学会C/C++编程等级考试2023年03月(七级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:走出迷宫 当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单。 假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路。 时间限制:1000 内存限制…

docker学习笔记03-持久化存储

1.docker架构 2.docker持续化存储-数据卷 //以后台方式运行容器 (推荐) docker run -d -v 宿主机目录/文件的绝对路径:容器内目录/文件的绝对路径[:rw/ro] -p 主机端口:容器端口 --name容器名称 镜像ID/镜像名称[:版本号]执行下面命令 docker run -p 1122:3306 --name mysql99…

脆皮大学生“拯救”方案——智慧高校智能视频监控系统的建设

随着“脆皮大学生”的网络热梗爆火,大学生日常监管问题也浮出水面。虽然高校大学生作为成年人,可以对自己的日常行为进行自我约束,但由于大学生涉世未深,缺乏独立生活经验,社会关系简单,在校期间&#xff0…

嵌入式Linux:提升VMware虚拟机运行速度的方法

使用虚拟机运行Linux操作系统通常会比在物理机上直接安装系统的运行效率更低,本篇博文将介绍如何优化虚拟机的设置,进而提升虚拟机性能体验。 第1步:选择VMware菜单:编辑–>首选项–>更新,将”启动时检查产品更新…

为什么IDEA建议去掉StringBuilder,而要使用“+”拼接字符串

在字符串拼接时应该都见过下面这种提示: 大家普遍认知中,字符串拼接要用StringBuilder,那为什么idea会建议你是用呢,那到底StringBuilder和有什么具体区别呢,我们一起来探究一下。 普通拼接 普通的几个字符串拼接成一…

积极拥抱信创,思迈特软件与麒麟软件NeoCertify完成认证

近日,思迈特软件与麒麟软件有限公司进行了联合测试,并顺利完成产品兼容性测试。经评测,思迈特软件一站式大数据分析平台(Smartbi Insight V11)与银河麒麟高级服务器操作系统(飞腾版)V10、&#…

代码随想录算法训练营第三十天|332.重新安排行程、51. N皇后 、37. 解数独

332.重新安排行程 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 文档讲解&#xff1a;代码随想录 C代码&#xff1a; class Solution { public: unordered_map<string, map<string, int>> targets;bool backtrack…

【Seata源码学习 】篇四 TM事务管理器是如何开启全局事务

TM发送 单个或批量 消息 以发送GlobalBeginRequest消息为例 TM在执行拦截器链路前将向TC发送GlobalBeginRequest 消息 io.seata.tm.api.DefaultGlobalTransaction#begin(int, java.lang.String) Overridepublic String begin(String applicationId, String transactionServi…

一款降压型开关模式转换器解决方案

一、基本概述 TX4145 是一款降压型开关模式转换器。TX4145 在 6-60V 宽输入电源范围内实现不同峰值输出电流&#xff0c;并且具有出色的线电压和负载调整率。 TX4145 采用 PWM 电流模工作模式&#xff0c;环路易于稳定并提供快速的瞬态响应。 TX4145 外部提供 FS 脚&#xf…