面向开发人员的语音识别软件

时间:2008-09-17 21:45:09

标签: speech-recognition voice ergonomics speech code-by-voice

嗯,医生终于说出来了,我需要在手腕上放几个月。因为我是一名.NET开发人员,这可能会暂时维持生计,这是我不急于做的事情。那就是说,开发人员有没有好的免提选择?有人使用任何语音识别软件成功吗?

POSTSCRIPT:我已经恢复了我的手臂,直到双手编程不成问题。 Dragon自然而然地说效果不错,但速度较慢,而不像我编程的键盘比我想象的要快。

16 个答案:

答案 0 :(得分:28)

它就在那里,它有效......

有很多语音识别程序,其中Dragon NaturallySpeaking是我认为最广泛使用的程序之一。我自己用过它,并且对它的质量印象深刻。就在几年前,我想现在情况已经进一步改善了。

......但这并不容易......

尽管效果非常好,但我不会说这是一个简单的解决方案。培训该计划需要时间,即使这样,它也会犯错误。与打字相比,它的速度非常慢,所以我不得不一直对自己说:“不要抓住键盘,不要抓住键盘,......”(之后我会抓住键盘)。我自己倾向于嘟嘟一声,这也没有让事情变得更好,或者;-)。特别是前几周可能令人沮丧。如果您voice-related problems,您甚至可以获得strain your voice too much

...特别是对于程序员来说!

总而言之,对于撰写普通文本/散文的人来说,这肯定是一个可行的解决方案 。作为程序员,你处于一个完全不同的领域,没有真正的解决方案。现在情况可能已经发生了变化,但如果有的话,我会感到惊讶。

有什么问题?大多数SR软件都是为了识别普通语言而构建的程序员编写非常神秘的东西,并且很难(如果不是不可能的话)找到在正常语言和代码之间进行转换的软件。例如,你会如何指示:

if (somevar == 'a')
{
   print('You pressed a!');
}

使用普通SR程序中的命令,这是一个巨大的痛苦:“如果空格左括号等号符号撇号拼写撇号......”。我甚至不是在谈论导航您的代码。有没有注意到你在编程时使用了多少键盘,以及这种用法与“普通”用户使用键盘的方式有何不同?

如何充分利用它

到目前为止,我只使用过Dragon NaturallySpeaking(DNS),因此我只能代表该产品。有一些有趣的附加组件和网站针对像程序员这样的人:

  • Vocola是一个非官方的插件,可让您轻松地将自己的命令添加到DNS。基本上我发现它很重要。您还可以找到其他程序员编写的命令集,例如:导航代码。它基于用Python编写的软件包,因此还有一些更先进和更精美的软件包。还可以查看Vocola的Resources page。 (警告:当我使用它时,安装Vocola时会出现一些问题;请查看下面的新闻组获取信息!)
  • SpeechComputing.com是一个论坛/新闻组,有很多有趣的讨论。一个好的起点。

结束语

这个问题的最佳解决方案似乎是:

  • 找到实际编码的方法。
  • 尝试恢复。我有点不愿意推荐这本书,但对于患有RSI /腕管和其他慢性疼痛问题的人来说,它似乎效果非常好:J.E. Sarno, Mindbody prescription。我现在正在使用它,我认为这绝对值得一读。

答案 1 :(得分:18)

我使用Dragon NaturallySpeaking 10 Professional决定VB.net和TSQL。 VB.net本质上更接近于“口语”语言,但我认为没有任何理由不能用于C#或其他语言。我从一个完全空的词汇开始,并从头开始构建它以满足我的需求(这就是我使用专业版的原因)。

以下是基本步骤(假设您已经创建并培训了用户):

  1. 根据“Base General - Empty Dictation”创建一个新的词汇表。
  2. 不要扫描您的文件或电子邮件。
  3. 添加具有特定于您的编程语言的发音的关键字列表(Dim,ByVal \ by-val等)。
  4. 创建一个包含所有代码减去评论的.txt文档。
  5. 从本文档中收集单词并添加发音。
  6. 使用该文档训练词汇的语言模型。
  7. 如果有人有兴趣的话,我会写一些更详细的内容。

    编辑:

    以下是dictate SQL code的方法。如果您是数据库开发人员,则此处创建的单词列表可以包含在其他词汇表中。

答案 2 :(得分:7)

答案 3 :(得分:5)

另一个想法是找另一个好的开发人员来配合程序。它对我来说非常好。我可以放松双手而不必放慢脚步,最终生成质量更好的代码 - 或者至少不必审查它。

答案 4 :(得分:5)

答案 5 :(得分:4)

我知道我在这里有点偏离主题,对语音识别软件一无所知;但是,您可能会发现将键盘更改为Dvorak布局很有用,我听说手腕上有很多更好的键盘。

http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard

答案 6 :(得分:3)

几年前我尝试过龙,这是一个噩梦般的单词和短语的噩梦 - 不推荐。我知道这是当时最好的事情,所以我不乐观。

作为一名患者,建议如下:

  1. 找一份要求尽可能少OT的工作
  2. 尝试各种键盘。根据我的经验,全职工作的笔记本电脑工作效果最好。
  3. 启动低中等压力举重程序。

答案 7 :(得分:3)

关于手腕问题,我在大约10年前用双手学习鼠标。

这非常容易,并且大大减轻了紧张。目前,我正在使用笔记本电脑,按下触摸板按钮使我的拇指紧张。

小心点。这些问题可能比人们想象的要长。


P.S。你可以添加一个标签'人体工程学'或其他东西 - 标题可以看作开发用于语音识别。

答案 8 :(得分:3)

如上所述,Dragon Naturally Speaking是最好的语音识别软件,但微软语音识别并不落后于Vista。

Vocola最近被移植到MSR,并具有.Net集成功能。

一些提示

  1. 学会指挥需要一些时间。仅仅因为你说话并不意味着你知道如何使用语音识别软件
  2. 熟练使用SR和键盘/鼠标比完全免提操作要容易得多。
  3. 使用CodeRush或等效内容输入less。

答案 9 :(得分:3)

按语音编程的黄金标准是VoiceCode。如果我没记错的话,他们支持C ++和Python。

答案 10 :(得分:2)

我开始用左手做鼠标,这不仅对我有所帮助,而且允许我更自由地使用我的右手,如果你编写了很多东西dwon,你编码这对你有很大的帮助..你可以同时滚动和记下......

当我的问题开始时,我把一个水袋放在我的手腕下,我喜欢它!我的包很完美它很长,我把它放在键盘前,所以我可以把手腕放在那里......直到有一天我踩到它......

答案 11 :(得分:2)

Dragon自然而然地说首选和Vocola。 Autohotkey尽可能自动化。虽然不容易编程。我试过了;几乎是不可能的。看看John Sarno的治疗背部疼痛。它让我变得更好。我整天都回去编程了!

答案 12 :(得分:2)

这里有点偏离主题,我发现将分割的键盘分为两部分和其他特殊键盘有帮助,只需检查出kinesis。我在diigo收集了有关此类硬件的信息:

直接链接怎么样:

还有一件事!记住练习的休息时间。定期锻炼(例如小锻炼 - 每半个锻炼 和小时不同的一个)真的让事情变得更好!

答案 13 :(得分:1)

Scott Hanselman使用语音识别quite a bit

答案 14 :(得分:1)

我在1996年使用Dragon Dictate的原因和你一样。这是缓慢的,但比不工作更好。我发现通过用代码填充4x8白板然后让其他人输入代码来编写代码更容易。然后我使用DD进行调试。

当你在这里时,你可能会看到有关RSI的Deborah Quilter's本书。它们非常有用。

答案 15 :(得分:0)

我找不到一个链接(我确实看过),但是只有5个键的键盘,允许你用一只手打字,我假设你只有一个坏手腕。

如果我找到了链接,我会尝试给你发消息。