2012-01-28 64 views
0

我们可以在不使用wav文件的情况下使用mp3文件进行语音识别吗?或者我们可以从mp3生成一个wav文件,然后进行语音识别,而不会对精度造成严重影响?问题是我需要在应用程序中最小化通过网络传输的负载。转换中丢失的信息是否会成为准确度的重要因素?使用Sphinx 4进行mp3识别

回答

1

我们可以在不使用 wav文件的情况下使用mp3文件进行语音识别过程吗?

不直接。为了能够识别mp3流,您需要使用java库来读取mp3并将其转换为pcm流(tritonus-mp3lameonj)。你也可以调用ffmpeg作为一个单独的进程来解码。

或者我们可以从mp3中生成一个wav文件,然后进行语音识别而不会对精度造成严重影响吗?

无论您在哪里解码mp3文件,精度都会受到影响。

问题是我需要尽量减少通过我的应用程序中的 网络传输的负载。 转换中丢失的信息是否是精确度的重要因素?

最好使用像flac这样的losseless编解码器来传输。 mp3转换会降低ASR的准确性。另一种方法是计算客户端上的功能并将它们传输到服务器。

+0

谢谢。 :)有没有一个Java插件flac也? – SDK 2012-01-28 19:55:32

+1

是的,例如http://jflac.sourceforge.net/ – 2012-01-28 20:33:46