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

tek*_*reg 47 ergonomics voice speech-recognition speech code-by-voice

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

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

onn*_*odb 28

它在那里,它的工作原理......

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

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

虽然它的效果非常好,但我不会说它是一个简单的解决方案.培训计划需要时间,即便如此,它也会犯错误.与打字相比,它的速度非常慢,所以我不得不一直对自己说:"不要抓住键盘,不要抓住键盘,......"(之后我会抓住键盘).我自己倾向于嘟嘟一声,这也没有让事情变得更好,或者;-).特别是前几周可能令人沮丧.如果你的声音过于紧张,你甚至可能会遇到与语音相关的问题.

...特别是程序员!

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

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

if (somevar == 'a')
{
   print('You pressed a!');
}
Run Code Online (Sandbox Code Playgroud)

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

如何充分利用它

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

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

闭幕致辞

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

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

  • 我可以再次推荐JE Sarno的书.肯定有一些东西.它没有奇迹般地治愈了我,但它绝对有助于从完全不同的角度看待事物. (2认同)

Kei*_*ton 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. 使用该文档来训练词汇的语言模型.

如果有人有兴趣,我会在有机会的时候写一些更详细的东西.

编辑:

以下是如何指定SQL代码.如果您是数据库开发人员,此处创建的单词列表可以包含在其他词汇表中.


Car*_*ela 5

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