MP3 再えんこ~ど | 60歳を迎えて、思うこと。

60歳を迎えて、思うこと。

いつの間にか、「60」という年月が経ちました。
残り少ないか多いか?わかりませんが。
じじぃ~の「ひとりごと」を細々と続けられれば。。。

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の「上書き」保存ではなく
別フォルダなので
タグエディタで
両方開いて
コピペすれば・・・文字情報は
なんとか・・・

アルバムアートは・・・
痛い!