语音服务#

Manim Voiceover 可以接入各种语音合成器来生成画外音音频。下面是可用服务的比较、它们的优缺点以及如何设置它们。

选择语音服务#

Manim Voiceover 定义了 SpeechService 类,用于添加新的语音合成器。下面介绍的所有类都派生自 SpeechService

可用语音服务比较#

语音服务

质量

可离线运行?

付费/需要账户?

备注

RecorderService

不适用

不适用

不适用

这是一个实用类,用于使用麦克风录制您自己的画外音。

AzureService

非常好,接近真人

Azure 提供每月 500 分钟的免费 TTS 配额。但是,注册仍需要信用卡或借记卡。有关详细信息,请参阅Azure 免费帐户常见问题

ElevenLabsService

非常好,接近真人

需要 ElevenLabs 账户。点击此处注册。

CoquiService

良好,接近真人

需要 PyTorch 才能运行。在某些平台上可能难以设置。

GTTSService

良好

这是一个由 Google 资助的免费 API,因此未来可能会停止工作。

OpenAIService

非常好,接近真人

需要 OpenAI 开发者账户。请参阅平台注册,并参阅定价页面了解更多详情。

PyTTSX3Service

需要 espeak。在 Mac 上运行不可靠。

我们的路线图是提供一个可在本地免费运行的高质量 TTS 引擎。如果您有任何建议,请在 Discord 服务器中告知我们。

RecorderService#

这不是一个语音合成器,而是一个实用类,用于使用麦克风录制您自己的画外音。它提供了一个命令行界面,以便在渲染过程中录制画外音。

安装带有 recorder 额外功能的 Manim Voiceover 以使用 RecorderService

pip install "manim-voiceover[recorder]"

请参阅示例用法以开始使用。

AzureService#

目前,Manim Voiceover 中可用的最高质量文本到语音服务是 Microsoft Azure 语音服务。要使用它,您需要创建一个 Azure 账户

提示

Azure 目前提供每月 500 分钟的免费 TTS。这对于大多数项目来说已经足够了。

安装带有 azure 额外功能的 Manim Voiceover 以使用 AzureService

pip install "manim-voiceover[azure]"

然后,您需要找出您的订阅密钥和服务区域

  • 登录 Azure 门户并创建一个新的语音服务资源。

  • 转到Azure 认知服务页面

  • 点击您创建的资源并转到 Keys and Endpoint 选项卡。复制 Key 1Location 的值。

在您调用 Manim 的相同目录中创建一个名为 .env 的文件,其中包含您的身份验证信息。

AZURE_SUBSCRIPTION_KEY="..." # insert Key 1 here
AZURE_SERVICE_REGION="..."   # insert Location here

请参阅Azure 文档了解更多详情。

请参阅示例用法以开始使用。

CoquiService#

Coqui TTS 是一个开源的神经文本到语音引擎。它是 Mozilla TTS 的一个分支,而 Mozilla TTS 是 Tacotron 2 的一个实现。它是一个非常好的 TTS 引擎,可以产生接近真人的语音。但是,它需要 PyTorch 才能运行,这在某些平台上可能难以设置。

安装带有 coqui 额外功能的 Manim Voiceover 以使用 CoquiService

pip install "manim-voiceover[coqui]"

如果您遇到 PyTorch 或 NumPy 的问题,请尝试将您的 Python 版本更改为 3.9。

请参阅示例用法以开始使用。

GTTSService#

gTTS 是一个文本到语音库,它封装了 Google 翻译的文本到语音 API。它需要互联网连接才能工作。

安装带有 gtts 额外功能的 Manim Voiceover 以使用 GTTSService

pip install "manim-voiceover[gtts]"

请参阅示例用法以开始使用。

OpenAIService#

OpenAI 提供文本到语音服务。它通过 API 工作,因此需要互联网连接才能使用。它还需要一个 API 密钥。点击此处注册。

安装带有 openai 额外功能的 Manim Voiceover 以使用 OpenAIService

pip install "manim-voiceover[openai]"

然后,您需要找出您的 API 密钥

  • 登录 OpenAI 平台并从左侧面板点击 API Keys。

  • 点击创建新的密钥并复制。

在您调用 Manim 的相同目录中创建一个名为 .env 的文件,其中包含您的身份验证信息。

OPENAI_API_KEY="..." # insert the secret key here. It should start with "sk-"

请参阅OpenAI 文档了解更多详情。

请参阅示例用法以开始使用。

PyTTSX3Service#

pyttsx3 是一个文本到语音库,它封装了espeak,一个共振峰合成语音合成器。

安装带有 pyttsx3 额外功能的 Manim Voiceover 以使用 PyTTSX3Service

pip install "manim-voiceover[pyttsx3]"

请参阅示例用法以开始使用。

ElevenLabsService#

ElevenLabs 提供最自然的语音服务 API 之一。它拥有一系列逼真且富有情感的声音,还允许您通过上传几分钟的语音来克隆自己的声音。要使用它,您需要在 Eleven Labs 创建一个账户。

提示

ElevenLabs 目前提供每月 10,000 字符的免费 TTS 配额,并最多支持 3 个自定义声音。

安装带有 elevenlabs 额外功能的 Manim Voiceover 以使用 ElevenLabsService

pip install "manim-voiceover[elevenlabs]"

然后,您需要找出您的 API 密钥。

  • 登录 ElevenLabs 门户并前往您的个人资料以获取密钥

  • 将环境变量 ELEVEN_API_KEY 设置为您的密钥

在您调用 Manim 的相同目录中创建一个名为 .env 的文件,其中包含您的身份验证信息。

ELEVEN_API_KEY="..." # insert Key 1 here

请参阅ElevenLabs 文档了解更多详情。

请参阅示例用法以开始使用。