上一篇结尾我说,按住一个键,说话,松开,文字出现。Voilà 。
听起来挺简单。真做下去才发现,要让一个东西看起来简单,挺贵的。
第一版做出来,从按下快捷键到真正开始录音,中间大概要等 1 秒。第一次用的人察觉不到,我自己用一天就受不了——那点延迟正好踩在"按下"和"开始说话"之间,整个动作变成在跟系统打商量。
CGEvent 冷启动、AVAudioEngine 建链路、WebSocket 握手……每一项单独都说得通,加在一起就把"按下就说话"打穿了。办法不优雅,就是把它们提前做掉,挂在那等用户来按。
听起来理所当然。但"理所当然"这四个字其实挺贵的——背后全是日夜在研究"古法编程"的最佳实践。
打开设置你会发现 UI 简陋得像个毛胚房,因为时间都花在了悬浮窗上。一共做了三种风格,背景也开放给用户自己调。毕竟每天都要盯着看,得先让自己看着舒服。
每天用它最猛的是我自己。打字、终端、甚至开会。
我们公司开会全程法语,快得要死。一句没跟上,整段就过去了。有一天突发奇想,把 Voilà 开着让它替我听——它听得比我清楚。我那位神奇的领导能一口气狂喷半小时,Voilà 稳稳接住。
于是给它加了一个字幕模式。下次远程开会,按下,让它替你听。
也得说一句,Voilà 在识别这一块站的是 Soniox 的肩膀。
Voilà, à plus.
