跳到正文
Chandler Nguyen
AI阅读时间1分钟

声音就是笑点

我重建了 Knora 的英语阵容,删掉了风格轴,还发现了两个所有测试都说没问题的音频缺陷。更新已经上线——而 这个教训其实不是关于喜剧的。

为了让 Knora 更好笑,我做的第一件事,是删掉我以为让它好笑的东西。

如果你读过九月的文章,里面有一句话已经过时了:“四种手法都在线。”我写过的那四种喜剧手法已经没了。承载它们的风格轴也没了。现在 App 里有十五个英语声音,每一个都是一台完整的喜剧引擎;另外还有我保留的越南语和普通话各两个,共四个。1.2 更新已经在 App Store 上线。

Knora 面向 18+——有粗口,也有成人题材——而且仍然免费,没有账号,没有麦克风。你摇一摇手机(或者点一下),一小段段子从头播到尾,然后就没有别的东西可看了。

1.2 版新增了这些:

  • 新的英语阵容。 十五个声音,覆盖美式、英式、南非和印度口音,每一个都有自己的喜剧引擎。
  • 更干净的音频。 每句台词只念一遍,开头不再重复。
  • iPad 和点按播放。 摇一摇仍然是主要手势,但点一下也能用。
  • “正在播放…”状态。 段子播放时,屏幕不会空着。

原因不是新模型,也不是更好的提示词。而是 App 对“产品是什么”的看法变了。有一年时间,我把声音当成一层外壳。不是。声音就是笑点。

模型是最不重要的变量

如果你在工作中用 AI,这部分值得偷师。

在这件事上,模型是最不重要的变量。brief决定了输出可以是什么。评审可以筛选,但不能决定。最终拍板的是真正要用它的人。我得重建一个喜剧 App 才真正学会这件事,但这也是我会用在广告 campaign、报告或客服回复上的同一个循环。

旧 App 有 21 个角色和七种风格。风格决定素材从哪来、包袱落在哪;声音负责把包袱抖出来。我以为更多风格会让它更好笑。但数据不是这么说的。声音才是变量,风格是可以剥掉的噪音。同样三种手法,放到五个声音里都能写出好段子,放到某一个声音里却什么都出不来——那手法就不是引擎。角色才是。

证据并不微妙。旧流水线写四份草稿,让选择器挑最好的。选择器同意我的次数多到让我信任它,然后它把一个笑点当成“不是笑点”否掉了:它在一次选择里的理由是,这份草稿*“把整段内容读成了关于一个真实人物的报告,而不是一个笑话”*。那条流水线产出的 226 个段子,我全都说不搞笑。一次没有选择器的小规模手动运行,用同一个便宜模型写出了好笑的段子。选择器不是品味;它是一个能把自己说服到“笑话不是笑话”的第二意见。我把它关了。

所以我删掉了风格轴,把引擎移进角色里。十五个英语声音,每一个都有自己的世界观、找笑点的方式,以及一条不会越过的线。The Anchor 平铺直叙地读新闻,一个字都不信。The Storyteller 把铺垫端得笔直,直到转折落在他自己身上。The Confessor 开朗又阴郁,永远是错的那一个。The Son 学他妈妈的声音,然后被审判。The Riffer 先拿自己开刀,再把你拉进来。

四个母语声音——越南语的 Bảo 和 Lan,普通话的 Zhìyuǎn 和 Xiaoyu——不是英语阵容的翻译。它们是自己的引擎,用本地素材搭起来。越南语有 nói lái、đồng âm 和 thành ngữ;普通话有谐音、成语梗和歇后语——只在语言内部才成立的语言游戏。英语阵容有口音,因为口音是角色的一部分,不是一个设置。声音不是给语言套的一层外壳。

App 界面有英语、越南语和简体中文;声音有英语、越南语和普通话。

有两个没有成功

我以为最安全的两个声音,恰恰是失败的两个:The Son 和 The Riffer。我写给自己的备注很直接:“这两个不好笑:The Son 和 The Riffer。其他都行。”

两份brief都说出了自己的失败。The Son 是被派去报道自己家人的——一个通讯员,不是参与者。The Riffer 的转折落在听众身上——讲故事的人从未出现。每一个我觉得好笑的段子都有同一个东西:讲故事的人在房间里,而且他有东西可输。一个只负责报道“什么好笑”的通讯员,本身并不好笑。一个即将失去什么的人,才好笑。

解决办法不是新模型。是重写两份brief,让讲故事的人在场景里。The Son 现在是被审判的人。The Riffer 先承认那件事,再把它安到你头上。同样的口音,同样的 delivery 调色板,同样的边界。不同的房间。

这个教训可以推广:如果输出很平,先审查brief,再买模型。模型会很乐意给你正好是你要求的那个视角。

换阵容就是换版本

新阵容不是内容更新。是新版本。已经有 1.1 的人,不应该在同一个版本号下悄悄得到一套不同的声音,所以这是 1.2,不是 1.1 build 5。

然后是没那么光鲜的部分。App Store 的商店页面也是产品的一部分,而它已经和实际对不上了:三种商店语言里都还在承诺 21 个角色和四种风格的菜单,截图还显示着已经下线的阵容。我用 App 里现成的文案重写了商店页面,让列表和选择器不会互相矛盾,并重新截了图。这是无聊的工作。它也是“发一个 build”和“发一个产品”之间的区别。

手机上已经安装的 build 说的是旧阵容,服务器必须继续服务它:当客户端已经安装时,服务端改动就是客户端契约改动。我让旧目录版本继续活着,这样更新不会弄坏还没更新的人。

App Review 还拒绝了上一个 build,因为在 iPad 上,一个段子的播放时间里屏幕是空白的。流程是通的;屏幕什么都没说。一个段子要跑 30 到 75 秒,对着空屏幕看这么久很长。修复是“正在播放…”状态、摇一摇之外的点按播放,以及原生 iPad 支持。

极简不等于缺席。我把两者搞混了。

所有测试都绿的那一周

发布前一周,所有自动检查都说音频没问题。

文本转语音模型更新了。提示词没有。旧模型把导演笔记当成指令;新模型把文本字段当成逐字转写。生产环境的包装——笔记、一句“不要读笔记”的指令,以及转写标题——让它把每句台词念了两遍。四次生产渲染,四次都重复。纯转写跑了三次,三次都干净。修复是只发送转写,把口音移进声音里。

另外,44 字节的 WAV 头被当成原始音频采样解码了。这让每个片段开头都有一个咔哒声。转写是完美的。测试套件是绿的——780 个测试,没有一个在听音频。是我的耳朵听出来的。

测试是绿的,转写是完美的,音频是错的。是我的耳朵听出来的。

如果我要扔掉这篇剩下的部分,我会留下这句话。绿色的测试套件证明的是你的假设,不是你的产品。对文本来说,要验的是转写;对音频来说,要验的是波形;对喜剧来说,要验的是耳朵。

我留下什么

三件事。

模型是最不重要的变量。 在这个问题里,是的。brief、评审和耳朵做了工作。如果你的 AI 输出很平,先看brief,不要看排行榜。

声音不是一层外壳。 阵容就是产品。同一个笑话换一个声音就是另一个笑话,而没有角色的声音只是一个口音。

极简不等于缺席。 60 秒段子里的空白屏幕不是克制;是 bug。一个手势仍然需要一行状态提示。换阵容仍然需要更新商店页面。已安装的客户端仍然需要遵守旧的接口约定。

还缺什么

App 仍然没有分享按钮,也没有评分。我仍然看不到你怎么用它;没有分析 SDK。如果一个段子不落地,唯一的信号就是你告诉我。这就是那笔交换,一直没变。

如果你试过 1.0,觉得每次都一样,这就是那次更新。如果你只听过英语阵容,试试 Bảo 或 Lan;好笑不是翻译。

Knora 1.2 在 App Store 免费。设计手记在 /zh/knora/。如果一个段子不落地,告诉我——整个 App 就是那个笑话。


常见问题

Knora 是什么?

Knora 是一款免费的 18+ 纯语音喜剧 App,适用于 iPhone 和 iPad。你摇一摇或点一下,一小段段子用一两个声音从头播到尾,然后你就可以把手机放下了。没有账号,没有麦克风,没有分析 SDK。

1.2 改了什么?

新的英语阵容有十五个声音,覆盖美式、英式、南非和印度口音,再加上越南语和普通话各两个,共四个。音频更干净,支持 iPad 和点按播放,段子播放时屏幕会显示“正在播放…”。

怎么试?

在 App Store 免费。App 界面提供英语、越南语和简体中文。

祝好, Chandler