写点什么

语音编程,软件开发领域的下一个前沿技术?

2021 年 4 月 08 日

语音编程,软件开发领域的下一个前沿技术?

从语音到代码:当今有两种领先的语言编程平台,它们提供了不同的方式来向计算机“朗诵”代码。其中一个叫做 Serenade,有点像数字助理:它允许你描述你正在编写代码的指令,而不要求你必须逐字逐句地口述每条指令;另一个叫做 Talon,它提供了对每一行更细粒度的控制,它还要求对编入计算机中的每一项任务都有更细致的了解。本文的一个简单的例子是 Serenade 和 Talon 中生成 Python 代码的分步指南,它将在屏幕上打印“hello”。


通过与小工具的对话,我们与它们的互动日益频繁。如今,像 Alexa 和 Siri 这样的老朋友,加入了像苹果 CarPlay 和 Android Auto 这样的汽车助手的行列,甚至加入了对语音生物识别和指令敏感的应用程序。但是,如果这种技术本身可以用语音构建呢?


那就是语音编程的前提,语音编程是一种软件开发方法,用语音代替键盘和鼠标来编写代码。在语音编程平台上,程序员“说出”命令来操作代码,创建适应并自动执行工作流的定制命令。


语音编程并不像看上去那么简单,它背后有很多复杂的技术。例如,语音编程应用Serenade,它有一个专门为代码开发的语音转文字引擎,与谷歌的语音转文字 API不一样,它是为对话式语音设计的。当软件工程师把代码说出来后,Serenade 的引擎就会将它反馈给自然语言处理层,它的机器学习模型被训练来识别并将常见的编程结构转换为语法上有效的代码。


Serenade在 2020 年的种子轮融资中募集到 210 万美元,当联合创始人 Matt Wiethoff 在 2019 年被诊断出重复使力伤害(RSI,译注:指因长时间重复使用某组肌肉造成的损害,是常见的职业病)时,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 equals snake extract word paren mad”(结果是这行代码:name = extract_word(m))。


而在使用 Serenade 进行编程时,遵循的是一种更自然的讲代码的方式。你可以说“delete import”来删除文件顶部的导入指令,或者说“build”来运行自定义的构建命令。你也可以说“Add function factorial”来创建一个函数,在 JavaScript 中计算阶乘,并且应用程序将处理语法 —— 包括“function”关键字、括号和大括号 —— 因此你无需显式地声明每个元素。



语音编程的确需要一个像样的麦克风,尤其是当你想去除背景噪音时,Serenade 的模型是根据笔记本电脑上麦克风产生的音频来训练的。如果你想用眼球追踪运行 Talon,你还需要眼球追踪硬件。不过,在没有这种硬件的情况下,Talon 也能正常运行。开源语音编程平台,如AeneaCaster,是免费的,但都依赖于Dragon语音识别引擎,用户必须自行购买。这就是说,Caster 支持Kaldi和 Windows 语音识别,前者是一个开源的语音识别工具包,后者预装在 Windows 上。


Serenade Labs 联合创始人 Tommy MacWilliam 表示,这些结果足以说明问题。“能够描述你想做的事情是如此简单,”他说。“与打字或按键盘快捷键相比,说‘move these three lines down’或者‘duplicate this method’会更加流畅。”


语音编程还可以让那些有伤病或慢性疼痛的人继续他们的职业生涯。“能够使用语音,只需将我的手臂从等式中移除,就可以开辟一种限制较小的方式来使用电脑。”Shea 说。


通过语音进行编程也可以降低软件开发的准入门槛。“如果他们能够用逻辑和结构化的方式思考他们想要写的代码,”MacWilliam 说,“那么我们就能让机器学习走完最后一公里,并将这些想法转化成语法上有效的代码。”


语音编程还处于起步阶段,它能否被广泛采用还取决于软件工程师对传统键盘和鼠标编写代码模式的束缚程度。但是语言编程给了我们各种各样的可能性,也许在将来,脑机接口会直接将你所想的内容转换成代码,或者说是软件本身。

作者介绍:

Rina Diane Caballar,记者,曾做过软件工程师,居住新西兰惠灵顿。


原文链接:


https://spectrum.ieee.org/computing/software/programming-by-voice-may-be-the-next-frontier-in-software-development

2021 年 4 月 08 日 14:33993
用户头像
刘燕 InfoQ记者

发布了 554 篇内容, 共 173.8 次阅读, 收获喜欢 1053 次。

关注

评论

发布
暂无评论
发现更多内容

深入浅出Android!阿里P7深入Binder原理讲解,论程序员成长的正确姿势

欢喜学安卓

android 程序员 面试 移动开发

面试学习!月薪20k+的Android面试都问些什么?终获offer

欢喜学安卓

android 程序员 面试 移动开发

mPaas上线应用检测

阿里云金融线TAM SRE专家服务团队

ios android RPC

架构师训练营第 2 期 第 8 周 作业一

老坛酸菜

架构师训练营第2期

传统线程互斥技术 synchronized

武哥聊编程

Java 多线程 synchronized 28天写作

Redis击穿、穿透、雪崩产生原因以及解决思路

Java架构师迁哥

阿里内部Redis宝典意外流出极致经典:源码+实战+理论

比伯

Java 编程 程序员 架构 面试

“复制”马斯克(三):我们要为他的“反智事业”买单吗?

脑极体

批判性思维自修课(四)

石君

28天写作 批判性思维

《小狗钱钱》读书笔记

架构精进之路

读书笔记 七日更 28天写作

真正牛逼的人,都是极简主义者!!

冰河

产品 程序 极简主义

设计模式: 工厂模式

爱笑的小雨

设计模式 23种设计模式 Java设计模式

开发质量提升系列:表字段名称引发的血案

罗小龙

代码规范 28天写作

学习JAVA8个月,成功跳槽,外包进阿里成功定级P7,太牛了!

云流

Java 编程 程序员 面试

产品经理训练营笔记-产品思维和产品意识(下)

.nil?

产品经理训练营

《程序员修炼之道》- 务实的方法(5)

石云升

28天写作 程序员修炼之道 评估工作量

贪心算法

en

算法 贪心算法

半导体芯片小白基础知识(2) (28天写作 Day23/28)

mtfelix

集成电路 28天写作 晶圆 光刻机 晶圆代工

2021年春招,Java后端最全面试攻略,吃透25个技术栈

Crud的程序员

Java 程序员 架构

LeetCode题解:433. 最小基因变化,BFS+生成所有可能新基因再匹配,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

管理笔记[2]:独裁者X与民主统治者Y

俊毅

【Linux系统】关于守护进程

程序员架构进阶

Linux 架构 守护进程 28天写作

NullPointerException 的处理新方式,Java14 真的太香了!

xcbeyond

Java java 14 新特性 28天写作

阿里架构师集一生内力编撰的笔记,到底有什么干货?

Java架构师迁哥

九大核心专题,630页内容,熬夜23天吃透,我收割了3个大厂offer

周老师

Java 编程 程序员 架构 面试

webpack | 谈谈webpack的本质

梁龙先森

前端 前端工程 webpack 28天写作

设计模式简单讲 - 适配器设计模式

小马哥

Java 设计模式 架构师 七日更

《破壁MySQL》 - MySQL索引

haxianhe

MySQL

故乡的年

熊斌

28天写作

CSS(九)——盒子的浮动与定位

程序员的时光

程序员 七日更 28天写作

蚂蚁二面遭调优猛击,我闭关啃透485页性能实战手册,入职京东

互联网架构师小马

性能优化

4月17日 HarmonyOS 开发者日·上海站

4月17日 HarmonyOS 开发者日·上海站

语音编程,软件开发领域的下一个前沿技术?-InfoQ