[英]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.