【问题标题】:wav inconsistent number of samples when using avconvwav 使用 avconv 时样本数不一致
【发布时间】:2016-07-23 13:18:34
【问题描述】:

我需要制作一些一致的音乐样本。 具有 1 秒长波和 44100 采样率,我应该能够获得正好 44100 个样本的数组。不幸的是,这不是真的。

我的方法如下:

1) 生成 output.wav,长度为 1 秒,采样率为 44100

avconv -i input.mp3 -ss 00:01:00 -t 00:00:01 -ar 44100 -ac 1 output.wav

2) 我读取文件并打印样本数

meta,song  = scipy.io.wavfile.read(path + "/" +file)
assert meta == 44100
print(len(song))

对于 input.mp3 和起始位置的不同选择,我得到不同的数字: 43776, 43776, 44928, 43776, 43776, 44928

我的问题是,为什么会这样?以及如何更改第 1 步以生成一致的数据样本?

【问题讨论】:

    标签: wav avconv sample-rate


    【解决方案1】:

    avconv 不是很精确。应该有1秒的歌曲片段,实际有0.983991秒。

    为了解决这个问题,我们可能会使用 sox:

    sox input.mp3 -r 44100 -c 1 output.wav  --show-progress trim 0 00:01
    

    sox默认不支持mp3,所以我必须安装

    sudo apt-get install libsox-fmt-mp3
    

    【讨论】:

      猜你喜欢
      • 2016-11-14
      • 2022-08-14
      • 1970-01-01
      • 2021-04-04
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 2015-08-29
      • 2019-06-21
      相关资源
      最近更新 更多