音频文件的音量分析

本文探讨了在不同声源环境下如何处理声音,主要介绍了两种计算声音分贝的算法:绝对值平均值和平方和对数。通过Python实现这两种算法,并提出可能的扩展算法。
摘要由CSDN通过智能技术生成

当声源环境不同时,采取不同的声音处理策略。

总共使用了两种计算声音分贝的方法

  • 算法1:绝对值的平均值
  • 算法2:平方和的对数
代码
import wave
import numpy as np
import matplotlib.pyplot as plt

# 分析音量、分贝的图形
def analyze_db():
    # 开发wav音频文件
    wf = wave.open('./record_test.wav', 'r')

    # 设置每次读取块的大小
    chunk = 1024

    # 用来添加音量的数组
    value1 = []  # 绝对值的平均值
    value2 = []  # 对数

    # 对每1024块的声音进行分析
    while True:

        # 每次读取1024
        stream_data = wf.readframes(chunk)
        print(stream_data)

        # 当数据为空的时候,退出
        if stream_data == b'':
            break

        # 每块对应的声音分贝
        data = np.fromstring(stream_data, dtype=np.int16)
        # print(data)  # [ 11   8  15 ... -39  -5  12] 是这种数据

        # 算法1
        db1 = np.average(np.abs(data)) * 2
        # 算法2
        db2 = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值