Python 读取音频数组,计算音频的电平rms和能量

该代码段提供了一个用于读取音频数据的函数,支持wav、pcm和raw格式,返回音频数组和采样率。另外,还包含了归一化音频数据到float32类型的方法以及计算音频电平RMS值的函数,用于评估音频信号强度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在处理音视频数据时,我们可以先将音视频数据读取成数组,这样进行剪切、截取、合并等等操作就非常的方便。
封装了一个方读取音频数组数据:
支持从wav、pcm、raw中读取音频数组和采样率等信息
依赖库:os、array、numpy、scipy.io.wavfile

def read_audio_data(audio_file, pcm_rate=16000, chs=1, bit_depth='int16'):
	# 读取音频数组
    if not os.path.exists(audio_file):
        raise IOError
    if audio_file.endswith('.wav'):
        wave_rate, audio_data = wavfile.read(audio_file)
        return audio_data.T, wave_rate
    elif audio_file.endswith('.pcm') or audio_file.endswith('.raw'):
        data_array = array.array('h')
        if bit_depth == 'float32':
            data_array = array.array('f')
        elif bit_depth == 'int16':
            data_array = array.array('h')
        with open(audio_file, 'rb') as f:
            data_array.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值