Python实操之各种音频文件格式免费转换

AI 摘要 / TL;DR

Pydub是1个根据ffmpeg的Python数字音频处理控制模块,封装形式了很多ffmpeg最底层插口,因而用这个方法做歌曲格式转化会十分方便。今日为大家介绍它歌曲格式转化作用,基本上适用所有歌曲音频文件格式,所需要的可以了解一下 Pydub是1个根据ffmpeg的Python数字音频处理控制模块,封装形式了很多ff

来源: https://www.ucloud.cn/yun/129042.html 作者: 89542767 发布日期: 发布于2023-01-02 21:26

Pydub是1个根据ffmpeg的Python数字音频处理控制模块,封装形式了很多ffmpeg最底层插口,因而用这个方法做歌曲格式转化会十分方便。今日为大家介绍它歌曲格式转化作用,基本上适用所有歌曲音频文件格式,所需要的可以了解一下

  Pydub是1个根据ffmpeg的Python数字音频处理控制模块,封装形式了很多ffmpeg最底层插口,因而用这个方法做歌曲格式转化会十分方便,假如你阅读文章过别人其他回答:3行Python代码编写音乐剪辑你就会知道它有多强了。

  今日为大家介绍它歌曲格式转化作用,基本上适用所有歌曲音频文件格式,十分强大。

  1.组装

  组装Pydub前必须要先组装ffmpeg:

  Mac(开启终端设备(Terminal),用homebrew组装):

  brewinstallffmpeg--with-libvorbis--with-sdl2--with-theora

  Linux:

  apt-getinstallffmpeglibavcodec-extra

  Windows:

  1.进入http://ffmpeg.org/download.html#build-windows,点一下windows相对应的标志,进到下载界面点一下download下载按键,

  2.缓解压力手机下载的zip文件在指定文件名称

  3.将缓解压力后文件名称中bin文件名称(包括ffmpeg.exe)加上进path环境自变量中

  以上ffmpeg安装好了之后就可以开启cmd(cmd),组装pydub:

  pipinstallpydub

  将多带带mp3影音文件转化成wav音频文件格式:

  frompydubimportAudioSegment
  deftrans_mp3_to_wav(filepath):
  """
  将mp3文件转化为wav格式
  Args:
  filepath(str):目标文件夹
  """
  song=AudioSegment.from_mp3(filepath)
  filename=filepath.split(".")[0]
  song.export(f"{filename}.wav",format="wav")

  微信公众平台里编码字体样式实在太大了,甚至有的时候并没有高亮度温馨提醒,这儿多提供了一个图片版编码(相同):

01.png

  还可以继续封装形式该函数公式,将多带带mp3文件转化为随意别的歌曲音频文件格式:

  from pydub import AudioSegment
  def trans_mp3_to_any_audio(filepath,audio_type):
  """
  将mp3文件转化为随意音频文件格式
  Args:
  filepath(str):目标文件夹
  audio_type(str):文件类型
  """
  song=AudioSegment.from_mp3(filepath)
  filename=filepath.split(".")[0]
  song.export(f"{filename}.{audio_type}",format=f"{audio_type}")

  图片版编码:

02.png

  如ogg格式:

  trans_mp3_to_any_audio("Alone.mp3","ogg")

  只需是ffmpeg适用的歌曲音频文件格式,它都能够变换,认可的文件格式将近很多,下面我就简易列某些:

03.png

  3.更为通用转换函数

  刚是mp3转随意音频文件格式,希望将它写出随意音频文件格式转随意音频文件格式:

  frompydubimportAudioSegment
  deftrans_any_audio_types(filepath,input_audio_type,output_audio_type):
  """
  将随意音频文件格式转化成随意音频文件格式
  Args:
  filepath(str):目标文件夹
  input_audio_type(str):键入音频文件格式
  output_audio_type(str):导出来音频文件格式
  """
  song=AudioSegment.from_file(filepath,input_audio_type)
  filename=filepath.split(".")[0]
  song.export(f"{filename}.{output_audio_type}",format=f"{output_audio_type}")
  图片版编码:
  例如将ogg歌曲音频文件格式转化成flv音乐音频文件格式:
  trans_any_audio_types("Alone.ogg","ogg","flv")
  或是MP4文件格式,总而言之,一般说来你想要的文件格式它可以满足。
  trans_any_audio_types("Alone.ogg","ogg","mp4")

04.png

      4.大批量转换音频文件格式

  如今,试着将一个文件夹中的所有非mp3音频文件格式的文件转化为mp3音频文件格式:
  deftrans_all_file(files_path,target="mp3"):
  """
  大批量转换声频音频格式
  Args:
  files_path(str):文件夹路径
  target(str,optional):总体目标音频格式.Defaultsto"mp3".
  """
  forfilepathinos.listdir(files_path):
  #途径解决
  modpath=os.path.dirname(os.path.abspath(sys.argv[0]))
  datapath=os.path.join(modpath,files_path+filepath)
  #切分为文件名字和后缀名并加载文档
  input_audio=os.path.splitext(datapath)
  song=AudioSegment.from_file(datapath,input_audio[-1].split(".")[-1])
  #导出来
  song.export(f"{input_audio[0]}.{target}",format=target)

  图片版编码:

05.png

  只需键入文件名,就可以了所有转换该文件夹中的歌曲文件类型为mp3文件格式:

  trans_all_file("F:push20200607music")

     综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。