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')]
# 遍歷每個(gè).wav文件并進(jìn)行切割
for wav_file in wav_files:
# 構(gòu)建完整的輸入文件路徑和輸出文件路徑
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')
# 定義切割參數(shù)
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:
# 構(gòu)建輸出文件名
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')