树莓派基于语音活性检测VAD的应用

智能语音测试简述 语音VAD的全称是Voice Activity Detection,即语音活性检测或语音活动检测,也称为speech activity detection或speech detection。这是一项用于语音处理的技术,主要目的是检测语音信号是否存在。VAD系统通常包括特征提取和语音/非语音判决两个主要部分。在特征提取阶段,常用的方法包括基于能量的检测、倒谱特征等。基于能量的检测是通过检测信号的强度来判断是否有语音存在,假设语音能量大于背景噪声能量。当能量大于某一门限时,可以认为有语音存在。 阅读详情

如果你想尝试用树莓派打造一款语音对话机器人,那么你肯定避免不了一点,录音!

前言:

我之前的文章中提到过alsa的arecord录制,录音时间固定,当程序运行一次后就会出现arecord资源被占用的情况,除非你把这个进程kill掉。然后事实上,你不可能每次运行完就手动kill一次,那样太麻烦了。
后来我用pyaudio,完美解决了上述的问题。直到今天,我遇到了语音活性检测VAD···

科普来了~
语音活性检测 (Voice activity detection,VAD), 也称为 speech activity detection or speech detection, 是一项用于语音处理的技术,目的是检测语音信号是否存在。VAD技术主要用于语音编码和语音识别。
在本篇文章中用到的是WebRTC之VAD算法。
其主要功能:

  1. 自动打断
  2. 去掉语音中的静音成分
  3. 获取输入语音中有效语音
  4. 去除噪声,对语音进行增强
# coding=utf-8
import webrtcvad   # 检测判断一组语音数据是否为空语音;
import collections
import sys
import signal
import pyaudio    # 从设备节点读取原始音频流数据,音频编码是PCM格式
 
from array import array
from struct import pack
import wave
import time
import os
 
 
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 16000
CHUNK_DURATION_MS = 30       # //检验音频帧长度,只支持10/20/30ms
PADDING_DURATION_MS = 1500   # 1 sec jugement
CHUNK_SIZE = int(RATE * CHUNK_DURATION_MS / 1000)  # chunk to read
CHUNK_BYTES = CHUNK_SIZE * 2  # 16bit = 2 bytes, PCM
NUM_PADDING_CHUNKS = int(PADDING_DURATION_MS / CHUNK_DURATION_MS)
NUM_WINDOW_CHUNKS = int(240 / CHUNK_DURATION_MS)
# NUM_WINDOW_CHUNKS = int(400 / CHUNK_DURATION_MS)  # 400 ms/ 30ms  ge
NUM_WINDOW_CHUNKS_END = NUM_WINDOW_CHUNKS * 2
 
 
def handle_int(sig, chunk):
    global leave, got_a_sentence
    leave = True
    got_a_sentence = True
 
 
def record_to_file(path, data, sample_width):
    "Records from the microphone and outputs the resulting data to 'path'"
    # sample_width, data = record()
    data = pack('<' + ('h' * len(data)), *
ChatTTS:中文语音合成的开源突破与应用实践 语音合成(TTS)技术通过深度学习模型将文本转换为自然语音,其中Transformer架构因其强大的序列建模能力成为主流方案。ChatTTS作为基于Transformer的中文TTS开源项目,通过改良的注意力机制和轻量化设计,显著提升了合成质量与效率。该技术特别优化了中文特有的韵律特征,如四声调和儿化音处理,支持情感化语音输出,在客服、有声内容创作等场景具有广泛应用价值。项目采用端到端训练流程,结合预训练、微调和蒸馏三阶段策略,模型体积仅500MB却达到商业级效果,实测MOS评分达4.32。开发者可通过Py 阅读详情

相关推荐

用MATLAB和ReSpeaker六麦阵列,手把手教你实现声源定位(附完整代码与避坑指南)

本文详细介绍了如何利用MATLAB和ReSpeaker六麦阵列实现声源定位技术,涵盖硬件配置、多通道音频同步采集、广义互相关(GCC)时延估计算法优化及近远场定位模型实现。通过完整代码示例和避坑指南,帮助读者快速掌握麦克风阵列在智能语音交互和机器人听觉感知中的应用。

weixin_28707535的博客 109

webrtc中的vad检测

webrtc中的vad检测。 是从webrtc中把vad检测的代码给提取出来的,在vs2010下编译生成的,其中signal_process编成了静态库,在文件里面也包含。 webrtc vad检测

webrtc抽离vad算法+test demo

使用ubuntu环境编译 从webrtc中抽离vad代码 编译后生成libwebrtc_vad_my.so test目录下是测试demo 将长语音中得speech片段分割保存成wav文件,在较高信噪比得测试文件中断句效果良好

104基于深度学习识别是AI生成还是真实图片

的可视化界面,通过点击左侧可以加载要识别的检测对象图片,点击中间的识别按钮,会识别出结果,识别结果在右侧显示,当前识别的图片是真实的图片,非假图片。有兴趣的小伙伴也可以自行扩充数据集,或训练自己的数据集。文本,分别存放了图片路径和对应的标签。文本里面的数据,并将训练好的模型也保存在本地。即可加载训练好的模型,真假图片进行识别。本期给大家介绍的是基于深度学习识别是。代码整体是非常简便的,总共三个。个文件夹分别是真图和。

xcvxvfgdfgfh的博客 2261

别再为授权费头疼了!手把手教你免授权搞定西门子、马扎克等12种主流数控机床的数据采集

本文提供了一套免授权采集西门子、马扎克等12种主流数控机床数据的实战指南,帮助中小型机加工车间节省80%以上的采集成本。通过TCP/UDP协议逆向工程和跨平台数据整合,实现经济、灵活且可持续的数据采集方案,涵盖设备兼容性处理、数据频率优化等关键问题。

weixin_26873711的博客 707

从网格划分到端口接地:一份给ADS新手的Momentum RF仿真避坑实操指南

本文为ADS新手提供Momentum RF仿真的实用指南,涵盖网格划分、端口接地、特殊结构处理等关键设置技巧。通过30-50 cells/λ原则、1/10波长限制等黄金法则,帮助用户平衡仿真精度与效率,避免常见错误,提升电磁仿真结果的准确性。

weixin_33692284的博客 506

CATIA二次开发实战:我用VBA写了个BOM表自动导出工具,效率提升80%

本文详细介绍了如何利用VBA进行CATIA二次开发,构建BOM表自动导出工具的全过程。通过智能解析算法、异常处理机制和性能优化技巧,该工具将BOM表生成时间从2.5小时缩短至8分钟,效率提升80%。文章还探讨了与PDM系统集成和定制化报告生成等扩展应用,为机械设计工程师提供了实用的自动化解决方案。

weixin_33709590的博客 555

nnDetection实战:手把手教你用Python在自家电脑上跑通第一个肺结节检测模型

本文详细介绍了如何使用nnDetection框架在普通电脑上实现肺结节检测模型的搭建与运行。从环境配置、数据预处理到模型训练与推理,手把手教你完成医学图像检测的全流程,特别适合初学者入门医学AI领域。

weixin_32377497的博客 330

用Playwright MCP让AI帮你完成所有浏览器自动化

Playwright MCP(Model Context Protocol)是微软基于 Playwright 框架推出的 AI 浏览器自动化新协议。它通过结构化快照数据和自然语言指令结合大型语言模型(如 GPT),实现无需编码的网页交互。无论你是要测试登录流程、抓取价格数据,还是用 AI 远程控制浏览器,Playwright MCP 都能大幅降低门槛,让“说人话”也能驱动自动化脚本。本篇将从功能介绍、技术架构、使用方法到实际场景,带你全面理解这一自动化革命。

todoitbo的博客 3万+

Dify框架面试内容整理-如何优化Dify的应用性能?

为1536维)可选用 PCA、FAISS 的量化压缩方法降低维度(如128、256、512);对知识库预览、任务流配置等页面,使用 nginx/cache-control 减少请求。API 响应耗时(P50/P95)、Token 使用量、缓存命中率、向量检索耗时;对 Prompt+输入内容计算 Hash,缓存相同请求的返回结果;使用占位符 + 函数拼接,按需组合 Prompt,而非静态长模板;数据量大时,应在构建索引前清洗冗余段落、统一格式,避免重复向量。维度越低,检索越快,但可能影响召回准确度,需平衡。

不务正业的猿 1549

VSCode 中搭建 Python 开发环境

**验证安装**:打开终端(CMD/PowerShell/终端),输入 `python --version`(Windows)或 `python3 --version`(macOS/Linux),显示版本号即成功。- **下载地址**:[Python 官网](https://www.python.org/downloads/)(选择对应系统的最新稳定版,推荐 3.8+)- **调试**:通过 `launch.json` 配置,设置断点后按 `F5` 启动,使用 `F10/F11` 控制流程。

寒寒豆豆软件公司的博客 2536

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: 树莓派基于pyaudio实现录音功能
下一篇: 智能家居语音控制系统的设计与实现
EmithFla
博客等级 码龄9年 69粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值