我第一次尝试使用Librosa库(Python 3.x)从wav格式的多个音频文件中提取功能。我面临一个问题,它说数据应该是numpy.ndarray类型,即使它属于那种类型。这是我的代码:
mylist 是我目录中所有wav音频文件的列表。
import os
import librosa
mylist= os.listdir('RawData/')
for y in mylist:
X, sample_rate = librosa.load('RawData/'+y, res_type='kaiser_fast')
print(type(sample_rate))
sample_rate = np.array(sample_rate)
print(type(X))
print(type(sample_rate))
mfccs = np.mean(librosa.feature.mfcc(x=X, sr=sample_rate, n_mfcc=40),axis=0)
这是弹出的输出和错误:
class 'int'
class 'numpy.ndarray'
class 'numpy.ndarray'
ParameterError Traceback (most recent call last)
ipython-input-23-817ec793d6c4 in module()
7 mfccs = np.mean(librosa.feature.mfcc(x=X,
8 sr=sample_rate,
----> 9 n_mfcc=40),
10 axis=0)
.
.
.
ParameterError: data must be of type numpy.ndarray
感谢任何帮助
答案 0 :(得分:1)
https://librosa.github.io/librosa/generated/librosa.feature.mfcc.html