# py-tts **Repository Path**: chenfei6095/py-tts ## Basic Information - **Project Name**: py-tts - **Description**: TTS语音合成,python实现,集成MQTT解耦 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-27 - **Last Updated**: 2025-07-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # py-tts ## 介绍 这是一个基于Python的文本转语音(TTS)项目,支持通过MQTT协议接收文本信息并生成语音。该项目集成了多种TTS模型,可以在离线环境下运行。 支持流式响应,可以做到秒播 ## 软件架构 本项目采用模块化设计,主要包含以下几个模块: - **TTS生成器模块**:负责加载TTS模型并根据输入文本生成音频数据。 - **MQTT客户端模块**:处理与MQTT代理的通信,订阅文本消息主题,并发布生成的音频数据。 - **配置加载模块**:用于加载和管理项目的配置文件。 - **日志模块**:提供详细的日志记录功能以帮助调试和监控应用状态。 ## 安装教程 ### 离线模型下载 > 选择其一即可 https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/sherpa-onnx-vits-zh-ll.tar.bz2 https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/matcha-icefall-zh-baker.tar.bz2 https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/matcha-icefall-en_US-ljspeech.tar.bz2 https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kokoro-en-v0_19.tar.bz2 ### Windows下 1. 创建虚拟环境并激活: ```cmd python -m venv py_tts_env .\py_tts_env\Scripts\activate ``` 2. 在项目目录下创建`models`目录,并将下载的模型解压到该目录下,例如:`models/sherpa-onnx-vits-zh-ll`。 3. 安装必要的依赖包。 ```python pip install sherpa_onnx numpy sounddevice paho-mqtt pyyaml flask soundfile ``` 4. 运行start-tts-mqtt.bat脚本开始测试。 ## 使用说明 1. 确保已经正确配置了MQTT服务器地址、端口等信息。 2. 启动应用程序后,它会自动连接到MQTT服务器并等待文本消息。 3. 发送一条包含文本的消息到指定的主题,应用程序将接收到文本并生成相应的语音文件。 4. 生成的语音文件会被发布到另一个预设的主题上供其他设备订阅和播放。 请求示例:(具体topic 需要根据实际需求进行修改) > topic: `/voice/tts/generator` > 仅处理content字段,其他请求字段会原样返回 ```json [ { "content": "文本内容文本内容文本内容文本内容文本内容文本内容文本内容文本内容文本内容" } ] ``` 返回示例:(具体topic 需要根据实际需求进行修改) topic: `/voice/tts/response` ```json { "reqId": "请求唯一ID", "status": "success", "content": "请求的文本内容", "fileName": "请求生成的文件名(如:tts_53d8b73e-f97c-4cd9-a1d3-a8d7f079ec1d.wav)", "filePath": "合成后的语音文件路径(服务器端保存的)" } ``` 下载生成的语音文件 > 请求示例:GET请求 http://服务器IP:5000/download/文件名 ## 参与贡献 欢迎贡献代码或报告问题。如果您有任何建议或者发现了bug,请提交issue或者pull request。 ## 特技 - 支持多种TTS模型,如VITS, Matcha-TTS等。 - 提供了灵活的配置选项,可以通过修改配置文件来调整行为。 - 集成了MQTT协议支持,便于构建物联网应用场景。 - 包含详细的日志记录,方便追踪和解决问题。