91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中音頻調整音量的示例分析

發布時間:2022-03-04 11:02:42 來源:億速云 閱讀:368 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“Python中音頻調整音量的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Python中音頻調整音量的示例分析”這篇文章吧。

環境依賴

ffmpeg環境安裝

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

Python中音頻調整音量的示例分析

執行代碼

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中音頻調整音量的示例分析

這個數值比較精準。

以上是“Python中音頻調整音量的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鹿邑县| 苗栗市| 威宁| 天水市| 肥城市| 阿克陶县| 贵南县| 青龙| 龙川县| 义马市| 蕲春县| 岱山县| 睢宁县| 益阳市| 黔南| 漠河县| 贞丰县| 兴城市| 胶南市| 五指山市| 海安县| 聊城市| 庆云县| 潮州市| 辉县市| 沐川县| 南溪县| 云阳县| 分宜县| 吉首市| 黑河市| 岢岚县| 榆社县| 威远县| 公安县| 晋中市| 双峰县| 勃利县| 黎平县| 阿城市| 方城县|