写点什么

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

  • 2021-04-08
  • 本文字数:2048 字

    阅读完需:约 7 分钟

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

从语音到代码:当今有两种领先的语言编程平台,它们提供了不同的方式来向计算机“朗诵”代码。其中一个叫做 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-04-08 14:332601
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 600.8 次阅读, 收获喜欢 1982 次。

关注

评论

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

HarmonyOS Development Practice: Multimodal Awareness Kit 构建教育场景智能感知系统

bianchengyishu

HarmonyOS NEXT

鸿蒙开发实战之Audio Kit打造智能英语听力训练系统

bianchengyishu

HarmonyOS NEXT

HarmonyOS Development Practice: Online Authentication Kit 构建教育可信身份体系

bianchengyishu

HarmonyOS NEXT

鸿蒙开发日记之Sensor Service Kit实现智能护眼提醒

bianchengyishu

HarmonyOS NEXT

鸿蒙开发实战之Wear Engine Kit打造智能手表学习伴侣

bianchengyishu

HarmonyOS NEXT

大数据-18 Flume HelloWorld 实现Source Channel Sink 控制台流式收集

武子康

大数据 hadoop hive flume

HarmonyOS Development Practice: Performance Analysis Kit 构建教育应用性能监测体系

bianchengyishu

HarmonyOS NEXT

鸿蒙开发实战之Telephony Kit实现教育应用的智能通话管理

bianchengyishu

HarmonyOS NEXT

HarmonyOS开发实战之User Authentication Kit打造教育应用安全认证体系

bianchengyishu

HarmonyOS NEXT

同质化的GPU云市场,谁能逃离内卷?

脑极体

AI

有了这个AI数字美食顾问,再也不愁今天吃什么

穿过生命散发芬芳

AI编程 Trae Trae Agent

YashanDB数据库架构详解及部署流程指导

数据库砖家

YashanDB数据库流量控制与防止雪崩效应方案

数据库砖家

HarmonyOS开发笔记之Service Collaboration Kit实现智能学习小组功能

bianchengyishu

HarmonyOS NEXT

HarmonyOS Development Practice: NearLink Kit 构建教育近场交互系统

bianchengyishu

HarmonyOS NEXT

鸿蒙开发实战之Remote Communication Kit实现教育题库同步

bianchengyishu

HarmonyOS NEXT

Windows下版本控制器(SVN)-启动服务器端程序

刘大猫

人工智能 svn 算法 版本控制 tortoiseSVN

世俱杯被“世界第一”霸屏!海信激光显示定义全球百吋电视产业新坐标

新消费日报

区块链 Web3 项目的类型及特点

北京木奇移动技术有限公司

软件外包公司 web3开发 区块链开发公司

虚拟制作高刷新率LED屏幕:打造沉浸式影像

Dylan

LED LED display LED显示屏 虚拟制作 LED屏幕

YashanDB数据库权限管理最佳实践

数据库砖家

HarmonyOS Development Practice: Network Boost Kit 构建教育网络加速系统

bianchengyishu

HarmonyOS NEXT

HarmonyOS Development Practice: Network Kit 构建智慧教育网络平台

bianchengyishu

HarmonyOS NEXT

HarmonyOS Development Practice: Pen Kit 构建智能笔写教学系统

bianchengyishu

HarmonyOS NEXT

HarmonyOS开发实战之Status Bar Extension Kit实现学习状态实时提醒

bianchengyishu

HarmonyOS NEXT

Web3 项目开发框架

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

YashanDB数据库权限管理与安全配置操作指南

数据库砖家

鸿蒙开发实战之Test Kit保障教育应用质量

bianchengyishu

HarmonyOS NEXT

HarmonyOS开发实战之Universal Keystore Kit实现教育数据安全存储

bianchengyishu

HarmonyOS NEXT

如何永久免费使用CrossOver?CrossOver 25 无限试用教程

阿拉灯神丁

MacBook Mac软件 M2芯片 crossover mac 破解版 Mac游戏推荐

出版社教学资源网的开发

北京木奇移动技术有限公司

软件外包公司 出版社 教学资源网

语音编程,软件开发领域的下一个前沿技术?_AI&大模型_Rina Diane Caballar_InfoQ精选文章