Python实现把非wav格式的音频转换成 采样率16kHZ 宽度16位 单声道的wav文件
import os
import datetime
from pydub import AudioSegment
def convert_audio_to_wav(audio_path):
audio = AudioSegment.from_file(audio_path)
audio = audio.set_frame_rate(16000) # 设置采样率为16kHz
audio = audio.set_channels(1) # 设置单声道
audio = audio.set_sample_width(2) # 设置样本宽度为16位(2个字节)
out_floder = extract_directory_path(audio_path)
final_result_time = out_floder + "\\" + datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
wav_file = final_result_time + ".wav"
audio.export(wav_file, format='wav')
print("导出成功" + str(wav_file))
#video_floder 路径的生成
def extract_directory_path(audio_path):
directory_path = os.path.dirname(audio_path)
base_folder_path = os.path.join(directory_path, "videoFile")
current_time = datetime.datetime.now() # 获取当前时间
current_date = current_time.strftime("%Y%m%d") # 获取当前日期并格式化为yyyyMMdd形式
folder_path = os.path.join(base_folder_path, current_date) # 拼接当前文件夹路径和日期字符串
time_folder_path = os.path.join(folder_path, current_time.strftime("%H%M%S")) # 拼接日期文件夹路径和当前时间节点字符串
output_folder = time_folder_path
os.makedirs(output_folder, exist_ok=True)
return output_folder
# 示例用法
audio_path = "G:\\PaddleSpeechModel\\1109\\output.mp3"
convert_audio_to_wav(audio_path)
输出结果:
导出成功G:\PaddleSpeechModel\1109\videoFile\20240119\165412\20240119_165412.wav