業界・業務から探す
導入目的・課題から探す
データ・AIについて学ぶ
News
Hakkyについて
ウェビナーコラム
◆トップ【AI・機械学習】
プロセスの全体像前処理・特徴量生成Fine Tuning手法まとめ機械学習モデルの選び方モデル評価手法プロトタイピング探索的分析(EDA)
AI

執筆者:Handbook編集部

音声処理を行うとき音量を調整する方法

概要

本記事は、python で音声データの音量を調整する方法について書いていきます。

音声処理を行うとき音量を調整する方法

事前準備として、Pydubライブラリをインストールします

pip install pydub

音声ファイルを読み込む

PydubライブラリのAudioSegmentメソッドを使うことで、音声ファイルを読み込めます。下記は WAV ファイルを読み込む例です。

from pydub import AudioSegment
Audio = AudioSegment.from_wav('file_path')

音量を上げる

音量を上げたい場合、次のように書きます。

from pydub import AudioSegment
Audio = AudioSegment.from_mp3('file_path')
newAudio = Audio + 3

以上は音量を 3 段階上げる例です。

音量を下げる

音量を下げたいを行うときも同様です。

from pydub import AudioSegment
Audio = AudioSegment.from_mp3('file_path')
newAudio = Audio - 3

音声ファイルを出力する

音量調整後の音声ファイルを出力します。

from pydub import AudioSegment
Audio = AudioSegment.from_mp3('file_path')
newAudio = Audio + 3
newAudio.export('output.wav', format='wav')

音声ファイルの音量を計算する

調整後の音声ファイルと元の音声ファイルを聞けば音量が変化したことが分かりますが、python で音量を計算し、調整前後の音声データの音量変化を数値として確認することができます。


import librosa
import wave
import soundfile as sf

def wav_read(path):
    wave, fs = sf.read(path) #音データと周波数を読み込む
    return wave, fs

if __name__ == "__main__":
    path_to_origin_file = '調整前の音声ファイル'
    path_to_up_adjustment_file = '調整後の音声ファイル'
    wave_origin, fs_origin = wav_read(path_to_origin_file)
    wave_adjustment, fs_adjustment = wav_read(path_to_up_adjustment_file)
    rms_origin = librosa.feature.rms(y=wave_origin) #音量の計算
    rms_adjustment = librosa.feature.rms(y=wave_adjustment)
    print(rms_origin,rms_adjustment)

参考

2025年06月15日に最終更新
読み込み中...