如何解决读取 wav 文件时出现“WAV 音频格式错误”
我有一组想要生成频谱图的 wav 文件。但是当我使用 tf.audio.decode_wav 函数时,出现以下错误:
InvalidArgumentError:WAV 音频格式错误:预期为 1 (PCM),但 got7 [Op:DecodeWav]
我该如何规避这个错误?还有其他方法可以使用 tensorflow 为 wav 文件生成 log mel 频谱图吗?
我知道 librosa 包,但我更喜欢 tensorflow。
代码是:
def decode_audio(audio_binary):
audio,_ = tf.audio.decode_wav(audio_binary)
return tf.squeeze(audio,axis=-1)
def get_waveform_and_label(file_path):
audio_binary = tf.io.read_file(file_path)
waveform = decode_audio(audio_binary)
return waveform
解决方法
该错误表明您的文件表明它们具有编码为 8 位 mulaw 的样本。
如 tf.audio.decode_wav 的 TensorFlow 文档中所述,此方法仅支持 16 位 PCM WAV。
在将 wave 文件传递给 tensorflow 之前,您需要对其重新编码。 ffmpeg 之类的东西可以在这里提供帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。