Mutagen 无法识别 MP4 iTunes 语音备忘录标签

Mutagen does not recognize MP4 iTunes voice memo tags

问题

我在 iPhone 上录制了一些语音备忘录。 我为不同的事件添加了标题。 同步后,它们会出现在单独的相册中。 在 iTunes 中,它们与标题一起列出,但 MP4 文件按以下格式命名:yyyymmdd hhmmss.m4a(AAC 编码)。

为了移动文件,我想使用 mutagen.

稍微 python-script 重命名这些文件
import mutagen.mp4 as m
f = m.MP4("file.m4a")
print(f.tags)
print(f.MP4Tags())
# f['\xa9nam'] = "test" # works
print(f['\xa9nam']) # only works if edited by previous line or in iTunes

但是,mutagen 无法正确识别标签,只有在编辑标签后(在 iTunes 中)才能正确识别标签。 f.tags 的输出如下所示:

{'----:com.apple.iTunes:iTunSMPB': [MP4FreeForm(b' 00000000 00000840 000003E0 0000000007823BE0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000', <AtomDataType.UTF8: 1>)], '©too': ['com.apple.VoiceMemos (iOS 10.2)']}

f.MP4Tags() 产生 {}。 编辑标题后它确实出现在 f.tags:

{'©nam': ['test'], '----:com.apple.iTunes:iTunSMPB': [MP4FreeForm(b' 00000000 00000840 000003E0 0000000007823BE0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000', <AtomDataType.UTF8: 1>)], '©too': ['com.apple.VoiceMemos (iOS 10.2)']}

问题

How to read original *.m4a - iPhone voice memo tags ?

如前所述here 标题未存储在文件标签内,而仅存储在 iTunes 资料库文件中。

可以set iTunes to create an *.xml以可读的方式包含此信息。

A similar question on apple-support was answered with a link 到重命名语音备忘录的基本脚本;正是从那里阅读。