← Gimbo's Universe / Ideas / 三档播客,一个可检索的新西兰
工具 · 播客 × Claude Skill · 原创

三档播客,
一个可检索的新西兰.

Claude 听不了音频。但 Apple 已经替绝大多数英文播客生成好了字幕——一次 HTTP GET,2.7 秒,14,323 词,还带说话人分离。这篇讲三档我真在听的新西兰播客,以及我怎么把它们变成 1001 集、790 万词、可以 grep 的本地语料库。顺带发现:标题那一层,只让你看见真实内容的六分之一。

身份
新西兰医疗分销 · 供应链计划员
时间线
2026.07.26 → 07.27
形式
工具复盘 + 三档节目导读
语料库
1001 集 / 7,905,016 词

一个听不了
音频的助手

我常年在通勤路上听播客。想把某一集真正用起来时,撞上一堵硬墙:Claude 听不了音频。

常规解法是下载音频跑 ASR:慢、没有说话人分离、专有名词一塌糊涂——而播客最需要的恰恰是这两样。

转折是一个很笨的问题:播客 app 里那份字幕,是从哪来的?Apple 早就替你做完了。本地库里每集存着一个 transcript identifier,指向 CDN 上一份 TTML,一次 GET 就能拿到:95 分钟的节目 → 14,323 词 / 3 个说话人 / 2.7 秒

最好的转写,
是别人已经转好的.
先问「这份数据存在吗」,再问「我怎么造出来」。造轮子之前先找轮子——大部分时候,轮子已经躺在你自己硬盘上了。

中文播客是死路,
而工具应该承认它

好消息只对英文成立。中文播客我实测过,结论很干脆:拿不到。

Apple 的引擎撞上中文就哑了。14 集含中文的单集测下来零个中文字符,其中一集 1:09:29 只产出 4 个词。所以不是「没字幕」,是「有一份残稿」——更危险,因为残稿会假装成成功。工具因此内建词密度闸门,低于阈值直接拒绝输出。

还有一样我特意没做:ASR 兜底。撞到死路它只说「拿不到」。换一条更差的路是另一个决定,不该由工具替我做。

98%
本机非中文节目的字幕覆盖率
1%
中文节目的覆盖率 —— 实质是零
4
一集 69 分钟的中文节目转出的词数
0
ASR 兜底路径 —— 故意不做

口音、钱、身体

这三档是我真的在听的。对一个搬到这里的人,它们正好是三层需要补的本地常识:先听懂这个国家的人怎么说话,再搞懂钱怎么运转,最后是身体出问题时该怎么办。下面每一档的数字,都是我从本地库全量扒出来的——不是节目简介上抄的。

SHOW 01

Kiwi Yarns

307 集 · 2020 起
平均 54 分钟
226 集标题就是一个人名
一集一个新人的长访谈

307 集里 226 集的标题直接是一个人的名字,不同人名 210 个——也就是说,它几乎从不重复嘉宾。这是最纯粹的长访谈结构:一集一个新西兰人,把一生讲一遍。

我听它不是为了「知识」,是为了听这个国家的人怎么讲自己。而对一个异乡人来说,最好的几集恰恰是另一批异乡人的:有一集的嘉宾 7 岁时随家人逃离阿富汗,在那条被邻国拒收、引发国际僵局的船上漂了几个月,最后被新西兰接收,后来写了一本关于这段经历的书。

那不是猎奇。那是另一个从别处来的人,怎么在这里活成了本地人

SHOW 02

Smart Money

343 集 · 2018 起
平均 39 分钟
只有 57 位嘉宾
固定专家轮值 + 听众来电

97% 的标题是「人名: 这集讲什么」的格式,看上去像访谈节目。但全量数一遍就露馅了:343 集只有 57 位嘉宾,一位理财作者上了 47 次,另一位上了 46 次,19 位是常驻。

所以它根本不是访谈节目,是电台的固定专家轮值 + 听众打电话现场问。这个结构差异是它最值钱的地方——你听到的不是名人观点,是本地人真的会打电话去问的问题。KiwiSaver 怎么选、房贷要不要固定、离婚时房子怎么分。

对新移民来说,这几乎是唯一能听到「普通新西兰人的钱焦虑」的地方。

SHOW 03

The Health Hub

358 集 · 2018 起
平均 40 分钟
106 位嘉宾 / 21 位常驻
同样是轮值 + 来电

结构和上一档同源:106 位嘉宾里 21 位常驻,一位全科医生(GP)上了 38 次,一位营养师 29 次,一位心理治疗师 25 次。

它最有价值的部分不是健康知识——「怎么睡好觉」「蛋白质吃多少」这类内容,换个国家也成立,中文互联网上多得是。真正不可替代的是「在新西兰,这套医疗系统该怎么用」:什么时候该看 GP、什么时候直接去急诊、转诊等待名单是怎么回事、ACC 覆盖什么。

这一层本地人默认知道,而中文世界几乎没人系统讲过。

一集能取,
整档就能取

单集取稿只回答「这一集讲了什么」。我真正想问的是「这三档关于买房说过什么」——那是横跨一千集的问题。

于是写了第二个脚本批量拉整档。四个决定让它真能跑完:可断点续跑礼貌节流残稿闸门,以及一份 index.csv 供挑集。然后就是等。

1001集落盘 / 7,905,016 词
32.5 分钟 · 47MB · 0 失败

剩下的 7 集,是 Apple 压根没为它们生成字幕。

没有失败、没有残稿。之后所有的检索都变成一条 ripgrep:七百九十万词的新西兰日常对话,躺在本机上,离线、秒级、可以随便问。

标题那一层,
是骗人的

语料库建好后我做的第一件事,是把「按标题数」和「按全文数」放在一起比。

话题
标题里出现
全文里出现
差距
KiwiSaver / 退休
Smart Money
32 集
197 集
6.2×
买房 / 房贷
Smart Money
13 集
244 集
18.8×
看医生 / 急诊 / 等待名单
The Health Hub
7 集
136 集
19.4×

标题是给「这一集」写的,不是给「这个话题」写的。真正有用的东西极少出现在标题里——它在第 34 分钟,某个听众打进来的那个问题里。我以为 Smart Money 讲买房的只有十几集,实际是 244 集。差的不是一点,是一个数量级。

口径诚实

这些数字是提及不是主题,是矿脉上限值——真用某一集还得读逐字稿确认。但作为「该去哪里找」的地图,它比标题准得多。

三条命令

整套东西现在是一个 Claude Code skill。前提只有两个:一台 Mac,以及你在 Podcasts.app 里 follow 过那档节目

# ① 取单集逐字稿 —— 输出带说话人和时间戳的 markdown python3 apple_transcript.py "<Apple Podcasts 链接>" -o ~/Downloads/ep.md # ② 给整档节目做普查 —— 集数 / 跨度 / 嘉宾数 / 常驻榜 / 结构判读 python3 show_survey.py "Smart Money" # ③ 把整档节目拉成本地语料库 —— 可断点续跑 python3 build_corpus.py --show "Smart Money" # 然后,提问就是一条 rg rg -il "kiwisaver|first home|mortgage" ~/podcast-corpus/

一个细节:读本地库时脚本把两百多兆的 sqlite 连 WAL 复制到临时目录再读——绝不碰 Podcasts.app 正在写的活库。读别人的数据时,不要弄脏它。

另外说清楚:读的是你自己机器上的本地库和 Apple 公开生成的字幕,个人研究用途,不是抓取服务。

从「听播客」
「问播客」.

播客本来是线性的:只能按它的顺序、它的速度、它挑的标题去接近。听过的东西沉下去就再也捞不上来——你记得有人讲过 KiwiSaver 的某件事,但不知道是哪一集、第几分钟。变成语料库之后,它成了一个可以提问的东西

这不是听得更快,是从「我听过什么」变成「我能问什么」。下一步,是把这七百九十万词里最该翻成中文的那些,一条一条讲给同样搬到这里的人听。