python 声音强度检测_python检测音频中的静音

该博客介绍了一个使用Python进行声音强度检测的实现,通过计算过零率和短时能量来判断音频中的静音和非静音段。文章提供了一个名为Vad的类,包含了音频数据处理和端点检测的函数,可用于检测音频文件的开始和结束。
摘要由CSDN通过智能技术生成

#-*- coding: utf-8 -*-

importosimportwavefrom time importsleepimportnumpy as np

SUCCESS=0

FAIL= 1

#需要添加录音互斥功能能,某些功能开启的时候录音暂时关闭

defZCR(curFrame):#过零率

tmp1 = curFrame[:-1]

tmp2= curFrame[1:]

sings= (tmp1 * tmp2 <=0)

diffs= (tmp1 - tmp2) > 0.02zcr= np.sum(sings *diffs)returnzcrdefSTE(curFrame):#短时能量

amp =np.sum(np.abs(curFrame))returnampclassVad(object):def __init__(self):#初始短时能量高门限

self.amp1 = 140

#初始短时能量低门限

self.amp2 = 120

#初始短时过零率高门限

self.zcr1 = 10

#初始短时过零率低门限

self.zcr2 = 5

#允许最大静音长度

self.maxsilence = 100

#语音的最短长度

self.minlen = 40

#偏移值

self.offsets = 40self.offsete= 40

#能量最大值

self.max_en = 20000

#初始状态为静音

self.status =0

self.count=0

self.silence=0

self.frame_len= 256self.frame_inc= 128self.cur_status=0

self.frames=[]#数据开始偏移

self.frames_start =[]

self.frames_start_num=0#数据结束偏移

self.frames_end =[]

self.frames_end_num=0#缓存数据

self.cache_frames =[]

self.c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值