
Antra自动打标机制详解ID3v2、Vorbis Comments与MP4 Atoms如何为每种音频写对元数据【免费下载链接】AntraA desktop music library builder that turns Spotify, Youtube Music Apple Music, Amazon Music, Tidal, Qobuz, and Deezer links into fully tagged local library in FLAC, ALAC, Dolby Atmos, AAC, or MP3.项目地址: https://gitcode.com/gh_mirrors/an/AntraAntra是一款桌面音乐库构建工具能把 Spotify、YouTube Music、Apple Music、Amazon Music、Tidal、Qobuz 和 Deezer 的链接变成自动打标的本地音乐库支持 FLAC、ALAC、AAC、MP3 等格式输出。很多人下载完音频后发现封面丢失、歌名变成Track 01而 Antra 的自动打标机制会替你处理全部元数据它根据每种音频容器各自认可的标签规范——MP3 用ID3v2、FLAC 用Vorbis Comments、M4A 用MP4 Atoms——把歌名、艺术家、专辑、年份、曲目号、流派、封面、歌词甚至 ISRC 编码一次写全。一键打标流程下载完成后发生了什么你不需要做任何配置。当一首歌下载完成后Antra 的核心引擎 antra/core/engine.py 会按固定流水线执行四步转码定形——antra/utils/transcoder.py 先把文件转成你选择的输出格式FLAC / ALAC / AAC / MP3元数据补全——antra/core/metadata_enricher.py 从胜出音源和免费 API 补齐流派、厂牌等信息写入标签——antra/utils/tagger.py 中的FileTagger.tag()按扩展名分流调用 FLAC / MP3 / MP4 三套写入逻辑旁路文件——按设置额外保存封面图和歌词 sidecar 文件。所有信息都汇聚在统一的数据模型 antra/core/models.py 的TrackMetadata上包含标题、艺术家、专辑、发行日期、曲目/碟片号、ISRC、UPC、作曲家、厂牌、封面 URL、歌词等 30 多个字段打标器负责把它们翻译成各容器自己的语言。FLAC 自动打标Vorbis Comments 全字段写入FLAC 是无损格式的标准答案Antra 使用 Vorbis Comments 键值对写入 antra/utils/tagger.py。细节上有两个贴心设计年份双写除了date还会写入四位数的year字段因为 Windows Media Player 只认year无损信息保留ISRC、UPCbarcode、ISWC 版权编码、厂牌、作曲家全部落盘方便日后跨平台对账。元数据Vorbis Comment 字段歌名 / 艺术家 / 专辑title/artist/album/albumartist发行日期dateyear双写曲目号 / 碟片号tracknumber含/总曲目、discnumber版权编码isrc/barcode/iswcMP3 自动打标ID3v2 帧与兼容性陷阱MP3 走 ID3v2 帧写入 antra/utils/tagger.pyTIT2歌名、TPE1/TPE2艺术家/专辑艺术家、TALB专辑、TDRC日期、TRCK/TPOS曲目/碟片、TCON流派、TSRCISRC、TCOM作曲家、TPUB厂牌封面用APIC帧。这里有个关键兼容性细节Antra 故意以ID3v2.3而非 2.4 保存v2_version3因为 Windows 资源管理器和常见手机播放器读取 v2.3 的APIC封面更稳定。非标准字段ISWC、SPOTIFYID、AUDIO_TRAITS则统一塞进TXXX自定义帧不污染标准帧空间。M4A/MP4 自动打标MP4 Atoms 与 Freeform 命名空间ALAC 和 AAC 都装在 MP4 容器里由 antra/utils/tagger.py 用 MP4 Atoms 写入©nam歌名、©ART/aART艺术家/专辑艺术家、©alb专辑、trkn曲目号/总曲目、disk碟片号、©gen流派、covr封面自动区分 JPEG/PNG。ID3 里能随便扩展但 MP4 容器更严格所以 ISRC、SPOTIFYID、厂牌等额外信息走Freeform Atom----:com.apple.iTunes:ISRC这种命名空间键既符合容器规范iTunes 与主流播放器也都能正常读取。封面与歌词从下载到验证的完整链路封面图不是简单下载了事。Antra 会嗅探真实 MIME 类型、把超大封面缩到最长边 1000px_MAX_EMBEDDED_ART_EDGE、把透明通道 PNG 压成 JPEG并按 URL 做专辑级缓存——同一张专辑的几十首歌只请求一次 CDN。歌词走多供应商瀑布流 antra/utils/lyrics.py优先同步歌词LRC嵌入前会用validate_and_strip_lrc校验时间戳是否超出歌曲时长防止把别的版本歌曲的歌词贴上来。然后按容器各写各的见 antra/utils/tagger.py格式纯文本歌词同步歌词FLACLYRICSSYNCEDLYRICSLRCMP3USLT帧SYLT帧毫秒精度M4A©lyratom以纯文本形式存入如果你的输出格式是 Ogg/Opus 这类不支持内嵌的容器Antra 会在同目录写出.lrc/.txtsidecar 文件antra/utils/tagger.py另外保存封面文件设置还能在专辑目录生成高分辨率cover.jpg/cover.png让 Navidrome、Jellyfin、Plex 这类媒体服务器直接读取。隐藏彩蛋ANTRA_VERSION 溯源标签打开设置里的Record Antra version in downloaded files开关antra-wails/frontend/src/App.svelte每个文件还会额外写入三个溯源标签antra/utils/tagger.pyANTRA_VERSION——生成该文件的 Antra 版本FLAC 直接写小写 Vorbis 字段、MP3 用TXXX、MP4 用----:com.antra:*命名空间ANTRA_DOWNLOADED——UTC 下载时间戳ANTRA_SOURCE——音源服务名。这就像给每个文件盖了个生产批次章日后升级了版本或换了音源可以凭标签精准找出哪些文件夹需要重新抓取。普通播放器看不到这些字段完全无感。总结一份库全格式兼容一句话概括 Antra 的自动打标机制一份统一的TrackMetadata三套容器方言。Vorbis Comments 的宽松键值对、ID3v2.3 的兼容性取舍、MP4 Atoms 的命名空间规范它都针对性地处理了再叠加封面归一化、歌词时间戳校验和溯源标签最终得到的是一份 Windows 资源管理器、VLC、foobar2000、iTunes 和各类媒体服务器都能正确读取的本地音乐库。想深入了解字段定义可以看 antra/core/models.py想看完整打标实现就看 antra/utils/tagger.py转码逻辑在 antra/utils/transcoder.py。【免费下载链接】AntraA desktop music library builder that turns Spotify, Youtube Music Apple Music, Amazon Music, Tidal, Qobuz, and Deezer links into fully tagged local library in FLAC, ALAC, Dolby Atmos, AAC, or MP3.项目地址: https://gitcode.com/gh_mirrors/an/Antra创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考