声音检测VAD
发表于|更新于|音视频学习
|总字数:211|阅读时长:1分钟|浏览量:
语音活动检测(Voice Activity Detection,VAD),就是检测是否有声音,常规的算法是通过声音音量和频谱特征来判断是否有声音的,但是无法区分是噪音还是人声。
VAD技术主要用于语音编码和语音识别。
- 它可以简化语音处理。
- 也可用于在音频会话期间去除非语音片段
- 可以在IP电话应用中避免对静音数据包的编码和传输,节省计算时间和带宽。
webrtc中封装了声音检测算法,但是由于webrtc体量太过庞大,为了一个算法链接这么大个项目不太值得,因此将webrtc中的算法拆出为单独的库
https://github.com/helianchichi/libwvad
支持8000, 16000, 32000, 48000采样率,支持10, 20, 30 ms时长帧
文章作者: ciiki
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 ciiki的博客!
相关推荐

2023-10-08
G711编解码--C语言实现
前言G.711是一种窄带音频编解码器,最初设计用于电话,可提供 64 kbit/s 的长途质量音频。它是音频编码的ITU-T标准(推荐),名为语音脉冲编码调制 (PCM),于 1972 年发布并使用。 G.711 传递300–3400 Hz频段的音频信号,并以8000 Hz 的速率对其进行采样,该速率的容差为百万分之50 (ppm)。 它使用两种不同的对数压扩算法之一:μ-law(主要在北美和日本使用)和A-law(在北美以外的大多数其他国家/地区使用)。每个压扩样本被量化为 8 位,从而产生 64 kbit/s 的比特率。[1] Wikipedia 压缩原理G711按采样点进行压缩,舍弃低位,高位分段,将16bit的一个采样点数据压缩为8bit,所以压缩比固定为 8/16 = 50%。G.711a对高13位进行压缩,主要运用于欧洲和世界其他地区;G.711u对高14位进行压缩,主要运用于北美和日本 G.711a编码 取符号位并取反得到 $\overline s$ 获取强度位 eee 获取高位样本位 wxyz 组合为...

2024-11-13
音频处理lowcFE
前言流媒体在网络传输中有可能会发生丢包现象,对于音频,丢包会导致解码后的声音听起来卡顿不连续,lowcFE是种算法,可在发生丢包时猜测丢包内容,模拟丢失的数据 lowcFE,全称为 Low Complexity Frame Erasure 低复杂度帧擦除(为什么叫擦除而不是恢复我也不懂),所谓低复杂度大概原因是其只支持8K采样的10ms数据吧 头文件 lowcfe.h123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566/* ============================================================================ File: lowcfe.h V.1.0-24.MAY-2005 ...

2023-12-01
CMake学习笔记
设置cmake最低版本1cmake_minimum_required(VERSION 3.0) 设置项目名称1project(rtpsender) 设置源码路径12file(GLOB SRC_LIST ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp) # 搜索文件,绝对路径include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) # 头目录 设置库目录1link_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib) # 库目录 设置输出目录12set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) # 库输出路径set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) #...

2023-03-24
ffmpeg SDK学习(1)
linux下编译ffmpeg静态库环境: Ubuntu Desktop 20.04.5 LTS gcc version 9.4.0 1.首先安装依赖以下为必须项 123apt-get install diffutils make pkg-config yasmapt-get install libsdl2-2.0apt-get install libsdl2-dev 因为ffmpeg编码H264需要libx264,所以如果要用sdk来编码则需要安装libx264-dev,只解码的话是不需要的 1apt-get install libx264-dev 2.拉取源码我当前路径为/root/study 123git clone https://git.ffmpeg.org/ffmpeg.git ffmpegcd /root/study/ffmpeg 会在当前路径下生成ffmpeg目录,然后进入该目录 1cd...

2023-06-19
ffmpeg SDK学习(3)
ffmpeg编码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146#include <libavcodec/avcodec.h>#include <libavformat/avformat.h>#include <libavutil/opt.h>static int ptsIndex = 0;void encode(AVCodecContext...

2023-03-24
ffmpeg SDK学习(2)
ffmpeg sdk 解码 demo上一篇文章《ffmpeg SDK学习(1)》简单编译了一下ffmpeg,生成了可执行程序bin目录,如果想调用ffmpeg自己实现编解码功能,则需要用到静态库lib目录。官方同样提供了相应的调用库的demo例子,本文记录使用官方demo之中的decode_video.c实现H.264的解码。 首先需要H264裸流使用编译出的ffmpeg可执行程序即可从视频里提取H264裸流 123cd /root/study/ffmpeg/build64/bin#如果想调整视频分辨率 ./ffmpeg -i video.mp4 -vf scale=352:288 -y output.mp4./ffmpeg -i output.mp4 -codec copy -f h264 video.h264 拷贝生成的video.h264至examples12cp video.h264 /root/study/ffmpeg/build64/share/ffmpeg/examples/cd...
评论