FLAC & MP3対応:アルバムアート一括埋め込みスクリプト | 60歳を迎えて、思うこと。

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

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

FLAC & MP3対応:アルバムアート一括埋め込みスクリプト

あ~~~~と
あ~~~~と

新しく りっぴんぐ したので

FLAC MP3 両方に 使用できる

pythonすくりぷと

作成 して いただいた

# ==== Microsoft Copilot
# ==== FLAC & MP3対応:アルバムアート一括埋め込みスクリプト
# ==== Rev. -
# 使用方法
# D:\Renameフォルダ直下に
# MP3 or FLAC ファイルと
# art.jpg(600x600以内目安)を置いて
# 実行
# ==============================
# 以下が、**FLAC形式とMP3形式の両方に対応し、共通のJPEG画像(600×600目安)を埋め込むPythonスクリプト**です。  
# 指定フォルダ内のすべての`.flac`と`.mp3`ファイルに対して、`art.jpg`を埋め込みます。既存の画像は**問答無用で削除して置き換え**ます。

## 🐍 FLAC & MP3対応:アルバムアート一括埋め込みスクリプト


import os
from mutagen.flac import FLAC, Picture
from mutagen.mp3 import MP3
from mutagen.id3 import ID3, APIC, error

# 対象フォルダと画像ファイル
TARGET_FOLDER = r"D:\Rename"
IMAGE_FILE = os.path.join(TARGET_FOLDER, "art.jpg")

def embed_flac_image(file_path, image_path):
    audio = FLAC(file_path)
    audio.clear_pictures()  # 既存画像を削除

    with open(image_path, "rb") as img:
        data = img.read()

    pic = Picture()
    pic.data = data
    pic.type = 3  # Cover (front)
    pic.mime = "image/jpeg"
    pic.desc = "Cover"
    pic.width = 600
    pic.height = 600
    pic.depth = 24

    audio.add_picture(pic)
    audio.save()
    print(f"[FLAC] Embedded image into: {os.path.basename(file_path)}")

def embed_mp3_image(file_path, image_path):
    audio = MP3(file_path, ID3=ID3)

    try:
        audio.add_tags()
    except error:
        pass

    # 既存のAPICタグを削除
    audio.tags.delall("APIC")

    with open(image_path, "rb") as img:
        data = img.read()

    audio.tags.add(
        APIC(
            encoding=3,         # UTF-8
            mime="image/jpeg",  # MIMEタイプ
            type=3,             # Cover (front)
            desc="Cover",
            data=data
        )
    )
    audio.save()
    print(f"[MP3] Embedded image into: {os.path.basename(file_path)}")

def process_folder(folder, image_path):
    for file in os.listdir(folder):
        file_path = os.path.join(folder, file)
        if file.lower().endswith(".flac"):
            embed_flac_image(file_path, image_path)
        elif file.lower().endswith(".mp3"):
            embed_mp3_image(file_path, image_path)

if __name__ == "__main__":
    process_folder(TARGET_FOLDER, IMAGE_FILE)

# ==============================

### ✅ 補足ポイント
# - `art.jpg`は**600×600px程度のJPEG画像**を推奨(圧縮率も調整可能)。
# - すべてのFLAC/MP3ファイルに**強制的に画像を埋め込み**ます。
# - MP3はID3v2の`APIC`タグ、FLACは`METADATA_BLOCK_PICTURE`で処理。
# - 画像のサイズや形式が不適切な場合はエラーになるので、事前に確認を。
# これで、JetAudio、MP3Tag、foobar2000などでも**ジャケット画像が正しく表示**されるはずです!  
# さらにタグ編集やファイル名の自動整形なども追加できますので、必要ならお知らせください。
# ==============================

他力本願 あんど 寄生生活

じじぃ~

作画:【chatGPT】様