我正计划为 Linux 编写一个使用文本到语音和语音识别的程序。什么是最好的工具/库?我应该改用 Windows 来使用更好的工具吗?这些工具需要能够从控制台或 C 程序中轻松调用。
12 回答
这在很大程度上取决于您要识别的语音。
这是 2005 年的一篇文章,解释了创建听写程序的一些困难:http ://www.cs.cmu.edu/~archan/personal/whyNoOpenSourceDictationDraft4.html 。如果您愿意,Julius语音识别引擎似乎很有前途,但您需要添加自己的声学和语言模型。您也许可以使用voxforge声学模型。
如果您不尝试编写听写程序,那么您的任务要容易得多。命令程序的词汇量有限,例如“如果您想继续使用英语,请说“英语””。
我使用 pocketsphinx 和 gstreamer 制作了一个程序,可以自动编辑TWiT播客中出现的大多数单词“ twitter ”,从而获得了不错的结果。直到我使用基于播客记录的我自己的语言模型,它才起作用。语音识别器的机器转录是无用/搞笑的,但它们在查找关键字方面做得很好。
对于语音识别,Linux 几乎没有。我只知道一个明显不错的选择,IBM 几年前发布但后来不再可用(有人知道这个 ViaVoice SDK 是否仍然可以从任何地方获取?)。在wikipedia上有一些关于可能选项的更多信息。
对于 Debian/Ubuntu 文本转语音,还有 SVOX Pico:
sudo apt-get install libttspico-utils
我知道espeak是一个非常好的用于 linux 的文本到语音转换程序(它甚至可以做不同的口音!),但我不知道任何为 UNIX 设计的语音识别系统。
at&t fsm 工具包也非常棒 - 虽然不允许商业用途,
这有点老了,但我几天前在 Hackaday 上看到了一个相当全面的语音识别指南:http: //hackaday.com/2010/07/09/get-started-with-speech-recognition/
http://simon-listens.org/ - simon 开源语音/语音识别程序
然后是用于文本到语音的 mbrola。
您是否检查了基于 HMM 的语音合成以进行文本转语音。您可以在网站http://hts.sp.nitech.ac.jp/上找到免费演示。安装会有点繁琐。
我知道,最初的问题是关于寻找合适的库,但就使用足够好的语音识别进行真正的听写而言,Linux 似乎没有任何东西(尽管我确信它会及时改变,我怀疑它会花点时间,因为我不确定有多少人感兴趣)。
目前,我正在尝试将 Dragon NaturallySpeaking 推广为 CodeWeavers 支持的产品……因此,如果您作为用户感兴趣,如果您投票会有所帮助……
http://www.codeweavers.com/compatibility/browse/name/?app_id=8427