使用语音识别软件进行编程


10

几年前,我非常简短地使用了《 Dragon Naturally Speaking》,并在考虑这是否是可行的编程解决方案?

我在想更多,所以如果您断臂或对编程产生重大障碍的话。

同样的问题也未解决。


5
这是一个有趣的想法,但是我认为语言语法确实会使任何不致力于该语言的事情绊倒
Ryathal

1
除标点问题编码外,还需要进行大量的编辑工作,而语音控制则无法做到这一点。
罗伦·佩希特

1
尝试使用大多数编程语言中常见的大量标点符号滥用,就可以想到Victor Borge的语音标点喜剧短剧。
hotpaw2

您能想象使用VS使用自动完成功能吗?
乍得·哈里森

1
将Dragon Dictate用作除实际编码之外的其他东西可能是个主意,例如编译,启动已编译的应用程序,撰写/回复电子邮件,以及一些可能分散或延迟实际编码的常见事情。
Gortron

Answers:


18

我可以根据个人经验回答这一问题。几年前,我在一次事故中摔断双臂。由于我的工作是全职编程,所以这是一个问题。在一些帮助下,我在笔记本电脑上安装了Dragon。

那是浪费时间。

代码与自然语言不太相似。它主要是书面的,而不是口头的。我确切地知道什么y_z = (x < 0 ? -x : x) + 2;意思,但是我不知道该如何发音,也不在乎。

作为一种仅写的语言,代码在字符级别上非常精确。(x+2)*3和之间有很大的区别(x+2*3)。语音转文本程序擅长于注意单词而不是字符。添加特定字符需要说很多话,例如“左括号,x,加号,两个,右括号”。

当我编码时,我做了很多移动和重写。语音转文本适用于单一语言流。到处来回走都是不好的。

编码中的许多微小任务并不等同于打字,这一切都是语音到文本的优点。考虑一下您多久更改一次选项卡以查看其他代码模块,或者多久折叠一次或在编辑器中展开一个函数。

因此,如果您有语音转文字程序,请尝试一下并亲自看看。我认为您不会留下深刻的印象。


顺便说一句,不要一次断臂。一次打破一个,这样更容易。

如果我只有一只断胳膊,那我将单手完成所有编码。它仍然比使用语音转文本软件更快。


我认为如果我
全力以赴

3
刚开始不是肯定的。但是,当您感觉好些时,将笔记本电脑放在家里,却又无法在几个月内开车,您就想完成一些工作。
2012年

13

对于正在工作的专业程序员(时间是金钱),腕管严重受伤或手部受伤(等等),雇用初级/实习生“成对程序员”并让他们进行“语音识别”可能会更有效。打字。


这是一个好主意。使用结对编程,只要与知道如何键入和编写代码的合作伙伴一起工作,两臂断臂仍然可以提高工作效率。
Kyralessa 2012年

4

这是一个来自Python Convention的视频的链接,其中Tavis Rudd解释了他如何使用其Python插件结构自定义Dragon Naturally Speaking,以创建适合在Emacs,vim和终端中进行编程和编辑的词汇。令人鼓舞的是在编程和开发领域中语音识别的可能性。

使用Python进行语音编码

两年前,我开发了一箱Emacs Pinkie(RSI),以至于我的手变得麻木,无法继续打字或工作。绝望,我尝试了语音识别。刚开始时,它的编程速度很慢,但由于无法输入,我坚持不懈。用Python和Emacs Lisp进行了几个月的vocab调整和管带编码之后,我有了一个系统,该系统使我能够比以往任何时候都更快,更有效地通过语音进行编码。

在一个快节奏的实时演示中,我将使用Python创建一个小型系统,以及其他几种很好的语言,并在不触摸键盘的情况下进行部署。演示神将按计划出现。我希望说服您,语音识别不再是残障人士的束手无策或仅限于简单的散文。现在,它已成为使所有程序员受益的高效工具。


1
您介意进一步解释它的作用吗?为什么在回答所提问题时推荐它?“链接,只回答”不太欢迎堆栈交易所
蚊蚋

1
gnat-我更新了帖子以反映为什么我认为这是一个相关且有用的资源。如果链接不适用于该格式,则将其删除。
starinmypockets

1

您确实可以使用Dragon NaturallySpeaking进行语音解决方案编程,但是Dragon NaturallySpeaking只是整个解决方案的一小部分。

为了将语音成功编程,您不仅需要简单地将语音转换为单词,还需要很多技术。必须解决的一些问题示例:

您如何输入像ostreambuf_iterator这样的不可发音的单词?您如何处理编程语言中沉重的标点符号?您将如何在Windows之间切换?

通常,通过语音解决方案来构建和学习编程需要几个月的时间。像乔这样的人希望在一两天内能完成某些工作,他们会感到非常失望。

给定合理的命令集,来回移动效果很好。例如,您可以使用其显示的行号mod 100轻松指定目标行。通过单词或标点符号移动与编程语言一起在行内移动非常有效。

您可以在位于http://vocola.net/programming-by-voice-FAQ.html的语音常见问题解答中找到有关这些问题的更多信息。


0

基于 Joe的答案,问题在于您不能来回走动:

您可以另外使用眼睛跟踪来解决此问题。

编程语言是可读的。Smalltalk非常可读。

10 timesRepeat: [
    Transcript show:'hello'.
    Transcript cr.
].

想象一下针对说话而优化的编程语言。可以办到。

如果我问我的顾客他们想要什么,他们会说更快。- 亨利·福特

用这些术语:语音输入可能不是它。但是具有可编程特征的语音控制环境将更进一步。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.