英文文档地址:http://librosa.github.io/librosa/core.html
由于本人才疏学浅,如有翻译错误,请指出,谢谢!
一、Audio processing
1.1 librosa.core.load
加载音频,audioread这种方式能加载的音频格式,我一般都把音频处理成wav格式然后通过该函数加载。
参数为:path:音频路径
sr:音频频率(你可以不用原始的音频频率,他有重采样的功能)
mono:该值为true时候是单通道、否则为双通道
offset:读音频的开始时间,也就是可以不从头开始读取音频
duration:持续时间,可以不加载全部时间,通过与offset合作读取其中一段音频
dtype:返回的音频信号值的格式,一般不设置
res_type:重采样的格式,一般不用
返回值:y:音频的信号值
sr:音频的采样值,如果参数没有设置返回的是原始采样率
1.2 librosa.core.to_mono
把双通道的音频处理成单通道,也就是1.1中的mono
1.3 librosa.core.resample
重采样音频,也就是更改音频的采样率
参数为:y:信号值
orig_sr:原始的采样频率
target_sr:你想要的采样频率
res_type:重采样的数据类型
fix:bool值,是否要改变信号长度,true为不改变。
scale:缩放重采样信号,使y和y_hat具有大致相等的总能量。
返回值:y_hat:重采样后的信号
1.4 librosa.core.get_duration
获取音频值、特征矩阵或者是文件名持续时间的秒数(我的理解是通过信号值或者是特征值来获取持续时间秒数)
参数为:y:信号值
sr:采样率
S:特征值
n_fft:S特征的傅里叶变化窗口大小
hop_length:同上,S特征获取中窗口移动中每次的步长
center:(这个不太懂,附上原文)
- If True, S[:, t] is centered at y[t * hop_length] #S是该帧中心
- If False, then S[:, t] begins at y[t * hop_length]#S是该帧开始点
filename:直接通过原始文件来算
返回值:d:持续的秒数
1.5 librosa.core.autocorrelate
有界自相关
参数为:y:信号值
max_size:要求自相关的长度
axis:沿着的维
返回值:y关于max_size的自相关值
1.6 librosa.core.zero_crossings
寻找过零点
参数为:y:信号值
threshold: -threshold <= y <= threshold 在这范围的值都算0
ref_magnitude:threshold的可缩放
pad:类似与卷积的pad,为0是valid zero-crossing.
zero_pos:
If True then the value 0 is interpreted as having positive sign.#0为正值
If False, then 0, -1, and +1 all have distinct signs.#各自有各自的意思
axis:维,沿着什么方向
返回值:二值数据,如果是过零点返回true,不是则为false
可以通过np.nonzero(z)返回索引值
1.7 librosa.core.clicks
类似摘取,想要一部分的音频
参数为:times:什么时候点击(click)即摘取,秒数为单位
frames:摘取的帧的索引值
sr:输出的采样率
hop_length:即步长,翻译为每帧之间的采样数
click_freq:从什么频率后开始摘取
click_duration:摘取的持续时间
click:摘取方式
length:输出的长度
返回值:click_signal:摘取的信号合成
二、Spectral representations
2.1 librosa.core.stft
短时傅里叶变化
参数为:y:信号值
n_fft:傅里叶窗口大小
hop_length:步长,每帧之间的采样数
win_length:窗长,小于等于n_fft,然后pad匹配
window:窗类型,汉明窗等
center:特征是信号的中心还是起始点
dtype:类型
pad_model:对于边缘进行pad
返回值:D:短时傅里叶变化后的矩阵
2.2 librosa.core.istft
逆短时傅里叶变化,把短时傅里叶变化的矩阵转为时间序列(信号值)
Converts a complex-valued spectrogram stft_matrix to time-series y by minimizing the mean squared error between stft_matrix and STFT of y as described in [1].
In general, window function, hop length and other parameters should be same as in stft, which mostly leads to perfect reconstruction of a signal from unmodified stft_matrix.
参数为:stft_matrix:短时傅里叶变化的矩阵
其他参数解释同2.1
返回值:y:时间序列,把短时傅里叶变化变为原来的时间序列,所以是逆!
2.3 librosa.core.ifgram
Compute the instantaneous frequency (as a proportion of the sampling rate) obtained as the time-derivative of the phase of the complex spectrum as described by [1].
Calculates regular STFT as a side effect.
参数为:norm:STFT归一化
ref_power:最小化阈值估计瞬时频率
返回值:if_gram:瞬时频率
D:短时傅里叶变化
2.4 librosa.core.cqt
计算音频的常数Q变化的值,常数Q转换(ConstantQtransform)与短时距傅立叶转换一样为重要时频分析工具,其中特别适用于音乐信号的分析,这个转换产生的频谱最大的特色是在频率轴为对数标度(logscale)而不是线性标度(linearscale),且窗口长度(windowlength)会随着频率而改变
参数为:fmin:最小频率
n_bins:从最小频率开始,频率窗的数
bins_per_octave:每倍频程的bin数量
tuning:调整bin