我已经坚持使用语音输入六个月了。不是为了打字快一点,而是为了在协同编程工具里,把想法更快地表达出来。结果发现,现有的工具总是用同一种方式惹恼我,最后我只好自己动手做了一个。
在魁北克的技术圈工作,你的句子常常长成这样:“OK fa que je fais un useState pour le component pis je passe le handler en props”。这完全是正常不过的表达。整个魁北克技术圈都这么说话,不是我们对语言不讲究,而是技术词汇根植在英语里,我们打心眼儿里就把它们自然地焊在法语语流里了。
这种现象叫语码切换。而就在这里,大多数语音输入工具直接崩盘。
先说老牌工具 Dragon NaturallySpeaking。这是医疗、法律、企业领域的老标准,一次性支出大约500加元。安装配置重,训练麻烦,而对于“混合着技术词的魁北克法语”,它的处理能力基本为零。你口中的“useState”会被转写成“usé état”,那句地道的“fa que”有时变成“faque”,有时干脆成“fake”,随机的。每说完一句话,你都准备好吧,手动纠正逃不掉。
再看 Wispr Flow,现代多了。界面干净,跨平台,法语处理也一直在进步。他们的专业方案每月15美元,一年下来约144美元。不过该工具的文档自己就承认一个结构性问题:语言检测是按会话进行的,而不是按每个词。也就是说,一旦你以法语开始了会话,它就全程驻留在法语模式里。这样一来,句子中间窜进来的英语词,它会尝试把它们音译成法语——于是“handler”可能变成“andler”或者“ender”,“props”有时候能幸存,有时候不行,波动很大。偶尔一个英语词还行,可对一个常年在同一句话里切来切去的魁北克编程者来说,这就完全不够用了。
这不是鸡蛋里挑骨头。有用的语音输入,是你说得跟想得一样快,转写马上跟上来。一旦你需要刻意放慢语速、改变发音,或者事后不停纠正,那你当初选用这个工具想要得到的效率,就彻底被吃掉了。我自己就算过一笔账:纠正这些“英法混杂”的时间,刚好等于我用语音转写省下来的时间。等于白搭。
所以,我干脆自己出手搞定。
我做的是 Tania Dictée,一个 Windows 语音输入工具,完全在本地运行。按下 F6 键说话,松开,文本就自动贴进任何活跃的应用里——VS Code、Cursor、Claude Code、Gmail,随便哪个都没问题。它跟市面成品的主要区别在于:处理是按每个句子进行的,而不是整个会话。每一句话都先经过 Whisper(通过 faster-whisper 实现),再带一个内置的魁北克法语词汇表。像“useState”、“handler”、“fa que”、“pis”、“Supabase”、“Cursor”这些,全都已经收纳在词汇表里了。
热门跟贴