< python音频库:Windows下pydub安装配置、过程出现的问题及常用API >

< python音频库:Windows下pydub安装配置、过程出现的问题及常用API >

背景

  • 刚从B站上看过倒放挑战之后也想体验下,心血来潮一个晚上完成了基本的实现。其中倒放与播放部分使用了pydub这个音频库,十分快捷方便,但是它完整一套的配置让我还是踩了几个坑。特将其配置过程记录于此,方便大家。
  • Windows10系统
  • < Pydub in Github >

安装Pydub

  • Anaconda:打开Anaconda promptactivate切换至工作环境下,键入pip install pydub
  • Pycharmsettingproject,将pydub安装进pip环境

安装FFmpeg(或选择libav

  1. 下载FFmpeg

    • < FFmpeg官网 > :找到对应的系统版本下载。
    • 将压缩包解压到任意目录。
    • 将安装安装目录下的bin文件夹添加到系统的Path环境变量中。
    • 如果添加环境变量成功后,打开cmd,键入ffmpeg -version,就可以看到版本信息。
  2. 下载FFmpeg
    • 除了按完成以上下载之外,还需要在python中导入FFmpeg
    • 同上Pydub包导入 - pip install FFmpeg

安装Pyaudio

  • 可以仅使用纯Pydub打开或保存WAV文件。为了打开或保存非WAV文件——比如MP3——你需要ffmepg或是libav。而如果需要播放音频,则需要安装以下包:

    • simpleaudio
    • pyaudio
    • ffplay (通常随ffmpeg安装)
    • avplay ((通常随libav安装)
  • 官网是强烈推荐安装simpleaudio,而我选择的是pyaudio,因为之后程序的其他部分还需要用到,所以就直接选择了pyaudio
  • 包安装同上Pydub - pip install pyaudio
  • 至此安装配置工作完成,可试验以下代码看是否能运行。
from pydub import AudioSegment
from pydub.playback import play

sound = AudioSegment.from_file("0.mp3", "mp3")
play(sound)

问题:[Errno 13] Permission denied

  • 安装了pydubffmpeg,但是缺少播放音频的包,安装后不再显示。

问题 [WinError 2] 系统找不到指定的文件

  • 安装了ffmpeg其中的一项,还缺少另外一项,安装后不再显示。

常用API

打开一个XXX类型文件:

mp4_version = AudioSegment.from_file("never_gonna_give_you_up.mp3", "mp3")
wma_version = AudioSegment.from_file("never_gonna_give_you_up.wav", "wav")
aac_version = AudioSegment.from_file("never_gonna_give_you_up.mp4", "mp4")

对音频段切片

# pydub做任何操作的时间尺度都是毫秒
ten_seconds = 10 * 1000

first_10_seconds = song[:ten_seconds]
last_5_seconds = song[-5000:]

连接音频段

without_the_middle = beginning + end

让开头更响和让结束更弱

# 声音增益6dB
beginning = first_10_seconds + 6

# 声音减弱3dB
end = last_5_seconds - 3

重复

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

倒放

# 读取想要倒放的音频文件
ted = AudioSegment.from_file("ted.mp3")
# 将音频倒放赋给变量 backwards
backwards = ted.reverse()

保存结果 / 音频格式转换

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

批量处理音频

from pydub import AudioSegment

# i 从 0 到 9 取值
for i in range(10):
    # 按顺序读取 00i.m4a 文件
    temp = AudioSegment.from_file(f"00{i}.m4a")
    # 将 00i.m4a 转换为 答案00i.mp3
    temp.export(f"答案00{i}.mp3")
    # 将音频倒放
    backplay = temp.reverse()
    # 将倒放音频存为 音谜00i.mp3
    backplay.export(f"音谜00{i}.mp3")
# 打印个 done 提示完成
print("done")

举个例子:

from glob import glob
from pydub import AudioSegment

playlist_songs = [AudioSegment.from_mp3(mp3_file) for mp3_file in glob("*.mp3")]

first_song = playlist_songs.pop(0)

# 让我们只包含第一首歌的前30秒 (切片以毫秒为单位)
beginning_of_song = first_song[:30*1000]

playlist = beginning_of_song
for song in playlist_songs:
    # 我们不想让结尾听起来像是突然停止,所以我们给它加上10秒的淡化
    playlist = playlist.append(song, crossfade=(10 * 1000))

# 让我们给最后一首歌的结尾加上淡出
playlist = playlist.fade_out(30)

# 唔……我还想知道它有多长( len(audio_segment)返回值同样是以毫秒计的 )
playlist_length = len(playlist) / (1000*60)

# 现在保存下来!
out_f = open("%s_minute_playlist.mp3" % playlist_length, 'wb')

playlist.export(out_f, format='mp3')

原文地址:https://www.cnblogs.com/ymjun/p/12150811.html

时间: 2024-08-01 21:25:40

< python音频库:Windows下pydub安装配置、过程出现的问题及常用API >的相关文章

Windows下PHP安装配置

软件版本:php-5.3.1-Win32-VC6-x86.zip 这个不需要额外的安装.net的库,所以就用这个了.可以使用其他的. 1.PHP安装 使用绿色方式,下载Zip文件解压. 2.配置 在解压的根目录下找到php.ini-development,是用于开发环境的配置文件:还有一个php.ini-production,这个是用于生产环境的配置文件.使用php.in-development,复制一份,重命名为php.ini.开始编辑. 定位registe_globals =Off; 建议不

ToughRADIUS在windows下的安装配置

ToughRADIUS在windows下的安装配置 ToughRADIUS为windows提供了一个快速部署的模式,帮助使用者快速部署ToughRADIUS服务. 最新版本下载 从以下链接可以下载最新的ToughRADIUS版本: github.com mirror https://github.com/talkincode/ToughRADIUS/archive/master.zip coding.net mirror https://coding.net/u/jamiesun/p/Tough

Apache在windows下的安装配置

Apache在windows下的安装配置 转载自:http://blog.sina.com.cn/s/blog_536f16b00100cfat.html     1 Apache的下载 Apache是开源的Web服务器,可在http://httpd.apache.org/download.cgi或http://www.apache.com/en_apache/index.php上下载最新版本. 由于Apache将安装在windows系统下,所以下载“Win32 Binary(MSI Insta

【原创】Superset在windows下的安装配置

Superset是由Airbnb(知名在线房屋短租公司)开源BI数据分析与可视化平台(曾用名Caravel.Panoramix),该工具主要特点是可自助分析.自定义仪表盘.分析结果可视化(导出).用户/角色权限控制,还集成了一个SQL编辑器,可以进行SQL编辑查询等,原来是用于支持Druid的可视化分析,后面发展为支持很多种关系数据库及大数据计算框架,如:mysql, oracle, Postgres,Presto,sqlite, Redshift,Impala, SparkSQL, Green

Hadoop在Windows下的安装配置

因为本人最近最近一段时间 都在学习Hadoop,接触了比较多的理论,但是想要深入的去学习Hadoop整个平台,那就必须实战的训练,首先第一步,当然是先搭建好一个Hadoop平台为先.但是比较坑爹的是,Hadoop是要求安装在Linux环境下的,在Windows下是不能直接运行的.所以只能在Windows下搞个Cygwin,然后把Hadoop安装包往里面扔了.我对Cygwin的印象一直不是很好,以前用过这个模拟过Linux环境,后来发现总是会出现各种环境上的问题,非常耗时间.所以我猜测,现在我又在

windows下git安装配置

1.安装 TortoisesGit是Windows下比较好用的git gui软件,安装前需要先下载安装git.安装过程与普通应该程序相似. 2.ssh访问 ssh提供了可靠数据访问.例如,github中设置ssh秘钥,可以省去每次上传下载输入用户名和密码的麻烦. TortoisesGit支持SSH访问,方法如下: (1)使用openssh设置公钥和私钥. 安装git后,打开git bash. $ cd ~/.ssh $ git config --global user.name "xxx&quo

windows下django安装配置

1.安装python,尽可能使用2.X版本,3.X版本兼容性不是很好,下载地址https://www.python.org/downloads/,并将安装目录添加到 环境 path里面,如c://python 2.安装MySQL-python-1.2.5.win-XXX.exe,版本是根据python和操作系统定的,尽可能一致 下载地址http://www.codegood.com/downloads(版本比较老), 3.安装setuptools-0.6c11,版本号可以选新的,下载地址http

nodejs在windows下的安装配置(使用NVM的方式)

NVM的安装 1.下载安装包,https://github.com/coreybutler/nvm-windows/releases 2.下载完成后点击nvm-setup,按步骤安装,注意路径中不能带空格和中文路径,这里我的安装位置是D:\dev\nvm 3.安装完成后,配置环境变量.软件最新版本安装完成后会自动在环境变量的用户变量中生成变量名和变量值 4.nvm常用命令 nvm-v //检查nvm的版本号 nvm install latest //安装最新版本的nodejs nvm ls //

python机器学习包 Windows下 pip安装 scikit-learn numpy scipy

1.到PIP的目录中C:\Python34\Scripts;2. 2.1  pip安装numpy pip install numpy 2.2  pip安装sklearn pip install -U scikit-learn 2.3  pip安装scipy(注:sklearn 依赖scipy包) pip install scipy 3  Python机器学习包测试 python >>> import sklearn>>> import numpy>>>