术语表 / 它怎样听你说话

延迟

又称:松开按键后的延迟

更新于

定义

在听写中,延迟是指从你说完话到成文出现在光标处之间的时间。这个数字决定了一个工具感觉是即时的,还是要等待。

从你松开按键的那一刻开始计算,因为你正是从那一刻开始等待的。松开按键之后发生的一切都算在内:完成最后几百毫秒音频的识别、格式化处理,以及插入到App中。流式识别的工具只需处理末尾部分;批量处理的工具还要处理整段话,所以你每多说一秒,它的延迟就增加一些。

低于大约一秒,大多数人就不再注意到。到两三秒左右,人们就开始盯着屏幕,再看看工具。超过这个时间,听写就不再是一种写作方式,而变成了录一段音然后等它。

时间花在了哪里

识别尾段:松开按键时还剩多少音频要处理,流式能把它减少到几乎为零。格式化:用语言模型对转写文本处理一遍,这通常是本地工具中最大的一项开销,也是快速的工具要让这个模型保持小巧、并给它严格时间预算的原因。插入:通过无障碍层把结果输入当前聚焦的App,通常只需几十毫秒。网络,针对云端工具:一次往返,再加上在你无法控制的服务器上排队,这就是云端延迟会随时段从很快变成无法使用的原因。

延迟与质量之间是真实的取舍

格式化处理要花时间,跳过它就是最快的工具。但这样的工具会把转写文本交给你手动修改,花掉的时间比它省下的还多。正确的设计是提供选择:一种逐字或轻度整理的模式,几乎立即出现;一种完整格式化的模式,稍慢一点,但无需修改。工具绝不应该做的,是让一个慢模型把文字扣住不放;如果处理超时,原始转写文本也应照常出现。

如何在Mac上测量听写延迟

你不需要特殊工具。同时录下麦克风声音的录屏,会把你的声音和屏幕放在同一条时间线上,所以你可以直接从回放中读出延迟。

测量几次长短不同的听写。一次读数说明不了什么,而短听写和长听写之间的差别能告诉你,等待时间是否会随你说话的时长而增加。

  1. 打开你平时用来听写的App,把光标放在一个文本框中。
  2. 按下Shift-⌘-5打开“截屏”,然后选择录制整个屏幕或屏幕的一部分。
  3. 点按“选项”并选择你的麦克风,让录制内容包含你的声音。
  4. 开始录制,然后听写一个短句和一个长句,中间留几秒钟。
  5. 点按菜单栏中的停止按钮。录制内容会存为一个.mov文件,文件名以“录屏”开头。
  6. 播放文件,为每次听写记下两个时刻:你的声音停止的时刻,以及完成的文字出现在屏幕上的时刻。两者之间的间隔就是延迟。
  7. 比较短听写和长听写。如果长听写的等待时间明显更长,说明这个工具是在批量处理。

为什么模型越大,等待越长

模型大小是准确度与速度之间最直接的取舍。Whisper项目公布了自家模型的相对速度:以large模型为1x,tiny约为10x,base约为7x,small约为4x,medium约为2x,turbo约为8x。这些数字是相互之间的比较,实际速度取决于你的硬件。

光有速度并不能让模型实时工作。Whisper通过一个滑动的30秒窗口读取音频,它的模型卡说明这些模型无法开箱即用地进行实时转写。基于这类模型构建的听写工具必须自己加上流式或分块处理,而做得好不好决定了你感受到的延迟。

如何在“终端”中为语音模型计时

如果你想看到不带任何App的识别本身的开销,可以用你自己声音的录音,为开源的Whisper命令行工具计时。这只测量模型在你的Mac上的表现,不涉及其他:没有格式化,没有插入,没有网络。

这个数字不是任何听写App的延迟,因为App会在你说话时处理音频。它适合在你自己的硬件上比较不同大小的模型。

  1. 用以下命令安装音频依赖:brew install ffmpeg
  2. 用以下命令安装Whisper:pip install -U openai-whisper
  3. 录下你自己说话约十秒钟的音频并保存文件,例如存为clip.wav。
  4. 运行:time whisper clip.wav --model tiny,记下“终端”输出的real时间。
  5. 运行:time whisper clip.wav --model turbo,再次记下时间。
  6. 每条命令再运行一次,比较这两次的计时,这样就不会把一次性的准备时间算进去。

大家常问的问题。

什么样的听写延迟算好?

从松开按键到成文不到一秒,感觉就是即时的。一到两秒可以接受。再长,等待就成了全部体验。流式识别加上一个小型、有时限的格式化模型,是本地工具把延迟压到一秒以内的方法。

为什么我说得越久,听写工具就越慢?

因为它是批量识别:在你停下之前什么都不处理,所以录音越长,等待越久。流式工具在你说话时就进行处理,延迟保持不变。

云端听写比本地慢吗?

往往是,而且更难预测。每次听写都要与服务器往返一次,这会增加时间,还会随你的网络连接和对方的负载而变化。本地工具的开销是固定的,只取决于你的Mac。

如何测试我的听写App有多快?

用Shift-⌘-5在打开麦克风的情况下录制屏幕,听写一句话,然后回放录制内容。从你的声音停止到完成的文字出现之间的时间,就是延迟。

Whisper能实时转写吗?

单靠它自己不能。Whisper模型卡称,这些模型无法开箱即用地进行实时转写,标准代码以30秒的窗口处理音频。用Whisper却感觉实时的App,都自己加了一层流式处理。

更小的语音模型会让听写更快吗?

会,但要牺牲准确度。Whisper项目列出,它的tiny模型比large模型快约10倍,turbo模型快约8倍。

用到它的指南

博客中

相关术语

你的声音一直都更快。

免费试用7天,之后$19 USD买断。无需账户,无需订阅,不上传任何内容。

macOS 14或更高版本 · Apple芯片