Python 音频调整音量(附代码) | Python工具
目录
前言
环境依赖
代码
总结
前言
本文提供将音频提升音量的python代码,一如既往的实用主义代码。
环境依赖
ffmpeg环境安装,可以参考我的另一篇文章:windows ffmpeg安装部署_阿良的博客-CSDN博客
ffmpy安装:
pip install ffmpy -i https://pypi.douban.com/simple
代码
不废话上代码。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/24 22:45
# @Author : 剑客阿良_ALiang
# @Site :
# @File : raise_audio_volume_tool.pyimport os
import uuid
from ffmpy import FFmpeg# 通过倍率提升
def raise_by_ratio(audio_path: str, output_dir: str, ratio):ext = os.path.basename(audio_path).strip().split('.')[-1]if ext not in ['wav', 'mp3']:raise Exception('format error')ff = FFmpeg(inputs={'{}'.format(audio_path): None}, outputs={os.path.join(output_dir, '{}.{}'.format(uuid.uuid4(), ext)): '-filter:a "volume={}"'.format(ratio)})print(ff.cmd)ff.run()return os.path.join(output_dir, '{}.{}'.format(uuid.uuid4(), ext))# 通过分贝数提升
def raise_by_decibel(audio_path: str, output_dir: str, decibel):ext = os.path.basename(audio_path).strip().split('.')[-1]if ext not in ['wav', 'mp3']:raise Exception('format error')ff = FFmpeg(inputs={'{}'.format(audio_path): None}, outputs={os.path.join(output_dir, '{}.{}'.format(uuid.uuid4(), ext)): '-filter:a "volume={}dB"'.format(decibel)})print(ff.cmd)ff.run()return os.path.join(output_dir, '{}.{}'.format(uuid.uuid4(), ext))
代码说明
1、raise_by_ratio和raise_by_decibel方法的参数都为音频地址、输出目录地址、倍率(分贝数)。
2、倍率参数可以为浮点型,例如:0.5
3、分贝数可以为负值。
4、为了避免输出文件文件名重复,使用uuid作为文件名。
5、音频后缀格式校验较少,如需添加自行添加。
验证一下
准备音频的音量,这里提供查看音频的分贝数的ffmpeg命令。
ffmpeg -i C:\Users\yi\Desktop\660952057553105332.wav -filter_complex volumedetect -c:v copy -f null C:\Users\yi\Desktop\1.txt
执行代码
if __name__ == '__main__':print(raise_by_ratio('C:\\Users\\yi\\Desktop\\660952057553105332.wav','C:\\Users\\yi\\Desktop\\', 2))print(raise_by_decibel('C:\\Users\\yi\\Desktop\\660952057553105332.wav','C:\\Users\\yi\\Desktop\\', -10))
倍率音量提升效果
增大了一点,不明显,可能跟基础的分贝数有关。
分贝数提升效果
这个数值比较精准。
总结
没什么好总结的。
分享:
虽无言,却风雪而立。虽无言,却花满枝头。虽无言,却兀自凋零。——《虫师》
如果本文对你有用的话,请给我一个赞吧,谢谢!
Python 音频调整音量(附代码) | Python工具相关推荐
- 聚类的外部指标(Purity, ARI, NMI, ACC) 和内部指标(NCC,Entropy,Compactness,Silhouette Index),附代码 (Python 和 Matlab)
聚类性能评估的外部指标和内部指标,附代码 (Python 和 Matlab) 文章目录 聚类性能评估的外部指标和内部指标,附代码 (Python 和 Matlab) 1 外部指标 1.1 Purity ...
- Python科学绘图实例附代码
Python绘图精简实例附代码 作者:金良(golden1314521@gmail.com) csdn博客:http://blog.csdn.net/u012176591 Python绘图精简实例附代 ...
- python常用代码入门-入门十大Python机器学习算法(附代码)
入门十大Python机器学习算法(附代码) 今天,给大家推荐最常用的10种机器学习算法,它们几乎可以用在所有的数据问题上: 1.线性回归 线性回归通常用于根据连续变量估计实际数值(房价.呼叫次数.总销 ...
- 混合整数规划MIP/线性规划LP+python(cplex库)实现 附代码
文章目录 相关知识点 LP线性规划问题 MIP混合整数规划 MIP的Python实现(docplex库) MIP的Python实现(ortool库) 喜欢的话请关注我们的微信公众号~<你好世界炼 ...
- 混合整数规划MIP/线性规划LP+python(ortool库)实现 附代码
文章目录 相关知识点 LP线性规划问题 MIP混合整数规划 MIP的Python实现(Ortool库) assert MIP的Python实现(docplex库) 喜欢的话请关注我们的微信公众号~&l ...
- python代码在线回归中怎么运行_手把手教你用Python进行回归(附代码、学习资料)...
原标题:手把手教你用Python进行回归(附代码.学习资料) 作者: GURCHETAN SINGH翻译:张逸校对:丁楠雅 本文共5800字,建议阅读8分钟. 本文从线性回归.多项式回归出发,带你用P ...
- python音频实时频谱分析_基于python的音频设计及频谱分析
74 Internet Technology 互联网 + 技术 一.引言 WAV 是 Microsoft 开发的一种声音文件格式,虽然它支持多种压缩格式,但是它通常被用来保存未压缩的声音数据(PCM ...
- python皮卡丘字符打印代码,python画皮卡丘的代码
大家好,本文将围绕用python画一只可爱的皮卡丘展开说明,python皮卡丘字符打印代码是一个很多人都想弄明白的事情,想搞清楚python皮卡丘编程代码教程需要先了解以下几个事情. 1.python ...
- python音频两条路径_使用Python实现音频双通道分离
使用Python实现音频双通道分离,音频,路径,通道,代码,示例 使用Python实现音频双通道分离 易采站长站,站长之家为您整理了使用Python实现音频双通道分离的相关内容. 某些音频是双方对话, ...
- python最简单的爬虫代码,python小实例一简单爬虫
python新手求助 关于爬虫的简单例子 #coding=utf-8from bs4 import BeautifulSoupwith open('', 'r') as file: fcontent ...
最新文章
- 【转载】Sqlserver限制最大可使用内存
- Qt中多线程与界面组件的通信
- 【2018.4.7】模拟赛之四-ssl2385 猜数【水题】
- Android官方开发文档Training系列课程中文版:多样屏幕之实现自适应UI
- mysql 传统数据恢复_MySQL误操作后如何快速恢复数据
传统解法
利用binlog2sql快速闪回
常见问题
参考资料...
- Windows端口占用情况?
- opencv 矫正图片
- oracle erp 用户手册,oracleerp用户手册-mrp
- XMind软件简易使用教程
- DS18B20温度传感器-51单片机控制程序
- 20款优秀的基于浏览器的在线代码编辑器
- 实战一:给定一段音频,请提取12维MFCC特征,阅读代码预加重、分帧、加窗部分,完善作业代码中fbank和mfcc部分,并给出最终的Fbank和MFCC特征,用默认的配置参数,无需进行修改
- QQ邮箱添加网易邮箱
- 处理安卓机不支持backdrop-filter毛玻璃效果样式
- 硅谷高管中国行感受:思维太单一,996式加班意义不大
- 如何升级IE浏览器 电脑IE浏览器怎么升级
- 了解标量、向量和点积
- mysql数据压缩存储,压缩文本,然后存储在mysql数据库中
- python报错:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xa3 in position 48
- inline 成员函数
热门文章
- 原生android tv 盒子,MiBox S 小米盒子国际版 | 2019年原生 AndroidTV 推荐 | VLOG31
- vmlogin效果怎么样?亚马逊防关联超级浏览器,电商多账号管理神器
- GlobalMapper20坐标转换
- 计算机文献检索综合性实验报告,文献检索实验报告.doc
- 【学习笔记】MATLAB与数学建模——蒙特卡罗模拟仿真
- linux 内核 触摸屏,向内核里面添加触摸屏驱动(方法适合其他设备)
- 本地项目第一次上传到SmartSvn
- 使用Python Chord包画出好看的弦图
- 医学专业学语文数学英语计算机嚒,医学专业到底有哪些一级学科,你知道吗?...
- iTextSharp 列表