数学视频动画引擎Python库 -- Manim Voiceover 语音服务 Speech Services

文中内容仅限技术学习与代码实践参考,市场存在不确定性,技术分析需谨慎验证,不构成任何投资建议。

Manim Voiceover 是一个为 Manim 打造的专注于语音旁白的插件:

  • 直接在 Python 中添加语音旁白: 无需使用视频编辑器,即可为 Manim 视频添加语音旁白。
  • 在渲染期间录制旁白: 通过简单的命令行界面(参见 RecorderService),可使用麦克风在渲染过程中录制语音旁白。
  • 使用 AI 生成旁白: 利用多种免费及付费服务,开发时可直接使用 AI 自动生成的配音。
  • 动画逐词时间标记: 实现动画与语音旁白的逐词时间标记同步,即根据语音旁白中特定词语触发相应的动画效果。即使是录制的音频,此功能也能实现。这得益于 OpenAI Whisper 技术的支持。

语音服务

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

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

为了使用 RecorderService,请安装带有 recorder 额外组件的 Manim Voiceover:

bash 复制代码
pip install "manim-voiceover[recorder]"

请参阅示例用法以开始。

AzureService

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

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

为了使用 AzureService,请安装带有 azure 额外组件的 Manim Voiceover:

bash 复制代码
pip install "manim-voiceover[azure]"

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

  • 登录到 Azure 门户并创建一个新的语音服务资源。
  • 转到 Azure 认知服务页面。
  • 点击您创建的资源并转到 Keys and Endpoint 选项卡。复制 Key 1 和 Location 的值。

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

ini 复制代码
AZURE_SUBSCRIPTION_KEY="..." # 在此处插入 Key 1
AZURE_SERVICE_REGION="..."   # 在此处插入 Location

请参阅 Azure 文档以了解更多信息。

请参阅示例用法以开始。

CoquiService

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

为了使用 CoquiService,请安装带有 coqui 额外组件的 Manim Voiceover:

bash 复制代码
pip install "manim-voiceover[coqui]"

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

请参阅示例用法以开始。

GTTSService

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

为了使用 GTTSService,请安装带有 gtts 额外组件的 Manim Voiceover:

bash 复制代码
pip install "manim-voiceover[gtts]"

请参阅示例用法以开始。

OpenAIService

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

为了使用 OpenAIService,请安装带有 openai 额外组件的 Manim Voiceover:

bash 复制代码
pip install "manim-voiceover[openai]"

然后,您需要找到您的 API 密钥:

  • 登录到OpenAI 平台并从左侧面板中点击 Api Keys。
  • 点击创建一个新的密钥并复制它。

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

ini 复制代码
OPENAI_API_KEY="..." # 在此处插入密钥。它应该以 "sk-" 开头

请参阅 OpenAI 文档以了解更多信息。

请参阅示例用法以开始。

PyTTSX3Service

pyttsx3 是一个文本到语音库,它封装了 espeak,这是一个形式合成语音合成器。

为了使用 PyTTSX3Service,请安装带有 pyttsx3 额外组件的 Manim Voiceover:

bash 复制代码
pip install "manim-voiceover[pyttsx3]"

请参阅示例用法以开始。

ElevenLabsService

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

提示:ElevenLabs 目前每月提供 10,000 个字符的免费 TTS,并且最多可以使用 3 个自定义声音。

为了使用 ElevenLabsService,请安装带有 elevenlabs 额外组件的 Manim Voiceover:

bash 复制代码
pip install "manim-voiceover[elevenlabs]"

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

  • 登录到 ElevenLabs 门户并转到您的个人资料以获取密钥
  • 将环境变量 ELEVEN_API_KEY 设置为您的密钥

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

ini 复制代码
ELEVEN_API_KEY="..." # 在此处插入 Key 1

请参阅 ElevenLabs 文档以了解更多信息。

请参阅示例用法以开始。

风险提示与免责声明

本文内容基于公开信息研究整理,不构成任何形式的投资建议。历史表现不应作为未来收益保证,市场存在不可预见的波动风险。投资者需结合自身财务状况及风险承受能力独立决策,并自行承担交易结果。作者及发布方不对任何依据本文操作导致的损失承担法律责任。市场有风险,投资须谨慎。

相关推荐
全栈练习生13 小时前
AI Agent 沙箱
python·ai
SEO_juper14 小时前
用 Python 写一个 GEO 可见性检查脚本:你的网站现在能被 AI 引用吗
开发语言·人工智能·爬虫·python·seo·外贸独立站
用户83562907805115 小时前
使用 Python 对 Excel 工作表进行排序
后端·python
for_ever_love__16 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
用户83562907805116 小时前
使用 Python 合并 PowerPoint 演示文稿
后端·python
weixin_4617694016 小时前
VS Code 中创建 Jupyter 文件(.ipynb)
ide·python·jupyter
2601_9669496516 小时前
多市场量化策略的数据接口应该如何设计:从数据层架构到策略接入
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
全栈弄潮儿16 小时前
Python实战第1期:Python环境搭建与第一个程序
python
心易行者16 小时前
Agent应用+API端点商业化进阶实战:从单体智能体到可付费调用的API全流程
运维·服务器·人工智能·python·apache
weixin1997010801617 小时前
《1688图片空间API踩坑:img.upload 与 album.* 的防盗链与CDN缓存问题》(附Python源码)
开发语言·python·缓存