原创竞科技
2021年了,人人都知道掌握计算机知识和编程技能的重要性!
可即便计算机语言已经由古早原始的机器语言、汇编语言进化到如今以C、C++、Python、PHP、Ruby等为代表“简化版”高级语言,也有VS Code这样的编程神器,但普通大众编程的门槛仍然不能说足够低。
VS Code
与此同时,各行各业“互联网化”和“智能化”的诉求不断提速,专业编程人员的不足催生了“低代码”乃至“无代码”行业的井喷。
世界经济论坛(World Economic Forum)曾预测,若干行业企业在数字化转型上的支出将达到1.7万亿美元。
根据P&S Intelligence发布的市场研究报告,2020年全球低码开发平台市场规模为128.5亿美元,到2030年将达到1,870亿美元,未来十年的复合增长率高达31.1%。
如何解决这个矛盾?或许我们的思路可以从生活中越来越多的各类语音助手出发。
当下,语音交互AI频现,从司空见惯的“Siri”、“小度”、“小爱同学”和“天猫精灵”到和智能化汽车浪潮一起诞生的CarPlay和Android Auto等汽车助手,甚至还有对语音生物识别和命令敏感的应用程序。
此时,我们就会不由自主的联想到一个可能的未来——如果我开口说话就可以完成编程的工作,那一切岂不是堪称“完美”?
实际上,这就是语音编程(Voice Coding)技术对未来的构想!
语音编程是一种用语音代替键盘和鼠标来编写代码的软件开发方法。通过语音编程平台,程序员或我们普通人只需要说出命令来操作代码。
不仅如此,为了使编程的灵活性更高或适应自动化的工作流程,我们还可以创建自定义的命令。
当前,全球有两个领先的语音编程平台(Programming-By-Speech Platforms)。
其中之一是 Serenade,它的作用有点像数字助手,可以让你描述正在编程的命令,而不要求你必须逐字逐句地口述每条指令。
另一个是 Talon,它提供了对每一行代码更精细的控制,这也意味着你需要对每一个被编入机器的任务有更细致的把握。
一个简单的例子,在Serenade和Talon中逐步生成“hello”的Python代码
显然,语音编程并不像看起来那么简单,其背后有着层层复杂的技术。
比如语音编程应用Serenade,它有一个专门为代码开发的语音转文字引擎,而不像谷歌的语音转文字API是为对话语音设计的。
一旦软件工程师说出代码,Serenade的引擎就会将其反馈到自然语言处理层,其机器学习模型经过训练,可以识别并将常见的编程结构翻译成语法有效的代码。
2020年,Serenade公司在的种子轮融资中筹集了210万美元。在前一年,Serenade的联合创始人Matt Wiethoff被诊断出重复性劳损,他当时也就萌发了设计语音编程应用的想法。
“我离开了在Quora担任软件工程师的工作,因为我不能再做这项工作了。”Wiethoff说。“我当时的想法是要么选择一个不需要反复敲击键盘的职业,要么想出某种解决方案。”
无独有偶,Talon的创始人Ryan Hileman踏上创业道路也是出于类似的理由。
2016年,他患上了严重的手部疼痛,于是在第二年他辞去了软件工程师的全职工作。之后便一心一意扑在语音编程平台Talon的搭建上。
“Talon的意义在于完全取代键盘和鼠标!”他说。
Talon有几个重要的部分组成:语音识别(Speech Recognition)、眼球追踪(Eye Tracking)和噪音识别(Noise Recognition)。
Talon的语音识别引擎是基于Facebook的Wav2letter自动语音识别系统,Hileman对该系统进行了扩展,以适应语音编程的命令。
同时,Talon的眼球追踪和噪音识别功能可以模拟用鼠标导航,根据眼球运动在屏幕上移动光标,并根据嘴部发出的声音进行点击。
“这种声音很容易发出来,一点儿都不费力气,而且识别所需的延迟很低,所以它是一种更快的鼠标点击方式,不会造成声带疲劳。”Hileman说。
正如软件工程师兼语音编程员艾米丽·谢伊(Emily Shea)在2019年的一次会议演讲中所说的那样,用Talon编程听起来就像是在说另一种语言。
她的视频中充满了语音命令,比如“slap”(按回车键)、“undo”(删除)、“spring 3”(转到文件第三行),以及“phrase name op equals snake extract word paren mad”(which results in this line of code: name = extract_word(m))。
另一方面,用Serenade编程遵循的是一种比较自然的讲代码的方式。你可以说“delete import”来删除文件顶部的导入指令,也可以说“build”来运行一个自定义的构建命令。
例如,你也可以说“add function factorial”(添加函数factorial)来创建一个在JavaScript中计算阶乘的函数,而应用程序会自行处理语法(包括“function”关键字、圆括号和大括号),这样你就不必明确地说出每个元素。
当然,既然语音编程这么好,其代价也是有的,就是你可能需要升级你的硬件。
以Serenade为例,其模型是在笔记本电脑麦克风产生的音频上进行训练的,但考虑到消除背景噪音的要求,你在进行语音编程时可能需要一个像样的麦克风。
而如果你想用眼球追踪运行Talon,你还需要眼球追踪硬件。
Talon的眼球追踪器,售价150美元
另外,Aenea和Caster等开源语音编程平台是免费的,但两者都依赖于Dragon语音识别引擎,用户必须自行购买。
Serenade Labs联合创始人Tommy MacWilliam表示,结果不言而喻,“能够描述你想做的事情是如此简单,”他说,“相对于打字或按键盘快捷键,说一句话就执行一个命令肯定更流畅。”
语音编程还可以让那些有伤病或慢性疼痛的人继续他们的职业生涯,“能够使用语音编程开辟出一种限制更少的使用电脑的方式!”Shea说。
此外,用语音进行编程还可以降低软件开发的准入门槛。“如果他们能够以一种逻辑和结构化的方式思考他们想要编写的代码,”MacWilliam说,“那么我们就可以让机器学习走最后一步,把这些想法转化成语法上有效的代码。”
目前,语音编程仍处于起步阶段,其普及的速度取决于软件工程师对传统键盘和鼠标编写代码模式的淘汰进度。
但另一发面,语音编程也带来了各种可能性,甚至在未来,脑机接口可以直接将你的想法转化为代码或软件也不一定。到那时,程序员就能获得真正的解放!