Python-批处理调整音频文件的音量大小

由于工作需要修改.wav文件的音量大小,网上说audacity软件里面的效果-标准化也可以改变音量大小,但是一个一个弄太慢。所以我又看了很多资料,终于知道怎么搞了。

1.单独调整一个音频文件的音量大小
from pydub import AudioSegment

def match_target_amplitude(sound, target_dBFS):
    change_in_dBFS = target_dBFS - sound.dBFS
    return sound.apply_gain(change_in_dBFS)

sound = AudioSegment.from_file("test.wav", "wav") #加载WAV文件
db = sound.dBFS #取得WAV文件的声音分贝值
normalized_sound = match_target_amplitude(sound, db+10) #db+10表示比原来的声音大10db,需要加大音量就加多少,反之则减多少
normalized_sound.export("out.wav", format="wav")
2.运行脚本后,音频的波形对照图,如下:

第一行的是原始音频(test.wav),第二行的是增大了10db的音频(out.wav),从波形来看,音量明显增大
在这里插入图片描述

3.批处理文件夹下所有音频文件
import os

from pydub import AudioSegment

def match_target_amplitude(sound, target_dBFS):
    change_in_dBFS = target_dBFS - sound.dBFS
    return sound.apply_gain(change_in_dBFS)

input_path = r"E:\test" #原始音频路径
output_path = r"E:\out" #输出保存路径
filename = os.listdir(input_path) #遍历原始音频路径下所有文件名
for file in filename:
    path1 = input_path + "\\" + file
    path2 = output_path + "\\" + file
    sound = AudioSegment.from_file(path1, format="wav")  # 加载WAV文件
    db = sound.dBFS  # 取得WAV文件的声音分贝值
    normalized_sound = match_target_amplitude(sound, db + 10)  # db+10表示比原来的声音大10db,需要加大音量就加多少,反之则减多少
    normalized_sound.export(path2, format="wav")
  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值