声音 / 语音输入输出(语音转文本 / 文本转语音)
语音输入输出(语音转文本 / 文本转语音) v1.2.x · 已更新 2026-07-05 ⧉ 复制为 Markdown ✓ 已复制
AiHummer 车把手 箱内的语音输入和语音输出 — 无需付费的语音 API。传入的音频片段会被转录(STT),文本驱动正常的代理回合,答案会被语音输出(TTS)。两个引擎都 免费且本地 并作为 边车 : 使用 faster-whisper 进行转录,使用 edge-tts 进行合成。
声音转换是如何工作的
语音通话是指双方都有音频的普通代理通话:
网关将入站音频发送到 STT 辅助容器 (:8001,
faster-whisper) 并返回文本。
该文本驱动了通常的函数调用回合——相同的路由器,协调器,
将工具和记忆作为短信。
回复文本已发送到 TTS 辅助程序 (:8002,edge-tts)和
口语音频会返回给呼叫者。
这是作为单一端点暴露的, POST /v1/voice/turn因此,通道或客户端可以传递音频并接收音频,而无需自行协调步骤。
端点
方法
终端
目的
POST
/v1/voice/turn
音频输入 → 代理回合 → 音频输出
GET
/v1/voice/config
当前语音配置(引擎、调节旋钮)
POST /v1/voice/turn HTTP / 1.1
Host : localhost:8780
Content-Type : application/json
{
"audio" : "<base64-encoded clip>" ,
"format" : "wav"
}
[!NOTE]
语音特征是……的一部分 核心 — 它们不绑定到 SIP 插件。
SIP 通道为其使用相同的 STT/TTS 引擎 local 引擎,但声音
对于任何调用的客户端,进/出均可使用 /v1/voice/turn.
语音边车
港口
边车
发动机
角色
连接有
8001
语音转文字
更快的耳语
语音 → 文本
AIHUMMER_STT_URL
8002
文字转语音
edge-tts
文本 → 语音
AIHUMMER_TTS_URL
两个引擎都是免费的并且是本地的:没有任何数据发送给付费语音供应商。和每个旁路一样,网关可以访问它们 通过 URL ,这样你就可以在网关旁运行它们,或者指向一个共享实例。
布线
本地主机安装程序会为您设置STT和TTS的URL。它们是 目录设置 — 从管理员界面更改它们 (管理 → 设置 ) 或者与 aihummer settings set; gateway.env 仅适用于 Bootstrap,并在以下情况下被忽略:
# Voice in/out (auto-configured by the installer)
aihummer settings set AIHUMMER_STT_URL http://127.0.0.1:8001
aihummer settings set AIHUMMER_TTS_URL http://127.0.0.1:8002
[!TIP]
因为每个边车只是一个 URL,多个网关可以共享一个 STT/TTS
例子。集中较重的语音服务,而不是为每个副本运行一份
主持人。
调节音频路径
音质调节旋钮位于 媒体 · 声音 设置组,可以从网页管理员界面配置——无需重新部署。它们涵盖实时音频路径:
旋钮
它控制什么
双工
全双工(边说边听)与半双工
建筑工程与施工
声学回声消除
噪声抑制
在语音转文字之前过滤背景噪音
自动增益控制
自动增益控制(电平归一化)
VAD 阈值
语音活动检测灵敏度
打断
让呼叫者在代理回答中途打断
GET /v1/voice/config 返回有效的配置,以便客户端能够发现活动的引擎及其设置。
接下来去哪儿
← 上一个
通用入站
下一步 →
语音翻译与视频
AiHummer 车把手 **箱内的语音输入和语音输出** — 无需付费的语音 API。传入的音频片段会被转录(STT),文本驱动正常的代理回合,答案会被语音输出(TTS)。两个引擎都 **免费且本地** 并作为 [边车](/zh/v1.0/architecture/sidecars): 使用 faster-whisper 进行转录,使用 edge-tts 进行合成。
## 声音转换是如何工作的
语音通话是指双方都有音频的普通代理通话:
1. 网关将入站音频发送到 **STT 辅助容器** (`:8001`,
faster-whisper) 并返回文本。
2. 该文本驱动了通常的函数调用回合——相同的路由器,协调器,
将工具和记忆作为短信。
3. 回复文本已发送到 **TTS 辅助程序** (`:8002`,edge-tts)和
口语音频会返回给呼叫者。
这是作为单一端点暴露的, `POST /v1/voice/turn`因此,通道或客户端可以传递音频并接收音频,而无需自行协调步骤。
## 端点
| 方法 | 终端 | 目的 |
|---|---|---|
| `POST` | `/v1/voice/turn` | 音频输入 → 代理回合 → 音频输出 |
| `GET` | `/v1/voice/config` | 当前语音配置(引擎、调节旋钮) |
```http
POST /v1/voice/turn HTTP/1.1
Host: localhost:8780
Content-Type: application/json
{
"audio": "<base64-encoded clip>",
"format": "wav"
}
```
> [!NOTE]
> 语音特征是……的一部分 **核心** — 它们不绑定到 SIP 插件。
> SIP 通道为其使用相同的 STT/TTS 引擎 `local` 引擎,但声音
> 对于任何调用的客户端,进/出均可使用 `/v1/voice/turn`.
## 语音边车
| 港口 | 边车 | 发动机 | 角色 | 连接有 |
|---|---|---|---|---|
| 8001 | 语音转文字 | 更快的耳语 | 语音 → 文本 | `AIHUMMER_STT_URL` |
| 8002 | 文字转语音 | edge-tts | 文本 → 语音 | `AIHUMMER_TTS_URL` |
两个引擎都是免费的并且是本地的:没有任何数据发送给付费语音供应商。和每个旁路一样,网关可以访问它们 **通过 URL**,这样你就可以在网关旁运行它们,或者指向一个共享实例。
## 布线
本地主机安装程序会为您设置STT和TTS的URL。它们是 **目录设置** — 从管理员界面更改它们 (**管理 → 设置**) 或者与 `aihummer settings set`; `gateway.env` 仅适用于 Bootstrap,并在以下情况下被忽略:
```bash
# Voice in/out (auto-configured by the installer)
aihummer settings set AIHUMMER_STT_URL http://127.0.0.1:8001
aihummer settings set AIHUMMER_TTS_URL http://127.0.0.1:8002
```
> [!TIP]
> 因为每个边车只是一个 URL,多个网关可以共享一个 STT/TTS
> 例子。集中较重的语音服务,而不是为每个副本运行一份
> 主持人。
## 调节音频路径
音质调节旋钮位于 **媒体 · 声音** 设置组,可以从网页管理员界面配置——无需重新部署。它们涵盖实时音频路径:
| 旋钮 | 它控制什么 |
|---|---|
| 双工 | 全双工(边说边听)与半双工 |
| 建筑工程与施工 | 声学回声消除 |
| 噪声抑制 | 在语音转文字之前过滤背景噪音 |
| 自动增益控制 | 自动增益控制(电平归一化) |
| VAD 阈值 | 语音活动检测灵敏度 |
| 打断 | 让呼叫者在代理回答中途打断 |
`GET /v1/voice/config` 返回有效的配置,以便客户端能够发现活动的引擎及其设置。
## 接下来去哪儿
- 这些服务背后的交通模型:
[边车](/zh/v1.0/architecture/sidecars).
- 语音翻译与视频理解:
[语音翻译与视频](/zh/v1.0/voice/diarization-translation-clone).
- 电话线路上的声音:
[SIP电话](/zh/v1.0/channels/sip).