metadata
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
獲取語音列表
GET /voices
文字轉語音 (POST)
POST /tts
Content-Type: application/json
{
"text": "你好,世界!",
"voice": "zh-TW-HsiaoChenNeural",
"rate": "+0%",
"volume": "+0%",
"pitch": "+0Hz"
}
文字轉語音 (GET)
GET /tts?text=你好世界&voice=zh-TW-HsiaoChenNeural&rate=+0%&volume=+0%&pitch=+0Hz
使用範例
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 客戶端
// 替換為您的 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- 正常音調
注意事項
- 生成的音頻文件會保存在臨時目錄中
- 文件會自動生成唯一 ID,避免衝突
- 服務需要網路連接才能使用 Microsoft Edge TTS
- 在 Hugging Face Spaces 上,音頻文件會在短時間後自動清理
授權
本項目基於 MIT 授權條款開源。