半天时间,我和 AI 一起写了一个播客生成器
事情的起因,是我之前写了一篇 Moon Bridge 的对比文章。
写完发现一个问题——这类技术长文,读者看不完。我想把它做成播客,让通勤的人能听。
于是我拿 NotebookLM 试了一下。确实好用,URL 丢进去,几分钟就生成了一段双人对谈。但问题来了——我改不了格式,换不了声线,也不能把它接到我的自动化流程里。NotebookLM 是个好产品,但它是个黑盒。
那天晚上我在想:这个管线有那么复杂吗?
拆开看,就五步:解析内容 → 生成脚本 → 合成语音 → 渲染视频 → 发布。每一层都有成熟的开源组件,只是没人把它们串起来。
别人的方案,都只解决了一半
市面上不是没有类似的东西。
Remotion 能做视频渲染,但它是个 React 框架,不做内容解析,不处理 TTS。而且商业使用要拿公司授权,对独立开发者不友好。
NotebookLM 是端到端,但你要它改个声线?不行。要它输出可编程的 API?不行。要把管线部署到自己的服务器上?更不行。
我想要的很简单:一条命令进去,一段播客出来,每一步都能换。
所以我没有从零手写。
我让 Hermes(我的 AI 编码助手)帮我搭。给需求、定架构、写范式,然后它负责把代码堆出来。我负责验结果、纠方向、拍板设计。半天时间,MVP 跑通了——URL 丢进去,双主持播客吐出来。
五段式管线,每层都能换
Ingest → Compose → Synthesize → Render → Publish第一层 Ingest——支持 URL、PDF、Markdown、纯文本。解析引擎不绑定,mineru、marker、paddleocr 随你换。
第二层 Compose——这是唯一需要 LLM 的环节。把文章拆成对话段落,分配角色,生成旁白。用 OpenAI API 也行,本地跑 Ollama 也行。管线不收费,LLM 你自理。
第三层 Synthesize——edge-tts 免费,晓晓和云扬对谈效果意外地自然。想换 Azure Speech?CosyVoice?加一行配置。
第四层 Render——Playwright 截帧 + ffmpeg 合成。不用 Remotion,不用商业授权。HTML 写模板,CSS 调样式,想怎么排版就怎么排版。
第五层 Publish——公众号永久素材库、本地文件、任何你能 curl 的地方。
管线架构
为什么做成 MCP?
不是网页,不是 Electron App。
MediaForge 可以当 CLI 用,也可以挂成 MCP Server。这意味着任何支持 MCP 的 Agent(Hermes、Claude Desktop)都能直接调用它。
你在聊天窗口里说「把这篇论文转成播客」,Agent 调 MediaForge,几分钟后丢回来一个视频链接。
这才是我想象中的自动化——不是点网页按钮,是让代码替你干活。
MCP 架构
到底比 NotebookLM 强在哪
说实话,NotebookLM 的音质比我好。Google 用了更高级的 TTS 模型,声线过渡更自然,节奏控制更精妙。我的版本用 edge-tts,偶尔会有机械尾音。
但 NotebookLM 不能做的事,MediaForge 都能:
- 离线运行
。飞机上、内网里、没有 Google 账号的地方,照跑。 - 可编程
。CLI 一行命令,MCP 远程调用,Python API 程序化集成。 - 声线自由
。想用谁的音色就用谁的,想单口就单口,想三人对谈就三人对谈。 - 风格可控
。访谈模式、解说模式、甚至未来的 PPT 演讲模式,HTML 模板随便改。 - 完全开源
。MIT 协议,拿去商用,拿去魔改,不用问我。
NotebookLM 是个漂亮的成品。MediaForge 是一套开放的组件。
NotebookLM vs MediaForge
聊一聊以后
第一期代码量不大,但管线跑通了。视频有两个版本——单人解说版和双主持访谈版,都在 GitHub 的输出目录里。
接下来想做的:
更多 TTS 后端。Azure 的高音质,CosyVoice 的本地跑,甚至接个声音克隆。 多人对谈。不止两个人,三个角色轮番上,模拟圆桌讨论。 PPT 转视频。把会议 slides 变成带配音的演讲视频。 自动封面生成。不用手动截图,管线自动产封面图。
还有一些我自己也在纠结的问题——比如要不要加字幕,要不要做 Web UI,要不要打包成 Docker 镜像。但现在的状态已经够用了:能把一篇技术文章变成一段播客,而且全离线、可编程、开源。
如果你也想把自己的文章转成播客,GitHub 搜 alitrack/media-forge,MIT 协议,随便用。
公众号:alitrack · GitHub:github.com/alitrack/media-forge