import librosa
def get_spectrogram(waveform, fs, nfft=128, overlap_pct=0.8):
"""
Get the spectrogram of a single channel
Inputs:
:param waveform: single channel temporal signal
:param fs: the sampling frequency (Hz)
:param nfft: number of time samples used for the STFT. Default 128
:param overlap_pct: percentage of overlap in the spectrogram. Default 0.8
Outputs:
:return: a spectrogram and associated time & frequency vectors
"""
spectrogram = np.abs(librosa.stft(
y=waveform, n_fft=nfft,
hop_length=int(np.floor(nfft * (1 - overlap_pct)))))
# Axis
height = spectrogram.shape[0]
width = spectrogram.shape[1]
tt = np.linspace(0, len(waveform)/fs, num=width)
ff = np.linspace(0, fs / 2, num=height)
p = 10 * np.log10(spectrogram * 10 ** 9)
return p, tt, ff
2023-05-04 librosa的spectrogram
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關(guān)閱讀更多精彩內(nèi)容
- 第一戰(zhàn)名稱“群雄討董:璀璨紛雜的時代” 這一章內(nèi)容很多,從關(guān)鍵點開始吧。這一章講的主要人物有曹操、孫堅、袁紹、公孫...