我正在使用python,我正在尝试使用这个函数,但是我正在与它做斗争。

def extract_feature_for_one_signal(signal):
signal = signal.astype(float)
mel = np.mean(librosa.feature.melspectrogram(signal, sr=SAMPLE_RATE, n_fft=N_FFT, hop_length=HOP_LENGTH).T, axis=0)
mfccs = np.mean(librosa.feature.mfcc(y=signal, sr=SAMPLE_RATE, n_mfcc=40).T, axis=0)
stft = np.abs(librosa.stft(signal))
chroma = np.mean(librosa.feature.chroma_stft(S=stft, sr=SAMPLE_RATE).T, axis=0)
**contrast = np.mean(librosa.feature.spectral_contrast(S=stft, sr=SAMPLE_RATE).T, axis=0)**
tonnetz = np.mean(librosa.feature.tonnetz(y=librosa.effects.harmonic(signal), sr=SAMPLE_RATE).T, axis=0)
average_distance = []
for std in STD_NUMS:
average_distance.append(average_distance_between_spikes(np.abs(signal), std, 320))
average_distance.append(average_distance_between_spikes(signal, std, 320))
return mfccs, chroma, mel, contrast, tonnetz, average_distance这个项目就是在这里:
contrast = np.mean(librosa.feature.spectral_contrast(S=stft, sr=SAMPLE_RATE).T, axis=0)
SAMPLE_RATE = 1000 (it must be 1000.....)我能做些什么才能让它发挥作用?
发布于 2022-11-20 06:41:28
你的尼奎斯特会比抽样率大。尝试将滤波器带的数目从默认的6修改为3或4。你也可以将fmin减少到50。
你选择的抽样率太小了。保持在44100左右,这是标准。那应该会很好的
https://stackoverflow.com/questions/64119762
复制相似问题