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

2023-12-29 00:52

本文主要是介绍低信噪比环境下的语音端点检测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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.chinasem.cn/article/547850

相关文章

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip