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

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

Robot 负责高效的任务管理与记忆管理,能够智能地处理用户的打断请求,同时实现各个模块之间的无缝协调与连接,以确保流畅的交互体验。
| 播放器状态 | 是否说话 | 说明 |
|---|---|---|
| 播放中 | 未说话 | 正常 |
| 播放中 | 说话 | 打断场景 |
| 未播放 | 未说话 | 正常 |
| 未播放 | 说话 | VAD判断,ASR识别 |
bailing audio dialogue
bailing audio dialogue
请确保你的开发环境中安装了以下工具和库:
pip 包管理器克隆项目仓库:
git clone https://github.com/wwbin2017/bailing.git
cd bailing安装所需依赖:
pip install -r requirements.txt配置环境变量:
运行项目:
cd server
python server.py # 启动后端服务,也可不执行这一步python main.py未来,百聆将升华为一款类JARVIS个人助手,仿佛一位贴心的智囊,具备无与伦比的记忆力与前瞻性的任务管理能力。依托于尖端的RAG与Agent技术,它将精确掌控您的事务与知识,化繁为简。只需轻声一语,例如“帮我查找最近新闻”或“总结大模型的最新进展”,百聆便会迅速响应,智能分析,实时跟踪,并将成果优雅地呈现给您。想象一下,您拥有的不仅是一名助手,而是一个深谙您需求的智慧伙伴,伴您在未来的每个重要瞬间,助您洞察万象,决胜千里。
| 函数名 | 描述 | 功能 | 示例 |
|---|---|---|---|
get_weather |
获取某个地点的天气信息 | 提供地点名称后,返回该地点的天气情况 | 用户说:“杭州天气怎么样?” → zhejiang/hangzhou |
ielts_speaking_practice |
IELTS(雅思)口语练习 | 生成雅思口语练习题目和对话,帮助用户进行雅思口语练习 | - |
get_day_of_week |
获取当前的星期几或日期 | 当用户询问当前时间、日期或者星期几时,返回相应的信息 | 用户说:“今天星期几?” → 返回当前的星期几 |
schedule_task |
创建一个定时任务 | 用户可以指定任务的执行时间和内容,定时提醒用户 | 用户说:“每天早上8点提醒我喝水。” → time: '08:00', content: '提醒我喝水' |
open_application |
在 Mac 电脑上打开指定的应用程序 | 用户可以指定应用程序的名称,脚本将在 Mac 上启动相应的应用 | 用户说:“打开Safari。” → application_name: 'Safari' |
web_search |
在网上搜索指定的关键词 | 根据用户提供的搜索内容,返回相应的搜索结果 | 用户说:“搜索最新的科技新闻。” → query: '最新的科技新闻' |
欢迎任何形式的贡献!如果你对百聆项目有改进建议或发现问题,请通过 GitHub Issues 进行反馈或提交 Pull Request。
该项目基于 MIT 许可证 开源。你可以自由地使用、修改和分发此项目,但需要保留原始许可证声明。
如有任何疑问或建议,请联系:
百聆 (Bailing) 是一个开源项目,旨在用于个人学习和研究目的。使用本项目时,请注意以下免责声明:
在使用本项目之前,请确保您已了解并接受这些免责声明。如果您不同意这些条款,请不要使用本项目。
感谢您的理解与支持!