点击上方“IEEE电气电子工程师”即可订阅公众号。网罗全球科技前沿动态,为科研创业打开脑洞。
随着技术的不断进步,使得我们每个人也越来越多地与Siri和Alexa等小工具互动。这些小工具现在也加入了Apple CarPlay和Android Auto等汽车助手的行列,甚至还有一些对语音生物特征识别敏感的应用程序。但是,设想一下,如果技术本身就可以用语音来构建呢?
这就是语音编码背后的前提 -- 一种使用语音开发软件的方法,而不是用键盘和鼠标来编写代码。通过语音编码平台,程序员说出命令来操作代码,并创建自定义命令,以迎合和自动化他们的工作流程。
语音编码并不像看上去那么简单,背后有一层层复杂的技术。例如,语音编码应用Serenade有一个专门为代码开发的语音转文本引擎,而Google的语音转文本API是为会话语音设计的。一旦软件工程师说出代码,Serenade的引擎就会将代码输入到自然语言处理层,该层的机器学习模型经过训练,能够识别常见的编程结构并将其转换为语法正确有效的代码。
Images: SerenadeFrom Voice to Code: Two of the leading programming-by-speech platforms today offer different approaches to the problem of reciting code to a computer. One, Serenade, acts a little like a digital assistant—allowing you to describe the commands you’re encoding, without mandating that you necessarily dictate each instruction word-for-word. Another, Talon, provides more granular control over each line, which also necessitates a slightly more detail-oriented grasp of each task being programmed into the machine. A simple example, below, is a step-by-step guide—in Serenade and in Talon—to generating the Python code needed to print the word “hello” onscreen.
Serenade在2020年的种子基金中筹集了210万美元,当联合创始人Matt Wiethoff在2019年被诊断出重复性劳损时,Serenade应运而生。他说:“我辞去了Quora的软件工程师的工作,因为我没办法再负荷这项工作了。要么选择一个不需要这么多打字的不同职业,要么我就需要想出一些解决办法。”

Ryan Hileman也同样走上了这条路,他患上了严重的手部疼痛症,于2017年辞去了软件工程师的全职工作。就在那时,Hileman开始构建Talon -- 一个解放双手的编码平台。他说:“Talon的目的在于为人们完全取代键盘和鼠标。”
Talon有几个组件:语音识别、眼球跟踪和噪声识别。Talon的语音识别引擎基于Facebook的Wav2letter自动语音识别系统,Hileman将其扩展以适应语音编码命令。同时,Talon的眼球跟踪和噪音识别功能模拟了用鼠标的活动,根据眼球运动在屏幕上移动光标,根据嘴巴发出的声音做出点击的动作。“声音的发出很容易。这是一种很省力的方法,而且识别的速度也很快,所以这是一种非常快速的、非语言的鼠标点击方式,” Hileman说。
用Talon编码听起来像是在说另一种语言,正如软件工程师和语音编码器Emily Shea在2019年的一次会议演讲中所展示的那样。她的视频中充满了语音命令,如“slap”(点击返回)、“undo”(删除)、“spring 3”(转到文件的第三行)和“phrase name op等于snake extract word paren mad”,形成了这行代码:name=extract\u word(m))。
另一方面,用Serenade编码遵循一种更自然的方式来说出代码 --可以说“delete import”删除文件顶部的导入指令,也可以说“build”运行自定义生成命令。例如,也可以说“addfunction factorial”来创建一个在JavaScript中计算阶乘的函数,应用程序会处理语法,包括“function”关键字、括号和花括号,这样就不必不断声明每个元素内容了。
Illustration: IEEE Spectrum
语音编码确实需要一个像样的麦克风,特别是如果你想消除背景噪音,不过Serenade的模型是根据笔记本电脑麦克风产生的音频进行训练的。如果你想运行Talon进行眼球跟踪,你还需要眼球跟踪硬件。(不过,Talon在没有它的情况下运行得很好。)Aenea和Caster等开源语音编码平台是免费的,但都依赖于Dragon语音识别引擎,用户必须自己购买。也就是说,Caster提供了对Kaldi的支持,Kaldi是一个开源的语音识别工具包,Windows语音识别是预装在Windows中的。
Serenade实验室的联合创始人Tommy MacWilliam表示,研究结果不言自明。“能够语言描述出你想做的事情要容易得多,”他说,“说出‘将这三行向下移动’或‘复制此方法’,比键盘输入更简便快捷。”
语音编码还可以帮助那些受伤或慢性疼痛的人不必放弃他们的职业生涯。Shea说:“能够使用语音,抛开使用手臂,也开辟出了一种限制更少的使用电脑的方式。"

用语音编码也可以降低软件开发的门槛。“如果他们能以逻辑和结构化的方式思考想写的代码,MacWilliam说,“那么我们就可以让机器学习来走最后一步,把这些想法转化为语法上有效的代码。”
语音编码仍处于初级阶段,其获得广泛采用的潜力取决于软件工程师对传统键盘和鼠标模式的编码方式的依赖程度。但语音编码开辟了一种可能性,甚至可能是一个未来方向,大脑-计算机接口来直接将你的想法转化为代码或软件本身。
这篇文章发表在2021年4月的印刷版上,标题是“用代码说话(Speaking In Code)”。
About the AuthorRina Diane Caballar is a journalist and former software engineer based in Wellington, New Zealand.
微信号|IEEE电气电子工程师新浪微博|IEEE中国 · IEEE电气电子工程师 · 
往期推荐
推荐阅读对话IEEE专家:科技赋能产业转型升级,助力基础设施建设4-15 IEEE Transmitter 机器人推动了海洋生物燃料的开发4-06 Evan Ackerman有了这个基因组CAD 你可以设计出新的生物体4-08 Eliza Strickland研究人员推出3D全息图生成新方法 可在智能手机上实时运行4-01  Charles Q. Choi
你“在看”我吗?

科技

<< 41 42 43 44 45 >>