ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

语音智能体的感知底座:VoiceMem流式ASR、VAD、声纹、场景与情绪识别实战

语音智能体的感知底座:VoiceMem流式ASR、VAD、声纹、场景与情绪识别实战 语音智能体的感知底座VoiceMem流式ASR、VAD、声纹、场景与情绪识别实战【免费下载链接】VoiceMemInfrastructure for the next generation of voice agents, designed to provide universal memory. It is divided into a left brain and a right brain, storing information and emotions respectively, while a fully streaming architecture eliminates latency at the fundamental level.项目地址: https://gitcode.com/gh_mirrors/vo/VoiceMemVoiceMem 是一个为语音智能体打造的开源记忆基础设施它用流式架构把 ASR、VAD、声纹识别、场景识别和情绪识别整合成一张感知网让语音 Agent 在低延迟下真正听懂、听清、听出情绪。本文带你从零理解这套感知底座的设计与实战路径。一、为什么语音智能体需要感知底座文本大模型只看到字而语音里藏着更多信息谁在说、在哪说、心情如何。VoiceMem 把这些都结构化地提取出来流式 ASR边说边出字不等整句话说完VAD语音活动检测判断说话人何时停顿、何时说完声纹识别区分多说话人并记住这个人叫谁场景识别从背景音判断是办公室、通勤还是咖啡馆情绪识别从韵律信号读出负面情绪并归因这些能力集中在 voicemem/utils/audio/ 目录由统一的感知组件 AudioPerceiver 编排。二、流式 ASR边说边出字的语音转写传统做法是录完一句话再转写延迟高。VoiceMem 默认采用FunASR paraformer-zh-streaming音频以小块持续喂入文本实时累积更新内部按 600ms 一块推理前端每 20ms 送一帧接口统一为feed() → 累积文本、flush()、reset()想换引擎设VOICEMEM_ASRsherpa即切换到纯 ONNX 的 sherpa-onnx zipformer中英双语、无 torch 依赖实现见 asr.py。更妙的是它支持外接 ASR你可以把 Whisper 等任意识别器的中间文本喂给vm.stream(...).feed_partial(text)换 ASR 只改这一行——这是感知层全部组件可替换哲学的体现。三、VAD 与投机预取人还没说完答案已备好VAD语音活动检测回答现在是在说还是停了。但 VoiceMem 把 VAD 用出了一层投机执行的味道用户还在说0–200ms流式 ASR 持续输出 partial 文本停顿出现200–400ms系统判定该准备了后台用 partial 文本提前发起记忆检索正式说完400–500msTop-K 记忆早已就绪直接组装回复核心逻辑在 stream.py每喂一块音频就返回StreamState状态为speak、silence或turn_over本轮结束。官方示例 examples/02_streaming.py 演示了这段边说边查的完整流程。四、声纹识别多轮对话里认出你是谁多人对话中这句话是谁说的至关重要。VoiceMem 的声纹方案有三个工程亮点常驻 Worker3D-SpeakerERes2Net/CAMPPlus模型以子进程形式常驻一行音频路径进、一行 192 维向量 JSON 出的协议跨进程取向量见 campplus_worker.py自我介绍绑定你说我叫小明系统解析出名字并把当前声纹永久绑定之后无需再报名字。解析规则见 speaker_identity.py连我是不是应该…这类误触发都被防住了自适应多中心声音会随感冒、信道变化画像用封顶累积平均 按需分裂子中心的方式更新既稳定又能适应实现可参考 adaptive_centroid.py五、场景识别从背景音判断你在哪基于AudioSet 微调的 AST 模型做背景音分类再把细粒度标签聚合为 7 类场景office / outdoor / transit / café / meeting / home / quiet映射规则在 scene_classifier.py。识别只是第一步。系统还会根据场景主动召回相关记忆——检测到通勤就预取路上的待办事项检测到咖啡馆就预取灵感清单相关映射定义在 perceiver.py 顶部的_SCENE_RECALL_QUERY中。六、情绪识别先看韵律再问多模态情绪检测是成本与精度的平衡艺术VoiceMem 采用两层设计见 paper_emotion_detector.py韵律 VAD每轮都跑便宜从原始音频直接算连续的 valence/arousal效价/唤醒度无需情绪分类器多模态归因按需触发只有当 vad_trigger.py 判定本轮负面显著效价低于阈值且唤醒度够高时才调用 Qwen-Omni 多模态模型做归因加载失败则优雅退回粗分类这样既避免了每轮都背上多模态 LLM 的推理成本也让情绪结果真正来自声学信号而非固定九分类标签。七、快速上手三步跑通语音智能体1. 安装与获取模型git clone https://gitcode.com/gh_mirrors/vo/VoiceMem cd VoiceMem pip install voicemem bash scripts/download_models.sh2. 体验交互式 Demopython web/run.py浏览器打开http://localhost:8787对着麦克风说话即可看到流式转写、说话人、情绪与场景标签实时刷新。3. 离线调用感知结果from voicemem import VoiceMem vm VoiceMem(modenormal, openai_keyapi_xxx) vm.warmup() # 预热本地模型 vm.ingest(assets/input.wav) # 内部自动完成 ASR/声纹/场景/情绪感知 print(vm.search(我的饮食禁忌是什么).result_leftbrain)写在最后VoiceMem 的感知底座证明了语音智能体的壁垒不在单点模型而在于流式流水线 组件可插拔的工程整合。每个模块ASR、VAD、声纹、场景、情绪都可以独立替换升级这正是下一代语音智能体基础设施的含义所在。更多细节可参考 docs/index.html 与 examples/README.md。【免费下载链接】VoiceMemInfrastructure for the next generation of voice agents, designed to provide universal memory. It is divided into a left brain and a right brain, storing information and emotions respectively, while a fully streaming architecture eliminates latency at the fundamental level.项目地址: https://gitcode.com/gh_mirrors/vo/VoiceMem创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表