PA_horn_speaker/README.md
2026-05-28 18:09:36 +08:00

115 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 社恐人士