用于在音频文件中转录语音的开源软件

任何人都可以推荐可靠的开源软件在wav文件中转录英语语音吗? 我研究的两个主要程序是狮身人面像和朱利叶斯,但我从来没有能够得到任何工作,每个转录文件的文档都是粗略的。

我正在开发64位Ubuntu 10.04,其中包括sphinx2和julius,以及voxforge的julius英语声学模式。 我专注于转录文件,而不是直接处理来自麦克风的声音,因为我已经放弃期望像这样的项目能够与Ubuntu的音响系统一起工作。 这不是对付Ubuntu的敲门声,因为我可以使用Audacity完美地录制我的麦克风的声音,但这两个系统似乎都无法访问我的麦克风,所以我希望我可以通过从文件中读取来简单地配置它们。

我首先从Ubuntu包sphinx2-bin中尝试了Sphinx2。 尽管示例sphinx2-demo似乎可以在转录文件时使用,但实际上没有关于配置的文档,所以我不确定如何定制这个以从任意wav中读取。 演示中使用的音频文件有一些未公开的“16k”格式,它通过2个配置文件间接引用。 有一段简短的介绍将sphinx2-demo描述为运行sphinx2-batch,但检查脚本显示它实际上调用了sphinx2-continuous。 更糟糕的是,每个脚本列表的--help文档大约有六十个选项,并没有提及哪些是必需的或可选的。 总体而言,狮身人面像文档的缺乏以及现有文档的质量很差,这使我疯狂。

考虑到Voxforge的快速入门使用的版本是3.5,我接下来再次尝试了来自Ubuntu软件包的Julius,这是令人惊讶的最近(4.1)。 该软件包似乎包含稍微好一些的文档,甚至是用Python编写的例子(/ usr / share / doc / julius-voxforge / examples / controlapp)。 在阅读了示例的文档之后,我尝试通过创建一个文件filelist.txt来修改它以便从文件中读取,该文件包含文本“hello.wav”,该文件引用同名文件,其中包含某人的“你好”的录音。 把这些放在同一个目录中,我跑了:

julius -input file -filelist filelist.txt -C julian.jconf

得到回应:

### read waveform input
Error: adin_file: sampling rate != 16000 (8000)
Error: adin_file: error in parsing wav header at hello.wav
Error: adin_file: failed to read speech data: "hello.wav"
0 files processed

通过为filelist.txt和hello.wav指定绝对文件名来重试会产生相同的错误。

我也尝试过在示例中使用的Julius调用,直接从麦克风录制:

julius -input mic -C julian.jconf

我多次调用这个函数,并且错误之间的响应不一致:

Cannot read /dev/dsp

和:

STAT: AD-in thread created
<<< please speak >>>

在后一种情况下,不管我对麦克风说什么,都不会发生。 我不知道它是否仍然无法读取麦克风,或者它是否正在读取某些内容,但无法录制音频。

我不知道该怎么做。 我遇到的错误不会让我继续前进。 为什么不能读取wav? 为什么不能读取/ dev / dsp? 为什么它似乎能够读取/ dev / dsp,但没有任何反应?

其他人是否在开源语音识别器方面取得了成功,特别是在Linux上?


为什么不能读取wav?

它告诉你文件有错误的采样率(8000)而不是请求的(16000)。 采样率对于语音识别软件来说非常重要。

为什么不能读取/ dev / dsp?

在最近版本的Ubuntu中使用pulseaudio框架来代替OSS。 您尝试使用的版本正在使用OSS,因此您需要从您的发行版中安装oss兼容性软件包以恢复OSS支持。

你可以尝试新的Julius,它有Pulseaudio支持

为什么它似乎能够读取/ dev / dsp,但没有任何反应?

音频输入无法正常工作。

其他人是否在开源语音识别器方面取得了成功,特别是在Linux上?

当然,查看这个视频是人们用CMUSphinx做什么的一个例子:

http://www.youtube.com/watch?v=vfaNLIowSyk

我建议你重新审视CMUSphinx软件包,它是一个领先的开源语音识别引擎。 网站上有大量文件,你只需要阅读它们。 请记住,语音识别是一个复杂的领域,您可以获得很好的结果,但您也需要投入时间来了解技术。 就像任何其他域一样。

简而言之,要用CMUSPhinx转录文件,您需要执行以下3个简单步骤:

  • 以wav文件并用sox重新采样到8khz 16位单声道文件:
  •     sox input.wav -r 8000 -c 1 resampled.wav
  • 安装pocketsphinx 0.7
  •    apt-get install pocketsphinx
  • 解码文件
  •     pocketsphinx_continuous -samprate 8000 -infile resampled.wav

    结果将打印到标准输出。 要压缩记录器,请将stderr重定向添加到/ dev / null

        pocketsphinx_continuous -infile resampled.wav 2> /dev/null
    链接地址: http://www.djcxy.com/p/34427.html

    上一篇: Open Source Software For Transcribing Speech in Audio Files

    下一篇: A problem with forced alignment in speech recognition