由于工作需要修改.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")
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐