2026-01-08 09:38:49 +08:00
A
2026-01-05 21:13:36 +08:00
A
2026-01-05 20:15:59 +08:00
2026-01-08 09:22:53 +08:00
2026-01-08 09:38:49 +08:00
A
2026-01-05 20:15:59 +08:00

TypeChange

把音乐库里的音频批量转换为 AAC(.m4a),方便导入 Windows/macOS 的音乐资料库,再同步到手机。

这个仓库做什么

  • 扫描 SOURCE_ROOT 下的音频文件(默认 E:\Music),跳过 SKIP_ROOT(默认 E:\Music\工具)。
  • 用 FFmpeg 转为 AAC(默认 256k),统一输出到 OUT_ROOT(默认 E:\Music\工具\TypeChange\out)。
  • 输出是“扁平目录”:只按文件名保存(不保留原目录结构)。同名会覆盖,脚本会在开始时提示。
  • 可选:安装 mutagen 后,FLAC 的标签/封面会尽量写入输出的 M4A(也会尝试读取同目录的 cover.jpg / folder.jpg 等外部封面图)。

准备环境

  1. Python 3.10+(建议 3.11)。
  2. FFmpeg
    • Windows:仓库自带 ffmpeg-8.0.1-essentials_build/bin/ffmpeg.exe,会自动优先使用。
    • macOS:请先安装并保证 ffmpeg 在 PATH(例如 brew install ffmpeg)。
  3. 依赖(可选但推荐):mutagen(用于更完整保留 FLAC 标签/封面)

安装依赖:

  • Windows(PowerShell / CMD):
    • py -3.11 -m venv .venv
    • .venv\Scripts\python.exe -m pip install -r requirements.txt
  • macOS/Linux(终端):
    • python3 -m venv .venv
    • source .venv/bin/activate
    • python -m pip install -r requirements.txt

配置路径(第一次使用必做)

打开 convert.py,修改顶部 3 个常量到你自己的路径:

  • SOURCE_ROOT:你的音乐源目录(会递归扫描)
  • SKIP_ROOT:需要跳过的目录(建议指向“工具/脚本/输出所在目录”,避免重复扫描)
  • OUT_ROOT:输出目录(生成的 .m4a 会放这里)

提示:输出目录是可删除的生成物(仓库的 .gitignore 已忽略 out/)。

运行转换

  • 直接转换:
    • Windows:.venv\Scripts\python.exe convert.py
    • macOS/Linux:python convert.py
  • 只补写 FLAC 标签/封面到已生成的输出(不重新转码):python convert.py --tags-only
  • 强制把源 .m4a 也重新编码为 AAC(默认是直接复制):python convert.py --no-copy-m4a

完成后,去 OUT_ROOT 查看生成的 .m4a 文件。

主要使用流程(转换 → 资料库 → 手机)

下面按“新人一条龙”流程写,照着做就能跑通。

1) 转换(TypeChange)

在存放源音乐的电脑上运行 convert.py,得到一批 .m4a 输出(在 OUT_ROOT)。

2) 同步到 Windows/macOS 音乐资料库(iTunes / 音乐 App)

选择你平时用来管理音乐资料库的电脑(Windows 或 Mac),把 OUT_ROOT 里的 .m4a 同步/拷贝过去(常见方式:移动硬盘、SMB 共享、网盘同步等)。

然后导入到资料库:

  • Windows(iTunes):
    • 文件(File) -> 将文件夹添加到资料库(Add Folder to Library),选择同步过来的输出目录
    • 建议在 iTunes 设置里开启“添加到资料库时复制文件到媒体文件夹”,避免引用路径丢失
  • macOS(音乐 App / Music):
    • 文件(File) -> 导入(Import),选择同步过来的输出目录(或直接拖拽文件夹进音乐 App)
    • 建议在“设置/偏好设置 -> 文件”中开启“添加到资料库时复制文件到媒体文件夹”

如果你需要 Windows 和 Mac 都有同一份音乐:

  • 推荐做法:把 OUT_ROOT 当作“统一分发目录”,用同步工具把它同步到两台机器,然后分别导入各自的资料库。
  • 更高级做法:使用云端音乐资料库(例如 Apple Music/iCloud 音乐资料库)自动在多设备间同步(是否适合取决于你的订阅与设置)。

3) 连接手机并同步到手机

用数据线连接手机到“资料库所在电脑”,再做一次设备同步:

  • macOS:在 Finder(或音乐 App)里选择设备,进入“音乐”页,勾选要同步的音乐/歌单,然后点“同步”
  • Windows:在 iTunes(或 Apple 设备管理应用)里选择设备,进入“音乐”页,勾选要同步的音乐/歌单,然后点“同步”

注意事项(一定要看)

  • 输出是扁平目录:不同专辑/目录里同名文件会互相覆盖;脚本会提示覆盖风险,但不会自动改名。
  • 会覆盖已存在的同名输出(FFmpeg 使用 -y)。
  • 如果你先没装 mutagen 就转换了:安装依赖后可以用 --tags-only 给 FLAC 输出补写更完整的标签/封面。
S
Description
No description provided
Readme
53 KiB
0 Stars 1 Watchers 0 Forks
Languages
Python 100%