
3命令跑通本地AI语音助手NeMo Voice Agent 完整部署与调优指南【免费下载链接】SpeechA scalable generative AI framework built for researchers and developers working on Large Language Models, Multimodal, and Speech AI (Automatic Speech Recognition and Text-to-Speech)项目地址: https://gitcode.com/GitHub_Trending/nem/SpeechNeMo Voice Agent 是 NeMo 官方开源框架能帮你把流式语音识别、说话人分离、HuggingFace 大语言模型与文本转语音拼装成一个本地 AI 语音助手全程本地部署数据不出机器不用写胶水代码改配置就能换模型、换人设。本文面向想本地部署 AI 语音助手的新手带你从零跑通再讲调优与扩展。️ 它是怎么工作的四个模块一条链路先建立直觉麦克风的声音进来流式 ASR 一边听一边转文字同时靠端点检测EOU判断你什么时候说完了说话人分离模型标记每段话是谁说的LLM 生成回答TTS 立刻朗读。整条流水线由 Pipecat 编排浏览器客户端与服务端之间走 WebSocket 实时传输。默认组合是ASR缓存感知流式 FastConformer模型 nvidia/parakeet_realtime_eou_120m-v1延迟最低且自带 EOU但不输出标点和大小写。说话人分离流式 Sortformer nvidia/diar_streaming_sortformer_4spk-v2.1整场对话最多识别 4 位说话人。LLMnvidia/NVIDIA-Nemotron-Nano-9B-v2llm.type 默认 auto优先走 vLLM 加速失败自动回退 HuggingFace 加载。TTS默认 Kokoro-82M另可选 FastPitch-HiFiGAN仅英文和 multilingual 357m 多语言版。 本地部署 AI 语音助手三步跑通硬件要求不高1 块 GPU9B 模型建议 21GB 显存4B 模型 13GB 即可、一个麦克风和一个扬声器。客户端是 Vite 前端额外需要 Node.js 20。第一步克隆仓库进入示例目录git clone https://gitcode.com/GitHub_Trending/nem/NeMo cd NeMo/examples/voice_agent第二步装好 Node.js 后用现成的环境文件建 conda 环境conda env create -f environment.yaml conda activate nemo-voice第三步让 Python 找到 NeMo 包启动 WebSocket 服务端export PYTHONPATH/path/to/NeMo:$PYTHONPATH python ./server/server.py另开终端起浏览器客户端cd client npm install npm run dev打开 http://[服务器IP]:5173 就能开口说话。界面上 Mute 键控制麦克风Reset 键清空对话历史和说话人缓存。两个注意点服务端同一时间只接受一个连接新连接会顶掉旧的上下文保留目前仅支持英文输入输出。 改一个 YAML换一个大脑组件切换全部在 default.yaml 里完成改完重启即可换 LLM改 llm.model配套模板在 server/server_configs/llm_configs/ 下已有 Qwen2.5-7B、Qwen3-8B含思考模式版、Llama-3.1-8B 等llm.type 可强制填 vllm 或 hf。换 ASRstt.model 换成 nvidia/nemotron-speech-streaming-en-0.6b准确率更高且带标点大小写代价是失去 EOU。换 TTStts.model_config 指向 kokoro_82M.yaml、nemo_fastpitch-hifigan.yaml 或 magpie_tts_multilingual_357m.yaml。关掉说话人分离diar.enabled 设 false适合单人使用或噪声较大的环境。改人设llm.system_prompt 可填整段文本或本地 txt 路径example_prompts/ 里有现成提示词。多卡各组件可分别指定 device把 ASR、LLM、TTS 分到不同 GPU。让它动手工具调用跑默认配置后对麦克风说三句话就能感受工具调用Whats the weather in Paris?——LLM 调用天气工具查真实数据再回答Can you speak faster?——它通过工具修改自己的 TTS 语速Switch to a male voice.——切换音色。另外机器人说话时你随口说 uh-huh、yeah 这类附和要求默认不会打断它词表在 backchannel_phrases.yaml把 turn_taking.backchannel_phrases_path 设为 null 则恢复一开口就打断。回合结束靠 VAD 判定vad.stop_secs默认 1.2 秒表示静默多久算你说完。⚠️ 避坑指南高频问题速查麦克风没反应Chrome 需在 chrome://flags/#unsafely-treat-insecure-origin-as-secure 中加入 5173 地址并重启浏览器。npm run dev 报 SyntaxErrorNode.js 版本太旧升级到 20。node:internal/errors 报错删掉 client/node_modules 重新 npm install。模型下载 I/O 报错用 huggingface-cli download 拉到本地llm.model 填本地路径HF 缓存位置用 HF_HUB_CACHE 指定。环境嘈杂当前 ASR 与分离模型对噪声不鲁棒尽量安静环境或降噪麦克风。远程访问改 client/src/app.ts 里的 baseUrl并设置 SERVER_PUBLIC_HOST 环境变量。 还能延伸做什么想加自己的工具查日程、控制智能家居有两条路在 basic_tools.py 里仿照 tool_get_city_weather 写一个直接函数或给组件加 ToolCallingMixin 实现 setup_tool_calling再通过 register_direct_tools_to_llm 注册给 LLM。提醒一句工具调用目前仅在 vLLM 后端且限定 Nemotron 系列模型生效个别模型会出现嘴上说调了工具、实际没调的情况可在系统提示词里补约束。数据层面仓库自带 Speech Data Explorer一个基于 Dash 的数据集可视化工具能看波形、频谱图还能对两个 ASR 模型做词级准确率对比优化数据集时很好用。资源索引examples/voice_agent/README.md官方完整文档含各模型支持列表与 NIM 服务集成说明server_configs/全部服务端配置模板nemo/agents/voice_agent/语音助手核心源码Pipecat 服务、工具调用tools/speech_data_explorer/语音数据探索工具【免费下载链接】SpeechA scalable generative AI framework built for researchers and developers working on Large Language Models, Multimodal, and Speech AI (Automatic Speech Recognition and Text-to-Speech)项目地址: https://gitcode.com/GitHub_Trending/nem/Speech创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考