Python之librosa库语音信号处理

Posted 月疯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之librosa库语音信号处理相关的知识,希望对你有一定的参考价值。

librosa是一个非常强大的python语音信号处理的第三方库,本文参考的是librosa的官方文档,本文主要总结了一些重要,对我来说非常常用的功能。

学会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,...] )

计算音频时间系列的持续时间(在几秒钟内),功能矩阵,或文件名。

get_samplerate(路径)

获取给定文件的采样率。

时域处理

自相关(y[,max_size,轴])

边界滞后自动相关性

(y,订单)

通过 Burg 的方法进行线性预测系数

zero_crossings(y [, 阈值,...]

找到信号的零交叉点:指数如此。yisign(y[i]) != sign(y[j])

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) 组件中,以便。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_to_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])

将参考音高频率(例如)转换为调谐估计值,按每个八度箱的分数进行。A4=435

tuning_to_A4(调整[,bins_per_octave])

将每个八度音阶(例如)中每个垃圾箱的分数调整偏差(从 0)转换为相对于 A440 的参考音高频率。tuning=-0.1

音乐符号

key_to_notes(密钥[,单码])

列出所有 12 个按色阶排列的注释名称,根据给定键(主要或次要键)拼写。

key_to_degrees(键)

为给定键构建硅量级度。

mela_to_svara(梅拉[,阿布,单码])

拼写卡纳蒂奇斯瓦拉名称给定的梅拉卡塔拉加

mela_to_degrees(梅拉)

为给定的梅拉卡塔拉加构建斯瓦拉指数(度)

thaat_to_degrees(太)

为给定指标(度)构建

list_mela()

按姓名和索引列出梅拉卡塔拉加斯。

list_thaat()

列表按名称支持。

频率范围生成

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,轴])

返回时间值阵列,以匹配功能矩阵中的时间轴。

get_fftlib()

获取目前由利布罗萨使用的FT库

set_fftlib([图书馆])

设置利布罗萨使用的FT库。

 

 

 

 

 

 

 

 

以上是关于Python之librosa库语音信号处理的主要内容,如果未能解决你的问题,请参考以下文章

记录一些常用的python库软件或者网址

iOS中的Librosa Python库集成[关闭]

语音识别系列︱用python进行音频解析

语音识别系列︱用python进行音频解析

语音识别系列︱用python进行音频解析

音频处理库性能对比:计算mel频谱的速度哪个更快?