1. 读取/导出 语音
from pydub import AudioSegment
import math
from pydub.generators import WhiteNoise
from pydub.utils import make_chunks#读取音频
orgin_wav = AudioSegment.from_wav(path_file)#导出音频
target_wav.export("D:/data/combin1.wav", format="wav")
  1. 获取音频信息
# 获取音频持续时间 单位 S
duration = orgin_wav.duration_seconds
print(f'duration = {duration}') )  # duration = 5.0#获取音频 声调大小 以及最大声调
db = orgin_wav.dBFS
print(f'db = {db}' # db = -21.03711065545435
max_db = orgin_wav.max_dBFS
print(f'max_db = {max_db}') # max_db = -0.7094350835786971#获取音频 音量以及 音量 dB
loudness = orgin_wav.rms
print(f'loudness = {loudness}') # loudness = 2908
print(f'dB = {20*math.log10(loudness)}')  # dB = 69.27188804374#获取音频采样率
print(f'frame_rate = {orgin_wav.frame_rate}') #  frame_rate = 44100# 获取音频 声道数 1/2/立体(单/双)
channel_count = orgin_wav.channels
print(f'channel_count = {channel_count}')  # channel_count = 1
  1. 音频处理
#改变音频采样率
target1 = orgin_wav.set_frame_rate(16000)
print(f'frame_rate = {target1.frame_rate}')  #  frame_rate = 16000#改变声道数
target2 = orgin_wav.set_channels(2)
print(f'channel_num = {target2.channels}')  # channel_count = 2# 增高/降低 音量 6dB  两种方法
louder_via_method = orgin_wav.apply_gain(+6)
louder_via_operator = orgin_wav + 6quieter_via_method = orgin_wav.apply_gain(-5.7)
quieter_via_operator = orgin_wav - 5.7#加入背景白噪声
noise = WhiteNoise().to_audio_segment(duration=len(orgin_wav), volume=-30)
combined = orgin_wav.overlay(noise)#拼接两个音频
path_file1 = 'D:/data/1-30344-A-0.wav'
path_file2 = 'D:/data/1-23222-A-19.wav'
orgin_wav1 = AudioSegment.from_wav(path_file1)
orgin_wav2 = AudioSegment.from_wav(path_file2)target_wav = orgin_wav1 + orgin_wav2
target_wav.export("D:/data/combin1.wav", format="wav")#混合两个音频
path_file1 = 'D:/data/1-30344-A-0.wav'
path_file2 = 'D:/data/1-23222-A-19.wav'
orgin_wav1 = AudioSegment.from_wav(path_file1)
orgin_wav2 = AudioSegment.from_wav(path_file2)combined = orgin_wav1.overlay(orgin_wav2)#切割音频size = 10000  #切割的毫秒数 10s=10000chunks = make_chunks(sound, size)  #将文件切割为10s一块for i, chunk in enumerate(chunks):chunk_name = "{}.wav".format(i)print(chunk_name)tar_file = tar_path + '/' + chunk_namechunk.export(tar_file, format="wav")   

pydub 部分 api 介绍相关推荐

  1. HTML5 Audio标签方法和函数API介绍

     问说网 > 文章教程 > 网页制作 > HTML5 Audio标签方法和函数API介绍 Audio APIHTML5HTML5 Audio预加载 HTML5 Audio标签方法和函 ...

  2. Servlet基础(一) Servlet基础和关键的API介绍

    转载:http://www.cnblogs.com/mengdd/p/3202550.html Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解 Servlet基础(一) S ...

  3. Socket基础API介绍

    文章目录 1 Socket基础API介绍 1 Socket基础API介绍 我们先来看下使用Socket API建立简易TCP服务端和客户端的步骤: 用Socket API建立简易TCP服务端: 建立一 ...

  4. 学习笔记Hadoop(十四)—— MapReduce开发入门(2)—— MapReduce API介绍、MapReduce实例

    四.MapReduce API介绍 一般MapReduce都是由Mapper, Reducer 及main 函数组成. Mapper程序一般完成键值对映射操作; Reducer 程序一般完成键值对聚合 ...

  5. TEE Internal core API介绍(globalplatform)

    目录 一.TEE的API介绍 1.Cryptographic Operations API 加解密函数介绍() (1).Generic Operation Functions TEE_Allocate ...

  6. Globalplatform TEE api介绍

    文章目录 1.TEE API介绍 2.Client API : CA与TA通信的API介绍 3.TEE API : TA系统调用TEE OS的API (1).Asymmetric (2).Authen ...

  7. 组合筛选vue_Vue 3 组合式API介绍

    组合式API介绍 通过创建 Vue 组件,我们可以将接口的可重复部分及其功能提取到可重用的代码段中.仅此一项就可以使我们的应用程序在可维护性和灵活性方面走得更远.然而,我们的经验已经证明,光靠这一点可 ...

  8. 科大讯飞cordova语音插件填坑及api介绍

    项目要求语音合成,准备调用科大讯飞的cordova插件,百度仅有一篇有价值的参考文章(再吐槽下,百度搜索到各种复制的文章....),谷歌有2篇,但介绍不全,只用typescript列出api,没有ap ...

  9. 43_pytorch nn.Module,模型的创建,构建子模块,API介绍,Sequential(序号),ModuleList,ParameterList,案例等(学习笔记)

    1.40.PyTorch nn.Module 1.40.1.模型的创建 1.40.2.构建子模块 1.40.3.nn.Module API介绍 1.40.3.1.核心功能 1.40.3.2.查看模块 ...

最新文章

  1. pfSense设置多WAN后,解决网银无法登陆问题
  2. Python中的pickle模块
  3. Vue-路由模式 hash 和 history
  4. 高并发-【抢红包案例】之三:使用乐观锁方式修复红包超发的bug
  5. Redis缓存数据库服务器
  6. 淘宝商品比价定向爬虫
  7. 谈电子信息系统机房设计规范——访中国电子工程设计院副总工程师钟景华
  8. MeshBaker插件 使用套路
  9. 电脑搜索不到wifi信号的问题解决
  10. Advice for applying machine learning - Diagnosing bias vs. variance
  11. R包SangerSeqR处理ab1数据
  12. iOS软件开发实现类似微信上传图片选择
  13. 删除字符串某一指定子字符串
  14. Swift_代码混淆
  15. Gitbook:无法加载文件C:\Users\Administrator\AppData\Roaming\npm\\gitbook.ps1因为在此系统上禁止运行脚本的解决方法
  16. 星座图matlab是什么意思,如何理解Matlab星座图16QAM
  17. Go 语言优势、对比
  18. 【技巧 二进制分组】bzoj4398: 福慧双修2407: 探险
  19. java的包装类不可变_为什么像java中的布尔类包装类是不可变的?
  20. 物联网安全专题 | 浅谈物联网设备安全分析方法 — 软件篇

热门文章

  1. < 每日算法 - JavaScript解析:从尾到头打印链表 >
  2. 蜗牛游戏将在美上市:收入下滑,研发费用下降,石海夫妇为大赢家
  3. 微信小程序wx.downloadFile苹果手机失败显示 file data is empty的解决方案
  4. 【优化求解】基于蚁狮算法求解最优多目标Matlab代码
  5. 计算机网络笔记–7 网络层(下)
  6. 学习ffmpeg视音频编解码
  7. php早午晚问候语_php实现每天自动变换随机问候语的方法,php变换问候语_PHP教程...
  8. C语言程序设计CAP——C语言学习笔记(七) 上
  9. 大环境不好难找工作?三面阿里,幸好做足了准备,已拿offer
  10. 网络安全里的主要岗位有哪些?小白如何快速入门?