跳转到正文

WARNING

本文档由 AI 自动翻译,仅供参考。涉及关键操作或信息时,请以英文原文为准。

使用 Speaches 搭建语音服务 ​

Speaches 是一个兼容 OpenAI API 的语音服务器,支持语音转文本(STT)和文本转语音(TTS)。它预装了模型,开箱即用,也可以轻松作为任何支持 OpenAI SDK 的应用的即插即用后端。

本指南将介绍如何在 Olares 上安装和使用 Speaches,包括语音转文本、文本转语音、Audio Chat、API 访问以及基本的模型管理。

学习目标 ​

在本指南中,你将学习如何:

  • 在 Olares 上安装 Speaches。
  • 使用语音转文本功能转录或翻译音频文件。
  • 使用文本转语音功能将文本生成语音。
  • 使用 Audio Chat 与 AI 模型进行语音对话。
  • 从其他应用访问 Speaches API。
  • 管理语音模型。

前提条件 ​

开始前,你需要:

  • 一台运行 Olares 1.12.7 或更高版本、具有足够磁盘空间和内存的 Olares 设备。

  • 使用本地模型时,能够访问 Router。

  • Olares 运行在一台带有 NVIDIA GPU 的设备上。

  • 如需使用 Audio Chat,请安装以下聊天模型:

    模型类型模型获取方式
    聊天Qwen3.8-27B (llama.cpp)从应用市场安装
可选:使用其他模型

从应用市场安装其他聊天模型,或通过引擎基座应用创建模型实例,然后在 Router 的 Default models 页面将其设为默认聊天模型。使用 default-chat 的客户端会调用新的默认模型,无需修改客户端的模型设置。

如果希望某个客户端始终使用指定模型,可改填 Router 的 How to call this model 窗口中显示的完整模型名称。

安装 Speaches ​

  1. 打开 Market 并搜索 "Speaches"。

    Speaches in Market

  2. 点击 Get,然后点击 Install,等待安装完成。

安装完成后,你将在 Launchpad 上看到两个图标:

  • Speaches:语音转文本、文本转语音和音频聊天的主界面。
  • Speaches Terminal:用于管理模型的命令行终端。

首次启动时的模型设置

首次打开 Speaches 时,它会下载并初始化内置模型。根据你的网络连接情况,此过程可能需要一些时间。

如果初始化在 30 分钟内未完成,可能会超时并自动取消。如果发生这种情况,请等待网络连接稳定后,再次打开 Speaches 以重试初始化。

使用 Speaches ​

Speaches 预装了两个开箱即用的模型:

模型类型用途
Systran/faster-whisper-smallSTT语音识别和翻译
speaches-ai/Kokoro-82M-v1.0-ONNXTTS语音合成

转录音频 ​

  1. 打开 Speaches 并点击 Speech-to-Text 标签页。

  2. 在 Model 下,选择一个 STT 模型,例如 Systran/faster-whisper-small。

  3. 在 Task 下,选择 transcribe。

  4. 上传一个音频文件,或点击 mic 从麦克风录制音频。

  5. (可选)如果你希望在转录过程中接收部分结果,请启用 Stream。

  6. 点击 Generate。

    Speech-to-text transcription

处理完成后,转录文本将显示在 Textbox 中。

将音频翻译为英文 ​

Speaches 可以自动检测音频语言并将其翻译为英文。

  1. 打开 Speaches 并点击 Speech-to-Text 标签页。
  2. 在 Model 下,选择一个 STT 模型,例如 Systran/faster-whisper-small。
  3. 在 Task 下,选择 translate。
  4. 上传一个音频文件,或点击 mic 从麦克风录制音频。
  5. (可选)如果你希望在翻译过程中接收部分结果,请启用 Stream。
  6. 点击 Generate。 Speech-to-text translation

处理完成后,英文翻译将显示在 Textbox 中。

从文本生成语音 ​

  1. 打开 Speaches 并点击 Text-to-Speech 标签页。

  2. 在 Input Text 中输入要转换的文本。

  3. 在 Model 下,选择一个 TTS 模型。

  4. 在 Voice 中选择一个语音。

  5. 在 Response Format 下,选择一个输出格式。

  6. 点击 Generate Speech。

    Text-to-speech generation

  7. 播放生成的音频,并在需要时下载。

使用语音与 AI 聊天 ​

使用 Audio Chat 可以通过语音、文本或音频文件与 AI 模型对话。Speaches 首先将你的语音转换为文本,然后将文本发送给聊天模型,并可以将回复转换回语音。

INFO

  • 音频播放目前仅支持英文回复。对于其他语言,回复仅以文本形式显示。

获取模型连接信息 ​

模型连接的工作原理

在 Olares 1.12.7 及以上版本中,AI 客户端通过 Olares Router 连接模型。Router 提供 Base URL,并将 default-chat 的请求转发给**默认模型(Default models)**页面中设置的聊天模型。

本教程使用 Qwen3.8-27B (llama.cpp) 作为默认聊天模型。连接格式和 API 密钥要求详见连接 AI 应用。

本指南使用 Qwen3.8-27B (llama.cpp) 作为 Audio Chat 的聊天模型,并使用 OpenAI-Compatible API 格式。

  1. 从启动台打开 Router。在 Default models 页面将 Qwen3.8-27B (llama.cpp) 设为默认聊天模型。

  2. 进入 LLM 页面,找到 Qwen3.8-27B (llama.cpp),点击模型所在行的 View connection example 图标。

  3. 在 How to call this model 窗口中,选择 Apps in Olares,复制完整的 Base URL,保留末尾的 /v1。

  4. 模型名称使用 default-chat。

    在应用中选择模型

    default-chat 是路由名称,不会出现在从 Router 获取的模型列表中。如果要连接 Router 的应用会加载模型列表,请手动添加 default-chat。如果应用只允许选择列表中的模型,请选择 Router 的 How to call this model 窗口中显示的完整模型名称。

  5. API 密钥留空。如果要连接 Router 的应用要求填写此字段,请填入 olares。

配置 Speaches ​

  1. 前往 Olares Settings > Applications > Speaches > Manage environment variables。
  2. 点击 CHAT_COMPLETION_BASE_URL 旁边的 edit_square。
  3. 将Router 中显示的 OpenAI-compatible Base URL 原样粘贴,包括末尾的 /v1,然后点击 Confirm。
  4. 点击 Apply 保存更改。

Speaches 会自动重启,并加载该 endpoint 提供的模型。

开始语音对话 ​

  1. 打开 Speaches 并点击 Audio Chat 标签页。

  2. 在 Chat Model 下,选择 Router 返回的 Qwen3.8-27B 条目,例如 Olares/unsloth/Qwen3.8-27B-GGUF:UD-Q4_K_XL。此选择器列出具体模型,不包含 default-chat。

  3. 使用以下任一方式发送消息:

    • Audio file:上传一个音频文件。
    • Text:在麦克风图标旁的输入框中输入你的消息并发送。
    • Voice:点击 mic 录制你的消息,然后点击 send 发送。

    Audio Chat interface

  4. 等待 Speaches 生成回复。

WARNING

完整的语音流程(STT、LLM、TTS)需要一定时间来完成。在回复生成过程中请勿刷新页面,否则可能会看到 UI 闪烁。

可选:提高 Audio Chat 的转录准确性 ​

Audio Chat 默认使用预装的 Systran/faster-whisper-small 语音转文本模型。为了获得更好的转录准确性,你可以切换到更大的模型,例如 Systran/faster-whisper-large-v3。

可能需要更多 GPU 资源

更大的模型需要更多的 GPU 资源。如果在切换到更大的模型后生成任务开始失败,请参阅为什么切换到更大的模型后任务会失败。

  1. 打开 Speaches Terminal 并下载模型:

    bash
    hf download Systran/faster-whisper-large-v3

    如果你看到关于 HF_TOKEN 的警告,可以忽略它。即使不设置此项,模型下载仍然可以继续。

  2. 前往 Settings > Applications > Speaches > Manage environment variables。

  3. 点击 SPEACHES_WHISPER_MODEL 旁边的 edit_square。

  4. 将值设置为你下载的模型,例如 Systran/faster-whisper-large-v3,然后点击 Confirm。 Update STT model

  5. 点击 Apply 保存更改。

Speaches 会自动重启以应用更改。

等待服务初始化

应用显示为运行状态后,请再等待一段时间再使用,因为服务可能仍在初始化中。

管理模型 ​

当你想使用不同的模型、提高质量或释放存储空间时,可以管理模型。

查看已下载的模型 ​

要查看所有已下载的模型,请打开 Speaches Terminal 并运行:

bash
hf cache list

下载新模型 ​

  1. 打开 Speaches Terminal 并运行:

    bash
    hf download <model-name>

    例如:

    bash
    # 下载更大的 Whisper 模型以获得更高的准确性
    hf download Systran/faster-whisper-medium
    # 准确性最高的 Whisper 模型,需要更多显存
    hf download Systran/faster-whisper-large-v3

    共享模型存储

    模型下载到 Olares Files 的 /Home/Huggingface/speaches/ 目录。如果 Olares 上的其他应用也使用 Hugging Face 模型,它们会共享此目录。

  2. 刷新 Speaches 页面以将新模型加载到列表中。

删除模型 ​

要释放存储空间,你可以删除不再需要的模型:

  1. 打开 Speaches Terminal 并运行:
bash
hf cache rm model/<model_name>

例如:

bash
hf cache rm model/Systran/faster-whisper-medium
  1. 刷新 Speaches 页面以更新模型列表。

切换到 CPU 模式 ​

Speaches 默认使用 GPU 模式。如果需要,你可以切换到 CPU 模式。CPU 模式速度较慢,主要适用于小型任务。

要切换到 CPU 模式:

  1. 前往 Settings > Applications > Speaches > Manage environment variables。

  2. 点击 SPEACHES_GPU 旁边的 edit_square,将其值更改为 false,然后点击 Confirm。

    Switch to CPU mode

  3. 点击 Apply 保存更改。

Speaches 会自动以 CPU 模式重新部署。与 GPU 模式相比,处理速度会更慢。

常见问题 ​

为什么 Audio Chat 显示错误? ​

如果 CHAT_COMPLETION_BASE_URL 为空、填写错误或无法访问,Audio Chat 将无法加载模型。请确保聊天模型正在运行,然后使用Router 中显示的 OpenAI-compatible Base URL 重新配置 Speaches。

为什么切换到更大的模型后任务会失败? ​

此问题通常发生在 GPU 处于 Memory slicing 模式时。

更大的模型需要更多的 VRAM。如果 Speaches 只分配了少量 VRAM,在切换到更大的模型后,生成任务可能会失败。

要修复此问题:

  • 在 Memory slicing 模式下增加分配给 Speaches 的 VRAM。
  • 或将 GPU 切换到其他模式。

详细说明请参阅管理 GPU 资源。

Audio Chat 可以使用其他聊天模型提供商吗? ​

可以。将 CHAT_COMPLETION_BASE_URL 设置为该提供商的 OpenAI-compatible Base URL。URL 必须以 /v1 结尾。

了解更多 ​

  • Speaches 官方文档:完整的 API 参考和模型兼容性说明。
  • Open WebUI:可以使用 Speaches 作为语音后端的聊天界面。
  • IndexTTS2:通过零样本语音克隆从文本生成语音。