Flamingo 中文文档 下载 App

Flamingo 的 TTML 逐字歌词:span 标签逐字计时

TTML 的逐字能力由 <p> 内的 <span> 子元素实现——这是它比 LRC 逐字写法更结构化的地方。

逐字计时的写法

<p begin="12.000" end="14.000">
  <span begin="12.000" end="12.500">你</span>
  <span begin="12.500" end="13.000">好</span>
</p>

与翻译行叠加

翻译由 itunes key 机制挂在同一行上(而不是 LRC 那样重复时间戳),逐字与翻译互不干扰:

<p begin="12.000" end="14.000" itunes:key="L1">
  <span begin="12.000" end="12.500">你</span>
  <span begin="12.500" end="13.000">好</span>
</p>
<translations>
  <translation type="subtitle" xml:lang="zh-CN">
    <text for="L1">你好</text>
  </translation>
</translations>

完整规则见TTML 翻译与音译。

对唱标记

多歌手对唱用 ttm:agent 属性标记:

<p begin="12.000" end="14.000" ttm:agent="v2">这一句二号歌手唱</p>

不同 agent 的行在歌词页会有区分排版,效果见歌词显示效果。

从 LRC 迁移的注意点

官方歌词格式文档在 GitHub 仓库的 docs 目录里,遇到本文未覆盖的边角案例可以查阅原文,以官方最新版为准。