基於 Qwen2.5-0.5B 的語音對話系統,具備語音辨識、文字生成和語音合成功能。
- 🎤 語音識別:將語音輸入轉換為文字
- 🤖 智能對話:使用 Qwen2.5-0.5B-Counseling 模型生成回應
- 🔊 語音合成:使用 XTTS-v2 將文字轉換為自然語音
- 🎵 語音播放:自動播放合成的語音回應
git https://github.com/1PingSun/Grass-Fine-Tunning-SLM.git
cd Grass-Fine-Tunning-SLMpython -m venv .venv
source .venv/bin/activate # Linux/macOS
# 或 .venv\Scripts\activate # Windowspip install -r requirements.txtgit clone https://huggingface.co/Rayifelse/Qwen2.5-0.5B-Counselinggit clone https://huggingface.co/coqui/XTTS-v2將你希望克隆的語音文件命名為 test.wav 並放置在專案根目錄中。
source .venv/bin/activate
python chat.py- 程式啟動後,按 Enter 鍵開始錄音
- 說話完成後,系統會自動識別語音並生成回應
- AI 的回應會以語音形式播放
- 輸入 "exit" 結束對話
.
├── chat.py # 主要對話程式
├── start_recording.py # 語音識別模組
├── requirements.txt # Python 依賴包
├── test.wav # 參考語音文件(需自行提供)
├── Qwen2.5-0.5B-Counseling/ # 對話模型目錄
├── XTTS-v2/ # 語音合成模型目錄
└── README.md # 專案說明文件
- 語音識別:使用
start_recording.py中的sr()函數 - 文字生成:使用 Qwen2.5-0.5B-Counseling 模型處理對話
- 語音合成:使用 XTTS-v2 模型將回應轉換為語音
- 對話管理:維護對話歷史,確保上下文連貫性
def ttsc(text):
# 載入 XTTS-v2 模型配置
# 使用參考語音進行聲音克隆
# 生成並保存語音文件while True:
user_input = sr() # 語音識別
# 生成 AI 回應
response = model.generate(...)
# 語音合成並播放
ttsc(response)主要依賴包括:
transformers==4.52.4- Hugging Face 模型庫TTS==0.22.0- Coqui TTS 語音合成torch==2.1.2- PyTorch 深度學習框架pygame- 音頻播放pyaudio- 音頻錄製openai-whisper- 語音識別scipy- 科學計算庫LLaMA-Factory- 微調 LLM
- Python 3.8+
- 麥克風(用於語音輸入)
- 喇叭或耳機(用於語音輸出)
- 建議:NVIDIA GPU(加速模型推理)
-
transformers 版本錯誤
pip install transformers==4.49.0
-
音頻設備問題
- 確保麥克風權限已啟用
- 檢查音頻輸出設備連接
-
模型載入失敗
- 確認模型目錄路徑正確
- 檢查磁碟空間是否充足
本專案遵循 MIT 授權條款。
歡迎提交 Issues 和 Pull Requests!
如有問題,請透過 GitHub Issues 聯絡。