一个融合了自然语言处理(AI 回复)与语音合成(Edge TTS)的现代化聊天机器人,使用 Python + Tkinter 构建 GUI,具备美观科技感界面、异步语音播报、多语种发音选择等特色功能。
1. 聊天逻辑与多线程语音合成
封装聊天输入、输出、AI 生成回复流程,使用 get_response() 调用 AI 模型。
将 AI 回复通过微软 Edge TTS 接口生成语音,实现语音朗读回答功能。
使用 asyncio + threading 避免阻塞主线程,保持界面流畅不卡顿。
2. 现代化科技感界面设计
使用 Tkinter 自定义窗口布局,配色方案借鉴科技蓝、荧光青,打造赛博风界面。
配置字体、配色、边框、选中样式,构建类似网页应用的现代 UI 体验。
加入顶部渐变标题栏、细节装饰线条、图标按钮等界面增强元素。
3. 语音合成 Edge TTS 接入与播放控制
支持四种语音风格(国语女声、粤语、韩语、台湾口音)通过下拉菜单选择。
使用 edge-tts 异步库生成音频并保存为 MP3 文件。
根据不同平台(Windows/macOS/Linux)使用 playsound / afplay / mpg321 实现跨平台静音播放。
4. 用户输入与消息展示流程设计
监听 <Return> 键或点击发送按钮,触发聊天逻辑。
将用户消息与机器人回复按格式显示在对话区域,并保持滚动置底。
设置插入光标颜色、高亮选择颜色等交互优化细节。
5. 异步事件循环与线程管理
在主应用中手动创建独立 asyncio 事件循环(兼容 Windows 平台)。
每次语音播放任务单独创建线程运行异步任务,避免 UI 卡死。