alitrack

半天时间,我和 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?

为什么做成 MCP?

不是网页,不是 Electron App。

MediaForge 可以当 CLI 用,也可以挂成 MCP Server。这意味着任何支持 MCP 的 Agent(Hermes、Claude Desktop)都能直接调用它。

你在聊天窗口里说「把这篇论文转成播客」,Agent 调 MediaForge,几分钟后丢回来一个视频链接。

这才是我想象中的自动化——不是点网页按钮,是让代码替你干活。

MCP 架构

MCP 架构

到底比 NotebookLM 强在哪

到底比 NotebookLM 强在哪

说实话,NotebookLM 的音质比我好。Google 用了更高级的 TTS 模型,声线过渡更自然,节奏控制更精妙。我的版本用 edge-tts,偶尔会有机械尾音。

但 NotebookLM 不能做的事,MediaForge 都能:

  • 离线运行
    。飞机上、内网里、没有 Google 账号的地方,照跑。
  • 可编程
    。CLI 一行命令,MCP 远程调用,Python API 程序化集成。
  • 声线自由
    。想用谁的音色就用谁的,想单口就单口,想三人对谈就三人对谈。
  • 风格可控
    。访谈模式、解说模式、甚至未来的 PPT 演讲模式,HTML 模板随便改。
  • 完全开源
    。MIT 协议,拿去商用,拿去魔改,不用问我。

NotebookLM 是个漂亮的成品。MediaForge 是一套开放的组件。

NotebookLM vs 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