oku*_*oub 5 python audio wav scipy wave
我正在尝试从python中的TIMIT数据库中读取一个wav文件,但是我收到一个错误:
当我使用wave时:
wave.Error: file does not start with RIFF id
Run Code Online (Sandbox Code Playgroud)
当我使用scipy时:
ValueError: File format b'NIST'... not understood.
Run Code Online (Sandbox Code Playgroud)
当我使用librosa时,程序卡住了.我尝试使用sox将其转换为wav:
cmd = "sox " + wav_file + " -t wav " + new_wav
subprocess.call(cmd, shell=True)
Run Code Online (Sandbox Code Playgroud)
它没有帮助.我看到一个引用scikits.audiolab包的旧答案,但看起来它不再受支持了.
如何读取这些文件以获取数据的数据?
谢谢
您的文件不是 WAV 文件。显然它是一个 NIST SPHERE 文件。来自LDC 网页:“许多 LDC 语料库包含 NIST SPHERE 格式的语音文件。” 根据NIST 文件格式的描述,文件的前四个字符是NIST
. 这就是 scipy 错误告诉你的:它不知道如何读取以NIST
.
如果您想使用您尝试过的任何库读取文件,我怀疑您必须将文件转换为 WAV。要使用程序强制转换为 WAV sph2pipe
,请使用命令选项-f wav
(或等效的-f rif
),例如
sph2pipe -f wav input.sph output.wav
Run Code Online (Sandbox Code Playgroud)