You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python Mutagen库嵌入M4A同步歌词:格式规范咨询

在m4a文件中嵌入同步歌词的格式规范与Mutagen实现

格式规范

m4a(AAC)文件的同步歌词采用iTunes兼容的LRC格式,具体要求如下:

  • 时间戳格式为[mm:ss.xxx],其中xxx代表三位毫秒数,例如[00:01.234]第一句歌词
  • 支持单句歌词对应多个时间戳(用于重复出现的内容),格式为[00:01.000][00:05.000]重复歌词
  • 纯文本歌词(非同步)直接使用多行文本即可,无需时间戳

Mutagen实现代码

使用Mutagen的MP4类可以直接写入同步歌词,示例代码如下:

from mutagen.mp4 import MP4

# 目标m4a文件路径
audio_file = "your_song.m4a"

# 定义同步歌词内容
synced_lyrics = """[00:00.000]测试歌曲
[00:02.100]第一句测试歌词
[00:05.400]第二句测试歌词
[00:08.700]第三句测试歌词
"""

# 打开文件并写入歌词
with MP4(audio_file) as audio:
    # 直接赋值给lyrics字段
    audio["lyrics"] = synced_lyrics
    # 保存修改
    audio.save()

疑难处理

如果直接写入lyrics字段不生效,可以尝试使用Apple iTunes的自定义标签字段:

with MP4(audio_file) as audio:
    # 自定义标签需要传入字节数组列表
    audio["----:com.apple.iTunes:LYRICS"] = [synced_lyrics.encode("utf-8")]
    audio.save()

注意事项

  • 时间戳的毫秒部分必须是三位数字,否则部分播放器无法解析同步效果
  • 同步歌词的兼容性依赖播放器对iTunes歌词规范的支持,部分小众播放器可能仅识别纯文本歌词
  • 写入前建议备份原文件,避免元数据损坏

内容的提问来源于stack exchange,提问作者ToboBaldo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 09:33:19