广告
返回顶部
首页 > 资讯 > 后端开发 > Python >怎么在Python中使用pydub模块转换音频格式
  • 617
分享到

怎么在Python中使用pydub模块转换音频格式

2023-06-15 07:06:13 617人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章将为大家详细讲解有关怎么在python中使用pydub模块转换音频格式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.需要下载的Python模块和FFmpeg多媒体处理工具需要的P

这篇文章将为大家详细讲解有关怎么在python中使用pydub模块转换音频格式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

1.需要下载的Python模块和FFmpeg多媒体处理工具

需要的Python模块是标题上提到的那个,pydub,这个模块可以实现对音频文件的剪辑、转换音频格式等。pydub是python的高级一个音频处理库,自带的wave模块只能处理 wav 格式的音频文件,如果要想处理类似MP3格式的文件,就得要装 ffmpeg或者libav了。pydub依赖于ffmpeg,这里选择安装ffmpeg。

下载命令,在cmd上输入pip install pydub即可

除了下载pydub这个模块之外,还需要下载ffmpeg这个多媒体处理工具,否则,即使在代码中指定音频文件路径没有错误,运行结构也会报错。如下:

怎么在Python中使用pydub模块转换音频格式

下载这个之后,就不会报这个错误了,下载网址为:ffmpeg

在这个网址下面找一个和自己电脑系统一样的版本下载即可,下载完成之后,解压,好像不配置环境变量,程序也可以正常执行,不过,最好还是配置环境变量。

怎么在Python中使用pydub模块转换音频格式

2.实现音频剪辑和转换音频格式代码

其实,实现音频剪辑和转换音频格式的代码总共就几行代码,只不过需要输入一些参数值,因此代码量相对而言多了起来。

关键代码为:

from pydub import AudiOSegment        sound=AudioSegment.from_file(file='./music/刺客.mp3',fORMat='mp3')    sound=sound[start:end]  # start,end两个参数用于对音频进行剪辑    sound.export(out_f='./music/刺客.wav', format='wav')  # 用于保存剪辑之后的音频文件

当然读者想了解更多有关这个模块的使用,可以来看看官方文档啊!

文档连接为:pydub

文档中讲了有关音频合并、音频重复等知识点喔!。

最终实现代码:

from pydub import AudioSegmentimport sysclass Music(object):    def __init__(self,file,file_type,start,end,save_file,save_file_type):        self.sound = AudioSegment.from_file(file=file, format=file_type)        self.start=start  # 剪辑音频文件开始时间        self.end=end    # 剪辑音频文件的结束时间        self.save_file=save_file  # 保存音频文件的路径        self.save_file_type=save_file_type  # 保存音频文件的类型    def editedMusic(self):   # 定义方法用于剪辑音频        # 对于传入的start,end参数进行一些字符串处理        ## 对传入的开始时间进行字符串处理        if self.start=='0' or self.start=='':  #  从头开始处理音频文件            start_time=0        elif ":" in self.start:# 从音频中间处理            list_1=self.start.split(":")            start_time=int(list_1[0])*60+int(list_1[1])        else:  # 如果是其他情况,提示错误,并退出程序            print("你输入的初始截取时间有问题")            sys.exit()        start_time*=1000   # 毫秒作为单位,需要在原来秒数的基础上再乘以1000        if  start_time>=len(self.sound):   # 如果初始截取时间大于或等于音频文件总时间            print('你输入的初始截取时间大于该音频文件总时间,故无法进行剪辑操作')            sys.exit()        ## 对传入的结束时间进行字符串处理        if self.end=='':            end_time=len(self.sound)  # 如果输入结束时间为空,表示截取到音频文件最后        elif ':' in self.end:            list_2=self.end.split(':')            end_time=int(list_2[0])*60+int(list_2[1])        else:            print("你输入的结束截取时间有问题")            sys.exit()        end_time*=1000        self.sound=self.sound[start_time:end_time]  # 对音频文件进行剪辑        self.saveFile()    def saveFile(self):        self.sound.export(out_f=self.save_file,format=self.save_file_type)        # 保存已经进行剪辑的音频文件        print('已成功转换!')if __name__ == '__main__':    print('1.可以将音频文件转换其他格式的音频文件\n2.可用剪辑音频文件\n')    print('='*50)    file=input('建议:\n(1.音频文件和运行文件在同一个文件夹下面,最好使用相对路径)\n(2.音频文件和运行文件不在同一个文件夹下面,最好用绝对路径)\n请输入要剪辑的文件路径:')    file_type=file[file.rfind('.')+1:]  # 音频文件类型 mp3、wav    start=input("(可用输入0,空格,(1:1,1分1秒):)\n输入开始截取时间:")    end=input("(可用输入空格,(1:1,1分1秒):)\n输入结束截取时间:")    save_file=input("请输入剪辑之后保存的文件路径:")    save_file_type=save_file[save_file.rfind('.')+1:]    music=Music(file,file_type,start,end,save_file,save_file_type)    music.editedMusic()  # 1:12  1:36

当然,这个模块好像还可以满足一些用户改变音乐音质的需求,export()方法里面有一个参数bitrate比特率,百度了一下这个东西,好像对音频音质有一定影响。

怎么在Python中使用pydub模块转换音频格式

关于怎么在Python中使用pydub模块转换音频格式就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 怎么在Python中使用pydub模块转换音频格式

本文链接: https://www.lsjlt.com/news/278795.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在Python中使用pydub模块转换音频格式
    这篇文章将为大家详细讲解有关怎么在Python中使用pydub模块转换音频格式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.需要下载的Python模块和ffmpeg多媒体处理工具需要的P...
    99+
    2023-06-15
  • Python使用pydub模块转换音频格式以及对音频进行剪辑
    前言 近端时间看了一个短视频,觉得视频的背景音乐片段很不错,想把这个背景音乐得到,虽然小编运用Python爬虫肯定能得到这首音乐,但是这个音乐片段肯定是得不到的,于是网上看一下相关官方文档,没想到python真的有模...
    99+
    2022-06-02
    python转换音频格式 python pydub 混音 python音频处理
  • Python中怎么将音频内容转换为文本格式
    这篇文章将为大家详细讲解有关Python中怎么将音频内容转换为文本格式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。搭建开发环境转到保存Python虚拟环境的目录。我将我的目录保存在用户主目...
    99+
    2023-06-16
  • 怎么使用FFmpeg进行视频格式转换
    小编给大家分享一下怎么使用FFmpeg进行视频格式转换,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Fmpeg 是领先的多媒体框架,能够解码、编码、转码、混合、解...
    99+
    2023-06-28
  • 怎么在python中转换json文件格式
    本篇文章给大家分享的是有关怎么在python中转换json文件格式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python有哪些常用库python常用的库:1.requesu...
    99+
    2023-06-14
  • 怎么使用PHP将视频文件转换为MP4格式
    这篇文章主要讲解了“怎么使用PHP将视频文件转换为MP4格式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用PHP将视频文件转换为MP4格式”吧!首先,我们需要了解几个概念。一个视频文...
    99+
    2023-07-06
  • 如何在python中使用time模块格式时间
    这篇文章将为大家详细讲解有关如何在python中使用time模块格式时间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python是什么意思Python是一种跨平台的、具有解释性、编译性、互...
    99+
    2023-06-14
  • os模块与fnmatch模块怎么在python中使用
    本篇文章为大家展示了 os模块与fnmatch模块怎么在python中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyt...
    99+
    2023-06-08
  • python中怎么使用time模块指定格式时间字符串转为时间戳
    这篇“python中怎么使用time模块指定格式时间字符串转为时间戳”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“pytho...
    99+
    2023-07-05
  • 怎么在python中使用scipy.special模块
    怎么在python中使用scipy.special模块?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python的五大特点是什么python的五大特点:1.简单易学,开发程...
    99+
    2023-06-14
  • 怎么在python中使用glob模块
    怎么在python中使用glob模块?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和...
    99+
    2023-06-14
  • 怎么在python中使用re模块
    本篇文章为大家展示了怎么在python中使用re模块,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其...
    99+
    2023-06-14
  • 怎么在python中使用xlwt模块
    这期内容当中小编将会给大家带来有关怎么在python中使用xlwt模块,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、基础类介绍1、工作簿类Workbook简介:import xlwtclas...
    99+
    2023-06-14
  • 怎么在Python中使用threading模块
    这篇文章将为大家详细讲解有关怎么在Python中使用threading模块,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python的数据类型有哪些python的数据类型:1. 数字类型,包...
    99+
    2023-06-14
  • pathlib模块怎么在python中使用
    这篇文章给大家介绍pathlib模块怎么在python中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.pillow;4.t...
    99+
    2023-06-14
  • 怎么在python中使用import导入模块
    这期内容当中小编将会给大家带来有关怎么在python中使用import导入模块,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python有哪些常用库python常用的库:1.requesuts;2.scr...
    99+
    2023-06-14
  • 怎么在Python中使用psd-tools转换文件
    怎么在Python中使用psd-tools转换文件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、说明psd文件是Phtoshop图片格式,使用Python的库psd-too...
    99+
    2023-06-15
  • 怎么在python中使用pandas模块查看DataFrame
    这篇文章将为大家详细讲解有关怎么在python中使用pandas模块查看DataFrame,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、首先加载pandas模块import p...
    99+
    2023-06-15
  • 怎么在Java中利用SimpleDateFormat对英文时间格式进行转换
    这篇文章主要介绍了怎么在Java中利用SimpleDateFormat对英文时间格式进行转换,编程网小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随编程网小编来看看吧!Java可以用来干什么Java主要应用于:1. web开发;2....
    99+
    2023-05-30
    java simpledateformat
  • 怎么在python中使用CSV文件格式
    今天就跟大家聊聊有关怎么在python中使用CSV文件格式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作