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

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

Mathematical Animation Engine

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:

pip install "manim-voiceover[recorder]"

请参阅示例用法以开始。

AzureService

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

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

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

pip install "manim-voiceover[azure]"

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

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

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

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:

pip install "manim-voiceover[coqui]"

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

请参阅示例用法以开始。

GTTSService

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

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

pip install "manim-voiceover[gtts]"

请参阅示例用法以开始。

OpenAIService

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

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

pip install "manim-voiceover[openai]"

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

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

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

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

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

请参阅示例用法以开始。

PyTTSX3Service

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

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

pip install "manim-voiceover[pyttsx3]"

请参阅示例用法以开始。

ElevenLabsService

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

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

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

pip install "manim-voiceover[elevenlabs]"

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

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

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

ELEVEN_API_KEY="..." # 在此处插入 Key 1

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

请参阅示例用法以开始。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/87937.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/87937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++11 forward_list 从基础到精通:原理、实践与性能优化

文章目录一、为什么需要 forward_list?二、基础篇:forward_list 的核心特性与接口2.1 数据结构与迭代器2.2 常用接口速览2.3 基础操作示例:从初始化到遍历2.3.1 初始化与遍历2.3.2 插入与删除:before_begin 的关键作用三、进阶篇&…

物联网技术的核心组件与发展趋势(截至2025年)

一、物联网技术的核心组件物联网(IoT)技术体系由感知层、网络层、平台层、应用层和安全层构成,各层技术协同工作,实现物理世界与数字世界的深度融合。1. 感知层:数据采集与交互传感器技术:类型:…

面试中常见的问题:JavaScript 宏任务与微任务,包教包会

事件循环Event Loop 我们都知道,JavaScript 是一种单线程的编程语言,简单的说就是:js只有一条通道,那么在任务多的情况下,就会出现拥挤的情况,这种情况下就产生了 ‘多线程’ ,但是这种“多线程…

【LeetCode102.二叉树的层序遍历】vs.【LeetCode103.二叉树的锯齿形层序遍历】

题目链接 LeetCode102.二叉树的层序遍历:102. 二叉树的层序遍历 - 力扣(LeetCode)LeetCode103.二叉树的锯齿形层序遍历:103. 二叉树的锯齿形层序遍历 - 力扣(LeetCode) 实现思路 定义一个队列&#xff0…

Redis On-CPU Profiling定位瓶颈到可视化火焰图

1 . 前置检查:确认 CPU 真的是瓶颈 在正式打性能“补丁”前,务必跑一遍系统级健康核对表(推荐 Brendan Greg 的 USE Method):资源关注指标常用工具CPUUtil/Idle、RunQueuetop、vmstat、sar内存Fault、Swap、Cache Miss…

未来趋势:AI与量子计算对服务器安全的影响

随着技术的飞速发展,人工智能(AI)和量子计算正在深刻改变信息技术的各个领域。特别是在服务器安全领域,这两项技术既带来了新的可能性,也带来了前所未有的挑战。本文将探讨AI和量子计算技术对服务器安全的影响&#xf…

markdown学习笔记(个人向) Part.1

markdown学习笔记(个人向) Part.1 1. 推荐插件 markdown: 安装支持markdown的插件; markdown-preview-github-styles: 可以将VS Code上默认的markdown预览样式修改成github上常用的形式,很大程度上提高文件…

ZooKeeper 实现分布式锁

1. 分布式锁概述 在分布式系统中,为了保证共享资源在并发访问下的数据一致性,需要引入分布式锁。分布式锁是一种在分布式环境下控制多个进程对共享资源进行互斥访问的机制。它与单机环境下的锁(如Java中的synchronized或Lock)不同…

Linux线程——基础全解

一、什么是线程(Thread)?✅ 定义:线程是程序执行的最小单位。即线程(Thread)是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。一个进程可以并发多…

Java基础--封装+static

目录 什么是封装? 什么是访问限定符? static静态修饰符 用static修饰的类变量或类方法的注意事项: 什么是封装? 封装是面向对象的三大特性之一,指的是将一个类中的实现细节进行隐藏,对外只提供一些开放…

DAY 51 复习日

作业:day43的时候我们安排大家对自己找的数据集用简单cnn训练,现在可以尝试下借助这几天的知识来实现精度的进一步提高import torch import torch.nn as nn import torch.nn.functional as F import torchvision import torchvision.transforms as trans…

针对网络爬虫的相关法律法规整理

在中国,网络爬虫的法律法规涉及多个层面,包括个人信息保护、数据安全、网络安全、知识产权、反不正当竞争等。以下是详细的法律法规分析及合规指南: 1. 核心法律法规及适用场景​ ​​(1)《民法典》——隐私权与个人信…

1.1_5_2 计算机网络的性能指标(下)

继续来看计算机网络的性能指标,接下来我们探讨时延,时延带宽积和往返时延,以及信道利用率这几个性能指标。 首先来看时延这个性能指标,英文叫delay,也有的教材,把它翻译为延迟。所谓的时延,就是…

PP-OCRv2:超轻OCR系统的万能包

PP-OCRv2:超轻OCR系统的万能包摘要光学字符识别(OCR)系统已广泛应用于多种场景,但设计兼顾精度与效率的OCR系统仍具挑战性。我们此前提出的超轻量OCR系统PP-OCR在平衡两者方面取得进展。本文进一步提出PP-OCRv2,通过五…

常见的软件版本开源协议

开源软件许可证核心指南 一、许可证基础分类 1. 宽松型许可证(Permissive) 核心特征:允许闭源衍生,仅保留版权声明适用场景:商业集成、快速开发代表协议: 📜 MIT 📜 Apache 2.0 &…

基于FPGA的一维序列三次样条插值算法verilog实现,包含testbench

目录 1.前言 2.算法运行效果图预览 3.算法运行软件版本 4.部分核心程序 5.算法仿真参数 6.算法理论概述 7.参考文献 8.算法完整程序工程 1.前言 三次样条插值是一种在数据拟合和信号处理中广泛应用的技术,它通过构造分段三次多项式来逼近给定的离散数据点&a…

RAG 之 Prompt 动态选择的三种方式

“如果我有5个prompt模板,我想只选择一个每次都自动五选一能做到吗怎么做?” 完全可以做到。这在复杂的RAG或Agentic工作流中是一个非常普遍且关键的需求,通常被称为“条件路由(Conditional Routing)”或“动态调度&am…

【ROS2 自动驾驶学习】02-安装ROS2及其配套工具

目录 一、设置语言环境 二、添加存储库 三、添加软件源 四、安装ROS2 五、配置环境 六、测试ROS2 七、安装一些工具 7.1 terminator 7.2 colcon工具 7.3 tf工具 7.4 joint-state-publisher工具 7.5 urdf 八、安装三方库 8.1 Eigen 8.2 yaml-cpp 8.3 matplotl…

系统学习Python——并发模型和异步编程:基础知识

分类目录:《系统学习Python》总目录 并行是并发的一种特殊情况。**所有并行系统都是并发的,但不是所有并发系统都是并行的。**在21世纪初,我们可以使用单核设备在GNU Linux上同时处理100个进程。一台拥有4个CPU核的现代笔记本计算机&#xff…

睿尔曼系列机器人——以创新驱动未来,重塑智能协作新生态(下)

在智能制造与人工智能深度融合的当下,机器人技术正经历从 “功能替代” 到 “价值共创” 的深刻跃迁。睿尔曼,作为全球超轻量仿人机械臂领域的先行者,始终秉持 “让机器人触手可及” 的使命,凭借底层技术的突破性进展,…