From 200d26e2ab7b1d1c561ab8d1165624b7e51c8bb8 Mon Sep 17 00:00:00 2001 From: zwbcc Date: Sat, 28 Mar 2026 20:17:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=20README=EF=BC=9A=E5=B0=8F?= =?UTF-8?q?=E7=99=BD=E5=8F=8B=E5=A5=BD=E7=9A=84=E8=AF=A6=E7=BB=86=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 171 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 140 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 22931e1..2cd1d92 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ > 基于 MiniMax API 的文字转语音 Web 界面,单 HTML 文件,开箱即用。 -**在线地址(需在有网络的环境下访问):** `http://10.0.10.110:8197/speech-t2a.html` +**在线地址:** `http://10.0.10.110:8197/speech-t2a.html` --- @@ -16,62 +16,171 @@ --- -## 快速使用 +## 安装部署(三种方式任选其一) -### 1. 直接打开 -在浏览器访问: -``` -http://10.0.10.110:8197/speech-t2a.html -``` +### 方式一:直接用(推荐小白) + +直接用浏览器打开 HTML 文件,无需任何安装: + +1. 下载 `speech-t2a.html` 文件 +2. 双击用浏览器(Chrome/Edge/Firefox)打开即可 + +--- + +### 方式二:Python 一键启动(最简单) + +适合有 Python 环境的用户(Windows/Mac/Linux 通用): + +**步骤:** + +1. 下载本项目,解压到任意目录 +2. 打开终端/命令行,进入项目目录: -### 2. 本地部署(Python) ```bash +# Windows 用户:按 Win+R,输入 cmd,然后: +cd C:\path\to\speech-t2a + +# Mac/Linux 用户:打开终端,输入: cd /path/to/speech-t2a -python3 -m http.server 8197 -# 访问 http://localhost:8197/speech-t2a.html ``` -### 3. 本地部署(Nginx) +3. 运行启动命令: + +```bash +python3 -m http.server 8197 +``` + +4. 打开浏览器,访问:**http://localhost:8197/speech-t2a.html** + +> ⚠️ 关闭终端会停止服务,需要保持窗口开启 + +--- + +### 方式三:Nginx 部署(适合有服务器的用户) + +适合有云服务器、软路由、NAS 等设备的用户,可长期运行: + +**步骤:** + +1. 将 `speech-t2a.html` 上传到服务器,例如 `/var/www/speech-t2a/` +2. 编辑 Nginx 配置: + +```bash +sudo vim /etc/nginx/conf.d/speech-t2a.conf +``` + +3. 写入以下配置: + ```nginx server { listen 8197; - root /path/to/speech-t2a; + server_name 你的域名或IP; + + # 静态文件目录 + root /var/www/speech-t2a; index speech-t2a.html; + + # 允许浏览器访问 location / { try_files $uri $uri/ =404; + add_header Access-Control-Allow-Origin *; } } ``` ---- +4. 重启 Nginx: -## API 说明 +```bash +# 测试配置是否正确 +sudo nginx -t -- **端点:** `POST https://api.minimaxi.com/v1/t2a_v2` -- **备用:** `POST https://api-bj.minimaxi.com/v1/t2a_v2` -- **认证:** `Authorization: Bearer ` -- **返回格式:** hex 编码的音频数据(非 base64) +# 重启服务 +sudo systemctl restart nginx +``` + +5. 访问:**http://你的服务器IP:8197/speech-t2a.html** + +> 💡 阿里云/腾讯云等云服务器需在安全组开放 `8197` 端口 --- -## 模型列表 +## API 申请与配置 -| 模型 | 说明 | -|------|------| -| `speech-2.8-hd` | 高清音质(推荐) | -| `speech-2.6-hd` | 高清音质 | -| `speech-2.8-turbo` | 快速生成 | -| `speech-2.6-turbo` | 快速生成 | -| `speech-02-hd` | 克隆音质 | -| `speech-02-turbo` | 克隆快速 | +### 1. 获取 MiniMax API Key + +1. 访问 [MiniMax 开放平台](https://platform.minimaxi.com/) +2. 注册并登录 +3. 进入控制台 → API Key → 创建新 Key +4. 复制 Key(格式类似 `Group-xxxxxxxxxxxxxxxx`) + +### 2. 填写到页面 + +1. 打开页面后,找到 **「API Key」** 输入框 +2. 粘贴你的 Key +3. 点击 **「保存」** 或直接使用 --- -## 已知问题 +## 模型说明 -- 音频数据为 hex 编码,需用 `parseInt(hex.substr(i*2, 2), 16)` 解码,不能用 `atob()` -- fetch 的 Authorization header 必须是纯 ASCII,API Key 中不能有非 ISO-8859-1 字符 -- 跨域音频无法使用 Web Audio API 分析器 +| 模型 | 说明 | 推荐场景 | +|------|------|---------| +| `speech-2.8-hd` | 高清音质 | 通用场景(推荐) | +| `speech-2.6-hd` | 高清音质 | 备用选择 | +| `speech-2.8-turbo` | 快速生成 | 追求速度 | +| `speech-2.6-turbo` | 快速生成 | 追求速度 | +| `speech-02-hd` | 克隆音质 | 声音克隆 | +| `speech-02-turbo` | 克隆快速 | 声音克隆 | + +--- + +## 使用流程 + +``` +1. 打开页面 + ↓ +2. 填写 API Key + ↓ +3. 输入要转语音的文字 + ↓ +4. 选择语速(默认 1.0) + ↓ +5. 点击「生成」 + ↓ +6. 等待播放 / 下载音频 +``` + +--- + +## 常见问题 + +### Q: 播放没声音? +- 检查浏览器是否允许页面播放音频 +- 确认 API Key 填写正确 +- 查看浏览器控制台(F12)是否有报错 + +### Q: 生成失败? +- 确认 API Key 有效且有余额 +- 检查网络是否能访问 MiniMax API +- 确认文字内容不为空 + +### Q: 音频是 hex 编码无法播放? +- 这是正常现象,页面会自动解码并播放 +- 如需原始文件,点击「下载」按钮 + +### Q: 如何长期运行不丢服务? +- 推荐用 **Nginx 部署**(方式三) +- 或使用 PM2、Systemd 等进程管理工具 + +--- + +## 技术信息 + +- **单文件**:仅需一个 HTML 文件,无需后端 +- **跨平台**:浏览器支持的系统都能用 +- **离线可用**:页面加载后即可离线生成(需已填 API Key) +- **API 端点**:`https://api.minimaxi.com/v1/t2a_v2` +- **备用端点**:`https://api-bj.minimaxi.com/v1/t2a_v2` ---