赞
踩
从网上找的各种音效放在游戏里面声音听起来有高有低,用一个Python
脚本就可以让杂乱的声音听上去音量一致。
tip:
target_db=-20
表示目标分贝级别为-20 dB
。在音频处理中,分贝(dB)是用于衡量音量的单位。较高的分贝级别表示更大的音量,而较低的分贝级别表示较小的音量。
在这个脚本中,我们使用目标分贝级别来统一音频文件的音量。如果一个音频文件的当前分贝级别低于目标分贝级别,脚本会增加音频的音量使其达到目标级别。相反,如果一个音频文件的当前分贝级别高于目标分贝级别,脚本会减小音频的音量使其接近目标级别。
在这种情况下,目标分贝级别为-20 dB
是一个常见的选择,因为它通常被认为是音频的适当音量级别,能够提供清晰的声音而不会过于响亮。
你可以根据自己的需求调整target_db
参数,选择适合你的应用场景的目标音量级别。
import os from pydub import AudioSegment from pydub.utils import make_chunks def normalize_audio_volume(input_folder, output_folder, target_db=-20): # 创建输出目录 os.makedirs(output_folder, exist_ok=True) # 获取输入文件夹中的所有文件 file_list = os.listdir(input_folder) # 遍历文件夹中的每个文件 for file_name in file_list: input_path = os.path.join(input_folder, file_name) # 检查文件是否是音频文件 if file_name.endswith('.mp3') or file_name.endswith('.wav'): print("处理文件:", file_name) # 使用pydub库加载音频文件 audio = AudioSegment.from_file(input_path) # 计算音频文件的当前分贝级别 current_db = audio.dBFS # 计算音频文件需要增加或减少的分贝数 db_diff = target_db - current_db # 调整音频文件的音量 normalized_audio = audio + db_diff # 构建输出文件路径 output_path = os.path.join(output_folder, file_name) # 将调整后的音频文件保存到输出文件夹 normalized_audio.export(output_path, format=file_name[-3:]) print("已调整音量") print("音量调整完成!输出文件位于:", output_folder) # 测试代码 input_folder = "D:\Project\Python\\normalize_audio\\audio" # 将此处的路径替换为实际文件夹的路径 output_folder = "D:\Project\Python\\normalize_audio\\output" # 将此处的路径替换为实际的输出文件夹路径 normalize_audio_volume(input_folder, output_folder)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。