前言
pydub是Python中用户处理音频文件的一个库。本文主要介绍了关于Python音频处理库pydub使用的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:
安装:
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对象转化成一个文件。
sound = AudioSegment.from_file("/path/to/sound.wav", format="wav") file_handle = sound.export("/path/to/output.mp3", format="mp3") //简单输出 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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。