bailing

wwbin2017MIT更新放缓

百聆是一个类 GPT-4o 的实时语音对话助手,串联 ASR、大模型和 TTS,端到端延迟低至 800ms,支持打断,Mac 等低配设备也能跑。

百聆 是一个类似GPT-4o的语音对话机器人,通过ASR+LLM+TTS实现,集成DeepSeek R1等优秀大模型,接入openClaw,真正的个人语音助手,时延低至800ms,Mac等低配置也可运行,支持打断

v0.0.3发布于 2025-05-31 00:12 UTC1,792star307fork同步于 2026-11-07 07:30 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/wwbin2017/bailing.git
cd bailing
pip install -r requirements.txt
pip install -r third_party/OpenManus/requirements.txt
硬件要求按 README 说明

README 称无需 GPU,可在 Mac 等低配置和边缘设备上本地部署;未列出具体显存或 GPU 型号要求。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

开源语音对话助手,用 ASR+LLM+TTS 实现类 GPT-4o 的实时语音交互,无需 GPU 也能跑

百聆是一个类 GPT-4o 的实时语音对话助手,串联 ASR、大模型和 TTS,端到端延迟低至 800ms,支持打断,Mac 等低配设备也能跑。

核心能力

  • 串联 FunASR、silero-vad、DeepSeek、edge-tts 完成端到端语音对话
  • 用 silero-vad 过滤无效音频,只处理有效语音片段
  • 支持语音与关键字打断,播放中可随时插话
  • 记忆用户偏好与历史对话,提供个性化互动
  • 通过 OpenClaw 接入外部工具,支持天气、搜索、定时任务等调用

容易踩的坑

需手动下载 SenseVoiceSmall 模型到 models/SenseVoiceSmall 目录;需在 config/config.yaml 配置 ASR/LLM,并到 DeepSeek 官网申请 api_key;用 OpenClaw 还需在 config/.env 配置其 Auth 权限。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

3 个版本v0.0.3
  1. v0.0.3新增aigc能力最新正式版2025-05-31 · 2025-05-31 00:12 UTC
  2. v0.0.22025-03-14 · 2025-03-14 12:49 UTC
    查看更新说明

    百聆 是一个开源的语音对话助手,旨在通过语音与用户进行自然的对话。该项目结合了语音识别 (ASR)、语音活动检测 (VAD)、大语言模型 (LLM) 和语音合成 (TTS) 技术,这是一个类似GPT-4o的语音对话机器人,通过ASR+LLM+TTS实现,提供高质量的语音对话体验,端到端时延800ms。百聆旨在无需GPU的情况下,实现类GPT-4o的对话效果,适用于各种边缘设备和低资源环境。

    🚀 流畅对话体验:低延迟、不卡顿,几乎像真人对话一样自然,百聆使用了多个开源模型,确保高效、可靠的语音对话体验。 🖥 轻量级部署:无需高端硬件,甚至不需要 GPU,通过优化,可本地部署,仍能提供类GPT-4的性能表现。 🔧 模块化设计:ASR、VAD、LLM和TTS模块相互独立,可以根据需求进行替换和升级。 🧠 智能记忆功能:具备持续学习能力,能够记忆用户的偏好与历史对话,提供个性化的互动体验。 🛠 工具调用能力:灵活集成外部工具,用户可通过语音直接请求信息或执行操作,提升助手的实用性。 📅 任务管理:高效管理用户任务,能够跟踪进度、设置提醒,并提供动态更新,确保用户不错过任何重要事项。

  3. v0.0.1pre-release2024-10-04 · 2024-10-04 03:14 UTC
    查看更新说明

    百聆 是一个开源的语音对话助手,旨在通过语音与用户进行自然的对话。该项目结合了语音识别 (ASR)、语音活动检测 (VAD)、大语言模型 (LLM) 和语音合成 (TTS) 技术,这是一个类似GPT-4o的语音对话机器人,通过ASR+LLM+TTS实现,提供高质量的语音对话体验,端到端时延800ms。百聆旨在无需GPU的情况下,实现类GPT-4o的对话效果,适用于各种边缘设备和低资源环境。

    • 语音输入:通过 FunASR 进行准确的语音识别。
    • 语音活动检测:使用 silero-vad 过滤无效音频,提升识别效率。
    • 智能对话生成:依靠 deepseek 提供的强大语言理解能力生成自然的文本回复,极具性价比。
    • 语音输出:通过 edge-tts 将文本转为语音,为用户提供逼真的听觉反馈。
    • 支持打断:配置打断策略,支持关键字和语音打断

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    百聆 (Bailing)

    [ 中文 | English ]

    百聆 是一个开源的语音对话助手,旨在通过语音与用户进行自然的对话。该项目结合了语音识别 (ASR)、语音活动检测 (VAD)、大语言模型 (LLM) 和语音合成 (TTS) 技术,这是一个类似GPT-4o的语音对话机器人,通过ASR+LLM+TTS实现,提供高质量的语音对话体验,端到端时延800ms。百聆旨在无需GPU的情况下,实现类GPT-4o的对话效果,适用于各种边缘设备和低资源环境。

    logo

    项目特点

    • 🚀 流畅对话体验:低延迟、不卡顿,几乎像真人对话一样自然,百聆使用了多个开源模型,确保高效、可靠的语音对话体验。
    • 🖥 轻量级部署:无需高端硬件,甚至不需要 GPU,通过优化,可本地部署,仍能提供类GPT-4的性能表现。
    • 🔧 模块化设计:ASR、VAD、LLM和TTS模块相互独立,可以根据需求进行替换和升级。
    • 🧠 智能记忆功能:具备持续学习能力,能够记忆用户的偏好与历史对话,提供个性化的互动体验。
    • 🛠 工具调用能力:灵活集成外部工具,用户可通过语音直接请求信息或执行操作,提升助手的实用性。
    • 📅 任务管理:高效管理用户任务,能够跟踪进度、设置提醒,并提供动态更新,确保用户不错过任何重要事项。
    • 🌐 可扩展生态:除 OpenClaw 外,也支持逐步接入更多外部工具与 Agent 能力

    为什么重点支持 OpenClaw

    百聆不仅是一个“能说话”的助手,更是一个“能做事”的助手。 我们将 OpenClaw 作为核心工具调用引擎之一,用来处理复杂任务、外部工具编排和高阶 Agent 能力。 通过 OpenClaw,百聆可以:

    • 将用户的自然语言请求转换为可执行任务
    • 在对话中调用外部工具完成搜索、分析、操作等动作
    • 处理更复杂的多步骤任务
    • 让语音助手从“聊天机器人”升级为“行动型助手”

    换句话说,OpenClaw 是百聆走向 JARVIS 化的重要一层。

    感谢开源社区

    百聆的诞生,离不开开源社区的无私贡献。

    感谢 DeepSeek、FunASR、Silero-VAD、ChatTTS、openclaw 等优秀的开源项目, 让我们有机会打造一个真正 开放、强大、低门槛 的语音 AI 助手!

    如果你也认同 让 AI 触手可及 的理念,欢迎一起贡献代码、优化模型, 让百聆更强、更智能,成为真正的 JARVIS!

    📢 欢迎 Star & PR

    项目简介

    百聆通过以下技术组件实现语音对话功能:

    • 🎙 ASR: 使用 FunASR 进行自动语音识别,将用户的语音转换为文本。
    • 🎚 VAD: 使用 silero-vad 进行语音活动检测,以确保只处理有效的语音片段。
    • 🧠 LLM: 使用 deepseek 作为大语言模型来处理用户输入并生成响应,极具性价比。
    • 🔊 TTS: 使用 edge-tts Kokoro-82M ChatTTS MacOS say进行文本到语音的转换,将生成的文本响应转换为自然流畅的语音。

    框架说明

    百聆流程图

    Robot 负责高效的任务管理与记忆管理,能够智能地处理用户的打断请求,同时实现各个模块之间的无缝协调与连接,以确保流畅的交互体验。

    播放器状态是否说话说明
    播放中未说话正常
    播放中说话打断场景
    未播放未说话正常
    未播放说话VAD判断,ASR识别

    Demo

    Demo

    功能特性

    • 语音输入:通过 FunASR 进行准确的语音识别。
    • 语音活动检测:使用 silero-vad 过滤无效音频,提升识别效率。
    • 智能对话生成:依靠 deepseek 提供的强大语言理解能力生成自然的文本回复,极具性价比。
    • 语音输出:通过 edge-tts Kokoro-82M 将文本转为语音,为用户提供逼真的听觉反馈。
    • 支持打断:灵活配置打断策略,能够识别关键字和语音打断,确保用户在对话中的即时反馈与控制,提高交互流畅度。
    • 支持记忆功能: 具备持续学习能力,能够记忆用户的偏好与历史对话,提供个性化的互动体验。
    • 支持工具调用: 灵活集成外部工具,用户可通过语音直接请求信息或执行操作,提升助手的实用性。特别是通过 OpenClaw 统一接入工具、任务和复杂动作执行
    • 支持任务管理: 高效管理用户任务,能够跟踪进度、设置提醒,并提供动态更新,确保用户不错过任何重要事项。

    项目优势

    • 高质量语音对话:整合了优秀的ASR、LLM和TTS技术,确保语音对话的流畅性和准确性。
    • 轻量化设计:无需高性能硬件即可运行,适用于资源受限的环境。
    • OpenClaw 深度集成:不仅支持工具调用,而且将 OpenClaw 作为核心执行层之一。
    • 完全开源:百聆完全开源,鼓励社区贡献与二次开发。

    安装与运行

    依赖环境

    请确保你的开发环境中安装了以下工具和库:

    • Python 3.12 或更高版本
    • pip 包管理器
    • FunASR、silero-vad、deepseek、edge-tts Kokoro-82M 所需的依赖库

    安装步骤

    1. 克隆项目仓库:

      git clone https://github.com/wwbin2017/bailing.git
      cd bailing
      
    2. 安装所需依赖:

      pip install -r requirements.txt
      pip install -r third_party/OpenManus/requirements.txt 
      
    3. 配置环境变量:

      • 打开config/config.yaml 配置ASR LLM等相关配置
      • 下载SenseVoiceSmall到目录models/SenseVoiceSmall SenseVoiceSmall下载地址
      • 去deepseek官网,获取配置api_key,deepseek获取api_key,当然也可以配置openai、qwen、gemini、01yi等其他模型
      • 如果需要使用通用AIGC配置(测试中),不可用的话,可以使用tag 分支 v0.0.1 v0.0.2
        • /third_party/OpenManus/config/config.toml 需要配置里面的 model、base_url、api_key
      • 为支持openclaw,需要修改config/.env,配置openclaw Auth权限
    4. 运行项目:

      支持本地运行与服务器运行,推荐使用服务器运行该项目,可通过移动端进行对话,推荐 4.2 服务器运行

      4.1 本地运行

      cd server
      python server.py # 启动后端服务,也可不执行这一步
      
      python main.py
      

      4.2 服务器运行(推荐)

      生成自签名证书 (开发环境)

      openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
      

      启动服务

      python server.py # 不需要cd server
      

      打开浏览器 http://localhost:8000 点击开始按钮,进行语音对话

    使用说明

    1. 启动应用后,系统会等待语音输入。
    2. 通过 FunASR 将用户语音转为文本。
    3. silero-vad 进行语音活动检测,确保只处理有效语音。
    4. deepseek 处理文本输入,并生成智能回复。
    5. edge-tts, Kokoro-82M, ChatTTS, MacOs say 将生成的文本转换为语音,并播放给用户。

    Roadmap

    • 基本语音对话功能
    • 支持插件调用
    • 任务管理
    • Rag & Agent
    • Memory
    • OpenClaw 接入
    • 支持语音唤醒
    • 支持WebRTC/WebSocket

    未来,百聆将升华为一款类JARVIS个人助手,仿佛一位贴心的智囊,具备无与伦比的记忆力与前瞻性的任务管理能力。依托于尖端的RAG与Agent技术,它将精确掌控您的事务与知识,化繁为简。只需轻声一语,例如“帮我查找最近新闻”或“总结大模型的最新进展”,百聆便会迅速响应,智能分析,实时跟踪,并将成果优雅地呈现给您。想象一下,您拥有的不仅是一名助手,而是一个深谙您需求的智慧伙伴,伴您在未来的每个重要瞬间,助您洞察万象,决胜千里。

    支持的工具

    函数名描述功能示例
    get_weather获取某个地点的天气信息提供地点名称后,返回该地点的天气情况用户说:“杭州天气怎么样?” → zhejiang/hangzhou
    ielts_speaking_practiceIELTS(雅思)口语练习生成雅思口语练习题目和对话,帮助用户进行雅思口语练习-
    get_day_of_week获取当前的星期几或日期当用户询问当前时间、日期或者星期几时,返回相应的信息用户说:“今天星期几?” → 返回当前的星期几
    schedule_task创建一个定时任务用户可以指定任务的执行时间和内容,定时提醒用户用户说:“每天早上8点提醒我喝水。” → time: '08:00', content: '提醒我喝水'
    open_application在 Mac 电脑上打开指定的应用程序用户可以指定应用程序的名称,脚本将在 Mac 上启动相应的应用用户说:“打开Safari。” → application_name: 'Safari'
    web_search在网上搜索指定的关键词根据用户提供的搜索内容,返回相应的搜索结果用户说:“搜索最新的科技新闻。” → query: '最新的科技新闻'
    aigc可以做任何事情通用型ai,接入openclaw要执行的任务描述,返回任务执行的结果。用户说:“分析特定股票的市场趋势” → query: '分析特定股票的市场趋势'

    贡献指南

    欢迎任何形式的贡献!如果你对百聆项目有改进建议或发现问题,请通过 GitHub Issues 进行反馈或提交 Pull Request。

    开源协议

    该项目基于 MIT 许可证 开源。你可以自由地使用、修改和分发此项目,但需要保留原始许可证声明。

    联系方式

    如有任何疑问或建议,请联系:


    免责声明

    百聆 (Bailing) 是一个开源项目,旨在用于个人学习和研究目的。使用本项目时,请注意以下免责声明:

    1. 个人用途:本项目仅用于个人学习和研究,不适用于商业用途或生产环境。
    2. 风险和责任:使用百聆 (Bailing) 可能会导致数据丢失、系统故障或其他问题。我们对因使用本项目而导致的任何损失、损害或问题不承担任何责任。
    3. 支持:本项目不提供任何形式的技术支持或保证。用户应自行承担使用本项目的风险。

    在使用本项目之前,请确保您已了解并接受这些免责声明。如果您不同意这些条款,请不要使用本项目。

    感谢您的理解与支持!

    Star History

    Star History Chart