librosa是一个非常强大的python语音信号处理的第三方库本文主要总结了一些重要,对我来说,非常常用的功能。
学会librosa后再也不用用python去实现那些复杂的算法了,只需要一句语句就能轻松实现。
官网:https://librosa.org/doc/latest/core.html

核心 IO 和 DSP
音频加载
负载(路径=,sr,单声道,偏移,持续时间,...]) | 加载音频文件作为浮点时间系列。 |
流(路径,block_length,frame_length,...) | 在固定长度的缓冲区中流式传输音频。 |
to_mono(y) | 通过跨通道平均样本将音频信号转换为单声道。 |
共和(y,orig_sr,target_sr,res_type,...]) | 从orig_sr到target_sr重新组件时间系列 |
get_duration([y, sr, S, n_fft, hop_length,...] ) | 计算音频时间系列的持续时间(在几秒钟内),功能矩阵,或文件名。 |
获取给定文件的采样率。 |
时域处理
自相关(y[,max_size,轴]) | 边界滞后自动相关性 |
磅(y,订单) | 通过 Burg 的方法进行线性预测系数 |
zero_crossings(y [, 阈值,...] | 找到信号的零交叉点:指数如此。 |
mu_compress(x[,亩,量化]) | 粘液压缩 |
mu_expand(x[,亩,量化]) | 穆法扩张 |
信号生成
点击次数、帧、sr、hop_length、...]) | 构建"单击轨道"。 |
音(频率[,sr,长度,持续时间,phi]) | 以给定频率构建纯音(舒适)信号。 |
啁啾(fmin,fmax[,sr,长度,持续时间,...]) | 构建"鸣叫"或"精扫"信号。 |
光谱表示
斯特夫特(y [, n_fft, hop_length, win_length,...] ) | 短时间富利埃转换 (STFT)。 |
(stft_matrix[,hop_length,win_length,...]) | 反向短时间富里埃转换 (ISTFT)。 |
reassigned_spectrogram(y [, sr, S, n_fft,...] ) | 时间频率重新分配光谱图。 |
cqt(y [, sr, hop_length, fmin, n_bins,...] ) | 计算音频信号的常量Q转换。 |
icqt(C [, sr, hop_length, fmin,...] ) | 计算反向常量Q转换。 |
hybrid_cqt(y [, sr, hop_length, fmin, ...] ) | 计算音频信号的混合常数-Q转换。 |
pseudo_cqt(y [, sr, hop_length, fmin,...] ) | 计算音频信号的伪常量-Q转换。 |
vqt(y[,sr,hop_length,芬,n_bins,...]) | 计算音频信号的变量Q转换。 |
(y[, sr, win_length, hop_length,...] ) | 使用 IIR 过滤器的时间频率表示 |
fmt(y [, t_min, n_fmt, 善良, 测试版,...] ) | 快速梅林转换 (FMT) |
马格相(D[,电源]) | 将复杂值的光谱图 D 分离到其量级 (S) 和相 (P) 组件中,以便。 |
相位恢复
格里芬利姆(S [, n_iter, hop_length,...] ) | 使用"快速"格里芬-林算法的近似量级光谱图反转。 |
griffinlim_cqt(C [, n_iter, sr, hop_length,...] ) | 使用"快速"格里芬-林算法的近似常量-Q级光谱图反转。 |
谐波
interp_harmonics(x, 弗雷克斯, h_range [ , 善良,...] ) | 在时间频率表示的谐波下计算能量。 |
显著性(S,壁画,h_range[,重量,...]) | 谐波显著功能。 |
phase_vocoder(D、费率[、hop_length]) | 相声编码器。 |
规模缩放
amplitude_to_db(S [, 参考, 阿明, top_db]) | 将振幅光谱图转换为 dB 缩放光谱图。 |
db_to_amplitude(S_db[,参考]) | 将 dB 比例光谱图转换为振幅光谱图。 |
power_to_db(S [, 参考, 阿明, top_db]) | 将功率光谱图(振幅平方)转换为分贝 (dB) 单位 |
db_to_power(S_db[,参考]) | 将 dB 级光谱图转换为电源光谱图。 |
perceptual_weighting(S、频率[,种类]) | 功率光谱仪的感性权重。 |
frequency_weighting(频率[,种类]) | 计算一组频率的权重。 |
multi_frequency_weighting(频率[,种类]) | 计算一组频率的多个权重。 |
A_weighting(频率[,min_db]) | 计算一组频率的 A 权重。 |
B_weighting(频率[,min_db]) | 计算一组频率的 B 权重。 |
C_weighting(频率[,min_db]) | 计算一组频率的 C 权重。 |
D_weighting(频率[,min_db]) | 计算一组频率的 D 权重。 |
pcen(S[,sr,hop_length,获得,偏见,权力,...]) | 每通道能量正常化(PCEN) |
时间单位转换
frames_to_samples(帧[,hop_length,n_fft]) | 将帧指数转换为音频样本指数。 |
frames_to_time(帧[,sr,hop_length,n_fft]) | 将帧转换为时间(秒)。 |
samples_to_frames(样品[,hop_length,n_fft]) | 将样本指数转换为 STFT 框架。 |
samples_to_time(样品[,sr]) | 将样本指数转换为时间(在几秒钟内)。 |
time_to_frames(时间、时间、hop_length、n_fft)) | 将时间戳转换为 STFT 框架。 |
time_to_samples(时间[,sr]) | 将时间戳(在几秒钟内)转换为示例指数。 |
blocks_to_frames(块,block_length) | 将块指数转换为框架指数 |
blocks_to_samples(块, block_length... | 将块指数转换为样本指数 |
blocks_to_time(块, block_length,...) | 将块指数转换为时间(在几秒钟内) |
频率单元转换
hz_to_note(频率,**夸格斯) | 将一个或多个频率(在 Hz 中)转换为最近的注释名称。 |
hz_to_midi(频率) | 获取给定频率的 MIDI 注释编号 |
hz_to_svara_h(频率, 萨, 阿布,...] ) | 将频率(在 Hz 中)转换为印度斯坦语斯瓦拉 |
hz_to_svara_c(频率,萨,梅拉,阿伯,...]) | 将频率(在 Hz 中)转换为卡纳蒂奇斯瓦拉 |
获取MIDI注释的频率(Hz) | |
midi_to_note(米迪[,八度,美分,钥匙,单码]) | 将一个或多个 MIDI 数字转换为注释字符串。 |
midi_to_svara_h(米迪, 萨埃, 阿布, 八度音阶,...] ) | 将 MIDI 编号转换为印度斯坦斯瓦拉 |
midi_to_svara_c(米迪, 萨, 梅拉 [, 阿布,...] ) | 将 MIDI 数字转换为给定梅拉卡塔拉内的卡纳蒂奇斯瓦拉 |
note_to_hz(注意,**夸格斯) | 将一个或多个注释名称转换为频率(Hz) |
note_to_midi(注[,round_midi]) | 将一个或多个拼写注释转换为 MIDI 编号。 |
note_to_svara_h(音符、萨埃、阿布、八度音阶、...]) | 将西文笔记转换为印度斯坦尼斯瓦拉 |
note_to_svara_c(注意, 萨, 梅拉[, 阿布,...] ) | 将西方纸币转换为卡纳蒂奇斯瓦拉 |
hz_to_mel(频率[,htk]) | 将Hz转换为梅尔斯 |
hz_to_octs(频率[,调谐,...]) | 将频率 (Hz) 转换为(分数)八度数字。 |
mel_to_hz(梅尔斯[,赫特克]) | 将梅尔箱编号转换为频率 |
octs_to_hz(八度、调音、bins_per_octave)) | 将八度数字转换为频率。 |
A4_to_tuning(A4[,bins_per_octave]) | 将参考音高频率(例如)转换为调谐估计值,按每个八度箱的分数进行。 |
tuning_to_A4(调整[,bins_per_octave]) | 将每个八度音阶(例如)中每个垃圾箱的分数调整偏差(从 0)转换为相对于 A440 的参考音高频率。 |
音乐符号
key_to_notes(密钥[,单码]) | 列出所有 12 个按色阶排列的注释名称,根据给定键(主要或次要键)拼写。 |
为给定键构建硅量级度。 | |
mela_to_svara(梅拉[,阿布,单码]) | 拼写卡纳蒂奇斯瓦拉名称给定的梅拉卡塔拉加 |
为给定的梅拉卡塔拉加构建斯瓦拉指数(度) | |
为给定指标(度)构建 | |
按姓名和索引列出梅拉卡塔拉加斯。 | |
列表按名称支持。 |
频率范围生成
fft_frequencies([sr,n_fft]) | np.fft.fftfreq 的替代实施 |
cqt_frequencies(n_bins,弗明...) | 计算常数-Q箱的中心频率。 |
mel_frequencies([n_mels, fmin, fmax, htk]) | 计算一系列调整为梅尔比例的声学频率。 |
tempo_frequencies(n_bins],hop_length,sr]) | 计算频率(每分钟节拍)与发病的自动相关性或节奏矩阵相对应。 |
fourier_tempo_frequencies([sr,win_length]) | 计算频率(每分钟节拍)与傅立叶节奏矩阵相对应。 |
音高和调谐
皮因(y, fmin, fmax [, sr, frame_length,...] ) | 基本频率 (F0) 使用概率 YIN (pYIN) 估算。 |
阴(y, fmin, fmax [, sr, frame_length,...] ) | 使用 YIN 算法进行基本频率 (F0) 估计。 |
estimate_tuning([y, sr, S, n_fft,...] | 估计音频时间系列或光谱输入的调整。 |
pitch_tuning(频率[,分辨率,...]) | 鉴于音高集合,估计其调谐偏移(以垃圾箱的分数)相对于 A440=440.0Hz。 |
皮特拉克([y, sr, S, n_fft, hop_length,...] ) | 门槛寄生插值 STFT 上的间距跟踪。 |
杂项
samples_like(X[,hop_length,n_fft,轴]) | 返回一系列样本指数,以匹配功能矩阵中的时间轴。 |
times_like(X[,sr,hop_length,n_fft,轴]) | 返回时间值阵列,以匹配功能矩阵中的时间轴。 |
获取目前由利布罗萨使用的FT库 | |
set_fftlib([图书馆]) | 设置利布罗萨使用的FT库。 |
















