百聆是一個開源的語音對話助手,旨在通過語音與用戶進行自然的對話。該項目結合了語音識別(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) 是一個開源項目,旨在用於個人學習和研究目的。使用本項目時,請注意以下免責聲明:
在使用本項目之前,請確保您已了解並接受這些免責聲明。如果您不同意這些條款,請不要使用本項目。
感謝您的理解與支持!