簡體   English   中英

Librosa:過濾奈奎斯特以外的通帶

[英]Librosa: Filter pass-band beyond Nyquist

Librosa Python 3.5 On 8000Hhz音頻樣本獲取錯誤:

提取功能錯誤。 濾波器通帶位於奈奎斯特之外

以前得到關於奈奎斯特的其他錯誤,但通過手動設置sr和fmin修復,但似乎無法通過這個。

stft = np.abs(librosa.stft(X))
mfccs = np.mean(librosa.feature.mfcc(y=X, sr=8000, n_mfcc=40, fmin=60).T,axis=0)
chroma = np.mean(librosa.feature.chroma_stft(S=stft, sr=8000).T,axis=0)
mel = np.mean(librosa.feature.melspectrogram(X, sr=8000, fmin=60).T,axis=0)
contrast = np.mean(librosa.feature.spectral_contrast(S=stft, sr=8000, fmin=60).T,axis=0)
tonnetz = np.mean(librosa.feature.tonnetz(y=librosa.effects.harmonic(X), sr=8000).T,axis=0)
return mfccs, chroma, mel, contrast, tonnetz

編輯:

問題似乎存在於tonnetz功能中。 每個文檔色度:

np.ndarray [shape=(n_chroma, t)] or None

    Normalized energy for each chroma bin at each frame.

    If None, a cqt chromagram is performed.

cqt色度圖需要額外的參數才能使用8000Hhz音頻,因此我需要手動設置色度。 不幸的是,這超出了我的Librosa /音頻知識,任何人都能找到我的線索?

    stft = np.abs(librosa.stft(X))
    mfccs = np.mean(librosa.feature.mfcc(y=X, sr=8000, n_mfcc=40, fmin=30).T,axis=0)
    chroma = np.mean(librosa.feature.chroma_stft(S=stft, sr=8000).T,axis=0)
    mel = np.mean(librosa.feature.melspectrogram(X, sr=8000, fmin=30).T,axis=0)
    contrast = np.mean(librosa.feature.spectral_contrast(S=stft, sr=8000, fmin=30).T,axis=0)
    tonnetz = np.mean(librosa.feature.tonnetz(y=librosa.effects.harmonic(X), sr=sample_rate, chroma=librosa.feature.chroma_cqt(y=X, sr=8000, fmin=30)).T,axis=0)
    return mfccs, chroma, mel, contrast, tonnetz

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM