Cer*_*rin 19 python java speech-recognition speech-to-text cmusphinx
任何人都可以推荐可靠的开源软件来转录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文档列出了大约6个选项,并没有提到哪些是必需的或可选的.总的来说,缺乏sphinx文档,以及现有文档质量差,这让我感到疯狂.
我接下来尝试了Julius,再次来自Ubuntu软件包,这是令人惊讶的最近(4.1),考虑到Voxforge的快速启动中使用的版本是3.5.该软件包似乎包含更好的文档,甚至是用Python编写的示例(/ usr/share/doc/julius-voxforge/examples/controlapp).在阅读了示例的文档之后,我尝试通过创建一个filelist.txt包含文本"hello.wav" 的文件来调整它来读取文件,该文件引用了一个同名文件,其中包含一个说"你好"的人的录音.将它们放在同一目录中,我运行:
julius -input file -filelist filelist.txt -C julian.jconf
Run Code Online (Sandbox Code Playgroud)
得到回应:
### 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
Run Code Online (Sandbox Code Playgroud)
通过为filelist.txt和hello.wav指定绝对文件名进行重试会产生相同的错误.
我还尝试了在示例中使用的Julius调用,直接从麦克风录制:
julius -input mic -C julian.jconf
Run Code Online (Sandbox Code Playgroud)
我多次打电话,错误之间的响应不同:
Cannot read /dev/dsp
Run Code Online (Sandbox Code Playgroud)
和:
STAT: AD-in thread created
<<< please speak >>>
Run Code Online (Sandbox Code Playgroud)
在后一种情况下,无论我对麦克风说什么,都没有任何反应.我不知道它是否仍然无法读取麦克风,或者是否正在阅读某些内容,但是根本无法录制音频.
我不知道该怎么做.我得到的错误并没有给我留下太多的意思.为什么不能读取wav?为什么不能读取/ dev/dsp?为什么它似乎能够读取/ dev/dsp,但不以任何方式作出反应?
有没有其他人在开源语音识别器上取得任何成功,特别是在Linux上?
Nik*_*rev 14
为什么不能读取wav?
它告诉您该文件具有错误的采样率(8000)而不是请求(16000).采样率对于语音识别软件非常重要.
为什么不能读取/ dev/dsp?
在最新版本的Ubuntu中,使用pulseaudio框架代替OSS.您正在尝试的版本是使用OSS,因此您需要从您的发行版安装oss-compatibility软件包以恢复OSS支持.
您可以尝试更新的具有pulseaudio支持的Julius
为什么它似乎能够读取/ dev/dsp,但不以任何方式作出反应?
音频输入无法正常工作.
有没有其他人在开源语音识别器上取得任何成功,特别是在Linux上?
当然,请将此视频作为人们对CMUSphinx的处理示例:
http://www.youtube.com/watch?v=vfaNLIowSyk
我建议你重新访问CMUSphinx软件包,这是一个领先的开源语音识别引擎.网站上有大量文档,您只需要阅读它们即可.请记住,语音识别是一个复杂的领域,您可以获得很好的结果,但您还需要投入时间来理解技术.就像任何其他域一样.
简而言之,要使用CMUSPhinx转录文件,您需要执行以下3个简单步骤:
sox input.wav -r 8000 -c 1 resampled.wav
apt-get install pocketsphinx
pocketsphinx_continuous -samprate 8000 -infile resampled.wav
结果将打印到标准输出.要压缩记录器,请将stderr重定向添加到/ dev/null
pocketsphinx_continuous -infile resampled.wav 2> /dev/null
| 归档时间: |
|
| 查看次数: |
11478 次 |
| 最近记录: |