【FCon上海】与行业领袖共话AI大模型、数字化风控等前沿技术。 了解详情
写点什么

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

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

    阅读完需:约 7 分钟

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

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

从语音到代码:当今有两种领先的语言编程平台,它们提供了不同的方式来向计算机“朗诵”代码。其中一个叫做 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

公众号推荐:

AIGC 技术正以惊人的速度重塑着创新的边界,InfoQ 首期《大模型领航者AIGC实践案例集锦》电子书,深度对话 30 位国内顶尖大模型专家,洞悉大模型技术前沿与未来趋势,精选 10 余个行业一线实践案例,全面展示大模型在多个垂直行业的应用成果,同时,揭秘全球热门大模型效果,为创业者、开发者提供决策支持和选型参考。关注「AI前线」,回复「领航者」免费获取电子书。

2021-04-08 14:332159
用户头像
刘燕 InfoQ高级技术编辑

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

关注

评论

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

Gitee图床被屏蔽后,我搭建了一个文件系统并封装成轮子开源!

IT学习日记

Java springboot 签约计划第三季 seaweedfs文件系统 Gitee图床崩了

物无定味适口者珍,Python3并发场景(CPU密集/IO密集)任务的并发方式的场景抉择(多线程threading/多进程multiprocessing/协程asyncio)

刘悦的技术博客

多线程 协程 多进程 Python3 Python.

毕业作业-设计电商秒杀系统

Fan

#架构实战营

如何优雅的消除系统重复代码

慕枫技术笔记

设计模式 代码 签约计划第三季 8月月更

Nacos配置中心之加载配置

急需上岸的小谢

8月月更

Python 教程之输入输出(1)—— 在 Python 中接受输入

海拥(haiyong.site)

Python 8月月更

好好活就是做有意义的事,有意义的事就是好好活

宇宙之一粟

8月月更

【高并发项目实战】自适应高并发复杂场景的订单拆分算法工具

小明Java问道之路

高可用 高并发 高性能 签约计划第三季 8月月更

鲲鹏编译调试插件实战

乌龟哥哥

8月月更

一、《图解HTTP》- WEB和网络基础

懒时小窝

图解https

如何给 UE4 场景添加游戏角色

HelloWorld杰少

c++ 游戏 UE5 8月月更

Serverless基础知识

阿泽🧸

Serverless 8月月更

1对1视频源码——快速实现短视频功能提升竞争力

开源直播系统源码

软件开发 直播系统源码 一对一视频聊天系统

kafka_2.13-3.2.0.tgz配置安装

Cjpler

签约计划第三季

基于微前端qiankun的多页签缓存方案实践

vivo互联网技术

Vue 前端 微前端 qiankun

【Go实现】实践GoF的23种设计模式:迭代器模式

元闰子

Go 设计模式 迭代器模式

前端食堂技术周刊第 46 期:Chrome 三方 cookie 计划、npm 引入更多安全增强功能、Awesome Bun

童欧巴

Linux npm Cookie

PDF转Word有那么难吗?做一个文件转换器,都解决了

IC00

C# 签约计划第三季

学习英语的网站与资料

玄兴梦影

学习 英语

GRPC MacOS M1 处理器的问题

HoneyMoose

SAP 云平台上一种 Low Code Development(低代码开发)解决方案

汪子熙

低代码 云平台 lowcode SAP 8月月更

mysql进阶(二十一)删除表数据与数据库四大特性

No Silver Bullet

MySQL 8月月更 四大特性 表删除

STM32+MPU6050设计便携式Mini桌面时钟(自动调整时间显示方向)

DS小龙哥

8月月更

Linux性能调优之内存负载调优的一些笔记

山河已无恙

签约计划第三季

【SeaTunnel】从一个数据集成组件演化成企业级的服务

Apache SeaTunnel

大数据 微服务 数据处理 数据集成 大数据 开源

系统可用性:SRE口中的3个9,4个9...到底是个什么东西?

董哥的黑板报

运维 后端 可用性 SRE

LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之一:解题思路

程序员欣宸

LeetCode 8月月更

SRv6 L3VPN的工作原理

穿过生命散发芬芳

8月月更 SRv6

Android编译系统初探

桑榆

8月月更

你认同这个观点吗?大多数企业的数字化都只是为了缓解焦虑

雨果

数字化转型 数字化

开源一夏|要有遥不可及的梦想,也要有脚踏实地的本事

坚果

开源 HarmonyOS OpenHarmony 8月月更

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