Stay Hungry, Stay Young. 👋

积累,沉淀,吸收,转换
Marshall Liu

WebRTC语音降噪之Wiener滤波

WebRTC中的Wiener滤波降噪算法 引言 在实时语音通信系统中,背景噪声的抑制对于提升通话清晰度至关重要。Google 的 WebRTC 项目在其开源语音引擎中实现了高质量的语音降噪模块,其中 Wiener 滤波器作为核心组成部分,结合语音概率估计、多特征建模、噪声谱跟踪等模块构建了一个高度实用的增强框架。 ...

七月 7, 2025 · 5 分钟 · 2227 字 · Marshall Liu

WebRTC语音降噪之语音概率估计

WebRTC的语音降噪算法中实现了一个频点维度的语音概率估计器SpeechProbabilityEstimator,本质是一个多特征融合的线性分类器。统计计算以下三种特征, ...

六月 30, 2025 · 6 分钟 · 2801 字 · Marshall Liu

WebRTC语音降噪之基于分位数的噪声估计

噪声估计的作用 噪声估计算法在整个语音降噪系统中起到核心支撑作用,先验SNR和后验SNR的计算都依赖于当前帧的噪声功率谱估计。若噪声估计偏低,会导致保留太多噪声(过度保留);若噪声估计偏高,会把语音当作噪声过滤掉(语音失真); 更新不稳定,整体听感时好时坏,忽大忽小,出现”泵声“、”音乐噪声“现象。本文介绍WebRTC中目前使用的基于分位数的噪声估计算法,及其在工程实现中的巧妙之处。 ...

六月 28, 2025 · 4 分钟 · 1899 字 · Marshall Liu

程序员的基本修养之代码编译

程序员的基本修养之代码编译 | 代码编译过程介绍,避坑指南,一些常用代码查看工具使用介绍 预处理 1.预处理的作用 宏替换: 替换 #define 定义的宏。 1 2 3 4 #define PI 3.14159 double circle_area(double radius) { return PI * radius * radius; // 替换后:3.14159 * radius * radius } 头文件包含 替换 #include 指令为头文件的内容。 ...

三月 27, 2025 · 4 分钟 · 1667 字 · Marshall Liu

MacOS M2 Tensorflow GPU环境搭建

本文记录在mac mini m2 pro上搭建tensorflow gpu版本的过程,中间因为一些坑,导致环境搭建过程有点反复,希望对有相同需求的同学有帮助。...

六月 10, 2024 · 1 分钟 · 375 字 · Marshall Liu