如何让Open WebUI 集成 Edge TTS,实现自然的语音输出

本教程将详细指导你如何使用 Docker 容器,为 Open WebUI 安装并配置 Microsoft Edge 浏览器的文本转语音(TTS)引擎。通过集成 Edge TTS,你的 Open WebUI 将能够生成高质量、自然流畅的语音输出,从而显著提升体验。
一、 准备工作
在开始集成之前,你需要确保您的系统满足以下基本条件:
首先,你的计算机上必须已经安装并成功运行了 Docker。Docker 是一个开源的应用容器引擎,它可以让开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 或 Windows 机器上。你可以从 Docker 官方网站下载并安装适合您操作系统的 Docker Desktop 或 Docker Engine。请务必按照官方的安装指南进行操作,确保 Docker 能够正常运行。
其次,你需要已经安装并运行了 Open WebUI。Open WebUI 是一个用户友好的 Web 界面,用于与各种大型语言模型(LLM)进行交互。本教程假设你已经按照 Open WebUI 的官方文档完成了安装和基本配置。如果你尚未安装 Open WebUI,请务必先访问 Open WebUI 的官方网站或 GitHub 仓库,按照说明完成安装步骤。
二、 运行 openai-edge-tts
Docker 容器
为了将 Edge TTS 集成到 Open WebUI 中,我们需要运行一个名为 openai-edge-tts
的 Docker 容器。这个容器提供了一个与 OpenAI TTS API 兼容的接口,但实际上它使用了 Microsoft Edge 浏览器的在线 TTS 服务。
- 打开终端或命令行界面 无论你使用的是 macOS、Linux 还是 Windows 操作系统,都需要打开一个终端或命令行界面。在 macOS 或 Linux 上,你可以找到并打开“终端”应用程序。在 Windows 上,你可以打开“命令提示符”或“PowerShell”。
- 运行 Docker 命令 在终端或命令行界面中,输入并执行以下命令:
docker run -d -p 5050:5050 travisvn/openai-edge-tts:latest
这条命令包含了多个参数,每个参数都有特定的作用:-d
参数告诉 Docker 在后台运行容器。这意味着容器将在你关闭终端窗口后继续运行,不会中断服务。-p 5050:5050
参数将容器内部的 5050 端口映射到您计算机的 5050 端口。端口映射是容器与外部世界通信的关键。通过这个映射,Open WebUI 可以通过你计算机的 5050 端口访问openai-edge-tts
服务。travisvn/openai-edge-tts:latest
指定了要使用的 Docker 镜像。travisvn/openai-edge-tts
是由社区维护的、专门为 Open WebUI 集成 Edge TTS 而设计的镜像。:latest
表示拉取该镜像的最新版本。
travisvn/openai-edge-tts:latest
镜像。如果本地没有,Docker 将会自动从 Docker Hub(一个公共的 Docker 镜像仓库)下载该镜像。下载完成后,Docker 将会创建一个新的容器并启动它。
三、 配置 Open WebUI
现在,openai-edge-tts
容器已经在后台运行,接下来我们需要配置 Open WebUI,使其能够使用这个 TTS 服务。
- 访问 Open WebUI 管理面板 打开你的 Web 浏览器,访问 Open WebUI 的界面。通常情况下,可以通过在浏览器地址栏中输入
http://localhost:3000
来访问本地运行的 Open WebUI。如果 Open WebUI 部署在远程服务器上,你需要输入服务器的 IP 地址和端口号(例如http://192.168.1.100:3000
)。 - 进入设置页面 在 Open WebUI 的界面上,找到并点击设置按钮。这个按钮通常是一个齿轮图标,或者在菜单中标记为“Settings”。点击后,您将进入 Open WebUI 的设置页面。
- 找到音频设置 在设置页面中,找到与音频相关的设置部分。这部分设置的名称可能会有所不同,常见的名称包括“Audio”、“Speech to Text & Text to Speech”或者类似的名称。
- 配置文本转语音 (TTS) 选项 在音频设置中,找到“Text to Speech (TTS)”或类似的设置选项。这里就是配置 TTS 提供程序的地方。
- TTS Provider(TTS 提供程序): 从下拉菜单中选择“OpenAI TTS”。请注意,虽然我们选择的是“OpenAI TTS”,但实际上我们使用的是
openai-edge-tts
提供的服务,它模拟了 OpenAI 的 API,但底层使用了 Edge TTS。 - API Endpoint URL(API 端点 URL): 这是非常关键的一步。需要输入
openai-edge-tts
服务的 URL。根据 Open WebUI 的运行环境,URL 会有所不同:- 如果 Open WebUI 也运行在 Docker 容器中,那么 URL 通常是
http://host.docker.internal:5050/v1
。host.docker.internal
是 Docker 内部网络的一个特殊地址,它允许容器访问宿主机(即运行 Docker 的计算机)。 - 如果 Open WebUI 运行在本地(没有使用 Docker),那么 URL 通常是
http://localhost:5050/v1
或计算机的本地 IP 地址加上端口号(例如http://192.168.1.100:5050/v1
)。
- 如果 Open WebUI 也运行在 Docker 容器中,那么 URL 通常是
- API Key(API 密钥): 在这个字段中,可以保留默认值
your_api_key_here
。由于openai-edge-tts
模拟了 OpenAI 的 API,并且使用了 Edge 浏览器的在线 TTS 服务,因此不需要真正的 OpenAI API 密钥。 - TTS Voice(TTS 语音): 从下拉菜单中选择喜欢的语音。Edge TTS 提供了多种不同的语音,每种语音都有不同的发音风格和语言支持。可以尝试不同的语音,找到最适合您的。
- TTS Provider(TTS 提供程序): 从下拉菜单中选择“OpenAI TTS”。请注意,虽然我们选择的是“OpenAI TTS”,但实际上我们使用的是
- 保存设置 完成上述配置后,请务必点击“Save”、“Apply”或类似的按钮,保存 TTS 设置。
- 重启 Open WebUI(如果需要) 某些设置更改可能需要重启 Open WebUI 才能生效。如果语音输出没有立即改变,请尝试重启 Open WebUI。可以通过关闭并重新打开 Open WebUI 的 Web 界面,或者在终端中重启 Open WebUI 的服务(如果知道如何操作)来实现重启。
四、 测试与使用
完成以上所有步骤后,Open WebUI 应该已经成功集成了 Edge TTS。现在,你可以尝试与 Open WebUI 中的聊天机器人进行对话,测试语音输出效果。Open WebUI 生成的所有文本响应都将使用 Edge TTS 进行语音合成,你应该能够听到清晰、自然、流畅的声音。
五、 常见问题排查
如果在集成过程中遇到任何问题,你可以参考以下常见问题排查方法:
- 没有声音输出:
- 首先,检查你的计算机的音量设置,确保音量已打开并且没有静音。
- 其次,仔细检查 Open WebUI 中的 TTS 设置,确保所有选项都已正确配置,特别是 API Endpoint URL。
- 然后,使用
docker ps
命令检查openai-edge-tts
容器是否正在运行。如果容器没有运行,请重新执行运行容器的命令。 - 最后,尝试重启 Open WebUI 和
openai-edge-tts
容器。
- 声音不自然或不清晰:
- 在 Open WebUI 中尝试选择不同的 TTS 语音。不同的语音有不同的发音风格和质量。
- 如果 Open WebUI 提供了调整语音速度的选项,你可以尝试调整语速,找到最适合您的节奏。
- 网络连接问题:
openai-edge-tts
依赖于微软的在线 TTS 服务,因此你的计算机需要能够访问互联网。- 如果你的网络环境中有防火墙或代理服务器,请确保它们允许你的计算机访问微软的 TTS 服务。
希望这个详细的教程能够帮助你顺利地为 Open WebUI 集成 Edge TTS,享受更优质的语音交互体验!
回复