手机上的 Manim 动画怎么配音?Manim教程 App 的口播功能怎么用
2026 年 11 月 8 日 · 极坐标⋅XYZ
手机上的 Manim 动画怎么配音?Manim教程 App 的口播功能怎么用
在 iPhone 上,用「Manim教程」App 3.0.0 的「配音讲解」就能给 Manim 动画配音:在 AI 助手里点「+」选「配音讲解」,说一句想讲什么,AI 先写口播稿;你改好稿点「合成」,AI 会照着语音的时间把动画做出来,最后导出的 MP4 自带配音。从发出需求到导出,最少点 3 下:发送、合成、导出。
Manim 是 Grant Sanderson 为 3Blue1Brown 频道开发的数学动画引擎,用 Python 描述画面,再逐帧渲染成视频。现在多数人用的是社区版,2026 年的最新版本是 0.21.0,Manim 本身没有「自动配音」,声音只能靠 add_sound 一条条加(入门介绍在这)。想系统学,2026 年最新的 Manim 中文教程在极坐标⋅XYZ 的教程里有提供,App 里也能看。
配音里 AI 写出来的动画代码,同样可以拿到极坐标⋅XYZ 的工作区里直接运行。
先说清楚:哪些版本能用
- 口播功能是 iOS 版 3.0.0(2026 年 10 月 30 日发布)新加的,更新说明里的标题是「配音讲解」。
- 鸿蒙版目前不能给动画加声音,
self.add_sound()会直接报错,见鸿蒙版介绍。Android 版有没有口播,以应用更新说明为准,本文不替它承诺。 - 合成语音和让 AI 改稿要消耗 AI 积分;口播最长约 2 分钟。
三步做出带配音的成片
- 起手:在 AI 助手输入框左边点「+」,选「配音讲解」。输入框上方会出现一个「带配音」的小标签。你也可以不点,直接在话里说「配音」「讲解」「口播」「旁白」,App 同样会先出口播稿。
- 看稿、改稿、合成:说出要讲的内容,比如「用一个直角三角形讲勾股定理」。大约十来秒后会出一份口播稿,这是整个流程里唯一需要你停下来看的地方。每一句都能直接改字,也能拆句、并句,还能让 AI 帮你改(比如更口语一点、缩短一点)。可以选音色、口播语言和语速,点「合成」时按钮上会写明大概要多少积分。
- 等 AI 做完动画,导出:合成完成后,AI 自己照着每一句语音的起止时间写动画,反复试渲染,直到每一段都对上声音为止。成片出来后,在导出选项里选 MP4,标着「带配音」;GIF 存不了声音,旁边会写「没有声音」。
口播页里能做的事
点开对话里的「口播」入口,进入的是一个单独的二级页,配音相关的操作都在这里:
- 31 个音色,选之前可以先听样音;语速可调。
- 7 种口播语言:简体中文、繁体中文、English、Español、Português (Brasil)、日本語、한국어。口播语言可以和界面语言不同,例如在中文界面里做英文讲解。改了语言之后稿子不会自动翻译,需要的话点一下让 AI 译。
- 逐句试听:整条试听时正在念的那句会高亮。
- 只改一句,就只重新合成这一句:改了字、没动别的句子,只对这一句再扣积分。
- 动画滞后提示:如果某一段的动画比语音长,这一段会标成「动画滞后」,并告诉你滞后多少秒。你可以让 AI 修这一段,也可以把这句话后面的停顿拉长一点。
它做了什么:把语音的时间交给动画
AI 写动画时用的就是 Manim 的老办法:整条语音只在开头加一次,每一段动画先等到这一句话的起点再动。下面这段不带声音文件,只演示这种「按语音时间点对齐」的结构,可以直接在工作区里运行:
from manim import *
# 每句口播的起点(秒)。在 App 里这些数字来自合成后的语音,这里手写一份演示
CUES = [0.3, 2.7, 6.9]
class NarratedTriangle(Scene):
def wait_until_time(self, t):
gap = t - self.time
if gap > 1 / config.frame_rate:
self.wait(gap)
def construct(self):
# 真有音频时,在这里加一行 self.add_sound("assets/voice.mp3")
self.wait_until_time(CUES[0]) # 第一句:先看这个直角三角形
tri = Polygon(ORIGIN, RIGHT * 3, UP * 2, color=WHITE)
self.play(Create(tri), run_time=1.5)
self.wait_until_time(CUES[1]) # 第二句:两条直角边分别是 a 和 b
a = MathTex("a").next_to(tri, DOWN)
b = MathTex("b").next_to(tri, LEFT)
self.play(Write(a), Write(b), run_time=1.2)
self.wait_until_time(CUES[2]) # 第三句
self.play(Indicate(tri))
self.wait(1)
任何一段动画比它那句话的时长更长,后面的声音就会比画面早到,这就是 App 里「动画滞后」想标出来的情况。
声音怎么进视频:渲染完成后,App 把声音混进 MP4,所以 App 里的预览和导出的文件都能听到。这也意味着,你自己手写的 self.add_sound("assets/xxx.mp3"),在 iOS 3.0.0 里一样会混进成片,gain、time_offset 的意思和电脑上一致,详细讲解见这篇 add_sound 教程。
一次真机的用时
按开发记录,2026 年 10 月 30 日在 iPhone 17 Pro Max 上的一次实测:一份 9 段、699 字的口播,合成用了约 15 秒,语音共 52.8 秒,从点「合成」到成片出来用了 84.2 秒,成片 53.3 秒。把稿子改成 10 段 789 字再重新合成对齐,成片 60.0 秒。这是单次记录,手机型号、网络和稿子长短不同,用时会不一样。
常见问题
Q:只能用 AI 写稿吗?可以自己写口播稿吗? A:可以自己写。口播稿里每一句都能手改、拆、并、粘贴多行。AI 写稿只是起手更快。
Q:自己录音可以吗?
A:这一版只做文字合成语音,用自己的录音当旁白这一版没有做。自己有现成录音的话,可以把音频导入项目的 assets/,用 self.add_sound 手动加进场景。
Q:声音和动画对不上怎么办? A:看口播页里标着「动画滞后」的那一段,点它可以让 AI 修这一段,或者拉长这句话后面的停顿。改动只影响受影响的那几段。
Q:配音要花多少积分? A:按字数算,点「合成」之前,按钮上就会写出这一次大概要多少积分。只改一句,只算这一句。具体价格以 App 里显示为准。
Q:导出的是什么格式? A:MP4 带配音。GIF 没有声音。
iPhone 上打开「Manim教程」App 更新到 3.0.0,在 AI 助手里点「+」选「配音讲解」,说一句想讲的内容就能开始;想先学 Manim,从教程第一课看起;在电脑上,直接打开工作区贴代码运行。
来源:极坐标⋅XYZ(jizuobiao.xyz),2026 年 11 月 8 日更新,基于 Manim 社区版 0.21.0 与「Manim教程」iOS 3.0.0。功能以 App Store 上的最新版本为准。