# PA_horn_speaker Web广播系统 - 吆喝用的喇叭(i人专用) 通过Web界面输入文字,利用 edge-tts 将文本转化为语音并播放,支持循环播放和语音文件管理。 ## 功能特点 - **文本转语音**:输入文字即可生成语音 - **多种声音选择**:支持多种音色,包括普通话、方言、香港、台湾口音 - **循环播放**:支持设置间隔时间的循环播放模式 - **语音文件管理**:播放历史、收藏、重命名、删除 - **主题切换**:支持深色/浅色主题 - **实时日志**:显示操作日志和状态信息 ## 支持的声音 | 声音名称 | 类型 | |---------|------| | 晓晓(温暖女声) | 普通话 | | 晓伊(活泼女声) | 普通话 | | 云健(激情男声) | 普通话 | | 云希(阳光男声) | 普通话 | | 云夏(可爱男声) | 普通话 | | 云扬(新闻男声) | 普通话 | | 辽宁-小贝 | 方言 | | 陕西-小妮 | 方言 | | 香港-晓佳 | 粤语 | | 香港-晓曼 | 粤语 | | 香港-云龙 | 粤语 | | 台湾-晓陈 | 台语 | | 台湾-晓雨 | 台语 | | 台湾-云哲 | 台语 | ## 安装依赖 ```bash # 安装 Python 依赖 pip install flask edge-tts # 安装音频播放工具 sudo apt-get install mpg123 ``` ## 使用方法 ### 启动服务 ```bash python app.py ``` 服务将在 `http://localhost:5000` 启动。 ### 访问方式 打开浏览器访问 `http://你的IP:5000` ### 使用步骤 1. 在文本框中输入广播内容(最多500字) 2. 选择喜欢的声音 3. 可选:勾选"循环播放"并设置间隔时间 4. 点击"开始广播"按钮 5. 播放完成的语音会自动保存到历史列表 ## 技术栈 - **后端**:Flask - **语音合成**:edge-tts - **音频播放**:mpg123 - **前端**:HTML + CSS + JavaScript ## 项目结构 ``` PA_horn_speaker/ ├── app.py # Flask 应用主文件 ├── player.sh # 循环播放脚本 ├── templates/ │ └── index.html # 前端页面模板 ├── static/ │ └── style.css # 样式文件 ├── cache/ # 语音文件缓存目录 │ └── metadata.json # 文件元数据 ├── LICENSE # 许可证 └── README.md # 项目说明 ``` ## API 接口 | 接口 | 方法 | 说明 | |-----|------|------| | `/` | GET | 首页 | | `/speak` | POST | 生成并播放语音 | | `/stop` | GET | 停止播放 | | `/files` | GET | 获取语音文件列表 | | `/play-file` | POST | 播放已保存的语音文件 | | `/rename-file` | POST | 重命名文件 | | `/toggle-favorite` | POST | 收藏/取消收藏 | | `/delete-file` | POST | 删除文件 | ## 注意事项 1. 需要联网使用(edge-tts 需要访问 Microsoft 服务) 2. 音频输出使用 ALSA 设备 `plughw:audiocodec,0`,可根据实际设备调整 3. 缓存目录最多保存10个文件,收藏的文件不会被自动清理 ## APK 文件 项目包含 Android 端 APK 文件:`小喇叭_1.0.0.apk` --- Made with ❤️ for 社恐人士