python_speech_features库学习

介绍python_speech_features模块
python_speech_features.mfcc() -梅尔频率倒谱系数
python_speech_features.fbank() -滤波器能量
python_speech_features.logfbank() -Log Filterbank能量
python_speech_features.ssc() -频谱子带质心
要使用MFCC功能:

from python_speech_features import mfcc
from python_speech_features import logfbank
import scipy.io.wavfile as wav

(rate,sig) = wav.read("file.wav")
mfcc_feat = mfcc(sig,rate)
fbank_feat = logfbank(sig,rate)

print(fbank_feat[1:3,:])

python_speech_features.base.mfcc

python_speech_features.base.mfcc(signal, samplerate=16000, winlen=0.025, winstep=0.01, numcep=13, nfilt=26, nfft=512, lowfreq=0, highfreq=None, preemph=0.97, ceplifter=22, appendEnergy=True, winfunc=<function >)
根据音频信号计算MFCC功能。
参数:
signal –用于计算特征的音频信号。应该是N * 1数组
samplerate –我们正在处理的信号的采样率。
winlen –分析窗口的长度,以秒为单位。默认值为0.025s(25毫秒)
winstep –连续窗口之间的间隔,以秒为单位。预设值为0.01s(10毫秒)
numcep –要返回的倒谱数,默认为13
nfilt –过滤器组中的过滤器数,默认为26。
nfft – FFT大小。默认值为512。
lowfreq –梅尔滤波器的最低频带边缘。以Hz为单位,默认值为0。
highfreq –梅尔滤波器的最高频带边缘。以Hz为单位,默认值为samplerate / 2
preemph –使用以emph为系数的pre -emphas过滤器。0是没有过滤器。默认值为0.97。
ceplifter –将提升器应用于最终倒谱系数。0不是提升器。默认值为22。
appendEnergy –如果为true,则将零倒频谱系数替换为总帧能量的对数。
winfunc –应用于每个框架的分析窗口。默认情况下,不应用任何窗口。您可以在此处使用numpy窗口函数,例如winfunc = numpy.hamming
返回值:
一个大小为numpy的数组(包含要素的NUMFRAMES个数字)。每行包含1个特征向量。

python_speech_features.base.fbank

python_speech_features.base.fbank(signal, samplerate=16000, winlen=0.025, winstep=0.01, nfilt=26, nfft=512, lowfreq=0, highfreq=None, preemph=0.97, winfunc=<function >)
根据音频信号计算梅尔滤波器组的能量特征。

参数:
winlen –分析窗口的长度,以秒为单位。默认值为0.025s(25毫秒)
winstep –连续窗口之间的间隔,以秒为单位。预设值为0.01s(10毫秒)
nfilt –过滤器组中的过滤器数,默认为26。
nfft – FFT大小。默认值为512。
lowfreq –梅尔滤波器的最低频带边缘。以Hz为单位,默认值为0。
highfreq –梅尔滤波器的最高频带边缘。以Hz为单位,默认值为samplerate / 2
preemph –使用以emph为系数的pre -emphas过滤器。0是没有过滤器。默认值为0.97。
winfunc –应用于每个框架的分析窗口。默认情况下,不应用任何窗口。您可以在此处使用numpy窗口函数,例如winfunc = numpy.hamming
返回值:
2个值。第一个是包含特征的大小为numpy的数组(nfilt为NUMFRAMES)。每行包含1个特征向量。第二个返回值是每一帧中的能量(总能量,无窗口)

python_speech_features.base.logfbank

python_speech_features.base.logfbank(signal, samplerate=16000, winlen=0.025, winstep=0.01, nfilt=26, nfft=512, lowfreq=0, highfreq=None, preemph=0.97)
从音频信号计算对数梅尔滤波器组的能量特征。

参数:

winlen –分析窗口的长度,以秒为单位。默认值为0.025s(25毫秒)
winstep –连续窗口之间的间隔,以秒为单位。预设值为0.01s(10毫秒)
nfilt –过滤器组中的过滤器数,默认为26。
nfft – FFT大小。默认值为512。
lowfreq –梅尔滤波器的最低频带边缘。以Hz为单位,默认值为0。
highfreq –梅尔滤波器的最高频带边缘。以Hz为单位,默认值为samplerate / 2
preemph –使用以emph为系数的pre -emphas过滤器。0是没有过滤器。默认值为0.97。
返回值:
包含要素的大小为numpy的数组(nfilt为NUMFRAMES)。每行包含1个特征向量。

python_speech_features.base.ssc

python_speech_features.base.ssc(signal, samplerate=16000, winlen=0.025, winstep=0.01, nfilt=26, nfft=512, lowfreq=0, highfreq=None, preemph=0.97, winfunc=<function >)
Compute Spectral Subband Centroid features from an audio signal.
从音频信号计算频谱子带质心特征。

参数:
信号 –用于计算特征的音频信号。应该是N * 1数组
采样率 –我们正在处理的信号的采样率。
winlen –分析窗口的长度,以秒为单位。默认值为0.025s(25毫秒)
winstep –连续窗口之间的间隔,以秒为单位。预设值为0.01s(10毫秒)
nfilt –过滤器组中的过滤器数,默认为26。
nfft – FFT大小。默认值为512。
lowfreq –梅尔滤波器的最低频带边缘。以Hz为单位,默认值为0。
highfreq –梅尔滤波器的最高频带边缘。以Hz为单位,默认值为samplerate / 2
preemph –使用以emph为系数的pre -emphas过滤器。0是没有过滤器。默认值为0.97。
winfunc –应用于每个框架的分析窗口。默认情况下,不应用任何窗口。您可以在此处使用numpy窗口函数,例如winfunc = numpy.hamming
返回值:
包含要素的大小为numpy的数组(nfilt为NUMFRAMES)。每行包含1个特征向量。

python_speech_features.base.hz2mel

python_speech_features.base.hz2mel(hz)
将赫兹中的值转换为梅尔

参数: 赫兹–以Hz为单位的值。这也可以是一个numpy数组,转换逐个元素进行。
返回值: 梅尔斯的价值。如果传入数组,则返回大小相同的数组。

python_speech_features.base.mel2hz(mel)

python_speech_features.base.mel2hz(mel)
将梅尔斯的值转换为赫兹

参数: 梅尔–梅尔斯的价值。这也可以是一个numpy数组,转换逐个元素进行。
返回值: 赫兹的价值。如果传入数组,则返回大小相同的数组。

python_speech_features.base.get_filterbanks

python_speech_features.base.get_filterbanks(nfilt=20, nfft=512, samplerate=16000, lowfreq=0, highfreq=None)
*计算一个梅尔滤波器组。筛选器存储在行中,列对应于fft bin。过滤器以大小为nfilt (nfft / 2 + 1)的数组形式返回

参数:
nfilt –过滤器组中的过滤器数,默认为20。
nfft – FFT大小。默认值为512。
采样率 –我们正在处理的信号的采样率。影响梅尔间距。
lowfreq –梅尔滤波器的最低频带边缘,默认为0 Hz
highfreq –梅尔滤波器的最高频带边缘,默认采样率/ 2
返回值:
一个大小为nfilt *(nfft / 2 + 1)的numpy数组,其中包含filterbank。每行包含1个过滤器。

python_speech_features.base.lifter

python_speech_features.base.lifter(cepstra, L=22)
在倒谱矩阵上应用倒谱提升器。这具有增加高频DCT系数的幅度的效果。

参数:
cepstra – mel-cepstra的矩阵,将是numframe * numcep。
L –要使用的提升系数。默认值为22。L <= 0禁用提升器。

python_speech_features.base.delta(feat, N)
从特征向量序列计算增量特征。

参数:
feat –包含特征的大小(数量为NUMFRAMES个)的numpy数组。每行包含1个特征向量。
N –对于每帧,根据前N个帧和后N个帧计算增量特征
返回值:
包含增量要素的大小(数量为NUMFRAMES个)的numpy数组。每行包含1个增量特征向量。

python_speech_features.sigproc.framesig

python_speech_features.sigproc.framesig(sig, frame_len, frame_step, winfunc=<function >, stride_trick=True)
将信号分成重叠的帧。

参数:
sig –音频信号到帧。
frame_len –以样本为单位测量的每个帧的长度。
frame_step –前一帧开始后下一帧应该开始的采样数。
winfunc –应用于每个框架的分析窗口。默认情况下,不应用任何窗口。
stride_trick –使用跨度技巧更快地计算滚动窗口和窗口倍增
返回值:
框架数组。大小为frame_len的NUMFRAMES。

python_speech_features.sigproc.deframesig

python_speech_features.sigproc.deframesig(frames, siglen, frame_len, frame_step, winfunc=<function >)
执行重叠添加过程以撤消frameig的操作。

参数:
帧 – 帧的数组。
siglen –所需信号的长度,如果未知,则使用0。输出将被截断为信号样本。
frame_len –以样本为单位测量的每个帧的长度。
frame_step –前一帧开始后下一帧应该开始的采样数。
winfunc –应用于每个框架的分析窗口。默认情况下,不应用任何窗口。
返回值:
一维信号

python_speech_features.sigproc.magspec

python_speech_features.sigproc.magspec(frames, NFFT)
计算每帧的幅度谱。如果帧是NxD矩阵,则输出将是Nx(NFFT / 2 + 1)。

参数:
帧 – 帧的数组。每行是一个框架。
NFFT –要使用的FFT长度。如果NFFT> frame_len,则将帧补零。
返回值:
如果帧是NxD矩阵,则输出将是Nx(NFFT / 2 + 1)。每行将是相应帧的幅度谱。

python_speech_features.sigproc.powspec

python_speech_features.sigproc.powspec(frames, NFFT)
计算每帧的功率谱。如果帧是NxD矩阵,则输出将是Nx(NFFT / 2 + 1)。

参数:
帧 – 帧的数组。每行是一个框架。
NFFT –要使用的FFT长度。如果NFFT> frame_len,则将帧补零。
返回值:
如果帧是NxD矩阵,则输出将是Nx(NFFT / 2 + 1)。每行将是相应帧的功率谱。

python_speech_features.sigproc.logpowspec

python_speech_features.sigproc.logpowspec(frames, NFFT, norm=1)
计算每帧的对数功率谱。如果帧是NxD矩阵,则输出将是Nx(NFFT / 2 + 1)。

参数:
帧 – 帧的数组。每行是一个框架。
NFFT –要使用的FFT长度。如果NFFT> frame_len,则将帧补零。
norm –如果norm = 1,则对数功率谱被归一化,因此最大值(跨所有帧)为0。
返回值:
如果帧是NxD矩阵,则输出将是Nx(NFFT / 2 + 1)。每行将是相应帧的对数功率谱。

python_speech_features.sigproc.preemphasis(signal, coeff=0.95)

python_speech_features.sigproc.preemphasis(signal, coeff=0.95)
对输入信号执行预加重。

参数:
信号 –要过滤的信号。
coeff –预加重系数。0是没有过滤器,默认值为0.95。
返回值:
滤波后的信号。

  • 5
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大桃子技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值