tts / README.md
flysuper's picture
Upload 5 files
0c322d0 verified
---
title: Edge TTS API
emoji: 🎤
colorFrom: blue
colorTo: purple
sdk: docker
pinned: false
license: mit
short_description: 基於 Microsoft Edge TTS 的文字轉語音 API 服務
---
# Edge TTS API 服務
這是一個基於 Microsoft Edge TTS 的文字轉語音網路服務,使用 FastAPI 框架構建,現在部署在 Hugging Face Spaces 上。
## 功能特色
- 🎤 支援多種語音和語言
- ⚡ 快速響應的 API 服務
- 🔧 可調整語速、音量和音調
- 📱 支援 CORS,可用於前端應用
- 📊 自動生成的 API 文檔
- 🗂️ 文件管理功能
## 快速開始
### 1. 訪問服務
- **API 服務**: 點擊右上角的 "View API" 按鈕
- **API 文檔**: `https://your-space-name.hf.space/docs`
- **健康檢查**: `https://your-space-name.hf.space/health`
### 2. 使用 API
#### 獲取語音列表
```http
GET /voices
```
#### 文字轉語音 (POST)
```http
POST /tts
Content-Type: application/json
{
"text": "你好,世界!",
"voice": "zh-TW-HsiaoChenNeural",
"rate": "+0%",
"volume": "+0%",
"pitch": "+0Hz"
}
```
#### 文字轉語音 (GET)
```http
GET /tts?text=你好世界&voice=zh-TW-HsiaoChenNeural&rate=+0%&volume=+0%&pitch=+0Hz
```
## 使用範例
### Python 客戶端
```python
import requests
# 替換為您的 Hugging Face Space URL
base_url = "https://your-space-name.hf.space"
# 使用 POST 方法
response = requests.post(f"{base_url}/tts", json={
"text": "你好,這是測試文字",
"voice": "zh-TW-HsiaoChenNeural"
})
if response.json()["success"]:
audio_url = response.json()["audio_url"]
print(f"音頻文件:{base_url}{audio_url}")
# 使用 GET 方法
response = requests.get(f"{base_url}/tts", params={
"text": "你好,這是測試文字",
"voice": "zh-TW-HsiaoChenNeural"
})
# 直接下載音頻文件
with open("output.mp3", "wb") as f:
f.write(response.content)
```
### JavaScript 客戶端
```javascript
// 替換為您的 Hugging Face Space URL
const baseUrl = "https://your-space-name.hf.space";
// 使用 POST 方法
fetch(`${baseUrl}/tts`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
text: '你好,這是測試文字',
voice: 'zh-TW-HsiaoChenNeural'
})
})
.then(response => response.json())
.then(data => {
if (data.success) {
console.log('音頻文件:', `${baseUrl}${data.audio_url}`);
}
});
// 使用 GET 方法
const audioUrl = `${baseUrl}/tts?text=你好世界&voice=zh-TW-HsiaoChenNeural`;
window.open(audioUrl, '_blank');
```
## 常用語音
### 🇹🇼 台灣語音
- `zh-TW-HsiaoChenNeural` - 台灣女聲 (HsiaoChen)
- `zh-TW-HsiaoYuNeural` - 台灣女聲 (HsiaoYu)
- `zh-TW-YunJheNeural` - 台灣男聲 (YunJhe)
### 🇨🇳 中國語音
- `zh-CN-XiaoxiaoNeural` - 中國女聲 (Xiaoxiao)
- `zh-CN-XiaoyiNeural` - 中國女聲 (Xiaoyi)
- `zh-CN-YunjianNeural` - 中國男聲 (Yunjian)
- `zh-CN-YunxiNeural` - 中國男聲 (Yunxi)
- `zh-CN-YunxiaNeural` - 中國男聲 (Yunxia)
- `zh-CN-YunyangNeural` - 中國男聲 (Yunyang)
### 🇺🇸 美國語音
- `en-US-JennyNeural` - 美國女聲 (Jenny)
- `en-US-GuyNeural` - 美國男聲 (Guy)
### 🇬🇧 英國語音
- `en-GB-SoniaNeural` - 英國女聲 (Sonia)
- `en-GB-RyanNeural` - 英國男聲 (Ryan)
## 參數說明
### 語速調整 (rate)
- `+50%` - 加快 50%
- `-50%` - 減慢 50%
- `+0%` - 正常速度
### 音量調整 (volume)
- `+50%` - 增加音量 50%
- `-50%` - 減少音量 50%
- `+0%` - 正常音量
### 音調調整 (pitch)
- `+50Hz` - 提高音調
- `-50Hz` - 降低音調
- `+0Hz` - 正常音調
## 注意事項
1. 生成的音頻文件會保存在臨時目錄中
2. 文件會自動生成唯一 ID,避免衝突
3. 服務需要網路連接才能使用 Microsoft Edge TTS
4. 在 Hugging Face Spaces 上,音頻文件會在短時間後自動清理
## 授權
本項目基於 MIT 授權條款開源。