精华内容
下载资源
问答
  • 今天小编就为大家分享一篇Python 利用pydub库操作音频文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Pythonpydub和ffmpeg处理视频中音频的格式 今天,我们来分享一个在python中处理视频中音频格式的方法。Python中处理视音频文件,常用的库为pydub。也可以使用ffmpeg来处理。通过这两个库可以方便的读取视音频文件...

    Python:pydub和ffmpeg处理视频中音频的格式

    今天,我们来分享一个在python中处理视频中音频格式的方法。Python中处理视音频文件,常用的库为pydub。也可以使用ffmpeg来处理。通过这两个库可以方便的读取视音频文件,并对视音频文件的各类参数进行修改。

    安装pydub

    pydub库是python的一个高级音频处理库。安装pydub,只要打开命令提示符窗口,将路径修改到python路径下
    在这里插入图片描述输入以下代码即可:

    pip install pydub

    导入ffmpeg

    ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源程序。提供了录制、转换以及流化音视频的解决方案,几乎囊括了现存所有的视音频编码标准。
    安装ffmpeg,可以从ffmpeg的官网下载:
    https://ffmpeg.zeranoe.com/builds/。
    这里下载的是static版本,一个压缩文件,解压到指定目录,然后配置系统环境变量就可以使用了。
    在这里插入图片描述

    修改视频中音频的格式

    修改视频中音频的格式,可以先读取视频文件,查看其参数,如与所需参数不符合,可以将其中的视频和音频提取出来,修改音频参数,再将两个文件合并。

    1. 读取mp4文件,查看视频参数

    from pydub import AudioSegment
    import ffmpeg
    import subprocess
    #读取视频文件,查看音频参数
    movie = AudioSegment.from_file(filepath)
    channels = movie.channels #声道数
    sample_width = movie.sample_width #采样大小
    frame_rate = movie.frame_rate #帧率

    1. 使用ffmpeg 将视频分离

    subprocess.call('ffmpeg -i ’ + filepath + ’ -vcodec copy -an ’ + videopath,shell=True)

    1. 将音频分离,并修改其声道数,帧率

    movie.export(mp3path,format=“mp3”,
    parameters=["-ac", “2”, “-ar”, “48000”])

    1. 使用ffmpeg合并已处理的音频和视频文件

    subprocess.call(‘ffmpeg -i ’ + videopath+ ’ -i ’ + mp3path+’ -vcodec copy -acodec copy ’ + filepath,shell=True)

    这样就完成了对视频中音频参数的修改。

    展开全文
  • 今天小编就为大家分享一篇Python使用pydub库对mp3与wav格式进行互转的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Pythonpydub使用详解

    万次阅读 2016-10-26 16:25:11
    pydubpython中用户处理音频文件的一个库。 安装:  1、安装pip工具:sudo apt-get install python-pip  2、安装pydub:sudo pip install pydub  3、pydub依赖于ffmpeg,所以还需要安装ffmpeg,由于Ubunbtu...

    pydub是python中用户处理音频文件的一个库。
    安装:

      1、安装pip工具:sudo apt-get install python-pip

      2、安装pydub:sudo pip install pydub

      3、pydub依赖于ffmpeg,所以还需要安装ffmpeg,由于Ubunbtu14.04官方源移除了ffmpeg,因此通过ppa源安装:

      sudo apt-add-repository ppa:mc3man/trusty-media
      sudo apt-get update
      sudo apt-get install ffmpeg


    使用:

    AudioSegment方法能够将一个音频文件打开成AudioSegment示例,并使用各种方法处理音频,使用前先调用from pydub import AudioSegment

    打开音频:

    sound1 = AudioSegment.from_file("/path/to/sound.wav", format="wav") //默认mp3格式

    sound2 = AudioSegment.from_file("/path/to/another_sound.mp3", format="mp3")等价于sound1 = AudioSegment.from_mp3("/path/to/sound.mp3")


    音量处理:

    louder = sound1 + 6    //sound1 声音提高6dB

    quieter = sound1 - 6   //sound1 声音降低6dB

    combined = sound1 + sound2     //sound1 和sound2叠加

    duration_in_milliseconds = len(sound1)     //获取sound的时长

    beginning = sound1[:5000]    //获取sound1的前5秒音频数据

    end = sound1[-5000:]     //获取sound1的后5秒音频数据

    注意:

    1、对于多个音频的计算,需要多个音频之间的通道数、帧数、采样率以及比特数都一样,否则低质量的音频会向高质量的转换,单声道会向立体声转换,低帧数向高帧数转换。

    2、AudioSegment原生就支持wav和raw,如果其他文件需要安装ffmpeg。raw还需要,sample_width,frame_rate,channels三个参数。


    生成文件:

    export()方法可以使一个AudioSegment对象转化成一个文件。

    1、sound = AudioSegment.from_file("/path/to/sound.wav", format="wav") 

    2、file_handle = sound.export("/path/to/output.mp3", format="mp3")     //简单输出

    3、file_handle = sound.export("/path/to/output.mp3", 
                               format="mp3",
                               bitrate="192k",
                               tags={"album": "The Bends", "artist": "Radiohead"})         //复杂输出


    AudioSegment.empty():

    AudioSegment.empty()用于生成一个长度为0的AudioSegment对象,一般用于多个音频的合并。

    sounds = [
      AudioSegment.from_wav("sound1.wav"), 
      AudioSegment.from_wav("sound2.wav"), 
      AudioSegment.from_wav("sound3.wav"), 
    ]
    playlist = AudioSegment.empty()
    for sound in sounds:
      playlist += sound


    AudioSegment.silent():

    ten_second_silence = AudioSegment.silent(duration=10000)  //产生一个持续时间为10s的无声AudioSegment对象


    获取参数:

    此外,还能通过AudioSegment获取音频的参数,同时还能修改原始参数。

    具体详见:https://github.com/jiaaro/pydub/blob/master/API.markdown









       

    展开全文
  • pythonpydub模块

    2019-10-14 10:05:19
    pip install pydub 2、安装插件 云盘中下载文件ffmpeg 打开电脑上的控制面板-系统-高级系统设置-环境变量 然后双击path,看到如下的界面: 然后点新建会出现一个新建的地址栏,你需要在这个新建地址栏里输入一个...

    一、安装

    1、安装模块

    pip install pydub
    

    2、安装插件
    云盘中下载文件ffmpeg
    打开电脑上的控制面板-系统-高级系统设置-环境变量
    在这里插入图片描述
    然后双击path,看到如下的界面:
    在这里插入图片描述
    然后点新建会出现一个新建的地址栏,你需要在这个新建地址栏里输入一个文件地址:打开你下载的ffmpeg文件中的 bin 文件,你应该可以看到一个这样的界面,把这个界面中地址栏中的地址复制粘贴到上面图片新建的地址栏中,然后点确定,来保存设置。
    在这里插入图片描述
    接下来,在CMD(win+R调出CMD黑框框)中,输入ffmpeg -version,如果你看到这样的界面,说明你的ffmpeg正式安好了。
    在这里插入图片描述
    最后,ffmpeg中的三个文件要和你的代码文件在一个保存路径下,这一步很重要,必须这样代码才能运行。

    二、模块的使用

    1、打开一个音频文件

    from pydub import AudioSegment
    
    song = AudioSegment.from_mp3("xxx.mp3")
    

    AudioSegment的方法除了from_mp3,还有wma,flv,等等,以及文件通用的from_file。
    2、对音频段切片

    # pydub做任何操作的时间尺度都是毫秒
    ten_seconds = 10 * 1000
    
    first_10_seconds = song[:ten_seconds]
    last_5_seconds = song[-5000:]
    

    3、让开头更响和让结束更弱
    使开头十秒的声音变得更响并使结束的五秒声音变弱:

    # 声音增益6dB
    beginning = first_10_seconds + 6
    
    # 声音减弱3dB
    end = last_5_seconds - 3
    

    4、连接音频段
    连两个接音频段(把一个文件接在另一个后面)

    without_the_middle = beginning + end
    

    5、音频段长度
    音频段有多长呢?

    without_the_middle.duration_seconds == 15.0
    

    6、固定音频段不可变

    # 音频不可以被修改
    backwards = song.reverse()
    

    7、交叉淡化
    交叉淡化(再一次强调,beginning和end都是不可变的)

    # 1.5秒的淡入淡出
    with_style = beginning.append(end, crossfade=1500)
    

    8、重复

    # 将片段重复两遍
    do_it_over = with_style * 2
    

    9、淡化
    淡化(注意一下,你可以把许多运算符连成一串使用,因为运算符都会返回一个AudioSegment对象)

    # 2秒淡入, 3秒淡出
    awesome = do_it_over.fade_in(2000).fade_out(3000)
    

    10、保存结果
    保存编辑的结果(再说一下,支持所有ffmpeg支持的格式)

    awesome.export("mashup.mp3", format="mp3")
    

    保存带有标签的结果(元数据)

    awesome.export("mashup.mp3", format="mp3", tags={'artist': 'Various artists', 'album': 'Best of 2011', 'comments': 'This album is awesome!'})
    

    你也可以通过指定任意ffmpeg支持的比特率来导出你的结果

    awesome.export("mashup.mp3", format="mp3", bitrate="192k")
    

    更多其他的ffmpeg所支持的参数可以通过给’parameters’参数传递一个列表来实现,列表中第一个应该是选项,而第二个是对应的参数。
    特别注意一下,这些参数没有得到确认,支持的参数可能会受限于你所使用的特定的 ffmpeg / avlib 构建

    # 使用预设MP3质量0(相当于lame -V0)
    # ——lame是个MP3编码器,-V设置的是VBR压缩级别,品质从0到9依次递减(译者注)
    awesome.export("mashup.mp3", format="mp3", parameters=["-q:a", "0"])
    
    # 混合到双声道并设置输出音量百分比(放大为原来的150%)
    awesome.export("mashup.mp3", format="mp3", parameters=["-ac", "2", "-vol", "150"])
    
    展开全文
  • pip 安装pydub 下载 ffmpeg https://ffmpeg.zeranoe.com/builds/ 解压到自定义文件夹,并配置环境变量 查看安装是否成功

    pip 安装pydub

    下载 ffmpeg

    https://ffmpeg.zeranoe.com/builds/
    在这里插入图片描述

    解压到自定义文件夹,并配置环境变量在这里插入图片描述
    查看安装是否成功
    在这里插入图片描述

    展开全文
  • python-pydub使用

    2019-07-14 18:33:53
    pip3 install pydub 下载ffmpeg 下载地址:https://ffmpeg.zeranoe.com/builds/ 选择 解压到自定义文件夹,并配置环境变量 测试是否成功 from pydub import AudioSegment import os print(os.path....
  • pydub是一个可以对音频进行一些基本处理的python模块,首先pip install pydub下载该模块,然后对两个wav进行首尾拼接: def combine(wav1_path,wav2_path,out_path): ''' param wav1_path: 第一个wav的路径 param...
  • 1.合并两个语音文件# coding:utf-8from pydub import AudioSegmentenPath1 = r'D:\PythonFiles\2018second\speechMerge\testData\nishi.mp3' # 文件的路径enPath2 = r'D:\PythonFiles\2018second\speechMerge\...
  • 使用Python第三方库pydub按一定bitrate,frame_rate压缩音频文件 安装pydub pip install pydub 注: pydub支持wav格式音频读取,本文处理的是MP3格式,所以需要安装ffmpeg. Linux下安装ffmpeg sudo apt install ...
  • pydub-用简单和高级的接口操纵声音
  • 1.合并两个语音文件# coding:utf-8from pydub import AudioSegmentenPath1 = r'D:\PythonFiles\2018second\speechMerge\testData\nishi.mp3' # 文件的路径enPath2 = r'D:\PythonFiles\2018second\speechMerge\...
  • 我们需要用到一个叫pydub的类库,pydubpython的高级一个音频处理库,可以让你以一种不那么蠢的方法处理音频。---开发者原话https://github.com/jiaaro/pydub附上开发者的github地址安装:pip install pydub如果在...
  • 笔者在使用pydub.AudioSegment把mp3文件转换为wav时出现FileNotFoundError错误。代码如下:# -*- coding: utf-8 -*- "...# 需要安装pydub、ffmpeg import pydub import io import wave de...
  • Windows python pydub 安装

    千次阅读 2017-08-25 16:18:33
    pydub是基于ffmpeg的python音频处理模块 GitHub:https://github.com/jiaaro/pydub 安装: 1.下载libav: http://builds.libav.org/windows/ 2.解压到本地磁盘 3.解压出的 libav***** 中有 usr/bin 这一文件夹  ...
  • Ok, now I am stuck up in converting mp3 to ... I have seen different answers but i think i would to go for the one of pydub, which i already did using these few linesfrom pydub import AudioSegmentAud...
  • 背景 AudioSegment.from_mp3() mp3转wav报错 Decoding failed. ffmpeg returned error code: 1 原因 小程序开发工具录得mp3文件本身进行加密的问题,自己录得mp3不会报错
  • Copy the pydub directory into your python path. Zip here Dependencies You can open and save WAV files with pure python. For opening and saving non-wav files – like mp3 – you'll need ffmpeg or libav...
  • from pydub.audio_segment import AudioSegment ac = audio_collector.AudioCollector.from_dict(d) # ac.chunk_list=[b'',b''] #生成AudioSegment实例 audiosegment = AudioSegment(data=b''.join(ac.chunk_list)...
  • 需求驱动开发,首先说需求:将MP3文件转成16k采样率,16bits采样深度,单声道的wav,本来想试试Python自带的wave库的,没成功,结果还是靠pydub搞定了。 先生成MP3对象,在分别设置参数,最后导出wav文件 #生成...
  • python pydub 用法 (2)

    万次阅读 2017-08-26 14:07:46
    AudioSegment.silent() ...from pydub import AudioSegment ten_second_silence = AudioSegment.silent(duration=10000) 参数: duration :持续时间(毫秒) frame_rate :频率(默认 11025 (11.025 kHz))
  • python pydub用法(1)

    千次阅读 2017-08-25 19:43:07
    AudioSegment()类 ...from pydub import AudioSegment sound1 = AudioSegment.from_file("/path/to/sound.wav", format="wav") sound2 = AudioSegment.from_file("/path/to/another_sound.wav", format="wav
  • from pydub import AudioSegment # duration=10000 10秒静音视频 frame_rate=16000 采样率16000 默认11025 ten_second_silence = AudioSegment.silent(duration=10000, frame_rate=16000 ) ten_second_silence....
  • https://blog.csdn.net/wangqianqianya/article/details/89605298
  • 接上一篇,从爱书音...1.安装python第三方库pydub pip install pydub 2.安装ffmpeg 打开链接:https://ffmpeg.zeranoe.com/builds/ 选择适合自己电脑的版本   下载后,解压,进入bin目录,然后复制当前路...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,388
精华内容 555
关键字:

python安装pydub

python 订阅