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
  • 8-NodeJS基础

    Node Node是一个基于Chrome V8引擎的 javaScript代码运行环境 什么软件可以运行javaScript 它就是javaScript的运行环境 Node js是运行在代码环境之上的语言 由ECMAScript 和模块的A
  • 关于安卓上pcm文件转wav全是噪音解决办法

    1 一开始发现8bit的pcm能正常转换 但换成16bit转换出来全是噪音 网上资料也不全 思考了很久 突然想起大小端的问题 进行大小端处理后再进行转换 完美播放 下面贴出大小端转换方法 public class BigorLittle p
  • WAV文件格式详解

    概述 Waveform Audio File Format WAVE 又或者是因为WAV后缀而被大众所知的 它采用RIFF Resource Interchange File Format 文件格式结构 通常用来保存PCM格式的原始音频数据
  • HTML5实现音频和视频嵌入

    简介 HTML5未出来之前 在线的音频和视频都是借助Flash或者第三方工具实现的 现在HTML5也支持了这方面的功能 在一个支持HTML5的浏览器中 不需要安装任何插件就能播放音频和视频 原生的支持音频和视频 为HTML5注入了巨大的发展
  • 基于线性预测的语音编码原理解析

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

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

    摘自 http www studa net yingyong 080505 16283240 html 摘 要 流媒体文件格式在流媒体系统中占有重要地位 设计合理的文件格式是提高流媒体服务器工作效率最直接和最有效的办法 该文在剖析常用流媒体
  • Android Audio系统框架

    Audio System 二 之 Audio系统框架 二 Linux Audio系统框架 2 1 Application 层 2 2 Framework 层 2 3 Libraries 层 2 4 HAL 层 2 5 Tinyalsa 层
  • 六、Audio-ALSA架构中的codec

    一 codec简介 处理器如果既想 听到 外界的声音 又想向外界传达自己的 心声 那么就需要同时用到 DAC 和 ADC 这两款芯片 那是不是买两颗 DAC 和 ADC 芯片就行了呢 答案肯定是可以的 但是音频不单单是能出声 能听到就行 我
  • Java把V3音频文件转化为wav文件的算法的代码

    将写内容过程经常用到的内容段做个备份 如下内容内容是关于Java把V3音频文件转化为wav文件的算法的内容 import java io BufferedInputStream import java io BufferedOutputSt
  • python:ezdxf——教程

    官方文档 https ezdxf readthedocs io en master tutorials index html 文章目录 一 从DXF文件获取数据的教程 1 布局 2 遍历布局的DXF实体 3 访问实体的DXF属性 4 得到一
  • 麦克输入

    如图所示 单端输入只有一个输入引脚ADCIN 使用公共地GND作为电路的返回端 ADC的采样值 ADCIN电压 GND的电压 0V 这种输入方式优点就是简单 缺点是如果vin受到干扰 由于GND电位始终是0V 所以最终ADC的采样值也会随着
  • Android开发之合并文件的几种方式

    下面介绍合并文件的几种方式 并通过合并amr文件来举例介绍合并文件的具体流程 amr格式的文件头是6字节 所以在进行文件合并的时候要减去除第一个文件以外的其他文件的文件头 注意 不同文件的文件头是不一样的 所以在合并的时候根据不同文件相应的
  • 两路wav文件读取解析和混音输出并使用WaveOut相关API播放

    目录 wav文件格式简介 wav文件头定义 读取wav文件 读取背景音文件 音频混音 使用Windows WaveOut 相关API播放混音后的音频数据 将混音后的数据保存到新的wav文件中
  • 如何播放 mp3

    我的问题从这里开始 pyttsx 和 gTTS 模块错误 https stackoverflow com questions 36323564 pyttsx and gtts module errors gTTS 效果很好 从文本文件中获取
  • 使用 pydub 导出时出错 - 如何为 pydub 安装 mp3 编解码器?

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

    如何使用 PyDub 消除波形文件开头和结尾的静音 我想我应该逐段访问并检查它是否静音 但我无法做到 例如我有一个在开头 结尾或两者都有静音的波形文件 如下所示 我想删除文件开头和结尾的静音 例如我想导入它 sound AudioSegme
  • pydub可以设置最大/最小音量吗?

    如标题 我可以设置最大 最小音量的值 即输出音频文件不会太大声或太安静吗 不是标准化 我只是想把具体音量调到正常 如下图 Loudness https en wikipedia org wiki Loudness有点复杂 一个简单的解决方案
  • Pydub 按样本切片音频片段

    假设我有两个采样率相同的音频片段 它们是从 Pydub 中的 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 看到如下的界面 然后点新建会出现一个新建的地址栏 你需要在这个新建地