2018-12-12
今天开始学习librosa这个库,这个库主要用于音频处理,对于机器学习音频分类的初步处理工作很有用
第一步肯定需要学习怎样读取音频文件
1.librosa中对音频文件的基本处理模块如下

1)load模块用于读取音频文件,将其转化为一个音频时间序列的np数组
sr-采样频率:sr=None表示使用音频原始采样,如果不给sr赋值则采用默认值22050
to_mono-变为单声道
resample-重采样,还没有使用过
get_duration-获取音频时长,已s为单位
autocorrelate-还没用过
zero_crossings-过零率
clicks-根据某些标记重采样声音(不确定,没有使用过)
def display_mfcc(audio): ''' :param audio: 所需分析的音频文件路径 :return: 会打印出音频文件的mel频谱图 ''' y, _=librosa.load(audio) audio_time=librosa.get_duration(y) #音频时长 print(audio_time) y1=librosa.feature.melspectrogram(y=y,n_mels=128,fmax=8000) mfcc=librosa.feature.mfcc(S=librosa.power_to_db(y1)) plt.figure(figsize=(10,4)) librosa.display.specshow(mfcc,x_axis="time",y_axis="mel") plt.colorbar() plt.title(audio) plt.tight_layout() plt.show()
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225230.html原文链接:https://javaforall.net
