python - 使用 scipy.io.wavfile 时出错
问题描述
我在使用从 scipy.io.wavfile 读取的函数时遇到了一些麻烦。
我的尝试:
from scipy.io.wavfile import read
import matplotlib.pyplot as plt
fs, data = read('A.wav')
这是错误消息:
A.wav 文件和 .py 文件在同一目录下有什么问题?
谢谢你。
解决方案
根据VLC,您的文件“A.wav”使用编解码器“PCM MU-LAW (mlaw)”。scipy 库无法读取该格式的 WAV 文件(Python 的标准库也无法读取wave
)。要使用 scipy,您必须使用其他工具将文件转换为 PCM 或 IEEE 浮点 [*]。例如,我使用 VLC 将文件转换为“Audio - CD”格式,并且能够使用 scipy 读取新文件。
[*] 您可能不需要看到的技术细节:这些格式分别对应于 WAV 文件格式块中的wFormatTag
valueWAVE_FORMAT_PCM = 0x0001
或wFormatTag
value 。WAVE_FORMAT_IEEE_FLOAT = 0x0003
推荐阅读
- tensorflow - 大型可训练嵌入层减慢了训练速度
- sql-server - 如何提交 T-SQL 脚本
- ios - 当应用程序在推送通知iOS Swift中终止时如何调用API?
- wso2 - 是否不再支持使用 ESB 集群的管理节点?
- c# - 在EF中保存父实体时,子实体是否也保留在实体框架中?
- angular - 在 Jasmine 单元测试中:无法解析 TestFormInputComponentBase 的所有参数
- jquery - jquery函数重叠
- java - Android ScrollView 从子 WebView 窃取触摸事件
- php - 如何检查 $_POST ['input'] 是否仅包含允许的字符
- java - 异常:java.lang.NullPointerException on connection to the orient graph Database