DSP

python librosa音频处理库 Core IO and DSP(翻译文档)

2019-07-13 20:12发布

英文文档地址: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 TrueS[:, 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)与短时距傅立叶转换一样为重要时频分析工具,其中特别适用于音乐信号的分析,这个转换产生的频谱最大的特 {MOD}是在频率轴为对数标度(logscale)而不是线性标度(linearscale),且窗口长度(windowlength)会随着频率而改变参数为:fmin:最小频率                n_bins:从最小频率开始,频率窗的数
                bins_per_octave:每倍频程的bin数量
                tuning:调整bin