当前位置: 首页 > news >正文

livekit全双工语音交互系统

Overview

本地(macOS)搭建一个全双工语音交互系统

  • livekit-cli:agent项目,语音交互逻辑在这边,包括ASR,TTS,LLM,打断
  • livekit-server:LiveKit服务器
  • 前端测试页面

dev 模式的交互流程

具体调用链路

  1. 启动阶段
    - agent.py dev 启动本地 Agent 服务器
    - 向 LiveKit 服务器注册,等待任务分配
  2. 用户连接
    - 用户打开网页前端
    - 前端通过 WebRTC 连接到 LiveKit 服务器房间
    - LiveKit 发现房间需要 Agent,通过 WebSocket 通知你的 agent.py
  3. 语音处理管道 (全部在 agent.py 中运行)

livekit-cli

参考doc参考github
需要先注册免费的[LiveKit Cloud]账号(https://cloud.livekit.io/)
项目准备

brewinstalllivekit-cli# macOS, version:2.16lk cloud auth lk agent init my-agent--templateagent-starter-python# node.js选agent-starter-nodecdmy-agent uvsync# 3.10会报错,用了python3.13uv run src/agent.py download-files# Required for the Silero VAD, turn detector, and noise cancellation plugins.

src/agent.py中STT/LLM/TTS可以替换为自定义的(我用的aliyun的ASR/TTS,uv pip install aliyun-python-sdk-core)。然后启动

uv run python src/agent.py console# 控制台模式直接测试. 无需连接livekit-serveruv run python src/agent.py dev# development mode. 连接livekit-serveruv run python src/agent.py start# production mode. 连接livekit-server

.env.local文件

LIVEKIT_API_KEY="devkey" # 改为本地的,auth时初始化为LiveKit Cloud的相关配置 LIVEKIT_API_SECRET="secret" LIVEKIT_URL="ws://localhost:7880" ALIYUN_ACCESS_KEY_ID=xxx ALIYUN_ACCESS_KEY_SECRET=xxx ALIYUN_APP_KEY=xxx

livekit-server

参考doc

brewinstalllivekit livekit-server--dev--bind0.0.0.0# 默认API key: devkey,API secret: secret

前端测试

web可以用livekit-examples/agent-starter-react,安卓/ios等都支持,还没试,目前让claude code帮我写了一个playground.html来调用livekit-server。

测试流程

# 1. 启动本地 LiveKit 服务器livekit-server--dev--bind0.0.0.0# 2. 启动 Agentuv run python src/agent.py dev# dev 模式的热重载会创建子进程,Ctrl+C 有时无法干净退出。下次用 Ctrl+\(强制退出)可以彻底杀掉整个进程树。# 3. 创建房间 + dispatch (新终端)lk dispatch create --new-room --agent-name lk-agent--dev# 输出会给你房间名,如 room-xxxxx# 4. 生成该房间的 tokenlk token create--roomroom-xxxxx--identitytester--join--allow-source microphone --valid-for 1h--dev--token-only# 5. 打开测试页面# 方式1:直接双击playground.html打开# 方式2:建个httpserverpython3-mhttp.server8081&# 进入playground.html的目录openhttp://localhost:8081/playground.html# 粘贴 token → Connect → 允许麦克风 → 说话
http://www.jsqmd.com/news/812319/

相关文章:

  • 对比直连与通过Taotoken调用大模型API的延迟与稳定性体感差异
  • 新闻发稿公司TOP测评:2026年七大主流渠道深度解析,传声港以98 - 博客湾
  • 分享2026黑客最常用的10款黑客工具,收藏这一篇就够了!
  • 华为官方霸屏强推的背单词神器《干词》鸿蒙系统!
  • PCB真空出气(Outgassing)测试:ASTM E595与ASTM E1559微污染管控中的应用
  • Java 实现微信红包分配算法
  • 软文推广平台推荐:2026年TOP8主流渠道深度测评 - 博客湾
  • Taotoken支持的标准OpenAI协议如何降低开发者接入与迁移成本
  • TVA系统的三层协同低延迟部署秘诀
  • 别再手动换词了!实测5款论文降AI工具,这款“结构级”神器一次降至25%以下
  • Live-SWE-agent:首个实时自演化的AI软件工程师智能体
  • DevOps流程卡点频发?DeepSeek 2024最新优化框架已上线,93%团队3天内完成首轮改造
  • 优化算法怎么选?从PSO到GWO:5个实际工程问题对比测试报告
  • 2026年5月衡水水利工程选型指南:河北格宾五金丝网有限公司实力解析 - 2026年企业推荐榜
  • PyQt6高性能GUI应用架构设计与信号槽机制深度解析
  • 从Solyndra事件看美国太阳能产业转型与能源创新体系构建
  • 激光带宽对OPC模型精度的影响与优化策略
  • Neovim集成GPT:neoai.nvim插件深度配置与AI编程实战
  • ISP运营商(Internet Service Provider 互联网服务提供商)介绍(提供DNS服务器)骨干网络、Peering对等互联、MPLS、带宽、延迟、丢包、抖动、SD-WAN
  • 构建飞书双向集成中继器:Node.js实现企业内外系统自动化连接
  • 计算机专业不想“敲代码”,都来冲这个行业
  • DeepSeek LeetCode 2338.统计理想数组的数目 JavaScript实现
  • Chiplet架构下的处理器性能优化与ARCAS系统解析
  • 2026贵阳配镜技术解析:苏州眼镜店/苏州配眼镜/西安配眼镜/贵阳眼镜店/贵阳配眼镜/郑州眼镜店/郑州配眼镜/重庆眼镜店/选择指南 - 优质品牌商家
  • ARM AMUv1架构解析与性能监控实战
  • 四度入围金曲歌王!裘德《离开银色荒原》荣获金曲奖7项提名
  • 使用 Node.js 和 Taotoken 快速搭建一个简单的 AI 对话中间件
  • 收藏!小白程序员必看:大模型时代高薪就业新机遇与学习路径
  • 流式Markdown解析器:实现实时渲染与性能优化的核心技术
  • 近屿AI学:基础薄弱还转AI,他真做成了