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
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐