预期的音频采样率与实际不匹配?

时间:2017-10-19 11:27:00

标签: bash shell audio speech-recognition pocketsphinx

我正在尝试使用口袋狮身人面像来转录音频文件。

pocketsphinx_continuous -infile 116-288045-0005.flac.wav

但我收到了错误:

ERROR: "continuous.c", line 136: Input audio file has sample rate [44100],
       but decoder expects [16000]
FATAL: "continuous.c", line 165: Failed to process file '116-288045-0005.flac.wav'
       due to format mismatch.

这是我需要录制的音频文件之一:Download from GitHub

最终我将批量转录超过5个小时的音频文件,目前它们都会抛出相同的错误。

以下是我正在尝试转录的同一文件的一些统计信息:

$ soxi 116-288045-0000.flac.wav

Input File     : '116-288045-0000.flac.wav'
Channels       : 1
Sample Rate    : 44100
Precision      : 16-bit
Duration       : 00:00:10.65 = 469665 samples = 798.75 CDDA sectors
File Size      : 939k
Bit Rate       : 706k
Sample Encoding: 16-bit Signed Integer PCM

这个文件的某些配置可能有问题,我已经做了一些预处理,将它与mp3合并,从flac转换为wav等等。

现在最容易让转录工作的方法是什么?

是否可以不将文件重新采样回16kHz。最初flac文件的采样率为16kHz,但我不得不将它们与44.1kHz mp3文件合并。因此,现在有一些高频信息,如果重新采样到16k,可能会丢失。

1 个答案:

答案 0 :(得分:1)

将音频重新取样为16000个样本,然后重试。

您可以像这样重新采样 sox file.wav -r 16000 file-16000.wav