Files
haibao-tts-cli/README.md

223 lines
4.1 KiB
Markdown
Raw Normal View History

# Mimo-TTS CLI
基于 MiMo-TTS API 的命令行文本转语音工具。
## 功能特性
- 文本转语音合成
- 支持多种音色9 种)
- 自动语气转换(根据标点符号)
- 支持流式输出
- 直接播放音频
- 保存到文件
- CLI 美化输出
## 下载安装
### 预编译二进制
从 [Releases](https://github.com/titor/mimo-tts/releases) 下载对应平台的二进制:
| 平台 | 文件名 |
|------|--------|
| Linux x86_64 | mimo-tts-linux-amd64 |
| Linux ARM64 | mimo-tts-linux-arm64 |
| macOS Intel | mimo-tts-darwin-amd64 |
| macOS Apple Silicon | mimo-tts-darwin-arm64 |
| Windows x86_64 | mimo-tts-windows-amd64.exe |
```bash
# Linux/macOS
chmod +x mimo-tts-*
sudo mv mimo-tts-* /usr/local/bin/mimo-tts
# Windows
# 将 .exe 文件放到任意目录,添加到 PATH
```
## 快速开始
### 1. 配置 API Key
```bash
# 方式一:交互式配置
mimo-tts onboard
# 方式二:命令行配置
mimo-tts config set --api-key YOUR_API_KEY
```
获取 API Keyhttps://platform.xiaomimimo.com/
### 2. 语音合成
```bash
# 直接播放
mimo-tts --text "你好世界" --play
# 保存到文件
mimo-tts --text "你好世界" --output hello.wav
# 输出到 stdout二进制流
mimo-tts --text "你好世界" > hello.wav
```
## 使用方法
### 基本用法
```bash
# 文本转语音
mimo-tts --text "要合成的文本" --play
# 从文件读取
mimo-tts --file text.txt --play
```
### 参数说明
| 参数 | 简写 | 说明 | 默认值 |
|------|------|------|--------|
| `--text` | `-t` | 要合成的文本 | - |
| `--file` | `-f` | 从文件读取文本 | - |
| `--voice` | `-v` | 音色名称 | mimo_default |
| `--style` | - | 风格描述 | - |
| `--output` | `-o` | 输出到文件 | - |
| `--play` | - | 直接播放 | false |
| `--stream` | - | 流式输出 (PCM16) | false |
### 可用音色
```
mimo_default - MiMo默认
冰糖 - 甜美清脆的女声
茉莉 - 温柔知性的女声
苏打 - 阳光活力的男声
白桦 - 沉稳大气的男声
Mia - 英文女声
Chloe - 英文女声
Milo - 英文男声
Dean - 英文男声
```
列出所有音色:
```bash
mimo-tts voices
```
### 风格描述
使用 `--style` 参数指定语音风格:
```bash
mimo-tts --text "你好" --style "开心" --play
mimo-tts --text "你好" --style "东北话" --play
mimo-tts --text "你好" --style "唱歌" --play
```
### 自动语气转换
工具会自动根据文本中的标点符号添加语气:
- `` → 添加 [激动] 语气
- `` → 添加 [疑惑] 语气
- `。` → 添加 [平静] 语气(默认)
示例:
```bash
mimo-tts --text "你好吗?" --play # 自动添加疑惑语气
mimo-tts --text "太棒了!" --play # 自动添加激动语气
```
### 流式输出
使用 `--stream` 参数进行流式输出:
```bash
# 流式输出到文件
mimo-tts --text "你好" --stream --output output.pcm
# 流式播放
mimo-tts --text "你好" --stream --play
```
注意:流式输出格式为 PCM16原始音频无 WAV 头。
### 配置管理
```bash
# 查看当前配置
mimo-tts show-config
# 设置 API Key
mimo-tts config set --api-key YOUR_KEY
# 设置默认音色
mimo-tts config set --voice 茉莉
```
## 配置文件
配置文件位于:`~/.config/tts/config.toml`
```toml
api_key = "YOUR_API_KEY"
default_voice = "mimo_default"
```
## 开发编译
### 环境要求
- Rust 1.70+
- Cargo
### 编译
```bash
# Debug 构建
cargo build
# Release 构建
cargo build --release
# 运行
cargo run -- --text "你好" --play
```
### 测试
```bash
# 运行测试
cargo test
# 运行特定测试
cargo test tone
```
## 项目结构
```
src/
├── main.rs # 主入口
├── cli.rs # CLI 参数定义
├── api.rs # API 调用
├── config.rs # 配置管理
├── tone.rs # 语气转换
└── ui.rs # UI 美化
```
## 退出码
| 码 | 说明 |
|----|------|
| 0 | 成功 |
| 1 | 参数错误 |
| 2 | 配置错误 |
| 3 | API 调用失败 |
| 4 | 文件操作失败 |
## 相关链接
- MiMo 开放平台https://platform.xiaomimimo.com/
- GitHubhttps://github.com/titor/mimo-tts