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

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

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个键的键盘,允许你用一只手打字,我假设你只有一个坏手腕。

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


    推荐阅读