我正在使用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.....)
我能做些什么让它工作?
1条答案
按热度按时间lmvvr0a81#
你的奈奎斯特将大于采样率。尝试减少滤波器频带的数量从默认的6到也许3或4。你也可以减少你的fmin说50。
你选择的采样率太小了。保持在44100左右,这是标准的。这样应该可以正常工作