为电脑音频添加实时字幕 (for Windows/Linux)

本教程又名为:如何在面试中不受困于咖喱味英语?

本教程适用于:

  • Windows(因为我没有 Mac 设备,不过 Mac OS 有内置的音频混合器可以实现内录,不需要安装额外的软件,应该会更方便一些)
  • 任何通讯应用(包括网页版或者 zoom 客户端,只要音频是从电脑里出来)
  • 手机电话(需要额外的配置使电脑能接听手机电话)

PulseAudio (for Linux)

不需要安装任何东西,运行

1
2
3
pacmd load-module module-loopback source=bluez_sink.XX_XX_XX_XX_XX_XX.a2dp_sink
# 其中 bluez_sink.XX_XX_XX_XX_XX_XX.a2dp_sink 为输出设备的 name
# 可以通过 pacmd list-sources 查询

然后在字幕软件中选择输入为 Monitor of xxxx (xxxx 是你的输出设备)即可。

VB-Cable (for Windows)

下载链接

https://download.vb-audio.com/Download_CABLE/VBCABLE_Driver_Pack43.zip

使用方法

安装后打开声音设置(可以通过按 Win + R 然后输入 mmsys.cpl 并回车打开),点开录音选项卡,在 CABLE Ouput 处打开右键菜单中的属性,然后勾上 Listen to this device,并切换 Playback through this device 为你通话时希望使用的音频输出(比如你的蓝牙耳机)。

最后把电脑默认的音频输出改为 CABLE Input

原理

这个软件的作用就是虚拟出了两个音频设备,名为 Input 的是输出设备,名为 Output 的是输入设备。它的效果是当你用 Input 播放声音时,会把音频实时地转发到 Output 中,同时 Output 会按照你的 playback 设置再把音频转发到你指定的设备。

举个例子,你原本的麦克风是 A,耳机是 B,它们是电脑的默认输入输出设备。现在电脑的默认输入还是 A,但是默认输出变成了 CABLE Output,然后 Cable Output 转发给 Cable Input 再转发给 B,于是你能正常地听到电脑的音频,同时还能用名为 Cable Output 的麦克风生成实时字幕(那个麦克风的内容和你听到的内容一模一样)。

这软件其实还有一些妙用,比如远程桌面+语音软件时避免其它用户听到自己说话的声音,又比如为虚拟机提供一个虚拟声卡。

字幕软件

  1. Google Docs 中的听写功能
  2. Otter.ai: referral link, non-referral link

需要将生成字幕的网页所在的浏览器的默认麦克风输入更改为 CABLE Output,注意对于通话应用,麦克风输入依旧是正常的麦克风输入,因此强烈建议另开一个浏览器仅用于字幕生成。

电脑接听手机电话

Windows 10 中内置有名为 Your Phone 的应用,可以用它实现用电脑接打电话,官方教程链接如下:

https://support.microsoft.com/en-us/topic/setting-up-calls-in-the-your-phone-app-c7e75908-c65d-bd42-fcb2-ea4d5fb783f1

如果不好用的话还可以尝试一下 Call Center,只需要 PC 客户端,缺点是 15 天试用期后需要 13.5 欧买断。(但我觉得这个不好用)