intro of audio splitor

import os
from pydub import AudioSegment
from pydub.silence import split_on_silence
input_folder = '/Users/ethanye/Downloads' # 输入文件夹路径
output_folder = '/Users/ethanye/Music/intentions' # 输出文件夹路径
# 获取输入文件夹中的所有.wav文件
wav_files = [file for file in os.listdir(input_folder) if file.endswith('.wav')]
# 遍历每个.wav文件并进行切割
for wav_file in wav_files:
# 构建完整的输入文件路径和输出文件路径
input_file = os.path.join(input_folder, wav_file)
output_file = os.path.join(output_folder, wav_file)
# 加载音频文件
audio = AudioSegment.from_file(input_file, format='wav')
# 定义切割参数
max_slice_length = 9000 # 最大切片长度,单位为毫秒(10秒)
silence_threshold = -22 # 静默阈值(以dB为单位),降低静默阈值以保留更多语句
min_silence_length = 500 # 最小间隔,单位为毫秒
silence_hop_size = 10 # 跳帧大小,单位为毫秒
max_silence_length = 1000 # 最大静默长度,单位为毫秒
# 切割音频文件
slices = split_on_silence(audio, min_silence_len=min_silence_length, silence_thresh=silence_threshold,
seek_step=silence_hop_size, keep_silence=max_silence_length)
# 遍历切割后的音频片段并保存到输出文件夹
for i, slice_audio in enumerate(slices):
# 限制切片长度不超过最大切片长度
if len(slice_audio) <= max_slice_length:
# 构建输出文件名
output_file_name = f"{os.path.splitext(wav_file)[0]}_{i}.wav"
# 替换文件名中的".wav_"为空格
output_file_name = output_file_name.replace(".wav_", "_")
# 保存切片到输出文件夹
slice_audio.export(os.path.join(output_folder, output_file_name), format='wav')