使用python显示音频文件时遇到问题

2024-10-01 00:17:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,但我正在学习它作为DSP的编程语言。我试图播放音频文件采样后使用IPython.display.audo文件你知道吗

我已经安装了FFmpeg作为处理音频输出的一部分,但仍然收到错误消息

import IPython.display
from scipy.io import wavfile

rate, s = wavfile.read('h.wav')
IPython.display.Audio(s , rate = rate)

我得到了那个错误 结构错误:ushort格式要求0<;=数字<;=0xffff

Error messages


Tags: 文件importltrate错误ipythondisplay音频
1条回答
网友
1楼 · 发布于 2024-10-01 00:17:43

这不是一个非常有用的错误信息,是吗!在我注意到从wavfile返回的数据的形状对于^{}来说是错误的之前,我进行了一些调试,它说:

Numpy 2d array containing waveforms for each channel. Shape=(NCHAN, NSAMPLES).

如果我对一个立体声wav文件做同样的处理,我会发现:

rate, samples = wavfile.read(path)
print(samples.shape)

对于这个文件,我得到(141120, 2)显示这显然是两个通道。如果我将这个数组直接传递给Audio,我会得到与您类似的错误。相反,如果我转置数组,例如:

IPython.display.Audio(samples.T, rate=rate)

一切正常。。。你知道吗

相关问题 更多 >