天池--零基础入门语音识别之食物声音识别--task02

1,过零率

  • 过零率(zero crossing rate)是一个信号符号变化的比率,即,在每帧中,语音信号从正变为负或从负变为正的次数。 这个特征已在语音识别和音乐信息检索领域得到广泛使用,通常对类似金属、摇滚等高冲击性的声音的具有更高的价值。

  • 一般情况下,过零率越大,频率近似越高

librosa.feature.zero_crossing_rate(y,frame_length = 2048,hop_length = 512,center = True** kwargs)
  • 参数:

    • y :音频时间序列

    • frame_length :帧长

    • hop_length :帧移

    • center:bool,如果为True,则通过填充y的边缘来使帧居中。

    • 返回:

    • zcr:zcr[0,i]是第i帧中的过零率

y, sr = librosa.load(librosa.ex('trumpet'))
librosa.feature.zero_crossing_rate(y)

在这里插入图片描述

2, 在时间序列中计算过零点

librosa.zero_crossings(y, threshold=1e-10, ref_magnitude=None, pad=True, zero_pos=True, axis=- 1)
  • 参数:

    • y :np.ndarray, 音频时间序列

    • threshold: float > 0 or None, 如果指定了-threshold <= y <= threshold的值将被剪切为0。

    • ref_magnitude:阈值相对于ref_magnitude大小缩放。

    • pad: boolean,如果为真,则认为第一个值是一个有效的过零点。

    • zero_pos: boolean, 如果为真,则值0被解释为带有正号。如果为False,则0、-1和+1都有不同的符号。

    • axis: int, 用来计算交叉零点的轴。

    • 返回:

    • zero_crossings: np.ndarray [shape=y.shape, dtype=boolean]. 沿选定的轴过零点的布尔值。

y = np.sin(np.linspace(0, 4 * 2 * np.pi, 20))
z = librosa.zero_crossings(y)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

参考资料:
librosa官网:librosa.zero_crossings

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值