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

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

Voice Recognition Software For Developers

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

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


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

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

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

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

...特别是程序员!

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

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

1
2
3
4
if (somevar == 'a')
{
   print('You pressed a!');
}

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

如何充分利用它

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

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

闭幕致辞

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

  • 找到实际编码的方法。
  • 试着恢复。我有点不愿意推荐这本书,但它对于患有RSI /腕管和其他慢性疼痛问题的人来说似乎效果非常好:J.E。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问题。

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


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

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


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

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

  • 找一份要求尽可能少OT的工作
  • 尝试各种键盘。根据我的经验,在全职工作的笔记本电脑上工作效果最好。
  • 开始一个低中等压力举重程序。

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

    这非常简单,并且可以大大缓解紧张情绪。目前,我正在使用笔记本电脑,按下触摸板按钮使我的拇指紧张。

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

    附:您可以添加标签'人体工程学'或其他东西 - 可以看到标题是关于语音识别的开发。


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


    如上所述,Dragon Naturally Speaking是最好的语音识别软件,但微软语音识别并不落后,并与Vista捆绑在一起。

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

    一些提示

  • 学习指挥需要一些时间。仅仅因为你说话并不意味着你知道如何使用语音识别软件
  • 熟练使用SR和键盘/鼠标比完全免提操作要容易得多。
  • 使用CodeRush或等效类型来减少。

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

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


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


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

    • http://www.diigo.com/user/wierzowiecki/keyboard%20ergonomics
    • http://www.diigo.com/user/wierzowiecki/keyboard%20rsi。

    直接链接怎么样:

    • http://www.fentek-ind.com/ergo.htm - 不同的东西
    • http://www.kinesis-ergo.com/contoured.htm - Kinesis Advantage轮廓键盘(可编程!)
    • http://www.kinesis-ergo.com/foot.htm一些脚踏开关可以连接到键盘(例如用于窗口切换)
    • http://www.kinesis-ergo.com/freestyle.htm - 到目前为止,我发现即使使用两个普通键盘也比一个更好,所以我认为分裂自由式可能也能正常工作
    • http://www.typematrix.com/ - 另一种解决方案
    • http://www.maltron.com/ - 有时当一只手比另一只手更难打字时
    • http://www.keybowl.com/ - 这看起来也很有趣
    • 我相信还有很多其他有趣的解决方案

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

    • http://www.workrave.org/ - 这会提醒你休息;)

    Scott Hanselman使用语音识别相当多。


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

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


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

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


    推荐阅读

      linux移动文档命令?

      linux移动文档命令?,文件,名称,系统,位置,目录,信息,命令,源文件,目标,文件

      linux命令文档下载?

      linux命令文档下载?,工具,网络,系统,工作,基础,数据,名称,管理,位置,代理,lin

      linux控制台编程命令?

      linux控制台编程命令?,系统,工具,环境,命令,名称,标准,不了,工作,发行,基础,s

      linux编程常用命令?

      linux编程常用命令?,系统,工作,信息,命令,地址,管理,工具,网络,基础,目录,lin

      linux命令chm文档?

      linux命令chm文档?,电脑,系统,文件,首页,百度,软件,电机,管理,产品,设备,谁知

      linux中ls命令恢复?

      linux中ls命令恢复?,系统,工具,信息,工作,命令,文件,目录,一致,电脑,基础,lin

      linux中编辑文档命令?

      linux中编辑文档命令?,状态,工作,命令,电脑,信息,第一,系统,编辑,终端,文件,L

      linux恢复命令行设置?

      linux恢复命令行设置?,系统,工作,密码,信息,工具,地址,电脑,命令,情况,地方,

      linux恢复数据库命令?

      linux恢复数据库命令?,工具,系统,软件,数据,盘中,密码,命令,备份,数据库,文

      linux历史命令恢复?

      linux历史命令恢复?,工具,数字,信息,命令,文件,地址,地方,系统,路径,备份,lin

      linux历史命令恢复?

      linux历史命令恢复?,工具,数字,信息,命令,文件,地址,地方,系统,路径,备份,lin

      编程解析linux命令?

      编程解析linux命令?,系统,标准,基础,设备,发行,电脑,工具,密码,名字,适当,如

      linux常用命令文档?

      linux常用命令文档?,工作,系统,地址,管理,网络,命令,信息,目录,操作,文件,lin

      linux命令行图形编程?

      linux命令行图形编程?,系统,不了,情况,密码,工具,地方,百度,管理,图形界面,

      linux打开文档命令?

      linux打开文档命令?,密码,图片,系统,标准,命令,文件,终端,发行,信息,情况,Lin

      linux编程执行命令?

      linux编程执行命令?,电脑,系统,环境,命令,基础,发行,工具,代码,地址,名称,lin

      linux命令行备份恢复?

      linux命令行备份恢复?,工具,数据,软件,状态,系统,在线,位置,电脑,地址,网络,

      linux终端命令行编程?

      linux终端命令行编程?,系统,工作,命令,终端,概念,时间,第一,代码,发行,地方,L

      linux恢复删除命令?

      linux恢复删除命令?,工具,系统,信息,文件,命令,数据,软件,名称,不了,目录,lin