谁能推荐可靠的开源软件来在wav文件中记录英语语音?我研究过的两个主要程序是Sphinx和Julius,但是我从来都无法使用它们,并且每个转录文件的文档充其量都是粗略的。
我正在开发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文档列出了大约六打选项,并且没有提及哪些是必需的或可选的。总体而言,缺少狮身人面像文档以及现有文档质量不佳使我发疯。
接下来,我再次尝试使用来自Ubuntu软件包的Julius,该软件包是令人惊讶的最新版本(4.1),考虑到Voxforge快速入门中使用的版本是3.5。该软件包似乎包括稍微更好的文档,甚至包括一个用Python编写的示例(/ usr / share / doc / julius-voxforge / examples / controlapp)。阅读示例的文档后,我尝试通过创建一个filelist.txt包含文本“ hello.wav”的文件来引用该文件,该文件引用了同名文件,其中包含有人说“ hello”的记录。将它们放在同一目录中,我运行了:
filelist.txt
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- compatibility软件包,以重新获得OSS支持。
您可以尝试支持PulseAudio的新版Julius
那么为什么它似乎能够读取/ dev / dsp却没有任何反应呢?
音频输入无法正常工作。
其他人在开源语音识别器上是否取得了成功,尤其是在Linux上?
我建议您重新使用CMUSphinx软件包,它是领先的开源语音识别引擎。网站上有大量文件,您只需要阅读它们即可。请记住,语音识别是一个复杂的领域,您可以在其中获得出色的成绩,但是您还需要花时间在理解技术上。就像其他任何域一样。
简而言之,要使用CMUSPhinx转录文件,您需要执行以下3个简单步骤:
提取wav文件,然后用sox将其重采样为8khz 16位单声道文件:
袜输入.wav -r 8000 -c 1重新采样.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