当前位置: 首页 > 知识库问答 >
问题:

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

长孙瑞
2023-03-14

我正在尝试使用袖珍斯芬克斯转录音频文件。

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.

这里有一个我需要转录的音频文件:从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个答案

容宏逸
2023-03-14

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

您可以像这样重新采样sox文件。wav-r 16000文件-16000。wav

 类似资料:
  • 我使用的是libav 9.6,通过自制安装。 尽管在命令行输出的stdout中显示了采样率,但选项根本不会显示音频文件的采样率信息。 下面是BASH终端输出: 我向libav提交了一张票,但我只是好奇是否有任何其他方法可以从libav探测UTIL中提取采样率。我很感激事先的回答。 PS:在这种情况下,ffmpeg(ffprobe)的上游项目也会遇到同样的问题。

  • 问题内容: 我正在设计一个简单的调谐器,所以我的目标是显示音符名称(A,B,F#)以及理论声音和实际输入之间的 距离( 以分为单位)。 我是音频和信号处理的新手,所以我做了一些研究,发现 了一个 叫做快速傅立叶变换 的东西 ,它可以分析字节并给我频率。另外,我发现了一些Java库,例如通用数学和JTransforms,所以我不会自己编写硬代码。 我相信就这样,因为每个范围的频率都可以以相同的气质直

  • 问题内容: 嗨,我需要将wav音频文件的采样率从44.1kHz下采样到8kHz。我必须使用字节数组手动完成所有工作…这是出于学术目的。 我目前正在使用2个类(接收器和源)来弹出和推送字节数组。一切顺利,直到到达需要使用线性插值对数据块进行下采样的部分为止。 由于我是从44100降采样到8000 Hz,因此我该如何插入一个包含约128000000字节的字节数组?现在,我弹出5、6或7个字节,具体取决

  • 我正在用ffmpeg从flac文件制作mp3。这对我来说通常是哼哼。 今晚,由于某种原因,当我使用我一直使用的相同命令时,转换后的音频会失真。_故障排除后,出现“采样率”标志。 我的命令: MP3中的音频然后被一个顶起的增益所扭曲,导致数字剪辑。 我尝试更新ffmpeg,然后问题仍然存在。我尝试过转换各种采样率(44.1k源文件,48k源文件,96k源文件)44.1k和48kmp3,问题仍然存在,

  • 我有以不同频率捕获的传感器数据(这是我为了简化操作而发明的数据)。我想通过增加数据点的数量和插值来重新取样电压数据,这样我就有16个而不是12个。 Pandas具有重采样/上采样功能,但我只能找到人们从每周数据转换为每日数据的示例(通过两个每周数据点之间的插值添加6个每日数据点)。 时间(压力)0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.