MP3 再えんこ~ど
大量の MP3ファイル
以前から 気になっていたのですが
「音量」がバラバラ
極端に いえば
一曲ごとに
ボリュームを 操作・・・
そんな 面倒を
昔は MP3Gain
というソフトで
均一化して 聴いていましたが
windows10 には
基本対応していない
※動作できる! という記事も見かけますが・・・
そこで
次なる 策略
pythonのスクリプトで
対処できるよ!
・・・と 【chatGPT】様
但し、要 再エンコード
再エンコードは 望まぬが
バラバラの音量も イヤだ!
という わけで
【chatGPT】様に
pythonのスクリプトを
作っていただく。
# ==== pythonスクリプト
# ==== MP3の音量均一化
# ==== スクリプト:フォルダ内のMP3を一括処理
from pydub import AudioSegment
from pydub.effects import normalize
import os
def normalize_folder(input_folder, output_folder):
"""
指定フォルダ内の全MP3ファイルの音量を均一化し、新しいフォルダに保存する。
"""
# 入力フォルダが存在するかチェック
if not os.path.exists(input_folder):
print(f"入力フォルダが見つかりません: {input_folder}")
return
# 出力フォルダを作成(存在しない場合)
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# フォルダ内の全ファイルを処理
for file_name in os.listdir(input_folder):
# MP3ファイルのみ処理
if file_name.endswith(".mp3"):
input_path = os.path.join(input_folder, file_name)
output_path = os.path.join(output_folder, file_name)
try:
# オーディオファイルを読み込む
audio = AudioSegment.from_file(input_path)
# 音量を均一化
normalized_audio = normalize(audio)
# 均一化した音声を新しいフォルダに保存
normalized_audio.export(output_path, format="mp3")
print(f"処理完了: {file_name}")
except Exception as e:
print(f"エラー発生: {file_name} - {e}")
print("すべてのファイルを処理しました!")
# 使用例
# 入力フォルダのパス
input_folder = "D:\\000-MP3-Gain\\"
output_folder = "D:\\000-MP3-Gain-OUTPUT"
normalize_folder(input_folder, output_folder)
スクリプトの使い方**
1. スクリプトの`input_folder`に処理したいMP3ファイルが入ったフォルダのパスを指定します。
2. `output_folder`に処理後のMP3ファイルを保存するフォルダのパスを指定します(存在しない場合は自動作成)。
3. スクリプトを実行します。
処理の結果**
- **入力フォルダ**:元のMP3ファイルがそのまま保持されます(上書きはされません)。
- **出力フォルダ**:音量を均一化したMP3ファイルが保存されます。
注意点**
1. **音質劣化**:
- 再エンコードが発生するため、元のMP3に比べてわずかに音質が劣化する場合があります。
ただし、ほとんどの環境では気づかないレベルです。
2. **ファイル名の重複**:
- 入力フォルダと出力フォルダに同じ名前のファイルがある場合、
上書きされるので注意してください。
3. **処理対象**:
- フォルダ内の**すべてのMP3ファイル**を対象とします。
不要なファイルが混じらないように注意してください。
### **次のステップ**
もし他にカスタマイズしたい点
(例:ログファイル出力、フォルダを選択するGUI対応など)
があれば教えてください!
# ==============================
### **2. Pythonで音量を均一化する方法**
Pythonでは、以下のライブラリを使うことで音量正規化を自動化できます。
#### 必要なライブラリ
- **pydub**: オーディオ処理用ライブラリ
- **ffmpeg**: pydubが内部で利用するコーデック
- **numpy**(オプション): 高度な音量計算に便利
以下の手順で行います:
#### **Pythonスクリプト例**
1. 必要なライブラリをインストール:
```bash
pip install pydub numpy
```
2. ffmpegをインストール([FFmpeg公式](https://ffmpeg.org/download.html)でダウンロード)。
# ==============================
じじぃ~ にも 理解できるように
コメント文も いっぱい!
いや~~~ 助かります
◆◆ 注意事項 ◆◆
既存の
MP3 IDタグは 全て消去されます。
アルバムアートも消えます。
まあ MP3の「上書き」保存ではなく
別フォルダなので
タグエディタで
両方開いて
コピペすれば・・・文字情報は
なんとか・・・
アルバムアートは・・・痛い!