python:pydub模块

2023-11-07

一、安装

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"])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python:pydub模块 的相关文章

  • python 使用pydub将mp3流转为pcm代码

    你可以使用Python中的pydub库来将MP3流转换为PCM代码 要使用pydub xff0c 你需要安装ffmpeg xff0c 然后你可以轻松访问pydub的API xff0c 如下所示 xff1a audio file 61 Aud
  • Wwise指引贴

    几种音频软件的比较 Criware音频引擎跟Wwise在功能上有什么直接的区别么 为什么很多大厂都选择Wwise
  • 【C】借助DirectSound进行流的形式无缝播放的例子

    DirectSound是DirectX的一个组件 用于播放声音 BGM等 和DirectMusic不一样 DirectSound用于播放波形声音 WAV无损等 而不是midi音乐 通常大家使用DirectSound是直接把一个声波数据全部载
  • 运用Microsoft.DirectX.DirectSound和Microsoft.DirectX实现简单的录音功能

    1 首先要使用Microsoft DirectX DirectSound和Microsoft DirectX这两个dll进行录音 需要先安装microsoft directx 9 0cz这个组件 百度云盘下载地址 http pan baid
  • HTML5实现音频和视频嵌入

    简介 HTML5未出来之前 在线的音频和视频都是借助Flash或者第三方工具实现的 现在HTML5也支持了这方面的功能 在一个支持HTML5的浏览器中 不需要安装任何插件就能播放音频和视频 原生的支持音频和视频 为HTML5注入了巨大的发展
  • python:ezdxf——如何使用

    官方文档 https ezdxf readthedocs io en master howto index html 文章目录 一 基本文件 1 设置 获取标头变量 2 设置DXF绘图单元 3 创建更具可读性的DXF文件 DXF漂亮打印机
  • 基于线性预测的语音编码原理解析

    早期的音频系统都是基于声音的模拟信号实现的 在声音的录制 编辑和播放过程中很容易引入各种噪声 从而导致信号的失真 随着信息技术的发展 数字信号处理技术在越来越多领域得到了应用 数字信号更是具备了易于存储和远距离传输 没有累积失真 抗干扰能力
  • Android合并音频文件

    java view plain copy 需求 将两个amr格式音频文件合并为1个 注意 amr格式的头文件为6个字节的长度 param partsPaths 各部分路径 param unitedFilePath 合并后路径 public
  • AMR 文件解析及编解码流程

    CONTENT AMR简介 AMR 话音质量评定 AMR 文件结构解析 AMR 帧结构解析 AMR 帧读取算法 AMR 解码原理及流程 AMR 模式选择自适应机制 一 AMR 简介 基于新的网络和新的要求 无论是从节省传输频带资源 还是保持
  • Flutter音频播放之just_audio

    just audio的使用 just audio 它是一个用于播放音频的 Flutter 插件 安装和导入 just audio 要使用 just audio 库 需要将其添加到项目的 pubspec yaml 文件中 dependenci
  • C++ 播放音频流(PCM裸流)

    直接上代码 如果有需要可以直接建一个win32控制台程序然后将代码拷过去改个文件名就可以用了 注意将声道和频率与你自己的文件对应 当然我自己也用VS2008写了个例子上传了 如果有需要下载地址如下 点击打开链接 这份代码是打开文件截取一段数
  • AMR文件格式分析

    最近在传输手机录音时 遇到了AMR编码的问题 开始以为可以任意截断amr文件 加个文件头就可以播放的 后来发现是有问题 这样得到的amr音频有些不能正常播放 后来参看amr格式后 才知道amr文件是一帧一帧的 如果是按照完整的帧前面添加文件
  • python:ezdxf——教程

    官方文档 https ezdxf readthedocs io en master tutorials index html 文章目录 一 从DXF文件获取数据的教程 1 布局 2 遍历布局的DXF实体 3 访问实体的DXF属性 4 得到一
  • 实时音视频的那些事儿(三)—— 音频编码

    前言 上一篇文章 实时音视频的那些事儿 二 音频采集 中我们讲到了如何在iOS Android Windows平台实现音频采集 今天将介绍如何实现音频的编码 一 iOS 中使用 AudioUnit 实现音频编码的过程 AudioUnit 是
  • Pydub - 将 split_on_silence 与最小长度/文件大小结合起来

    我有两个脚本 其中一个会分割一定长度的音频 另一个会在每次出现无声段落时分割音频 是否可以在静音时分割音频 但只能在经过一定时间后 我需要在静音状态下分割成不少于 5 分钟的视频块 分割脚本忽略静音 from pydub import Au
  • PermissionError: [Errno 13] 尝试使用 python 播放 mp3 时权限被拒绝

    我正在尝试使用 pydub 播放 mp3 但不断收到错误消息 File c Users ryanc Desktop codefiles python audio player py line 5 in
  • 两路wav文件读取解析和混音输出并使用WaveOut相关API播放

    目录 wav文件格式简介 wav文件头定义 读取wav文件 读取背景音文件 音频混音 使用Windows WaveOut 相关API播放混音后的音频数据 将混音后的数据保存到新的wav文件中
  • 使用 pydub 导出时出错 - 如何为 pydub 安装 mp3 编解码器?

    我是第一次使用这个库 所以我不确定这是否是一个错误 或者我没有正确地做某事 我想将文件导出为 mp3 加载工作正常 wav AudioSegment from wav Path If I execute only this line the
  • 使用 PyDub 消除波形文件开头和结尾处的静音

    如何使用 PyDub 消除波形文件开头和结尾的静音 我想我应该逐段访问并检查它是否静音 但我无法做到 例如我有一个在开头 结尾或两者都有静音的波形文件 如下所示 我想删除文件开头和结尾的静音 例如我想导入它 sound AudioSegme
  • 防止 pydub 打开控制台窗口

    有没有办法阻止 pydub 在使用 ffmpeg 在 Windows 上 时打开控制台窗口 每次启动 ffmpeg 将 mp3 文件转换为 wav 时 它都会短暂打开一个控制台窗口 该窗口会在处理完成后自动关闭 但可能会造成干扰 我使用的解

随机推荐

  • 【批处理DOS-CMD命令-汇总和小结】-注册表编辑命令reg,如何用cmd命令打开注册表编辑器regedit

    一 打开注册表编辑器 1 1 在运行窗口中打开 首先用 win r 打开运行窗口 然后执行 regedit 打开注册表编辑器 1 2 在cmd窗口中打开 在cmd窗口中执行命令 regedit 也可打开 二 注册表编辑命令 2 1 查询re
  • 虚拟机iis服务器搭建过程,手把手教你配置一台Linux虚拟机

    手把手教你配置一台Linux虚拟机 前言 Linux distribution 越来越多 也越来越成熟 所以安装起来也是比较简单 但是要理解安装的每一个步骤还是需要对Linux的基础知识有一定的了解 不过不用很深入 如果很深入我也不会 这里
  • springboot单元测试问题解决 (空指针异常:NullPointerException 或者注入问题)

    在对springboot进行单元测试时 遇到了空指针异常 一般来说加一个注解就可以了 SpringBootTest classes xxApplication class 如果还遇到问题 可以考虑加 RunWith SpringJUnit4
  • ceph环境清理

    第一步 在 root ceph 目录下执行 第一个节点 ceph deploy purge ceph01 ceph02 ceph03 ceph04 ceph deploy purgedata ceph01 ceph02 ceph03 cep
  • python基础编程:python如何实现浪漫的烟花秀(附代码)

    不废话 直接上代码 import turtle screen turtle Screen pen turtle Turtle pen pensize 3 pen speed 10 screen bgcolor black def firew
  • Hyper-V-虚拟机一直显示 启动中 该怎么办呢?

    今天开着虚机 结果过了出去了一会儿 回来发现虚机自己停了 停了就停了 我再开一下呗 结果一直显示启动中 我q 等了半天不见动静 重启也不好用 怎么办呢 有一种方法 叫直接杀线程 1 用下面命令看一下那个服务正在开启 tasklist FI
  • maven安装教程(超详细图解)

    本篇超级详细案例图解教学 Maven安装教程 图片点击可放大仔细看 Maven安装教程 1 前提 Maven需要Java环境 所以首先需要安装JDK 本教程默认已安装JDK1 8 2 解压文件 将maven文件夹复制到磁盘目录 本教程以安装
  • JackSon

    前后端分离开发中常用到的数据交互方式就是json 本文主要讲解对jackson对json的相关操作 jackson 基础篇 1 引入依赖
  • 《Apache MINA 2.0 用户指南》第七章:事件处理器

    最近准备将Apache MINA 2 0 用户指南英文文档翻译给大家 但是我偶然一次百度 发现 Defonds 这位大牛已经翻译大部分文档 原文链接 http mina apache org mina project userguide c
  • [webpack问题]TypeError: __webpack_require__(...).context is not a function

    require context directory useSubdirectories regExp directory 表示检索的目录 useSubdirectories 表示是否检索子文件夹 regExp 匹配文件的正则表达式 一般是文
  • BeanCreationException异常,注入Bean异常

    org springframework beans factory BeanCreationException Error creating bean with name XXX 注入bean异常 出现这个异常就是找不到对应的JavaBea
  • mac改成类似微软键盘偏好设置

    以前我做过笔记 但是好像印象还不是很深刻 因为我自己还是忘记了 我又写了一篇 首先是蛋疼的切换输入法问题 中文输入法和英文输入法的问题真不习惯 切换输入法改正方法 进入系统偏好设置 键盘 快捷键 输入法 选择上一个输入法 勾选 发现右边 空
  • Java类和对象(重点详解)

    类和对象 类和对象的关系 类的介绍 类变量 静态变量 public private 一些建议和小结 写在最后的话 这段时间博主学习了一些Java中类和对象的知识 今天我们就来聊聊Java中的类和对象 类和对象的关系 类其实就是一个模板 比如
  • oracle重复数据保留需要的一条数据

    由于功能开发进度的问题 人员录入的时候仅能够多次录入 不能够录入之后直接以该数据未蓝本引入导致多部门的时候必须多次创建冗余的数据 且由于数据录入的不规范 录入了许多相同的数据 特别是同单位同部门的数据 故需要处理此类数据 因此需要对此类重复
  • Unity --- 文本输入框的使用

    文本输入框有两个版本 一个是旧版的文本输入框 一个是新版的输入字段 这里选择旧版 其实旧版和新版的唯一区别就是text组件有些不同 其它的没啥不同 上面这两张图就是文本输入框中最重要的 input field 输入区域 组件的参数了 上面这
  • leetcode报错:member access within null pointer of type 'struct ListNode'

    背景 在编写判断单链表是否有环时 出现这错误 错误出现原因 错误出现原因 color Red text 38169 35823 20986 29616 21407 22240 因为试图使用空指针 解决方法 解决方法 color Red te
  • 音频模块的介绍

    一 术语总结 1 HIFI 级 HIFI 一词通常指高保真音频 High Fidelity Audio 是指尽可能保持音频信号的原始质量 让听众感受到最真实的音乐表现 因此 HIFI级 通常指具有高保真音频性能的产品或设备 例如高保真耳机
  • MAC使用Visual Studio Code开发C/C++

    MAC使用Visual Studio Code开发C C 一 前置概念 理解 二 环境准备 三 编译 运行 四 补充 一 前置概念 理解 VS code只是一个纯文本编辑器 editor 不是IDE 集成开发环境 不含编译器 compile
  • html天气插件iframe,分享常用7款天气预报代码iframe嵌入网页方式

    如果在网站上加入天气预报功能 你找不到更好的天气预报代码 可以看下本站和大家分享的7款天气预报代码iframe嵌入网页方式 天气预报代码1 src http appnews qq com cgi bin news qq search cit
  • python:pydub模块

    一 安装 1 安装模块 pip install pydub 2 安装插件 云盘中下载文件ffmpeg 打开电脑上的控制面板 系统 高级系统设置 环境变量 然后双击path 看到如下的界面 然后点新建会出现一个新建的地址栏 你需要在这个新建地