在我的上一篇文章中,我讨论了语音控制挑战,这是一件非常简单的事情:将双手放在身体两侧,只使用语音来完成日常任务。从本质上讲,这样做会让你了解那些每天必须依赖这些技术的人的感受。
对于许多阅读这篇文章的人来说,这只是一个思想实验。这是您尝试一次或两次然后恢复正常的事情。令人沮丧的是,您的所有应用程序都无法正常运行。选择某些 UI 元素可能很困难,甚至是不可能的。
看待此类挑战的一种方法是帮助您培养对那些必须依赖这项技术的人的同理心。它会让你感到无能为力。这是我们作为技术人员很少有的感觉。
我真正感受到语音控制挑战难度的例子是控制文本编辑器。文本编辑器需要任意键盘输入。他们需要按奇怪的键绑定。在 Mac 或 iPad 上通过语音控制做到这一点可能很难甚至是不可能的。
然而,像这样的听写对于编写大块文本来说真的很棒。人类语音的峰值约为每分钟 200 个单词,而这正是大多数听写引擎真正大放异彩的地方。
但是,我们是技术专家。对于许多人来说,能够编写基本的电子邮件和消息就足够了。我们没有这样的运气。我们经常不得不用神秘的外语符号说话,以便命令机器人执行我们的意志。仔细想想,编程实际上很像巫术,只是我们出于某种原因不称自己为巫师。
图片由 Counterfeit 生成 — 1girl,麦克风,连帽衫,裙子,唱歌,粉红色的头发,长发,拿着麦克风,丝袜,舞台,夜总会,dubstep
在我探索辅助技术的过程中,我发现了一个名为 Talon 的程序。 Talon是一款可以让你用声音控制电脑的软件,但你可以用它来编程,而且它是可编程的。在 Mac 或 iPhone 上通过语音控制发出自己的指令的繁琐过程消失了。您可以用看起来有点像 Python 的东西或 Python 本身来编写命令:
evil normal: key(esc)
这将创建一个新命令,当您说“evil normal”时按下转义键。您可以将此命令替换为您想要的任何内容。您不仅限于按单个键,您可以做任何您能想到的事情。您可以插入任意文本字符串、运行 python 函数、欺负谷歌浏览器,或者几乎任何您可以通过编程完成的事情。
幸运的是,我最近在一次出差时实际上设法与 Talon 背后的人交谈。使用该软件大约一周后,我确信此人确实对这个星球产生了积极影响。该程序是一种授权工具。它最初是为了让这个人可以继续编码而不会招致严重的手痛而编写的,但它对于根本无法使用手的人也很有用。
这个节目是对这个人的爱的劳动,它真的表现出来了。
利爪拍打
在弄清楚如何设置和使用它之后,我可以自信地说 Talon 是革命性的。我可以把手放在膝盖上,继续编码。我可以看着屏幕或眺望远方,思考正在发生的事情,我可以任由话语流淌而出。当你真正擅长使用 vim 和其他文本编辑器时,你最终会有一种独特的感觉,所有的障碍都开始消失,你真的开始思考你正在做的事情的实质,而不是确切的手部动作.我对 Talon 有这种感觉。所有的细节都随风而去,我真的能够专注于我的心智模型,了解正在发生的事情、我在哪里以及我想去哪里。一旦你学会了与事物交互的命令,它就会变得毫不费力。
Talon 最有趣的部分之一是它的行为有点像 vim。 Talon 可以处于几种不同的模式:
- 睡眠模式 – 在此模式下,Talon 不监听命令
- 命令模式——在这种模式下,Talon 监听命令并按照命令的顺序执行命令
- 听写模式 – 在这种模式下,Talon 会听取大块文本并在您说出时将其键入
这与 vim 的正常和追加模式非常相似。许多命令的功能也类似于 vim 动作。其中很多都是简单的指令,可以像 vim 动作一样接受参数。将它与可选的重复和其他后缀结合起来,它真的变成了语言和命令的芭蕾舞。例如,这里有一些 go 代码和等效的 Talon 动作:
func add ( x int , y int ) int { return x + y }
此代码将成为以下 Talon 动作:
word funk delete cap space word add args plex sit near trap comma space yank space sit near trap go right space sit near trap space brack slap space fourth word return space plex plus yank slap r brack
这可能看起来难以理解,但让我将其分解为单独的命令并解释它们的作用:
命令 | 意义 |
---|---|
放克词 | 输入单词“funk” |
删除 | 按退格键 |
帽 | 输入字母“c” |
空间 | 按空格键 |
参数 | 键入两个括号并按向左箭头键进入它们内部 |
丛 | 输入字母“x” |
坐 | 输入字母“i” |
靠近 | 输入字母“n” |
陷阱 | 输入字母“t” |
猛拉 | 输入字母“y” |
向右走 | 按向右箭头键 |
支架 | 输入左花括号“{” |
拍击 | 按回车键 |
第四空间 | 按四次 |
加 | 输入加号“+” |
r 支架 | 输入右花括号“}” |
总的来说,这些都是您使用键盘手动执行的所有命令。它看起来有点尴尬,但当你试图强迫你的声音中出现印记时,就会发生这种情况。
这一直在把我的大脑向后弯曲成一个椒盐脆饼,然后把那个椒盐脆饼点燃。 Talon 的所有动作都非常有用。他们觉得他们是有意创建的,目的是帮助您完成工作。其中一些确实比手动输入更快,例如文本格式化程序:
- 全部大写 – 这是全部大写字母
- 骆驼-thisIsInCamelCase
- 虚线 – 这些.are.separated.by.periods
- 配音字符串 – “这是一个带引号的字符串”
- 锤子 – ThisIsAnExportedGoName
- 烤肉串 – 一些烤肉串会是美味的晚餐
- 打包 – working::with::rust::crates::has::never::gotten::easier
- slasher – /directory/paths/are/easy/now
- 粉碎 – 有时你需要将单词粉碎在一起
- 蛇 – something_about_anacondas_i_guess
- title – 这是一种奇特的打字方式
这真的很酷。为此使用语音的一些有趣之处意味着您不受键盘上按键数量或键盘一般可编程性的限制。人声是一种比我们认为的要灵活得多的工具。这使我们能够创建几乎可以做任何事情的命令,几乎可以用任何声音来触发它。
那不是金属吗?
当我一直在探索这个兔子洞时,另一件我没想到的事情是每个单词有多少个字母的直觉知识。只看单词我就能知道有多少字符与其他字符不同。当您必须指定需要移动箭头键的次数时,这一点非常重要。
我一直对 vim 动作有一种直观的理解。我从来没有完全需要学习如何说他们,或者他们都在做什么。大声说出来迫使我理解我用 vim 动作说的话,结果我能够更清楚地思考它们。当你不得不反复大声说出来时,很多事情会变得更有意义。更改模式变得更加直观。随着不同的运动动作跳来跳去变得更加容易。删除动作才开始变得更有意义。
我不会说谎,这让我的大脑向后弯曲。我用 Talon 做的很多编程最终听起来像是我中风了之类的。在 vim 中,保存文件的主要命令是:w<enter>
。这意味着您最终会经常说“冒号鲸鱼耳光”。人们不知道如何对此做出反应。
总的来说,我对每天必须使用此类软件的任何人都怀有无限的敬意。这是非常有用的软件,但一开始可能会让人非常沮丧。努力通过使用像 Discord 或 Slack 这样的应用程序与这项技术应该强制要求每个人在其中设计 UI。我觉得这样做会让人们对用户的需求更加谦虚和同情。
这确实是一种技术,每个人都可以从中受益并变得更好。语音识别软件变得更好意味着 YouTube 等内容的自动字幕变得更好。截瘫甚至四肢瘫痪的人尽管有残疾,也可以开始过正常的生活。
那种每天都必须依赖这项技术的人,生活已经够艰难了。作为一个身处极度不道德领域的人,这是我们能够帮助真正确保公平结果的最伟大的事情之一。
如果您编写应用程序,请定期测试它们是否与语音控制软件一起出现。特别是如果它在浏览器中。很少有公司这样做,因此让事情变得更容易获得具有明显的市场优势。
我的手一直在好转,但我可以很容易地看到自己在完全康复后继续使用 talon。它是我使用过的为数不多的能够跟上我的语速的听写引擎之一。在过去一周左右的时间里,我一直在将它用于我的大部分聊天消息,而且我可以很容易地看到自己在未来将它用于聊天消息。这让我觉得我浪费了所有时间来学习如何快速打字,而我只能使用听写。
如果您有多余的钱,请在Patreon上捐赠给 Talon 的创作者。他们因制作软件来为像这样的人提供动力而应得的。