gpt4 book ai didi

python - scipy.io.wavfile.read 中的 EOF

转载 作者:行者123 更新时间:2023-12-04 13:41:34 26 4
gpt4 key购买 nike

我试图使用 scipy.io.wavfile.read 获取 wav 文件的数据,但它总是返回此错误消息: ValueError: 意外的文件结尾。
我浏览了本网站上的所有相关问题(我猜)。但他们都没有工作。我也试过将文件名写为 r '莫扎特 40 Allegro.wav'。

import scipy.io.wavfile

sample,data=scipy.io.wavfile.read('Mozart 40 Allegro.wav')
print(data)
备注 : 其他人提到我的wav文件可能损坏了,所以我下载了一个 sample wav file .这就是结果。 WavFileWarning:无法理解块(非数据),跳过它。
WavFileWarning)

但是有什么方法可以获得我需要的 wav 文件,该文件没有损坏并且没有给出我提到的第二条错误消息?
谢谢你
感谢 :最初我使用了一些在线转换器,但他们在保持文件完整且格式准确方面做得非常糟糕,vlc 可以处理此类错误,但这些不能。如果您正在使用 mp3,请始终使用 sox 进行转换和其他内容,并且不要忘记包含所需的额外文件(蹩脚文件)。

最佳答案

对于某些未使用正确 header 创建的文件,我有一些类似的问题。为了解决这个问题,我首先使用 ffmeg 将文件从 wav 转换为 wav。这会为 wav 文件创建元数据。
那么接下来的步骤应该或多或少:

ffmpeg -i "Mozart 40 Allegro.wav" -f wav -acodec pcm_s16le -ar 22050 -ac 1 "Mozart 40 Allegro_.wav"
然后新创建的文件应该有正确的元数据。所以现在它在 python 上打开时不应该引发错误:
sample,data=scipy.io.wavfile.read('Mozart 40 Allegro_.wav')

关于python - scipy.io.wavfile.read 中的 EOF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56346156/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com