目 录CONTENT

文章目录
AI

AI 语音助手 - 文本转语音与智能对话系统

Administrator
2025-02-10 / 0 评论 / 0 点赞 / 55 阅读 / 0 字

AI 语音助手 - 文本转语音与智能对话系统

项目简介

这是一个基于 Python 开发的 AI 语音助手桌面应用程序,集成了文本转语音(TTS)和智能对话功能。主要特点:

  • 支持文本转语音,包含多种中文语音选项
  • 集成多个 AI 对话模型(Gemini/通义千问/Deepseek)
  • 简洁美观的图形界面
  • 支持语速、音量调节
  • 支持文本导入导出
  • 支持对话历史管理

程序界面截图1 程序界面截图2 程序界面截图3

功能特性

文本转语音

  • 13种不同风格的中文语音(含普通话、粤语、台语)
  • 可调节语速(-100% ~ +100%)
  • 可调节音量(0 ~ 100%)
  • 支持文本文件导入
  • 支持回车快捷转换

AI 对话

  • 支持多种对话模型:
    • Google Gemini
    • 阿里通义千问
    • Deepseek
  • 自动语音朗读功能
  • 对话历史管理
  • 支持导出对话记录

加QQ群获取软件

配置说明

首次运行程序需要配置 AI 模型的 API 密钥:

  1. 点击界面右下角的"设置"按钮
  2. 选择要使用的 AI 模型
  3. 填入对应的 API 密钥:
    • Gemini: 需要 Google API 密钥
    • 通义千问: 需要阿里云 API 密钥
    • Deepseek: 需要 Deepseek API 密钥

使用教程

文本转语音

  1. 在左侧文本框输入或导入要转换的文本
  2. 选择语音角色(如"晓晓"、"云希"等)
  3. 调节语速和音量(可选)
  4. 点击转换按钮或按回车键开始转换
  5. 转换完成后自动播放,也可点击播放按钮控制

AI 对话

  1. 切换到"AI 对话"标签页
  2. 在输入框输入问题
  3. 点击发送按钮或按回车键发送问题
  4. AI 回答后可:
    • 点击语音按钮朗读回答
    • 勾选"自动转换语音"实现自动朗读
    • 导出对话记录
    • 清空对话历史

项目结构

project/
├── TTS_GUI.py          # 主程序
├── resources.qrc       # Qt资源文件
├── resources_rc.py    # 编译后的资源文件
├── requirements.txt   # 依赖包列表
├── settings.json     # 配置文件
└── icons/           # 图标资源
    ├── main.ico
    ├── play.svg
    └── ...

核心代码说明

1. 界面设计

使用 PySide6 (Qt) 构建界面,主要包含:

class TTSWindow(QMainWindow):
    def setup_ui(self, layout):
        # 创建标签页
        self.tab_widget = QTabWidget()
        
        # 文本转语音标签页
        text_tab = QWidget()
        self.setup_tts_ui(text_layout)
        
        # AI对话标签页
        chat_tab = QWidget()
        self.setup_chat_ui(chat_layout)

2. 语音转换

使用 edge-tts 实现文本转语音:

class TTSThread(QThread):
    def run(self):
        async def tts_task():
            communicate = Communicate(
                self.text, 
                self.voice, 
                rate=self.rate, 
                volume=self.volume
            )
            await communicate.save(self.filename)

3. AI 对话

支持多个 AI 模型:

def initialize_chat(self):
    if current_model == "Gemini":
        genai.configure(api_key=settings['gemini_api_key'])
        self.chat = genai.GenerativeModel("gemini-1.5-flash").start_chat()
    elif current_model == "通义千问":
        # 通义千问配置
    elif current_model == "Deepseek":
        # Deepseek配置

开发计划

  1. 添加更多语音模型
  2. 支持批量转换
  3. 添加语音识别功能
  4. 优化对话上下文处理

联系方式

技术支持

个人QQ
作者QQ
QQ:154578485
QQ交流群
QQ群二维码
群内会更新个人练手的python项目
微信赞赏
微信赞赏码
要到饭咧?啊咧?啊咧?不给也没事~ 请随意打赏
支付宝赞赏
支付宝赞赏码
如果觉得有帮助,来包辣条犒劳一下吧~

📚 推荐阅读


0
AI
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区