CMU Sphinx 转录准确性
CMU Sphinx Transcription accuracy
我正在开发 Web 语音识别应用程序。我正在使用 recorderJS 捕捉声音并将其发送到后端,应该使用 CMU Sphinx 对其进行处理。
我在使用默认声学模型、语言模型和词典发现最新版本 5prealpha 的库时遇到了准确性问题,后来减少了识别词的数量通过使用JSGF语法,所以我使用了1.0 beta6版本。
1.0 beta6 版本的麦克风识别非常准确。但是,当我转录声音时,它总是很差。我怎样才能提高准确性?我尝试使用最新版本的 StreamSpeechRecognizer,但结果也很差。
我设法获得了很好的准确性。我检查了 edu.cmu.sphinx.frontend.util.Microphone class 的实现,发现采样率为 16000,比特率为 16,通道数为 1。
我进一步查看了 recorderJS,发现 Google Chrome 中的采样率为 44,100 Hz,因此我寻找了库的可配置版本,并找到了 Chris Rudmin fork来自 Matt Diamond 的 RecorderJS。
我没有使用最新版本,因为声音是在Ogg format, and I need it to be WAV中导出的,所以我查看了以前的版本;我使用的是比特率可配置的 0.3 版,它运行良好。
我后来修改了它附带的示例,以下参数给出了很好的准确性:
监控增益:0
位深:16
通道数:1
recordOpus:未选中
采样率:16000
比特率:32000
这是CMU Sphinx的XML配置文件中流数据源的配置。
<component name="streamDataSource"
type="edu.cmu.sphinx.frontend.util.StreamDataSource">
<property name="sampleRate" value="16000" />
<property name="bitsPerSample" value="16" />
<property name="bigEndianData" value="false" />
<property name="signedData" value="true" />
</component>
我正在开发 Web 语音识别应用程序。我正在使用 recorderJS 捕捉声音并将其发送到后端,应该使用 CMU Sphinx 对其进行处理。
我在使用默认声学模型、语言模型和词典发现最新版本 5prealpha 的库时遇到了准确性问题,后来减少了识别词的数量通过使用JSGF语法,所以我使用了1.0 beta6版本。
1.0 beta6 版本的麦克风识别非常准确。但是,当我转录声音时,它总是很差。我怎样才能提高准确性?我尝试使用最新版本的 StreamSpeechRecognizer,但结果也很差。
我设法获得了很好的准确性。我检查了 edu.cmu.sphinx.frontend.util.Microphone class 的实现,发现采样率为 16000,比特率为 16,通道数为 1。
我进一步查看了 recorderJS,发现 Google Chrome 中的采样率为 44,100 Hz,因此我寻找了库的可配置版本,并找到了 Chris Rudmin fork来自 Matt Diamond 的 RecorderJS。
我没有使用最新版本,因为声音是在Ogg format, and I need it to be WAV中导出的,所以我查看了以前的版本;我使用的是比特率可配置的 0.3 版,它运行良好。
我后来修改了它附带的示例,以下参数给出了很好的准确性:
监控增益:0
位深:16
通道数:1
recordOpus:未选中
采样率:16000
比特率:32000
这是CMU Sphinx的XML配置文件中流数据源的配置。
<component name="streamDataSource"
type="edu.cmu.sphinx.frontend.util.StreamDataSource">
<property name="sampleRate" value="16000" />
<property name="bitsPerSample" value="16" />
<property name="bigEndianData" value="false" />
<property name="signedData" value="true" />
</component>