我想用librosa读取多个音频文件,然后将其保存到空列表中

2024-09-30 18:18:05 发布

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

这是我的密码。当我向数组中追加时,数组保持为空。请帮助我哪里出了错。或者告诉我其他方法也可以做到这一点

A = [] 
# load more files with librosa
pathAudio = "drive/My Drive/dataset/noise/"
files = librosa.util.find_files(pathAudio, ext=['wav']) 
files = np.asarray(files)
for y in files: 
    data, sr = librosa.load(y)
    ps = librosa.feature.melspectrogram(y= data, sr=sr)   
    if ps.shape != (128, 128): continue
    A.append((ps, y.files))

我检查了输出为(128427)的ps.shape。我认为它必须在那个数组中保存

我还检查了y.files输出是***AttributeError:'numpy.str_u2;'对象没有属性'files'


Tags: 方法密码datamymorewithloadfiles
2条回答

我找出了错误,下面是答案

A = [] 
# load more files with librosa
pathAudio = "drive/My Drive/dataset/noise/"
files = librosa.util.find_files(pathAudio, ext=['wav']) 
files = np.asarray(files)
for y in files: 
    data, sr = librosa.load(y)
    ps = librosa.feature.melspectrogram(y= data, sr=sr)   
    if ps.shape != (128, 128):
      A.append((ps, y))

最初的猜测是MEL加权谱图的形状不是(128,128)

但问题是,为了让某人了解正在发生的事情,实际上没有提供任何相关信息。例如,所有文件的持续时间是否相同?那么,这些文件的持续时间是多少

相关问题 更多 >