Python WAV“TypeError:无法理解数据类型”

2024-04-20 11:22:34 发布

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

我在使用Python读取.wav文件时遇到了一个问题。我想读取文件的振幅和采样率。在

我尝试使用以下代码读取文件:

import os
folder = os.getcwd() + '\\WAV'
file_name = 'Guitar.ff.sul_E.C5Bb5'
path = folder + '\\' + file_name + '.wav'
rate,data=read(path)

在上面的代码之前,我从scipy库导入了read函数,如下所示:

from scipy.io.wavfile import read,write

我从numpy导入:

from numpy import linspace,sin,pi,int16

我收到错误“TypeError:data type not understand”。在

这段代码在另一个.wav文件中运行得很好,我想知道如何(如果可能的话)更改代码以读取此文件,或者是否必须在读取之前更改.wav文件。在

以下是文件的属性:

  1. 文件:吉他,ff,南吕.C5Bb5.wav
    • 大小:38.87 MB
    • 时长:1分10秒
    • 采样率:96 KHz
    • 样本大小:24位
    • 比特率:4608 kbps
    • 频道:尝试1和2
  2. 文件:440哈扎通.wav
    • 大小:173 KB
    • 长度:2秒
    • 采样率:44.1 KHz
    • 样本大小:16位
    • 比特率:705 kbps
    • 频道:1

第一个文件不起作用,第二个文件起作用了。在

我得到了完全相同的错误1和2频道。在

更改文件名以使其没有点并不重要。它似乎以任何方式到达文件,但无法读取。在

编辑:

将位深度从24更改为16后,问题就消失了。感谢沃伦·韦克瑟的评论。在


Tags: 文件path代码nameimportreaddataos