@visionengine/audio-tts 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README-zh.md +312 -5
- package/README.md +238 -0
- package/dist/server.js +14 -14
- package/dist/server.js.map +1 -1
- package/package.json +2 -2
package/README-zh.md
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
# @visionengine/audio-tts
|
|
2
2
|
|
|
3
|
+
[](README.md)
|
|
4
|
+
[](README-zh.md)
|
|
3
5
|
|
|
6
|
+
VisionEngine 语音合成 MCP 服务器 - 使用火山引擎 TTS API 进行文本转语音合成,支持多种音色和语言。
|
|
4
7
|
|
|
8
|
+
## 功能特性
|
|
9
|
+
|
|
10
|
+
- **文本转语音合成** - 将文本转换为自然流畅的语音音频文件
|
|
11
|
+
- **多种音色** - 支持多种男声/女声音色,风格各异
|
|
12
|
+
- **音色查询** - 按语种筛选可用音色
|
|
13
|
+
- **音频自定义** - 调节语速、音量、音调和情感
|
|
14
|
+
- **多种格式** - 支持 MP3、OGG Opus 和 PCM 输出格式
|
|
15
|
+
- **TTS 2.0 支持** - 上下文感知的语音合成,支持风格提示
|
|
5
16
|
|
|
6
17
|
## 安装
|
|
7
18
|
|
|
@@ -12,16 +23,16 @@
|
|
|
12
23
|
```json
|
|
13
24
|
{
|
|
14
25
|
"mcpServers": {
|
|
15
|
-
"ve-
|
|
26
|
+
"ve-audio-tts": {
|
|
16
27
|
"type": "local",
|
|
17
28
|
"command": "npx",
|
|
18
29
|
"args": ["-y", "@visionengine/audio-tts@latest"],
|
|
19
30
|
"transport": "stdio",
|
|
20
31
|
"env": {
|
|
21
|
-
"API_URL":"",
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
32
|
+
"API_URL": "https://openspeech.bytedance.com/api/v3/tts/unidirectional",
|
|
33
|
+
"APP_ID": "你的AppID",
|
|
34
|
+
"ACCESS_TOKEN": "你的AccessKey",
|
|
35
|
+
"RESOURCE_ID": "seed-tts-2.0",
|
|
25
36
|
"WORKDIR": "./public"
|
|
26
37
|
}
|
|
27
38
|
}
|
|
@@ -29,3 +40,299 @@
|
|
|
29
40
|
}
|
|
30
41
|
```
|
|
31
42
|
|
|
43
|
+
### 作为 NPM 包安装
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npm install -g @visionengine/audio-tts
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## 配置
|
|
50
|
+
|
|
51
|
+
环境变量:
|
|
52
|
+
|
|
53
|
+
- `API_URL` - TTS API 端点(默认:https://openspeech.bytedance.com/api/v3/tts/unidirectional)
|
|
54
|
+
- `APP_ID` - 你的火山引擎 App ID(必需)
|
|
55
|
+
- `ACCESS_TOKEN` - 你的火山引擎 Access Key(必需)
|
|
56
|
+
- `RESOURCE_ID` - TTS 资源 ID(默认:seed-tts-2.0)
|
|
57
|
+
- `WORKDIR` - 生成音频文件的保存目录(默认:./)
|
|
58
|
+
|
|
59
|
+
## 工具说明
|
|
60
|
+
|
|
61
|
+
### tts - 语音合成
|
|
62
|
+
|
|
63
|
+
将文本合成为语音并保存为音频文件。
|
|
64
|
+
|
|
65
|
+
**参数:**
|
|
66
|
+
- `text`(字符串,必需)- 要合成语音的文本内容
|
|
67
|
+
- `speaker`(字符串,必需)- 音色 ID(如 'zh_female_vv_uranus_bigtts')
|
|
68
|
+
- `format`(字符串,可选)- 音频格式:mp3(默认)、ogg_opus 或 pcm
|
|
69
|
+
- `sampleRate`(数字,可选)- 音频采样率:8000、16000、22050、24000、32000、44100、48000(默认:24000)
|
|
70
|
+
- `speechRate`(数字,可选)- 语速:-50(0.5倍)到 100(2倍),默认:0
|
|
71
|
+
- `loudnessRate`(数字,可选)- 音量:-50(0.5倍)到 100(2倍),默认:0
|
|
72
|
+
- `emotion`(字符串,可选)- 情感设置(如 'happy'、'sad')
|
|
73
|
+
- `emotionScale`(数字,可选)- 情感强度:1-5,默认:4
|
|
74
|
+
- `contextTexts`(字符串数组,可选)- TTS 2.0 的上下文提示,用于调整风格
|
|
75
|
+
- `explicitLanguage`(字符串,可选)- 明确语种:zh-cn、en、ja、es-mx、id、pt-br、de、fr
|
|
76
|
+
- `pitch`(数字,可选)- 音调调整:-12 到 12,默认:0
|
|
77
|
+
|
|
78
|
+
**使用示例:**
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
// 基础用法
|
|
82
|
+
await tts({
|
|
83
|
+
text: "你好,欢迎使用 VisionEngine!",
|
|
84
|
+
speaker: "zh_female_vv_uranus_bigtts"
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
// 自定义参数
|
|
88
|
+
await tts({
|
|
89
|
+
text: "这是一个带有自定义设置的测试。",
|
|
90
|
+
speaker: "zh_male_m191_uranus_bigtts",
|
|
91
|
+
format: "mp3",
|
|
92
|
+
speechRate: 10,
|
|
93
|
+
loudnessRate: 5,
|
|
94
|
+
pitch: 2
|
|
95
|
+
});
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### list-voices - 音色列表查询
|
|
99
|
+
|
|
100
|
+
按语种筛选可用的 TTS 音色。
|
|
101
|
+
|
|
102
|
+
**参数:**
|
|
103
|
+
- `language`(字符串,可选)- 按语种代码筛选:zh、zh-cn、en、ja、es、id、pt、de、fr。留空返回全部音色。
|
|
104
|
+
|
|
105
|
+
**使用示例:**
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
// 获取所有音色
|
|
109
|
+
await listVoices({});
|
|
110
|
+
|
|
111
|
+
// 仅获取中文音色
|
|
112
|
+
await listVoices({
|
|
113
|
+
language: "zh"
|
|
114
|
+
});
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**返回示例:**
|
|
118
|
+
|
|
119
|
+
```json
|
|
120
|
+
{
|
|
121
|
+
"total": 10,
|
|
122
|
+
"language": "zh",
|
|
123
|
+
"voices": [
|
|
124
|
+
{
|
|
125
|
+
"voiceType": "zh_female_vv_uranus_bigtts",
|
|
126
|
+
"name": "Vivi 2.0",
|
|
127
|
+
"gender": "女",
|
|
128
|
+
"age": "青年",
|
|
129
|
+
"description": "语调平稳、咬字柔和、自带治愈安抚力的女声音色",
|
|
130
|
+
"categories": ["通用场景"],
|
|
131
|
+
"languages": ["zh-cn"],
|
|
132
|
+
"trialURL": "https://..."
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## 使用示例
|
|
139
|
+
|
|
140
|
+
### MCP 客户端
|
|
141
|
+
|
|
142
|
+
配置为 MCP 服务器后,可以通过 MCP 客户端使用这些工具:
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
> 使用 tts 工具将 "你好世界" 合成为语音,音色使用 zh_female_vv_uranus_bigtts
|
|
146
|
+
> 使用 list-voices 工具获取可用的中文音色
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### 直接使用
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
# 全局安装
|
|
153
|
+
npm install -g @visionengine/audio-tts
|
|
154
|
+
|
|
155
|
+
# 设置环境变量
|
|
156
|
+
export APP_ID="你的AppID"
|
|
157
|
+
export ACCESS_TOKEN="你的AccessKey"
|
|
158
|
+
export WORKDIR="./audio"
|
|
159
|
+
|
|
160
|
+
# 运行服务器
|
|
161
|
+
ve-audio-tts
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Claude Desktop 配置示例
|
|
165
|
+
|
|
166
|
+
在 Claude Desktop 的配置文件中添加:
|
|
167
|
+
|
|
168
|
+
**macOS/Linux:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
169
|
+
|
|
170
|
+
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
171
|
+
|
|
172
|
+
```json
|
|
173
|
+
{
|
|
174
|
+
"mcpServers": {
|
|
175
|
+
"ve-audio-tts": {
|
|
176
|
+
"command": "npx",
|
|
177
|
+
"args": ["-y", "@visionengine/audio-tts@latest"],
|
|
178
|
+
"env": {
|
|
179
|
+
"APP_ID": "你的AppID",
|
|
180
|
+
"ACCESS_TOKEN": "你的AccessKey",
|
|
181
|
+
"WORKDIR": "/Users/username/Audio"
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
重启 Claude Desktop 后即可使用。
|
|
189
|
+
|
|
190
|
+
## 可用音色
|
|
191
|
+
|
|
192
|
+
| 音色 ID | 名称 | 性别 | 描述 |
|
|
193
|
+
|---------|------|------|------|
|
|
194
|
+
| zh_female_vv_uranus_bigtts | Vivi 2.0 | 女 | 语调平稳、咬字柔和、自带治愈安抚力的女声音色 |
|
|
195
|
+
| zh_female_xiaohe_uranus_bigtts | 小何 2.0 | 女 | 声线甜美有活力的妹妹,活泼开朗,笑容明媚 |
|
|
196
|
+
| zh_male_taocheng_uranus_bigtts | 小天 2.0 | 男 | 眉目清朗男大,清澈温润有朝气,开朗真诚 |
|
|
197
|
+
| zh_male_m191_uranus_bigtts | 云舟 2.0 | 男 | 声音磁性的男生,成熟理性,做事有条理,让人信赖 |
|
|
198
|
+
| zh_female_santongyongns_saturn_bigtts | 流畅女声 | 女 | 语调顺滑自然、咬字利落不拖沓、适配多种场景的百搭女声音色 |
|
|
199
|
+
| zh_female_meilinvyou_saturn_bigtts | 魅力女友 | 女 | 嗲软轻飘的轻熟美人,妩媚有耐心,温柔勾人 |
|
|
200
|
+
|
|
201
|
+
使用 `list-voices` 工具获取完整音色列表。
|
|
202
|
+
|
|
203
|
+
## 实际应用场景
|
|
204
|
+
|
|
205
|
+
### 1. 视频配音
|
|
206
|
+
|
|
207
|
+
```typescript
|
|
208
|
+
// 为视频生成旁白
|
|
209
|
+
await tts({
|
|
210
|
+
text: "欢迎来到今天的产品发布会,让我们一起见证这个激动人心的时刻。",
|
|
211
|
+
speaker: "zh_male_m191_uranus_bigtts",
|
|
212
|
+
speechRate: -10 // 稍慢一些,更有质感
|
|
213
|
+
});
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### 2. 有声读物
|
|
217
|
+
|
|
218
|
+
```typescript
|
|
219
|
+
// 生成有声书音频
|
|
220
|
+
await tts({
|
|
221
|
+
text: "第一章:清晨的阳光透过窗帘,洒落在书桌上,新的一天开始了。",
|
|
222
|
+
speaker: "zh_female_mizai_saturn_bigtts",
|
|
223
|
+
emotion: "gentle",
|
|
224
|
+
emotionScale: 3
|
|
225
|
+
});
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### 3. 客服语音
|
|
229
|
+
|
|
230
|
+
```typescript
|
|
231
|
+
// 生成客服提示音
|
|
232
|
+
await tts({
|
|
233
|
+
text: "您好,欢迎致电客服热线,请按1查询订单,按2联系人工客服。",
|
|
234
|
+
speaker: "zh_female_santongyongns_saturn_bigtts",
|
|
235
|
+
format: "mp3",
|
|
236
|
+
sampleRate: 16000
|
|
237
|
+
});
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### 4. 多语言内容
|
|
241
|
+
|
|
242
|
+
```typescript
|
|
243
|
+
// 指定语言进行合成
|
|
244
|
+
await tts({
|
|
245
|
+
text: "Hello, welcome to VisionEngine!",
|
|
246
|
+
speaker: "zh_female_vv_uranus_bigtts",
|
|
247
|
+
explicitLanguage: "en"
|
|
248
|
+
});
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
## 开发
|
|
252
|
+
|
|
253
|
+
### 构建
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
npm run build
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### 测试
|
|
260
|
+
|
|
261
|
+
```bash
|
|
262
|
+
npm test
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### 本地测试
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
# 先构建
|
|
269
|
+
npm run build
|
|
270
|
+
|
|
271
|
+
# 本地运行
|
|
272
|
+
node dist/index.js
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### 调试
|
|
276
|
+
|
|
277
|
+
设置环境变量后运行:
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
export APP_ID="你的AppID"
|
|
281
|
+
export ACCESS_TOKEN="你的AccessKey"
|
|
282
|
+
export WORKDIR="./"
|
|
283
|
+
|
|
284
|
+
node dist/index.js
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
## 支持的音频格式
|
|
288
|
+
|
|
289
|
+
- **MP3** - 压缩音频(默认)
|
|
290
|
+
- **OGG Opus** - 高质量压缩音频
|
|
291
|
+
- **PCM** - 原始无压缩音频
|
|
292
|
+
|
|
293
|
+
## 技术架构
|
|
294
|
+
|
|
295
|
+
- **MCP 协议** - Model Context Protocol,用于 AI 工具集成
|
|
296
|
+
- **FastMCP** - 快速构建 MCP 服务器的框架
|
|
297
|
+
- **火山引擎 TTS** - 字节跳动语音合成服务
|
|
298
|
+
- **Seed TTS 2.0** - 新一代语音合成模型
|
|
299
|
+
|
|
300
|
+
## 常见问题
|
|
301
|
+
|
|
302
|
+
### 1. 如何获取 API 密钥?
|
|
303
|
+
|
|
304
|
+
访问 [火山引擎控制台](https://console.volcengine.com/) 注册账户,开通语音合成服务并获取 App ID 和 Access Key。
|
|
305
|
+
|
|
306
|
+
### 2. 如何选择合适的音色?
|
|
307
|
+
|
|
308
|
+
使用 `list-voices` 工具查询可用音色,每个音色都有试听 URL,可以先试听再选择。
|
|
309
|
+
|
|
310
|
+
### 3. 生成的音频文件在哪里?
|
|
311
|
+
|
|
312
|
+
音频文件保存在 `WORKDIR` 环境变量指定的目录下,文件名包含时间戳和随机后缀,避免重名。
|
|
313
|
+
|
|
314
|
+
### 4. 如何调整语音效果?
|
|
315
|
+
|
|
316
|
+
- 使用 `speechRate` 调整语速(-50 到 100)
|
|
317
|
+
- 使用 `loudnessRate` 调整音量(-50 到 100)
|
|
318
|
+
- 使用 `pitch` 调整音调(-12 到 12)
|
|
319
|
+
- 使用 `emotion` 和 `emotionScale` 调整情感表达
|
|
320
|
+
|
|
321
|
+
### 5. TTS 2.0 的 contextTexts 怎么用?
|
|
322
|
+
|
|
323
|
+
`contextTexts` 用于给 TTS 2.0 提供上下文提示,例如:
|
|
324
|
+
|
|
325
|
+
```typescript
|
|
326
|
+
await tts({
|
|
327
|
+
text: "今天天气真好啊!",
|
|
328
|
+
speaker: "zh_female_vv_uranus_bigtts",
|
|
329
|
+
contextTexts: ["请用开心的语气朗读"]
|
|
330
|
+
});
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
## 支持与反馈
|
|
334
|
+
|
|
335
|
+
如有问题或建议:
|
|
336
|
+
|
|
337
|
+
- **邮箱:** team@visionengine-tech.com
|
|
338
|
+
- **官网:** https://visionengine-tech.com
|
package/README.md
CHANGED
|
@@ -1 +1,239 @@
|
|
|
1
1
|
# @visionengine/audio-tts
|
|
2
|
+
|
|
3
|
+
[](README.md)
|
|
4
|
+
[](README-zh.md)
|
|
5
|
+
|
|
6
|
+
VisionEngine Audio TTS MCP Server - Text-to-speech synthesis using Volcengine TTS API with support for multiple voices and languages.
|
|
7
|
+
|
|
8
|
+
## Features
|
|
9
|
+
|
|
10
|
+
- **Text-to-Speech Synthesis** - Convert text to natural-sounding speech audio files
|
|
11
|
+
- **Multiple Voices** - Support for various voice types including male/female voices with different styles
|
|
12
|
+
- **Voice Query** - Filter available voices by language
|
|
13
|
+
- **Audio Customization** - Adjust speech rate, volume, pitch, and emotion
|
|
14
|
+
- **Multiple Formats** - Support for MP3, OGG Opus, and PCM output formats
|
|
15
|
+
- **TTS 2.0 Support** - Context-aware speech synthesis with style hints
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
|
|
19
|
+
### As MCP Server
|
|
20
|
+
|
|
21
|
+
Add to your MCP client configuration:
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"mcpServers": {
|
|
26
|
+
"ve-audio-tts": {
|
|
27
|
+
"type": "local",
|
|
28
|
+
"command": "npx",
|
|
29
|
+
"args": ["-y", "@visionengine/audio-tts@latest"],
|
|
30
|
+
"transport": "stdio",
|
|
31
|
+
"env": {
|
|
32
|
+
"API_URL": "https://openspeech.bytedance.com/api/v3/tts/unidirectional",
|
|
33
|
+
"APP_ID": "your_app_id",
|
|
34
|
+
"ACCESS_TOKEN": "your_access_key",
|
|
35
|
+
"RESOURCE_ID": "seed-tts-2.0",
|
|
36
|
+
"WORKDIR": "./public"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### As NPM Package
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npm install -g @visionengine/audio-tts
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Configuration
|
|
50
|
+
|
|
51
|
+
Environment variables:
|
|
52
|
+
|
|
53
|
+
- `API_URL` - TTS API endpoint (default: https://openspeech.bytedance.com/api/v3/tts/unidirectional)
|
|
54
|
+
- `APP_ID` - Your Volcengine App ID (required)
|
|
55
|
+
- `ACCESS_TOKEN` - Your Volcengine Access Key (required)
|
|
56
|
+
- `RESOURCE_ID` - TTS resource ID (default: seed-tts-2.0)
|
|
57
|
+
- `WORKDIR` - Directory for saving generated audio files (default: ./)
|
|
58
|
+
|
|
59
|
+
## Tools
|
|
60
|
+
|
|
61
|
+
### tts
|
|
62
|
+
|
|
63
|
+
Synthesize speech from text and save to an audio file.
|
|
64
|
+
|
|
65
|
+
**Parameters:**
|
|
66
|
+
- `text` (string, required) - Text content to synthesize into speech
|
|
67
|
+
- `speaker` (string, required) - Voice speaker ID (e.g., 'zh_female_vv_uranus_bigtts')
|
|
68
|
+
- `format` (string, optional) - Audio format: mp3 (default), ogg_opus, or pcm
|
|
69
|
+
- `sampleRate` (number, optional) - Audio sample rate: 8000, 16000, 22050, 24000, 32000, 44100, 48000 (default: 24000)
|
|
70
|
+
- `speechRate` (number, optional) - Speech rate: -50 (0.5x) to 100 (2.0x), default: 0
|
|
71
|
+
- `loudnessRate` (number, optional) - Volume: -50 (0.5x) to 100 (2.0x), default: 0
|
|
72
|
+
- `emotion` (string, optional) - Emotion setting for supported voices (e.g., 'happy', 'sad')
|
|
73
|
+
- `emotionScale` (number, optional) - Emotion intensity: 1-5, default: 4
|
|
74
|
+
- `contextTexts` (string[], optional) - Context hints for TTS 2.0 to adjust style
|
|
75
|
+
- `explicitLanguage` (string, optional) - Explicit language: zh-cn, en, ja, es-mx, id, pt-br, de, fr
|
|
76
|
+
- `pitch` (number, optional) - Pitch adjustment: -12 to 12, default: 0
|
|
77
|
+
|
|
78
|
+
**Example:**
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
// Basic usage
|
|
82
|
+
await tts({
|
|
83
|
+
text: "Hello, welcome to VisionEngine!",
|
|
84
|
+
speaker: "zh_female_vv_uranus_bigtts"
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
// With customization
|
|
88
|
+
await tts({
|
|
89
|
+
text: "This is a test with custom settings.",
|
|
90
|
+
speaker: "zh_male_m191_uranus_bigtts",
|
|
91
|
+
format: "mp3",
|
|
92
|
+
speechRate: 10,
|
|
93
|
+
loudnessRate: 5,
|
|
94
|
+
pitch: 2
|
|
95
|
+
});
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### list-voices
|
|
99
|
+
|
|
100
|
+
Query available TTS voices filtered by language.
|
|
101
|
+
|
|
102
|
+
**Parameters:**
|
|
103
|
+
- `language` (string, optional) - Filter by language code: zh, zh-cn, en, ja, es, id, pt, de, fr. Leave empty for all voices.
|
|
104
|
+
|
|
105
|
+
**Example:**
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
// Get all voices
|
|
109
|
+
await listVoices({});
|
|
110
|
+
|
|
111
|
+
// Get Chinese voices only
|
|
112
|
+
await listVoices({
|
|
113
|
+
language: "zh"
|
|
114
|
+
});
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**Response:**
|
|
118
|
+
|
|
119
|
+
```json
|
|
120
|
+
{
|
|
121
|
+
"total": 10,
|
|
122
|
+
"language": "zh",
|
|
123
|
+
"voices": [
|
|
124
|
+
{
|
|
125
|
+
"voiceType": "zh_female_vv_uranus_bigtts",
|
|
126
|
+
"name": "Vivi 2.0",
|
|
127
|
+
"gender": "女",
|
|
128
|
+
"age": "青年",
|
|
129
|
+
"description": "语调平稳、咬字柔和、自带治愈安抚力的女声音色",
|
|
130
|
+
"categories": ["通用场景"],
|
|
131
|
+
"languages": ["zh-cn"],
|
|
132
|
+
"trialURL": "https://..."
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Usage Examples
|
|
139
|
+
|
|
140
|
+
### MCP Client
|
|
141
|
+
|
|
142
|
+
Once configured as an MCP server, the tools are available through your MCP client:
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
> Use tts tool to generate speech from "Hello World" with speaker zh_female_vv_uranus_bigtts
|
|
146
|
+
> Use list-voices tool to get available Chinese voices
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Direct Usage
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
# Install globally
|
|
153
|
+
npm install -g @visionengine/audio-tts
|
|
154
|
+
|
|
155
|
+
# Set environment variables
|
|
156
|
+
export APP_ID="your_app_id"
|
|
157
|
+
export ACCESS_TOKEN="your_access_key"
|
|
158
|
+
export WORKDIR="./audio"
|
|
159
|
+
|
|
160
|
+
# Run the server
|
|
161
|
+
ve-audio-tts
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Claude Desktop Configuration
|
|
165
|
+
|
|
166
|
+
Add to your Claude Desktop configuration file:
|
|
167
|
+
|
|
168
|
+
**macOS/Linux:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
169
|
+
|
|
170
|
+
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
171
|
+
|
|
172
|
+
```json
|
|
173
|
+
{
|
|
174
|
+
"mcpServers": {
|
|
175
|
+
"ve-audio-tts": {
|
|
176
|
+
"command": "npx",
|
|
177
|
+
"args": ["-y", "@visionengine/audio-tts@latest"],
|
|
178
|
+
"env": {
|
|
179
|
+
"APP_ID": "your_app_id",
|
|
180
|
+
"ACCESS_TOKEN": "your_access_key",
|
|
181
|
+
"WORKDIR": "/Users/username/Audio"
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Restart Claude Desktop to use.
|
|
189
|
+
|
|
190
|
+
## Available Voices
|
|
191
|
+
|
|
192
|
+
| Voice Type | Name | Gender | Description |
|
|
193
|
+
|------------|------|--------|-------------|
|
|
194
|
+
| zh_female_vv_uranus_bigtts | Vivi 2.0 | Female | Gentle and soothing female voice |
|
|
195
|
+
| zh_female_xiaohe_uranus_bigtts | 小何 2.0 | Female | Sweet and lively young female voice |
|
|
196
|
+
| zh_male_taocheng_uranus_bigtts | 小天 2.0 | Male | Clear and warm young male voice |
|
|
197
|
+
| zh_male_m191_uranus_bigtts | 云舟 2.0 | Male | Mature and magnetic male voice |
|
|
198
|
+
| zh_female_santongyongns_saturn_bigtts | 流畅女声 | Female | Smooth and natural female voice |
|
|
199
|
+
| zh_female_meilinvyou_saturn_bigtts | 魅力女友 | Female | Charming and gentle female voice |
|
|
200
|
+
|
|
201
|
+
Use `list-voices` tool to get the complete list.
|
|
202
|
+
|
|
203
|
+
## Development
|
|
204
|
+
|
|
205
|
+
### Build
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
npm run build
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Test
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
npm test
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Local Testing
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
# Build first
|
|
221
|
+
npm run build
|
|
222
|
+
|
|
223
|
+
# Run locally
|
|
224
|
+
node dist/index.js
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## Supported Audio Formats
|
|
228
|
+
|
|
229
|
+
- MP3 - Compressed audio (default)
|
|
230
|
+
- OGG Opus - High-quality compressed audio
|
|
231
|
+
- PCM - Raw uncompressed audio
|
|
232
|
+
|
|
233
|
+
## Support
|
|
234
|
+
|
|
235
|
+
For issues and questions:
|
|
236
|
+
|
|
237
|
+
- Email: team@visionengine-tech.com
|
|
238
|
+
- Website: https://visionengine-tech.com
|
|
239
|
+
|
package/dist/server.js
CHANGED
|
@@ -11,9 +11,9 @@ const server = new FastMCP({
|
|
|
11
11
|
});
|
|
12
12
|
// Get configuration from environment variables
|
|
13
13
|
const API_URL = process.env.API_URL || "https://openspeech.bytedance.com/api/v3/tts/unidirectional";
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
14
|
+
const APP_ID = process.env.APP_ID || "";
|
|
15
|
+
const ACCESS_TOKEN = process.env.ACCESS_TOKEN || "";
|
|
16
|
+
const RESOURCE_ID = process.env.RESOURCE_ID || "seed-tts-2.0";
|
|
17
17
|
const WORKDIR = process.env.WORKDIR || "./";
|
|
18
18
|
// Generate unique filename with timestamp
|
|
19
19
|
function generateFilename(format) {
|
|
@@ -119,8 +119,8 @@ function httpPostStream(url, headers, body) {
|
|
|
119
119
|
}
|
|
120
120
|
// Call TTS API and save audio file
|
|
121
121
|
async function synthesizeSpeech(options) {
|
|
122
|
-
if (!
|
|
123
|
-
throw new Error("
|
|
122
|
+
if (!APP_ID || !ACCESS_TOKEN) {
|
|
123
|
+
throw new Error("APP_ID and ACCESS_TOKEN environment variables are required");
|
|
124
124
|
}
|
|
125
125
|
await ensureWorkdir();
|
|
126
126
|
const format = options.format || "mp3";
|
|
@@ -176,9 +176,9 @@ async function synthesizeSpeech(options) {
|
|
|
176
176
|
}
|
|
177
177
|
// Build headers
|
|
178
178
|
const headers = {
|
|
179
|
-
"X-Api-App-Id":
|
|
180
|
-
"X-Api-Access-Key":
|
|
181
|
-
"X-Api-Resource-Id":
|
|
179
|
+
"X-Api-App-Id": APP_ID,
|
|
180
|
+
"X-Api-Access-Key": ACCESS_TOKEN,
|
|
181
|
+
"X-Api-Resource-Id": RESOURCE_ID,
|
|
182
182
|
};
|
|
183
183
|
// Make request and get audio data
|
|
184
184
|
const audioBuffer = await httpPostStream(API_URL, headers, JSON.stringify(requestBody));
|
|
@@ -204,7 +204,7 @@ server.addTool({
|
|
|
204
204
|
text: args.text,
|
|
205
205
|
speaker: args.speaker,
|
|
206
206
|
format: args.format,
|
|
207
|
-
sampleRate: args.sampleRate,
|
|
207
|
+
sampleRate: args.sampleRate ? Number(args.sampleRate) : undefined,
|
|
208
208
|
speechRate: args.speechRate,
|
|
209
209
|
loudnessRate: args.loudnessRate,
|
|
210
210
|
emotion: args.emotion,
|
|
@@ -228,15 +228,15 @@ server.addTool({
|
|
|
228
228
|
text: z.string().describe("Text content to synthesize into speech"),
|
|
229
229
|
speaker: z.string().describe("Voice speaker ID (e.g., 'zh_female_vv_uranus_bigtts'). Use list-voices tool to get available voices."),
|
|
230
230
|
format: z.enum(["mp3", "ogg_opus", "pcm"]).optional().describe("Audio format: mp3 (default), ogg_opus, or pcm"),
|
|
231
|
-
sampleRate: z.enum(["8000", "16000", "22050", "24000", "32000", "44100", "48000"]).
|
|
232
|
-
speechRate: z.number().
|
|
233
|
-
loudnessRate: z.number().
|
|
231
|
+
sampleRate: z.enum(["8000", "16000", "22050", "24000", "32000", "44100", "48000"]).optional().describe("Audio sample rate in Hz. Default: 24000"),
|
|
232
|
+
speechRate: z.number().optional().describe("Speech rate: -50 (0.5x) to 100 (2.0x). Default: 0 (normal speed)"),
|
|
233
|
+
loudnessRate: z.number().optional().describe("Volume: -50 (0.5x) to 100 (2.0x). Default: 0 (normal volume)"),
|
|
234
234
|
emotion: z.string().optional().describe("Emotion setting for supported voices (e.g., 'happy', 'sad', 'angry')"),
|
|
235
|
-
emotionScale: z.number().
|
|
235
|
+
emotionScale: z.number().optional().describe("Emotion intensity: 1-5. Default: 4"),
|
|
236
236
|
contextTexts: z.array(z.string()).optional().describe("Context hints for TTS 2.0 to adjust style (e.g., ['Please speak slowly'])"),
|
|
237
237
|
explicitLanguage: z.string().optional().describe("Explicit language: zh-cn, en, ja, es-mx, id, pt-br, de, fr, or 'crosslingual'"),
|
|
238
238
|
disableMarkdownFilter: z.boolean().optional().describe("Disable markdown parsing. Default: false"),
|
|
239
|
-
pitch: z.number().
|
|
239
|
+
pitch: z.number().optional().describe("Pitch adjustment: -12 to 12. Default: 0"),
|
|
240
240
|
}),
|
|
241
241
|
});
|
|
242
242
|
// Tool: list-voices - Query available voices by language
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC;IACzB,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,+CAA+C;AAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,4DAA4D,CAAC;AACpG,MAAM,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visionengine/audio-tts",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "VisionEngine Audio TTS MCP Server - Text-to-speech synthesis and voice list query service",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"volcengine",
|
|
29
29
|
"visionengine"
|
|
30
30
|
],
|
|
31
|
-
"author": "
|
|
31
|
+
"author": "team@visionengine-tech.com",
|
|
32
32
|
"license": "MIT",
|
|
33
33
|
"repository": {
|
|
34
34
|
"type": "git",
|