Skip to content

Commit

Permalink
feat: 添加语速配置
Browse files Browse the repository at this point in the history
  • Loading branch information
xnmeet committed Jan 18, 2025
1 parent 84be11d commit 4e4f479
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 53 deletions.
61 changes: 38 additions & 23 deletions bob-plugin/README.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,62 @@
# Bob Kokoro TTS Plugin

Bob 的文本转语音插件,使用 Kokoro 本地部署模型作为语音合成服务。
<div align="center">
<img src="src/icon.png" width="128" height="128" alt="Plugin Icon">
</div>

## 功能特点
<p align="center">
Bob 的文本转语音插件,使用 Kokoro 本地部署模型作为语音合成服务。
</p>

- 支持多种声音选项
- 可自定义服务器接口地址
- 支持 Base64 格式的音频输出
- 与 Bob 无缝集成
## ✨ 功能特点

## 安装要求
- 🎙️ 支持多种声音选项
- 🔧 可自定义服务器接口地址
- 💾 支持 Base64 格式的音频输出
- 🔌 与 Bob 无缝集成

## 📋 安装要求

- Bob 版本 ≥ 1.6.0
- 需要有运行中的 Kokoro TTS 服务器

## 插件配置
## ⚙️ 插件配置

### 必需配置

- **服务器地址**: 设置 Kokoro TTS 服务器的完整地址(例如:`http://localhost:8000/synthesize`
- **服务器地址**: 设置 Kokoro TTS 服务器的完整地址
- 示例:`http://localhost:8000/text-to-speech`

### 可选配置

- **声音选择**: 可选择不同的声音模型
- af: 默认声音
- af_bella: Bella 声音
- af_nicole: Nicole 声音
- af_sarah: Sarah 声音
- af_sky: Sky 声音
- am_adam: Adam 声音
- am_michael: Michael 声音
- bf_emma: Emma 声音
- bf_isabella: Isabella 声音
- bm_george: George 声音
- bm_lewis: Lewis 声音

## 使用方法

```
🎤 基础声音
├── af: 默认声音
├── af_bella: Bella 声音
├── af_nicole: Nicole 声音
├── af_sarah: Sarah 声音
└── af_sky: Sky 声音
👨 男声
├── am_adam: Adam 声音
├── am_michael: Michael 声音
├── bm_george: George 声音
└── bm_lewis: Lewis 声音
👩 女声
├── bf_emma: Emma 声音
└── bf_isabella: Isabella 声音
```

## 🎯 使用方法

1. 在 Bob 中选择文本
2. 选择 Kokoro TTS 作为语音合成服务
3. 点击播放按钮即可听到合成的语音

## 开发说明
## 🔄 开发说明

本插件使用 GitHub Actions 进行自动化发布。当插件代码有更新时,会自动:

Expand Down
16 changes: 16 additions & 0 deletions bob-plugin/src/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,22 @@
{ "title": "bm_george", "value": "bm_george" },
{ "title": "bm_lewis", "value": "bm_lewis" }
]
},
{
"identifier": "speed",
"type": "menu",
"title": "语速",
"defaultValue": "1.0",
"menuValues": [
{ "title": "0.25x", "value": "0.25" },
{ "title": "0.5x", "value": "0.5" },
{ "title": "0.75x", "value": "0.75" },
{ "title": "1.0x", "value": "1.0" },
{ "title": "1.25x", "value": "1.25" },
{ "title": "1.5x", "value": "1.5" },
{ "title": "1.75x", "value": "1.75" },
{ "title": "2.0x", "value": "2.0" }
]
}
]
}
2 changes: 1 addition & 1 deletion bob-plugin/src/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ function tts(query, completion) {
body: {
text: originText,
voice: $option.voice,
speed: 1,
speed: parseFloat($option.speed),
stream: false,
format: 'base64'
},
Expand Down
67 changes: 38 additions & 29 deletions server/README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,26 @@
# Kokoro TTS Server

基于 Kokoro 模型的本地部署 TTS 服务器。
<p align="center">
基于 Kokoro 模型的本地部署 TTS 服务器。
</p>

## 开源项目依赖
## 🔗 开源项目依赖

本项目基于以下开源项目:

1. [kokoro-onnx](https://github.com/thewh1teagle/kokoro-onnx) - Kokoro TTS 的 ONNX 运行时实现
2. [Kokoro-82M](https://huggingface.co/hexgrad/Kokoro-82M) - Kokoro TTS 模型
- 🚀 [kokoro-onnx](https://github.com/thewh1teagle/kokoro-onnx) - Kokoro TTS 的 ONNX 运行时实现
- 🧠 [Kokoro-82M](https://huggingface.co/hexgrad/Kokoro-82M) - Kokoro TTS 模型

感谢这些优秀的开源项目的贡献!

## 系统要求
## 💻 系统要求

- Python 3.8+
- ONNX Runtime
- 2GB+ 内存(用于加载模型)
- Docker(可选,如果使用 Docker 部署)

## 准备工作
## 📥 准备工作

在启动服务器之前,需要下载模型文件和声音配置文件:

Expand All @@ -32,7 +34,7 @@ wget https://github.com/thewh1teagle/kokoro-onnx/releases/download/model-files/v

将这两个文件放在 `server` 目录下。这些文件由于体积较大(模型文件约 310MB),不包含在代码仓库中。

## 快速开始
## 🚀 快速开始

### 方式一:直接运行

Expand Down Expand Up @@ -64,16 +66,16 @@ docker build -f Dockerfile.conda -t kokoro-tts-conda .
docker run -p 8000:8000 kokoro-tts-conda
```

## 服务器配置
## ⚙️ 服务器配置

默认配置:

- 监听地址:`0.0.0.0:8000`
- API 端点:`/text-to-speech`
- 支持的音频格式:WAV, MP3
- 支持多种响应格式:流式、二进制、Base64
- 🌐 监听地址:`0.0.0.0:8000`
- 🛣️ API 端点:`/text-to-speech`
- 🎵 支持的音频格式:WAV, MP3
- 📤 支持多种响应格式:流式、二进制、Base64

## API 接口
## 📡 API 接口

### 语音合成接口

Expand All @@ -92,34 +94,41 @@ docker run -p 8000:8000 kokoro-tts-conda

- **响应格式**

1. 流式响应:
1. 🌊 流式响应:

- Content-Type: audio/wav 或 audio/mpeg
- 直接返回音频流

2. 二进制响应:
2. 📦 二进制响应:

- Content-Type: audio/wav 或 audio/mpeg
- 返回完整的音频文件

3. JSON 响应 (`format=base64`):
3. 📝 JSON 响应 (`format=base64`):

```json
{
"audio_data": "base64编码的音频数据"
}
```

### 可用声音列表

- af: 默认声音
- af_bella: Bella 声音
- af_nicole: Nicole 声音
- af_sarah: Sarah 声音
- af_sky: Sky 声音
- am_adam: Adam 声音
- am_michael: Michael 声音
- bf_emma: Emma 声音
- bf_isabella: Isabella 声音
- bm_george: George 声音
- bm_lewis: Lewis 声音
### 🎙️ 可用声音列表

```
🎤 基础声音
├── af: 默认声音
├── af_bella: Bella 声音
├── af_nicole: Nicole 声音
├── af_sarah: Sarah 声音
└── af_sky: Sky 声音
👨 男声
├── am_adam: Adam 声音
├── am_michael: Michael 声音
├── bm_george: George 声音
└── bm_lewis: Lewis 声音
👩 女声
├── bf_emma: Emma 声音
└── bf_isabella: Isabella 声音
```

0 comments on commit 4e4f479

Please sign in to comment.