始める無料で始める

PyDub で音声ファイルを正規化する

音声ファイルによっては、ある部分は大きく、別の部分は小さく聞こえることがあります。音量のばらつきが大きいと、文字起こしの精度が落ちてしまいます。

幸い、PyDub の effects モジュールには normalize() という関数があり、AudioSegment の最大音量を見つけて、残りの音量をそれに合わせて調整します。つまり、静かな部分の音量が持ち上がります。

最初は大きく、その後小さくなる音声ファイルの例 loud_then_quiet.wav は、こちら から試聴できます。

この演習では、normalize() を使ってファイルの音量を正規化し、このような音に近づけます。

この演習はコースの一部です

Pythonで学ぶ音声言語処理

コースを見る

演習の手順

  • PyDub から AudioSegment を、PyDub の effects モジュールから normalize をインポートします。
  • 対象の音声ファイル loud_then_quiet.wav を読み込み、loud_then_quiet に保存します。
  • 読み込んだ音声ファイルを normalize() 関数で正規化し、normalized_loud_then_quiet に保存します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import AudioSegment and normalize
from pydub import ____
from pydub.effects import ____

# Import target audio file
loud_then_quiet = AudioSegment.from_file(____)

# Normalize target audio file
normalized_loud_then_quiet = ____(____)
コードを編集して実行