首页 > 解决方案 > ValueError:无法将输入数组从形状 (22640,32) 广播到形状 (22639,32)

问题描述

我正在处理音频文件。特征提取后,我想将张量转换为 numpy 数组,但出现以下错误:

“ValueError:无法将输入数组从形状 (22640,32) 广播到形状 (22639,32)”

我的一小部分代码是:

X = []
Y = []
print("Feature Extraction Started")
for i,class_list in enumerate(data_list): #datalist = all files, class list = folder name in datalist, sample = path to the audio file in that particular class list
  for j,samples in enumerate(class_list):    #samples are of the form classes_name/audio file
    if(samples.endswith('.wav')):
      sample_rate,audio = wavfile.read(os.path.join(dire,samples))
      if(audio.size<16000):
        audio = np.pad(audio,(16000-audio.size,0),mode="constant")
      coeff = MFCCwithpaddingfunction.mfcc(audio,sample_rate,0.985) # 0.985 = preemphasis
      X.append(coeff)
      if(samples.split('/')[0] in classes):
        Y.append(samples.split('/')[0])
      elif(samples.split('/')[0]=='_background_noise_'):
        Y.append('silence')
#X= coefficient array and Y = name of the class

A = np.zeros((len(X),len(X[0]),len(X[0][0])),dtype='float32')
print("A shape:",len(X),len(X[0]),len(X[0][0]))
for i in range(0,len(X)):
  A[i] = np.array(X[i])      #Converting list X into array A

谁能告诉我我做错了什么?

标签: pythonnumpytensorflowaudio-processing

解决方案


推荐阅读