pydub音频处理库的使用
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
- Windows
- 然后要添加环境变量
模块的使用
- 安装模块
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音频处理库的使用的更多相关文章
- libZPlay 音频编码解码器库
libZPlay 音频编码解码器库 http://www.oschina.net/p/libzplay libZPlay 播放音乐并显示 FFT 图形 :http://www.oschina.net/ ...
- 介绍几个python的音频处理库
一.eyeD3 直接在google上搜索python mp3 process ,推荐比较多的就是这个第三方库了.先来看看官方介绍吧. About eyeD3 is a Python tool for ...
- EasyDarwin开源音频解码项目EasyAudioDecoder:EasyPlayer Android音频解码库(第二部分,封装解码器接口)
上一节我们讲了如何基于ffmpeg-Android工程编译安卓上的支持音频的ffmpeg静态库:http://blog.csdn.net/xiejiashu/article/details/52524 ...
- 音频处理库—librosa的安装与使用
序言 Librosa是一个用于音频.音乐分析.处理的python工具包,一些常见的时频处理.特征提取.绘制声音图形等功能应有尽有,功能十分强大.本文主要介绍librosa的安装与使用方法. 一.lib ...
- 安装Ubunutu音频视频库
sudo apt-get install ubuntu-restricted-extras
- FreeSWITCH第三方库(音频)的简单介绍(一)
FreeSWITCH使用了大量的第三方库,本文档主要介绍音频相关库的信息: 视频相关库的信息介绍参考:http://www.cnblogs.com/yoyotl/p/5488890.html 其他相关 ...
- 【改】利用ALSA库进行音频重采样
转自:http://www.voidcn.com/article/p-snamarwr-p.html 一.ALSA介绍: 1.简介: 高级Linux声音体系(英语:Advanced LinuxSoun ...
- EasyDarwin开源音频解码项目EasyAudioDecoder:基于ffmpeg的安卓音频(AAC、G726)解码库(第一部分,ffmpeg-android的编译)
ffmpeg是一套开源的,完整的流媒体解决方案.基于它可以很轻松构建一些强大的应用程序.对于流媒体这个行业,ffmpeg就像圣经一样的存在.为了表达敬意,在这里把ffmpeg官网的一段简介搬过来,ff ...
- python常用库
本文由 伯乐在线 - 艾凌风 翻译,Namco 校稿.未经许可,禁止转载!英文出处:vinta.欢迎加入翻译组. Awesome Python ,这又是一个 Awesome XXX 系列的资源整理,由 ...
随机推荐
- Idea加载项目扫描完毕后自动退出
问题描述:Idea平时好好的,突然就打开后扫描完毕后自动退出.网上说修改idea.exe.vmoptions文件的Xmx,还是不行. 后来根据http://www.pianshen.com/artic ...
- pm2 常用操作
PM2全局安装 npm i pm2 -g PM2启动.net core pm2 start "dotnet xxx.dll" --name api //name后面跟你要取的名字 ...
- 【原创】大叔问题定位分享(36)openresty(nginx+lua)中获取不到post数据,ngx.req.get_body_data返回nil
openresty(nginx+lua)中获取不到post数据,ngx.req.get_body_data返回nil This function returns nil if the request ...
- 【原创】大叔经验分享(76)confluence和jira配置
一 下载 confluence https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-conf ...
- 基于【 Docker】一 || ElK安装部署使用教程
一.ELK介绍 1.ELK组成 ELK由Elasticsearch.Logstash和Kibana三部分组件组成: Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发 ...
- 用python 打印出爱心
其实,如果程序员真的很浪漫,普通人不懂,科技兴旺,也许你是惊呆了!!!!! 今天,泰泰又给你带来了一个“程序员技术(浪漫)表现”教程.飞鲸水龙头有希望它能在这个七月前夜帮到你.如果使用成功,记得给泰泰 ...
- span元素
<span>标签属于行内元素(inline),所以无法设置高度和宽度: 如果需要改变其宽高,就需要将其转变为块体元素(block)或行内块体元素(inle-block)
- 少勇 #import和@class的区别
#import与@class的区别1.import会包含这个类的所有信息,包括实体变量和方法,而@class只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,暂时不用考虑,后面会再告 ...
- 【python】python _、__、__xx__之间的差别
本文来自 yzl11 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/yzl11/article/details/53792416?utm_source=copy 单下 ...
- 【坑】maven编码配置
错误环境: maven 3.5.0 idea 2017.1.1 错误原因: 由于没有设置统一编码,导致与其他同事开发过程中出现乱码问题 解决方案: 在maven的 pom配置中properties节点 ...