【问题标题】:reading a wav file using scipy.io.wavfile and then writing doesn't reproduce the original file使用 scipy.io.wavfile 读取 wav 文件然后写入不会重现原始文件
【发布时间】:2013-06-12 10:03:51
【问题描述】:

我正在尝试在 Python 中使用 wav 文件。 我下载了据说可以完成这项工作的 SciPy 库。 要查看它是否有效,我正在尝试读取一个 wav 文件,然后将其再次写入磁盘。 由于某种原因,创建的新 wav 文件与旧文件不同。

import scipy.io.wavfile as wav
(rate,sample) = wav.read("/vocal.wav")
wav.write("/temp.wav", rate, sample)

【问题讨论】:

  • 有什么区别?质量?
  • 如果您读取/temp.wav 文件然后将其写入另一个临时文件会发生什么?
  • 不同之处在于 temp.wav 包含强烈的白噪声和原始vocal.wav 的更模糊和更安静的版本
  • 奇怪的是,如果我读取 /temp.wav 并将其写入 temp1.wav,我会得到相同的文件(至少对我来说听起来是一样的)。
  • 我刚刚在我拥有的另一个 wav 样本上试了一下,效果很好。可能是vocals.wav 文件有问题。

标签: python io scipy wav


【解决方案1】:

scipy.io.wavfile.write(filename, rate, data) : 写一个简单的 未压缩的 WAV 文件。 (来自here

我怀疑您的输入文件有某种压缩。

【讨论】:

【解决方案2】:

我对 SciPy 没有太多经验,但根据scipy.io.wavfile.write 的文档,预计要写入的数组是int 类型值的数组。而scipy.io.wavfile.read 告诉数组的类型由文件中的数据类型决定。它们可能不一样。

最好再次读取写入的文件,并检查从原始读取的数组在转换为int后是否包含相同的日期。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-04
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多