gpt-voice-conversation-chatbot
用麦克风直接和ChatGPT对话的开源语音聊天机器人,支持多引擎TTS和三层记忆系统
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用麦克风直接和ChatGPT对话的开源语音聊天机器人,支持多引擎TTS和三层记忆系统
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你是否曾经幻想过,像和《星际穿越》里的 TARS 那样,用自然的声音和 AI 助手对话?Adrian 做到了。这位独立开发者打造了 GPT-VCC(GPT Voice Conversation Chatbot),一个开源的语音对话机器人,让用户可以直接对着麦克风说话,然后听到 ChatGPT 的语音回答——不是打字,是真正的声音交流。
在 GPT-VCC 出现之前,市面上的 ChatGPT 工具绝大多数都是纯文本交互。用户打开网页、输入文字、等待回复——整个过程充满了割裂感。而 Adrian 的项目彻底打破了这个循环:
核心交互流程如下:
speech_recognition 库识别为文字NLTK SentimentIntensityAnalyzer)处理,融入情感色彩整个过程在秒级完成,用户体验接近真实的语音对话。

图1:GPT-VCC 运行界面,展示了对话窗口和 AI 头像
GPT-VCC 最值得关注的技术细节,是它的三层记忆架构:
| 记忆层级 | 存储方式 | 说明 |
|---|---|---|
| 工作记忆 | Python 列表 | 当前对话上下文,实时追加 |
| 会话摘要 | GPT API | 通过 get_conversation_summary 压缩历史 |
| 长期记忆 | 本地文件 | 持久化存储,跨会话保留 |
代码中 stay_in_character() 函数负责检测 AI 回复是否过于机械(包含"As an AI"等措辞),一旦发现就自动让 GPT 改写为更自然的人类口语表达。这解决了一个经典问题:AI 在被告知"你是一个AI"后反而变得更不像人了。
GPT-VCC 提供了三种 TTS 引擎,满足不同用户的需求:
第一档:gTTS(Google 免费 TTS)
from gtts import gTTS,自动检测回复语言选择发音第二档:pyttsx3(离线 TTS)
第三档:ElevenLabs(专业 AI TTS)
项目还实现了 robospeak() 函数,专门模拟复古机械声音——向《2001太空漫游》中的 HAL 9000 致敬。main.py 中的 hal 列表包含了 HAL 的经典台词。
GPT-VCC 的代码组织体现了良好的模块化设计:
| 文件 | 大小 | 职责 |
|---|---|---|
chatbot.py | ~47KB | 核心:GPT 对话、情感分析、记忆管理、角色扮演 |
main.py | ~26KB | GUI 界面(pygame)、语音录制/播放控制、命令解析 |
gptcli.py | ~15KB | 纯命令行版本,无 pygame 依赖 |
tts_functions.py | ~4KB | 三种 TTS 引擎的封装 |
general_functions.py | ~5KB | 工具函数:语言检测、时间格式化、数字修正 |
pygame 模块负责 GUI 窗口和音频播放控制,提供 Pygame 图形界面(含彩色文字显示)和热词指令识别。gptcli.py 则是一个零依赖的轻量替代方案,适合无图形界面的服务器环境。
代码中使用了 NLTK SentimentIntensityAnalyzer 对 AI 回复进行情感打分:
from nltk.sentiment import SentimentIntensityAnalyzer
sia = SentimentIntensityAnalyzer()
scores = sia.polarity_scores(ai_response)
情感分数被用于调整 AI 的措辞倾向——正面情感时让 AI 表达得更热情,负面时更沉稳。这让对话不再是干巴巴的信息交换,而是带着情绪温度的真实交流。
GPT-VCC 是一个纯本地运行的工具,不提供 Web 界面,也不支持 Docker 部署。这意味着它对用户有一定的技术要求:
pip install -r requirements.txt项目提供了 Windows BAT 脚本(gpt-vcc.bat、windows-install.bat),但 Linux/macOS 用户需要手动配置。总体来说,部署难度中等——对于有 Python 基础的开发者来说,10-15 分钟可完成安装运行。
项目 README 的开头就坦诚写道:
"Made for old completion engine and retrofitted for ChatGPT. Not as good as modern stuff. Keep looking."
这反映了几个客观局限:
尽管有上述局限,GPT-VCC 的价值在于证明了开源社区在语音 AI 交互领域的能力边界:
如果你想构建自己的语音 AI 助手,GPT-VCC 是一个不错的起点——它的代码逻辑清晰、模块独立,可以拆解出 TTS 模块或记忆模块单独使用。当然,如果你追求更好的效果,也可以将它作为灵感来源,结合 OpenAI Realtime API 或 Claude Audio 实现更现代的方案。