pydub音频处理库的使用

在使用pydub这个模块之前应确保你的libav或者FFmpeg

  • Mac上安装libav或FFmpeg

brew install libav --with-libvorbis --with-sdl --with-theora # 安装libav
brew install ffmpeg --with-libvorbis --with-sdl2 --with-theora # 安装ffmpeg
  • Linux(使用apt 安装)
apt-get install libav-tools libavcodec-extra # libav
apt-get install ffmpeg libavcodec-extra # ffmpeg

模块的使用

  • 安装模块
pip install pydub
  • 打开文件

  

from pydub import AudioSegment

wav_file = AudioSegment.for_wav("filepath") # 读取wav文件
mp3_file = AudioSegment.for_mp3("filepath") # 读取mp3文件
ogg_file = AudioSegment.for_ogg("filepath") # 读取ogg文件
flv_file = AudioSegment.for_flv("filepath") # 读取flv文件
mp4_file = AudioSegment.for_file("filepath") # 读取mp4文件
m4a_file = AudioSegment.for_file("filepath") # 读取m4a文件
# 使用for_file可以获取其他ffmpeg支持的其他音频格式
  • 对音频进行切片
ten_seconds = 10 * 1000
first_10_seconds = wav_file[:ten_seconds] # 前10秒
last_5_seconds = wav_file[-5000:] # 后5秒
  • 音量调节
beginning = first_10_seconds + 6 # 增加6dB
end = last_5_seconds - 3 # 降低3dB
  • 拼接音频
without_the_middle = beginning + end
  • 获取音频长度
without_the_middle.duration_seconds # 获取音频长度(浮点型)
  • 音频反转
backwards = wav_file.reverse()
  • 淡入
with_style = beginning.append(end,crossfade=1500)
  • 重复
do_it_over = with_style * 2
  • 淡出
awesome = do_it_over.fade_in(2000).fade_out(3000)
  • 保存
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!'})
  • 播放音频
from pydub.playback import play
sound = AudioSegment.from_file("test.wav")
play(sound)

  

pydub音频处理库的使用的更多相关文章

  1. libZPlay 音频编码解码器库

    libZPlay 音频编码解码器库 http://www.oschina.net/p/libzplay libZPlay 播放音乐并显示 FFT 图形 :http://www.oschina.net/ ...

  2. 介绍几个python的音频处理库

    一.eyeD3 直接在google上搜索python mp3 process ,推荐比较多的就是这个第三方库了.先来看看官方介绍吧. About eyeD3 is a Python tool for ...

  3. EasyDarwin开源音频解码项目EasyAudioDecoder:EasyPlayer Android音频解码库(第二部分,封装解码器接口)

    上一节我们讲了如何基于ffmpeg-Android工程编译安卓上的支持音频的ffmpeg静态库:http://blog.csdn.net/xiejiashu/article/details/52524 ...

  4. 音频处理库—librosa的安装与使用

    序言 Librosa是一个用于音频.音乐分析.处理的python工具包,一些常见的时频处理.特征提取.绘制声音图形等功能应有尽有,功能十分强大.本文主要介绍librosa的安装与使用方法. 一.lib ...

  5. 安装Ubunutu音频视频库

    sudo apt-get install ubuntu-restricted-extras

  6. FreeSWITCH第三方库(音频)的简单介绍(一)

    FreeSWITCH使用了大量的第三方库,本文档主要介绍音频相关库的信息: 视频相关库的信息介绍参考:http://www.cnblogs.com/yoyotl/p/5488890.html 其他相关 ...

  7. 【改】利用ALSA库进行音频重采样

    转自:http://www.voidcn.com/article/p-snamarwr-p.html 一.ALSA介绍: 1.简介: 高级Linux声音体系(英语:Advanced LinuxSoun ...

  8. EasyDarwin开源音频解码项目EasyAudioDecoder:基于ffmpeg的安卓音频(AAC、G726)解码库(第一部分,ffmpeg-android的编译)

    ffmpeg是一套开源的,完整的流媒体解决方案.基于它可以很轻松构建一些强大的应用程序.对于流媒体这个行业,ffmpeg就像圣经一样的存在.为了表达敬意,在这里把ffmpeg官网的一段简介搬过来,ff ...

  9. python常用库

    本文由 伯乐在线 - 艾凌风 翻译,Namco 校稿.未经许可,禁止转载!英文出处:vinta.欢迎加入翻译组. Awesome Python ,这又是一个 Awesome XXX 系列的资源整理,由 ...

随机推荐

  1. C++性能榨汁机之无锁编程

    C++性能榨汁机之无锁编程 来源 http://irootlee.com/juicer_lock_free/ 前言 私以为个人的技术水平应该是一个螺旋式上升的过程:先从书本去了解一个大概,然后在实践中 ...

  2. 通过ABAP代码判断当前系统类型,BYD还是S4 OP还是S4 Cloud

    用工具类 CL_COS_UTILITIES IS_BYD 如果是BYD系统,这个方法的实现会硬编码返回一个true, 在其他系统里则返回false,如图: IS_SUITE 原理同上,suite系统里 ...

  3. spring boot 的一些高级用法

    1 spring boot 项目的创建 参考 https://www.cnblogs.com/PerZhu/p/10708809.html 2 首先我们先把Maven里面的配置完成 <depen ...

  4. JavaSpring【六、AOP的API】

    AOP API Spring1.2历史用法,现在仍然支持 现在xml配置和注解的用法是基于API的,只是比较简便

  5. [Abp vNext微服务实践] - vue-element-admin登录二

    简介: Vue Element Admin是基于vue.element ui开发的后台管理ui,abp vNext是abp新一代微服务框架.本篇将会介绍如何改造Vue Element Admin权限验 ...

  6. IIS教程:因权限问题被拒绝访问的解决方案

    https://blog.csdn.net/a497785609/article/details/49952281 写了一个类IISAdmin,负责建立.设置.删除虚拟目录,发现在web中调用,遇到权 ...

  7. [SHOI2013]阶乘字符串

    题目描述 给定一个由前\(n\)个小写字母组成的串\(S\). 串\(S\)是阶乘字符串当且仅当前\(n\)个小写字母的全排列(共\(n!\)种)都作为\(S\)的子序列(可以不连续)出现. 由这个定 ...

  8. java线程基础巩固---如何捕获线程运行期间的异常

    对于友盟统计我想搞程序的应该无人不晓,其中对于里面用得最多的功能就是对线上的崩溃进行修复,而这些异常都是运行期的,如: 其实也就是可以对线程中出现了这种运行期异常是提供有一种捕获机制对其进行统一处理, ...

  9. Redis入门(一)——安装

    1.下载地址,选择对应版本 https://github.com/dmajkic/redis/downloads 2.下载解压后,进入到文件夹,地址栏cmd,redis-server.exe redi ...

  10. iOS 中通过kvc 获取数组的均值、求和、最大最小值等

    NSArray *values = @[@, @, @, @, @, @, @, @, @, @, @, @, @, @, @, @, @]; NSNumber *avg = [values valu ...