声音检测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 组合为 $\over...

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

2022-12-21
音视频笔记(1)--YUV格式
来源我们都知道RGB格式表示色彩,但是之前的显示器只能解析灰白的图像,为了兼容老旧设备,自然不能用RGB格式表示图像,于是YUV出现了。它可以将RGB三个分量转换成YUV三个分量,对于可以显示彩色的设备,解析Y、U、V三个分量,显示出彩色;对于老旧黑白设备,仅解析Y分量,就可以显示出黑白的图像。 YUV和YCbCr、YPbPr几个概念是一样的,Y表示亮度(Luminance),也就是灰度,U是色度(Chrominance),V是浓度(Chroma),而人眼对亮度分量Y的敏感度是高于UV分量的,所以YUV相对于RGB还可以减少数据量 RGB转YUVY = 0.299R + 0.587G + 0.114*B U = -0.147R - 0.289G + 0.436B = 0.492(B-Y) V = 0.615R - 0.515G - 0.100B = 0.877(R-Y) YUV转RGBR = Y + 1.140*V G = Y - 0.394U - 0.581V B = Y + 2.032*U 格式分...

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 /root/study/ffmpeg/build64/share/ffmpeg/ex...

2022-12-14
分辨率格式汇总
分辨率 width height 像素数 4K 3840 2160 8,294,400 1080P 1920 1080 2,073,600 SXGA 1280 1024 1,310,720 720P 1280 720 921,600 XGA 1024 768 786,432 W4CIF 1024 576 589,824 480P 854 480 409,902 4CIF 704 576 405,504 360P 600 360 216,000 WCIF 512 288 147,456 CIF 352 288 101,376 QCIF 176 144 25,344

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 ...
评论
公告
This is my Blog




