那些文档终于说出来了,我需要在我的手腕上放几个月.因为我是一名.NET开发人员,这可能会暂时维持生计,这是我不急于做的事情.那就是说,开发人员有没有好的免提选择?有没有人成功使用任何语音识别软件?
POSTSCRIPT:我已经恢复了我的手臂,直到双手编程不成问题.Dragon自然而然地说效果不错,但速度较慢,而不像我编程的键盘比我想象的要快.
有很多语音识别程序,其中Dragon NaturallySpeaking是我认为最常用的语音识别程序之一.我自己用过它,并且对它的质量印象深刻.就在几年前,我想现在情况已经进一步改善了.
虽然它的效果非常好,但我不会说它是一个简单的解决方案.培训计划需要时间,即便如此,它也会犯错误.与打字相比,它的速度非常慢,所以我不得不一直对自己说:"不要抓住键盘,不要抓住键盘,......"(之后我会抓住键盘).我自己倾向于嘟嘟一声,这也没有让事情变得更好,或者;-).特别是前几周可能令人沮丧.如果你的声音过于紧张,你甚至可能会遇到与语音相关的问题.
总而言之,对于撰写普通文本/散文的人来说,它当然是一个可行的解决方案.作为程序员,你处于一个完全不同的领域,没有真正的解决方案.现在情况可能已经发生了变化,但如果他们有,我会感到惊讶.
有什么问题?大多数SR软件都是为了识别普通语言而构建的 程序员编写非常神秘的东西,并且很难(如果不是不可能的话)找到在正常语言和代码之间进行转换的软件.例如,你会如何指挥:
if (somevar == 'a') { print('You pressed a!'); }
使用普通SR程序中的命令,这是一个巨大的痛苦:"如果空格左括号等号符号撇号拼写撇号...".我甚至不是在谈论导航你的代码.曾经注意到你在编程时使用了多少键盘,以及这种用法与"普通"用户使用键盘的方式有何不同?
到目前为止,我只使用过Dragon NaturallySpeaking(DNS),因此我只能代表该产品.对于像程序员这样的人来说,有一些有趣的附加组件和网站:
Vocola是一个非官方的插件,允许您轻松地将自己的命令添加到DNS.基本上我发现它很重要.您还可以找到其他程序员编写的命令集,例如导航代码.它基于用Python编写的软件包,因此还有一些更先进和更精美的软件包.另请参阅Vocola的资源页面.(警告:当我使用它时,安装Vocola时会遇到一些问题;请查看下面的新闻组获取信息!)
SpeechComputing.com是一个论坛/新闻组,有很多有趣的讨论.一个好的起点.
似乎这个问题的最佳解决方案是:
找到实际编码的方法.
试着恢复.我有点不愿意推荐这本书,但对于患有RSI /腕管和其他慢性疼痛问题的人来说,它似乎效果非常好:JE Sarno,Mindbody处方.我现在正在使用它,我认为这绝对值得一读.
我使用Dragon NaturallySpeaking 10 Professional来决定VB.net和TSQL.VB.net本质上更接近于"口语"语言,但我认为没有任何理由不能用于C#或其他语言.我从一个完全空的词汇开始,并从头开始构建它以满足我的需求(这就是我使用专业版的原因).
这是基本步骤(假设您已经创建并培训了用户):
根据"Base General - Empty Dictation"创建一个新的词汇表.
不要扫描您的文档或电子邮件.
添加具有特定于您的编程语言的发音的关键字列表(Dim,ByVal\by-val等).
创建一个包含所有代码减去注释的.txt文档.
收获本文档中的单词并添加发音.
使用该文档来训练词汇的语言模型.
如果有人有兴趣,我会在有机会的时候写一些更详细的东西.
编辑:
以下是如何指定SQL代码.如果您是数据库开发人员,此处创建的单词列表可以包含在其他词汇表中.
查看使用Python按语音编码.
另一个想法是找到另一个好的开发人员来配合程序.它对我来说非常好.我可以放松双手而不必放慢脚步,最终生成质量更好的代码 - 或者至少不必审查它.
对于所有Linux人员,我想分享一些链接.
让我们从Simon开始- 开源语音识别软件:
西蒙听 - 非营利组织的研究和学徒
simon:开源语音识别 - 相关博客
HTK语音识别工具包 - 内部使用的引擎
开源大词汇CSR引擎Julius
不是关于西蒙胎儿的shlashdot
和其他一些:
Gnome语音控制
https://wiki.ubuntu.com/SpeechRecognition
http://en.wikipedia.org/wiki/Speech_recognition_in_Linux
VoiceCode
和
有关Linux的文本到语音识别工具的相关stackoverflow问题.