python 了解librosa.特征.光谱对比度

jslywgbw  于 2022-11-21  发布在  Python
关注(0)|答案(1)|浏览(192)

我正在使用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.....)

我能做些什么让它工作?

lmvvr0a8

lmvvr0a81#

你的奈奎斯特将大于采样率。尝试减少滤波器频带的数量从默认的6到也许3或4。你也可以减少你的fmin说50。
你选择的采样率太小了。保持在44100左右,这是标准的。这样应该可以正常工作

相关问题