当前位置:首页 » 《随便一记》 » 正文

Python 音频调整音量(附代码) | Python工具_阿良的博客

3 人参与  2022年04月23日 10:52  分类 : 《随便一记》  评论

点击全文阅读


目录

前言

环境依赖

代码

总结


前言

本文提供将音频提升音量的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.py

import 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))

倍率音量提升效果

增大了一点,不明显,可能跟基础的分贝数有关。

分贝数提升效果

 

这个数值比较精准。

总结

没什么好总结的。

分享:

        虽无言,却风雪而立。虽无言,却花满枝头。虽无言,却兀自凋零。——《虫师》

如果本文对你有用的话,请给我一个赞吧,谢谢!


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/38739.html

分贝  倍率  代码  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 桑年裴谨言孟微晴(你是我未拆的遗书桑年结局+番外)_(桑年裴谨言孟微晴)列表_笔趣阁(你是我未拆的遗书桑年结局+番外)
  • 「惨死重生后我竟被封公主」节选免费试读_苏清华宋墨渊口碑神作必读篇章
  • 沐星澜陆司沉结局+番外免费_(沐星澜陆司沉结局+番外)沐星澜陆司沉结局+番外列表_笔趣阁(沐星澜陆司沉)
  • [爱也沧沧,恨也沧沧]小说***章节抢先看_贺景宋南乔南乔全集阅读
  • 邓云承汪夏再活一次,她的爱还是给了别人全书+后续+结局列表_笔趣阁(再活一次,她的爱还是给了别人全书+后续+结局邓云承汪夏)
  • 从此星辰远,归途似海深+后续+结局(璃月龙影)列表_从此星辰远,归途似海深+后续+结局
  • 也曾偷藏欢喜+结局+番外(乔喜商凛)列表_也曾偷藏欢喜+结局+番外(乔喜商凛)也曾偷藏欢喜+结局+番外在线
  • 许我三千繁星愿全书+后续(楚砚风慕星眠)列表_许我三千繁星愿全书+后续(楚砚风慕星眠)许我三千繁星愿全书+后续在线
  • 暗香疏影已成尘结局+番外(宋窈宁陆靳言)_暗香疏影已成尘结局+番外(宋窈宁陆靳言)列表_笔趣阁(宋窈宁陆靳言)
  • (番外)+(全书)《九幽不渡卿结局+番外》(孟卿卿谢昭远)免费在线_《九幽不渡卿结局+番外》孟卿卿谢昭远全文
  • 也曾偷藏欢喜免费结局+番外(乔喜商凛)列表_也曾偷藏欢喜免费结局+番外(乔喜商凛)也曾偷藏欢喜免费结局+番外在线
  • [被丢下忘川后,阎王夫君悔疯了]免费试读_秦温云裳阎王情感冲突精选段落

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1