-
Notifications
You must be signed in to change notification settings - Fork 38
上传歌词
一份歌词的提交根据其内容的不同可分为 歌词提交、歌词补充、歌词更正。在提交时这三种提交类型需要放在标题开头。
Caution
如果标题中填写的提交类型有误,可能会被打回甚至不允许通过。
进行歌词提交前,需要注意这份歌词是不存在于 db 中的!因此在提交前请访问 AMLL TTML 歌词站的搜索界面,输入您要提交歌词的歌曲名称并点击 搜索 按钮,如无任何结果,则该歌曲暂无 TTML 歌词,欢迎您的提交。
进行歌词补充时,不可以更改原歌词中的任何内容,只允许进行增加,例如添加原歌词文件中遗漏的行、补充完善元数据、添加其它语言的翻译/音译。并且需要在「备注」中列出原本的 Pr 编号,罗列补充的内容,同时在文件中保留原作者的 Github 用户名和 ID。
歌词更正主要为对内容本身的修正,即更改原歌词中的错误内容,例如修正歌词行的文本、删除原歌词文件中不应该存在的行等。并且需要在「备注」中列出原本的 Pr 编号,修改的差异内容,同时在文件中保留原作者的 Github 用户名和 ID。
对于仅调节时间戳的更正提交,考虑到使用者的音源无法做到完全相同,原则上不建议提交歌词更正,除非原歌词时间戳的错误已经严重到导致歌词无法正常阅读的程度,包括但不限于:
- 时间戳导致的跨多行异常重叠(某一歌词行的时间戳跨越了多行歌词,导致这些歌词行在显示时完全重叠在一起)
- 某一时间戳导致的特定歌词完全无法显示(某个歌词被直接跳过,呈现了下下行的歌词)
对于不属于上述情况的更正,审核有可能会据此驳回歌词更正提交,还请理解。
Note
通常来说,时间戳的错误应该在提交新歌词的期间就应该被查出并予以打回,如果确实存在对时间戳需要的修复,那有可能是审核员自己的疏忽了。
考虑到审核流程和人员精力有限,歌词的任意补充/更正周期将会有7日冷却时间,即在提交了新歌词/歌词补充/歌词更正后7日内将不允许再次提交同一曲目的歌词补充/更正。
除非当前歌词存在会导致歌词客观完全不可被正常使用之情况,包括但不限于:
- TTML语法错误导致无法被正常解析
- 因完全缺失元数据导致歌词在库中不可被正常生成对应的平台歌词文件
- 歌词内容存在因存在不可抗力因素导致的必须修改的情况
而在此期间仍然提交歌词的,则会被标注“推迟审核“标识,并延迟到之前歌词的提交/补充/更正周期结束后才会进入审核流程,且后续的对同一歌词的提交同样需要遵循冷却时间规则。
Note
如果同时进行了歌词补充和歌词更正,那么请写上「歌词补正」。
Important
请尽量使用 TTML TOOL 添加元数据,除非你已经阅读并充分理解了 TTML 文件的具体格式规范。
即便是自定义 key 也请尽量遵守以下标准:
-
一个键可对应多个不同的值,但不得重复;
关于一个键对应多个值
-
歌手/专辑/歌曲有多个名称(包括译名、别名)

-
平台/官方给歌曲/专辑的标注

-
一个组合中的所有成员及其别称或同一工作多人共同完成


-
非专辑作者的共同演唱者(例如 feat/vs)


-
一首歌对应的纯音乐版(非强制要求)

也可以选择单独给纯音乐版本发一份 TTML,依然非强制要求
-
一首歌同一平台上的多个 ID 或 ISRC
注:如果每个平台分开打轴,则只需要包括对应平台的 ID,简单来说——你的这份 TTML 文件对应了该平台的哪些版本,则填写这些版本单曲的平台 ID。

-
同一份歌词的多名参与制作者
需同时添加
ttmlAuthorGithub与ttmlAuthorGithubLogin
-
-
元数据应尽量做到准确、全面;
-
元数据的值应当只有对应平台的 ID 或对应个人/组合的名称,请勿在值中填写类型相关内容,如果为不同类型元数据则请添加一个新的键值。
| ✅ | ![]() |
| ❌ | ![]() |
以下为节选自一份带有自定义元数据歌词在 TTML TOOL 中显示的样例:

Warning
这部分不建议对于 TTML 文件格式不了解的人浏览,如果你只是一位打轴新手,或者并不关心文件代码中元数据的格式,查看上一章就足够填写标准了。
Caution
在 TTML 文件中,文件内容以保留空格的 xml 标准进行压缩,文档中所给出的样例大部分为格式化之后的结果,并且可能带有注释,请在阅读时谨记。
一个元数据在 TTML 文件按照以下格式存储:
<amll:meta key="artists" value="GARNiDELiA"/>其中,有一些元数据的 key 是已经预设好的:
-
musicName- 歌曲名称 -
artists- 歌曲的艺术家 -
album- 歌曲的专辑名 -
songwriter- 歌曲的创作者(一般只填写词曲作者) -
ncmMusicId- 网易云音乐 ID -
qqMusicId- QQ 音乐 ID -
spotifyId- Spotify 音乐 ID -
appleMusicId- Apple Music 音乐 ID -
isrc- 歌曲的 ISRC 号码 -
ttmlAuthorGithub- 逐字作者 GitHub ID -
ttmlAuthorGithubLogin- 逐字歌词作者 GitHub 用户名
由于预设键将用于投稿时的解析以及审核,所以请严格按照预设填写 key 字段,对于非预设 key 则并没有额外要求。
即便是自定义 key 也请尽量遵守以下标准:
-
一个键可对应多个不同的值,但不得重复;
关于一个键对应多个值
-
歌手/专辑/歌曲有多个名称(包括译名)
<amll:meta key="artists" value="滨崎步" /> <amll:meta key="artists" value="はまさき あゆみ" /> <amll:meta key="artists" value="浜崎あゆみ" /> <amll:meta key="artists" value="浜﨑あゆみ" /> <amll:meta key="artists" value="浜崎くるみ" /> <amll:meta key="artists" value="Ayumi Hamasaki" /> <amll:meta key="artists" value="AYUMI" /> <amll:meta key="artists" value="CREA" />
-
平台/官方给歌曲/专辑的标注
<amll:meta key="musicName" value="極楽浄土" /> <amll:meta key="musicName" value="极乐净土" /> <amll:meta key="musicName" value="Gokuraku Joudo" /> <amll:meta key="musicName" value="游戏《阴阳师》宣传曲" /> <amll:meta key="musicName" value="NetEaseアプリゲーム「陰陽師」キャンペーン用テーマソング" />
-
一个组合中的所有成员及其别称或同一工作多人共同完成
<amll:meta key="artists" value="NIJISANJI EN" /> <amll:meta key="artists" value="Ren Zotto" /> <amll:meta key="artists" value="レン ゾット" /> <amll:meta key="artists" value="れん ぞっと" /> <amll:meta key="artists" value="Doppio Dropscythe" /> <amll:meta key="artists" value="ドッピオ ドロップサイト" /> <amll:meta key="artists" value="どっぴお どろっぷさいと" /> <amll:meta key="artists" value="豆皮" />
<amll:meta key="Violin" value="日俣綾子" /> <amll:meta key="Violin" value="土屋玲子" />
-
非专辑作者的共同演唱者(例如 feat/vs)
<!-- Just Be Friends (feat. 小豆沢こはね) - Vivid BAD SQUAD --> <amll:meta key="artists" value="Vivid BAD SQUAD" /> <amll:meta key="artists" value="炫狂小队" /> <amll:meta key="artists" value="小豆沢心羽" /> <amll:meta key="artists" value="小豆沢こはね" /> <amll:meta key="artists" value="Azusawa Kohane" />
<!-- Poppin'Trip -GARNiDELiA vs HEAVYGRINDER- - GARNiDELiA --> <amll:meta key="artists" value="GARNiDELiA" /> <amll:meta key="artists" value="ガルニデリア" /> <amll:meta key="artists" value="加尼德里亚" /> <amll:meta key="artists" value="メイリア" /> <amll:meta key="artists" value="MARiA" /> <amll:meta key="artists" value="水桥舞" /> <amll:meta key="artists" value="美依礼芽" /> <amll:meta key="artists" value="とくP" /> <amll:meta key="artists" value="阿部尚徳" /> <amll:meta key="artists" value="TOKU" /> <amll:meta key="artists" value="toku" /> <amll:meta key="artists" value="HEAVYGRINDER" />
-
一首歌对应的纯音乐版(非强制要求)
<amll:meta key="musicName" value="Error" /> <amll:meta key="musicName" value="TV动画《BEATLESS》片头曲" /> <amll:meta key="musicName" value="Error instrumental" /> <amll:meta key="musicName" value="Error (Instrumental)" /> <amll:meta key="musicName" value="Error (Inst.)" />
也可以选择单独给纯音乐版本发一份 TTML,依然非强制要求
-
一首歌同一平台上的多个 ID 或 ISRC 注:如果每个平台分开打轴,则只需要包括对应平台的 ID,简单来说——你的这份 TTML 文件对应了该平台的哪些版本的单曲,则填写这些单曲的平台 ID。
<amll:meta key="ncmMusicId" value="2666660478" /> <amll:meta key="qqMusicId" value="557082683" /> <amll:meta key="spotifyId" value="5WGoYp5w3ZRnlD8XGctrJq" /> <amll:meta key="spotifyId" value="0Ggb40fWT3QQrPozImxM1P" /> <amll:meta key="spotifyId" value="1StslCM3f5t1arKcjWjnZ3" /> <amll:meta key="spotifyId" value="41dRorJGXRTHjFnTGApQeV" /> <amll:meta key="appleMusicId" value="1791675586" /> <amll:meta key="appleMusicId" value="1791844169" /> <amll:meta key="appleMusicId" value="1791845725" /> <amll:meta key="appleMusicId" value="1791844189" /> <amll:meta key="isrc" value="FR10S2554585" /> <amll:meta key="isrc" value="FR10S2564135" /> <amll:meta key="isrc" value="FR10S2564142" /> <amll:meta key="isrc" value="FR10S2564161" />
-
同一份歌词的多名参与制作者
需同时添加
ttmlAuthorGithub与ttmlAuthorGithubLogin<amll:meta key="ttmlAuthorGithub" value="68000793" /> <amll:meta key="ttmlAuthorGithubLogin" value="ranhengzhang" /> <amll:meta key="ttmlAuthorGithub" value="50987405" /> <amll:meta key="ttmlAuthorGithubLogin" value="ITManCHINA" />
-
-
元数据应尽量做到准确、全面;
-
元数据的值应当只有对应平台的 ID 或对应个人/组合的名称,请勿在值中填写类型相关内容,如果为不同类型元数据则请添加一个新的键值。
| ✅ | <amll:meta key="biliId" value="BV1QL4y1L7CP"/> |
| ✅ | <amll:meta key="演唱" value="メイリア"/> |
| ❌ | <amll:meta key="vocal" value="演唱:メイリア"/> |
-
不得出现违反法律法规的内容;
-
不得包含歌词内容以外的信息,例如作词、作曲等信息应当放在元数据部分;
Warning
如表演者为团体,且需要注明每一句的具体演唱者时,可在翻译行的开头注明该句的演唱者;
-
不得包含 Emoji 或颜文字等无关内容;
- 版权方提供的原始歌词文本中包含这些内容时除外;
-
内容真实、准确;
Warning
出自游戏、电影等其他作品中的专有名词须进行校对以保证准确性;
- 请遵循惯用的英文语法规则。专有名词必须首字母大写。此外,每行歌词中第一个单词必须首字母大写。
Tip
有可信来源证明其原作者使用非规范形式大/小写文本的除外。
-
其他需要首字母大写的情况:
-
与神和宗教相关的单词(宗教歌曲中的 God、You、Him、Your 等);
-
缩略词大小写请遵循使用习惯(NASA、FBI 等);
-
地理位置(East Coast、Southside 等);
-
作品名称;
-
括号中第一个单词的首字母;
-
品牌名称。
-
-
尽可能在正文中使用方括号(「」『』)作为其他语言中的引号和单引号的代替;
-
不要把汉字对应的假名在文本中用括号列出来(包括義訓):
| ✅ | あの時こう…… |
| ✅ | あのときこう…… |
| ❌ | あの時(とき)こう…… |
歌词文件、翻译、音译尽量标明语言代码,语言代码应当遵循 IETF 的 BCP-47 标准,目前常用语言类型有以下几种:
-
zh-Hans- 简体中文 -
zh-Hant- 繁体中文 (粤语同样使用) -
zh-Latn-pinyin- 中文拼音 (不分繁简) -
zh-Latn-jyutping- 粤语注音 -
en- 英文 -
ja- 日语 -
ja-Latn- 日语罗马音 -
ko- 韩语 -
ko-Latn- 韩语罗马音
更多关于语言代码的内容请查看格式规范文档第 7 节。
当需要添加多种不同语言的翻译时,需要注意不同语言的翻译(专有名词等不翻译的内容除外)不能放在相同语言标签的一组翻译中。同时,制作翻译时请注意避免因为语言代码错误而覆盖已有翻译的情况。
Warning
-
涉及政治敏感、有违人道主义的曲目不得提供歌词翻译;
- ❌ 如果为上述情况的国语歌曲则不予提交歌词。
-
对于有可能 NSFW 的翻译,可以忠于原文,但请尽量注意尺度,否则可能因尺度过大不予通过;
-
为避免可能的版权纠纷,使用 B站等视频平台中作品包含的原创翻译内容时,请标注来源;
-
不得出现违反法律法规及公序良俗的内容;
-
对于非国语歌词,请尽可能提供真实、准确的翻译和音译;
-
原则上禁止在翻译中插入 Emoji 或颜文字等无关内容,除非翻译作品的版权方也是这么做的;
-
原则上不建议在翻译行末尾保留逗号或句号;
-
对于注音部分则不应当出现全角标点符号;
-
注音的内容并没有统一标准,但是一份歌词中使用相同语言代码的一组音译应当符合同一份标准。
例如:一份日语歌词中的注音可以是遵循黑本式/训令式/护照式的,并且标记
xml:lang="ja-Latn",但是在同一份歌词中不能同时将这几种标准的音译都放在xml:lang="ja-Latn"标记的音译中,如果需要上传多种标准的音译,则需要使用不同语言代码进行区分:ja-Latn-hepburnja-Latn-kunreija-Latn-passport,如果 BCP-47 标准中没有则可以使用x-前缀私有扩展:ja-Latn-x-hepburnja-Latn-x-kunreija-Latn-x-passport。 -
并不强制要求使用空格严格分隔,但是不管是否使用空格分隔,注音都需要符合以下标准:内容准确和无歧义。以日语为例:
-
音译应当尽量使用空格分隔每个字的音译,尽量分隔每个假名的音译:
思う/o mo u
-
日语中的「ん」的音译 "n/m" 之前可以不用空格分隔;
-
对于日语的音译如果以汉字/单词为单位分隔,并且「ん」后紧跟 a 行,则请在「ん」的注音之后添加一个半角单引号避免歧义:
会議で彼の真意を理解した/kaigi de kare no shin'i o rikai shita
-
Caution
逐字翻译是简体中文和繁体中文在显示时进行互换的一种方式,目前除了 AM 之外鲜少有软件实现这种功能,在 AMLL Player 中也只会显示为逐行翻译。
-
音译中的每个注音之间应当尽量使用空格进行分割:
圆 是 美 满
jyun4· si6· mei5· mun5
-
标点的音译要么使用对应的半角符号,要么不填写:
「 未 来 」 「 希 望 」
“ ne·ga· i ” “ ne·ga· i ”
-
日语中音译连续但是被分开为多个音节(「ん」和促音)时,之间不需要使用空格分隔:
心 の 準 備 な ん て 言 っ て る 暇 は ない
ko·ko·ro· no· jum· bi· na n· te· i· t te· ru· hi·ma· wa· na·i
Caution
以下小节中的 TTML 代码来源于规范压缩格式,仅进行了换行处理。所有行首空格均为原始内容的一部分,不代表语法缩进。
-
音译中的每个注音之间应当尽量使用纯文本节点形式的空格进行分隔:
圓是美滿/jyun4 si6 mei5 mun5
<p begin="16.220" end="21.620" itunes:key="L1" ttm:agent="v1"> <span begin="16.220" end="16.440">圓</span> <span begin="16.440" end="16.780">是</span> <span begin="16.780" end="17.150">美</span> <span begin="17.150" end="17.710">滿</span> </p>
<text for="L1"> <span begin="16.220" end="16.440" xmlns="http://www.w3.org/ns/ttml">jyun4</span> <span begin="16.440" end="16.780" xmlns="http://www.w3.org/ns/ttml">si6</span> <span begin="16.780" end="17.150" xmlns="http://www.w3.org/ns/ttml">mei5</span> <span begin="17.150" end="17.710" xmlns="http://www.w3.org/ns/ttml">mun5</span> </text>
-
标点的音译要么使用对应的半角符号,要么不填写;
「未来」「希望」/==“==ne ga i==”“==ne ga i==”==
<p begin="3:52.868" end="3:56.138" itunes:key="L52" ttm:agent="v1"> <span begin="3:52.863" end="3:52.868">「</span> <span begin="3:52.868" end="3:53.298">未</span> <span begin="3:53.358" end="3:54.198">来</span> <span begin="3:54.198" end="3:54.203">」</span> <span begin="3:54.728" end="3:54.733">「</span> <span begin="3:54.728" end="3:55.148">希</span> <span begin="3:55.228" end="3:56.138">望</span> <span begin="3:56.138" end="3:56.143">」</span> </p>
<text for="L52"> <span begin="3:52.863" end="3:52.868" xmlns="http://www.w3.org/ns/ttml">“</span> <span begin="3:52.868" end="3:53.298" xmlns="http://www.w3.org/ns/ttml">ne</span> <span begin="3:53.358" end="3:54.198" xmlns="http://www.w3.org/ns/ttml">ga i</span> <span begin="3:54.198" end="3:54.203" xmlns="http://www.w3.org/ns/ttml">”</span> <span begin="3:54.728" end="3:54.733" xmlns="http://www.w3.org/ns/ttml">“</span> <span begin="3:54.728" end="3:55.148" xmlns="http://www.w3.org/ns/ttml">ne</span> <span begin="3:55.228" end="3:56.138" xmlns="http://www.w3.org/ns/ttml">ga i</span> <span begin="3:56.138" end="3:56.143" xmlns="http://www.w3.org/ns/ttml">”</span> </text>
-
日语中音译连续但是被分开为多个音节(「ん」和促音)时,不需要添加空格:
心の準備==なん==て言==って==る暇はない/ko ko ro no ==jum== bi nan te i ==tte== ru hi ma wa na i
<p begin="2:20.288" end="2:23.488" itunes:key="L27" ttm:agent="v1"> <span begin="2:20.288" end="2:20.678">心</span> <span begin="2:20.678" end="2:20.848">の</span> <span begin="2:20.848" end="2:21.078">準</span> <span begin="2:21.078" end="2:21.148">備</span> <span begin="2:21.148" end="2:21.308">な</span> <span begin="2:21.308" end="2:21.458">ん</span> <span begin="2:21.458" end="2:21.668">て</span> <span begin="2:21.668" end="2:21.818">言</span> <span begin="2:21.818" end="2:21.898">っ</span> <span begin="2:21.898" end="2:22.088">て</span> <span begin="2:22.088" end="2:22.228">る</span> <span begin="2:22.228" end="2:22.728">暇</span> <span begin="2:22.728" end="2:22.838">は</span> <span begin="2:22.838" end="2:23.488">ない</span> </p>
<text for="L27"> <span begin="2:20.288" end="2:20.678" xmlns="http://www.w3.org/ns/ttml">ko ko ro</span> <span begin="2:20.678" end="2:20.848" xmlns="http://www.w3.org/ns/ttml">no</span> <span begin="2:20.848" end="2:21.078" xmlns="http://www.w3.org/ns/ttml">jum</span> <span begin="2:21.078" end="2:21.148" xmlns="http://www.w3.org/ns/ttml">bi</span> <span begin="2:21.148" end="2:21.308" xmlns="http://www.w3.org/ns/ttml">na</span> <span begin="2:21.308" end="2:21.458" xmlns="http://www.w3.org/ns/ttml">n</span> <span begin="2:21.458" end="2:21.668" xmlns="http://www.w3.org/ns/ttml">te</span> <span begin="2:21.668" end="2:21.818" xmlns="http://www.w3.org/ns/ttml">i</span> <span begin="2:21.818" end="2:21.898" xmlns="http://www.w3.org/ns/ttml">t</span> <span begin="2:21.898" end="2:22.088" xmlns="http://www.w3.org/ns/ttml">te</span> <span begin="2:22.088" end="2:22.228" xmlns="http://www.w3.org/ns/ttml">ru</span> <span begin="2:22.228" end="2:22.728" xmlns="http://www.w3.org/ns/ttml">hi ma</span> <span begin="2:22.728" end="2:22.838" xmlns="http://www.w3.org/ns/ttml">wa</span> <span begin="2:22.838" end="2:23.488" xmlns="http://www.w3.org/ns/ttml">na i</span> </text>
Tip
可以在 AMLL Player 中查看行音译部分的内容,依此检查逐字音译的空格设置是否有误:

Warning
文本行的长度应符合通常的书面表达习惯:不应过度将一行文本拆得特别短,文本长度至少应完整保留到语义上的“逗号”(半句);如果长度允许,应整句保留。
但以下情况除外:
- 这一整句由不同的歌手轮流或交替演唱,你需要为每一位歌手创建单独的一行;
- 使用常见 PC 显示器(1080P)、缩放设置为 100% 、标准字体大小、最大化窗口(或全屏模式)下,这行歌词的长度仍然超过了排版系统的限制,导致出现了不合理的换行;
例如:
| 原文 | 拆分后的文本 | |
|---|---|---|
| 我要这山断不了来路 我要这水挡不住归途 我要天地都为我让步 | 我要这山断不了来路 我要这水挡不住归途 我要天地都为我让步 |
✅ |
| 剑出鞘 恩怨了 谁笑 | 剑出鞘 恩怨了 谁笑 |
❌ 完全不需要分行 |
| 期待されないまま 期待もしないまま |
期待されないまま 期待もしないまま |
✅ 但也可以不分行,依靠 amll 自动分行 |
-
尽可能按照单个文字或单个音节制作逐字/逐音节歌词;
-
在机器人处理后的文件中,不允许出现空格包含在音节内首尾的情况;
-
不允许包含空白行;
-
按照各语言的书写习惯合理选择使用半角或全角标点符号;
-
在不影响时间轴精确度的情况下,可以将标点符号作为单独的单词打轴;
-
不得过度使用截断。但以下常见情况除外:
| 原文 | 处理 | 原因 | 出处 |
|---|---|---|---|
| 句中存在长时间的停顿(≥1s) | |||
| どうしてこんな目に に に | どうしてこんな目に // に // に // | 演唱者跟随节拍停顿 | 《テトリス》 - 柊マグネタイト/重音テト |
| いつもの帰り道で ふと気が付いたんだ | いつもの帰り道で ふと // 気が付いたんだ | 位于演唱者的“气口” | 《Tomorrow's Door》 - Poppin'Party |
| 雨が降る予報の日に | 雨 // が // 降 // る // 予 // 報 // の // 日 // に | 演唱者中同时包含真人与虚拟歌手时,区分真人与虚拟歌手,且当前句子的演唱者为虚拟歌手 | 《イフ (feat. 花里みのり&桐谷遥&桃井愛莉&日野森雫&初音ミク)》 - MORE MORE JUMP! |
| 胸には涙 顔には笑顔で | 胸には涙 // 顔には // 笑顔で | 匹配念白 / 对白 / Talking 的语音节奏 | 《冬の花》 - 宮本浩次 |
-
合理使用对唱/背景视图:
-
背景人声的歌词应单独为一行,放在主唱人声歌词的下一行并标记为背景行;
- (非强制要求)不应因背景行而延长主行时间轴的持续时间。
-
如果不确定何时换行或分段,请参考以下划分依据: [来源 1][来源 2]
-
常用的组成部分:
-
Verse(主歌):歌曲的叙事部分,情绪和旋律相对平稳
-
Chorus(副歌):歌曲的核心与高潮,重复出现,旋律性强
-
PreChorus(预副歌):主歌与副歌间的桥梁,蓄积能量推向高潮
-
Bridge(桥段):提供新鲜感与转折,常出现在歌曲后半部
-
Intro(前奏):歌曲开始的器乐或人声引子
-
Outro(尾奏):歌曲结束部分,音乐逐渐收尾或淡出
-
Refrain(叠句):重复的短句,常附属于主歌段落
-
Hook(钩子):歌曲中最抓耳、令人记忆深刻的部分
-
FalseChorus(伪副歌):副歌的变体,情绪内敛,为最终高潮铺垫
-
-
歌曲节拍速度发生变化;
-
艺人对歌词的演绎方式发生变化(例如,从歌唱切换成说唱)。
-
-
-
一般不允许多行歌词的时间轴重叠,但在不影响歌词准确的情况下,下面这些情况是例外:
-
对唱中两位或多位艺人进行合唱或重唱;
-
上下文具有关联性,为了叙事或表达要求而特意设置的,例如完整的一句被拆分为了语法缺失的两句或上下两句互文、对仗;
-
由于混音或编曲使两行歌词的时间轴有重叠部分。
-
Warning
对于背景行,如果使用 TTML TOOL 进行歌词的制作,请不要在第一个音节的开头和最后一个音节的末尾添加括号,这是因为 TTML TOOL 会自行处理括号部分,如果再手动添加,则会导致歌词中出现多余括号。
例如以下背景行在 TTML TOOL 中显示为:
In 空格x1 your 空格x1 heart
那么导出时为:
<span ttm:role="x-bg" begin="02:23.620" end="02:25.690">
<span begin="02:23.620" end="02:24.100">(In</span>
<!-- 此处空格被格式化 -->
<span begin="02:24.100" end="02:24.380">your</span>
<!-- 此处空格被格式化 -->
<span begin="02:24.380" end="02:25.690">heart)</span>
</span>但如果在 TTML TOOL 中手动再添加一次括号:
(In 空格x1 your 空格x1 heart)
那么导出时就会变为:
<span ttm:role="x-bg" begin="02:23.620" end="02:25.690">
<span begin="02:23.620" end="02:24.100">((In</span>
<!-- 此处空格被格式化 -->
<span begin="02:24.100" end="02:24.380">your</span>
<!-- 此处空格被格式化 -->
<span begin="02:24.380" end="02:25.690">heart))</span>
</span>成为一种不合规的形式,将无法通过审核。
在 第四章 的基础上,我们对 按音节的单词拆分 做出如下额外规定(以英语为例):
- 拆分后的每个音节至少包含一个 元音音素;
- 元音音素:指发音时发出这些音节的,如 短元音 /ɪ/ /e/ 等、长元音 /iː/ /ɑː/ 等、双元音 /eɪ/ /ɔɪ/ 等。
- 若该音节为
爆破音,可单独拆分;- 爆破音:指发音时发出这些音节的,如 /p/ /b/ /t/ /d/ /k/ /g/。
- 拆分后的音节数原则上不多于 权威词典 中标注的数量。
- 权威词典:《牛津词典》(Oxford English Dictionary)、韦氏词典(Merriam-Webster's Collegiate Dictionary) 等。
在 PR 提交的文件(包括机器人处理后的文件)中:
-
音节与音节之间的空格独立成音节;
-
不得将空格包含在单词首尾;
-
不允许使用一个以上的空格来分隔单词。
| ❌ |
This \ is\ a \lyricThis··is··a··lyric |
| ❌ |
This \is \a \lyricThis·is·a·lyric |
| ❌ |
This\ is\ a\ lyricThis·is·a·lyric |
| ✅ |
This\ \is\ \a\ \lyricThis空格x1is空格x1a空格x1lyric |
| ✅ |
Thi\s i\s a\ \ly\ri\cThis·is·a空格x1lyric |
一般情况下,对于 CJK (中日韩)文字要求每个字单独成一个音节,即使相邻音节的持续时间差距很小,除非是连读的日语假名或朝鲜文字。
Caution
如果像 AM 一样合并持续时间差距较小的一组连续 CJK 文字,则可能错误引发长音辉光效果。
- 在以上要求的基础之上,要求将尽可能多地区的元数据添加到文件中;
- 当前,Apple 和 Spotify 分为下面这些分区,请按照这些分区逐一查找并添加元数据;
- 以下为 Apple Music 搜索页:
- 简中区(Spotify 无简中区):
- 繁中区(三选一即可):
- 韩语区:
- 日语区:
- 其它区(以美国为例,英语为绝大多数情况):
- Spotify 可以使用 Lyricify 4 的搜索工具进行换区搜索(可能需要更换对应语言的歌曲名)
- 以下为 Apple Music 搜索页:
Important
对于 HOYO-MiX,上述要求为强制性要求,除此之外,HOYO-MiX 的歌词还要求:
- 必须是逐字歌词(如果是英文则应当精细到音节);
- 必须适配艺人演唱时的各类效果;
- 歌词可能会在 语法、时间轴、翻译校对 等方面有更严苛的审核标准。
关于如何获取这些数据详细请看 amll-ttml-tool 的 wiki。
-
请善用结束时间来让歌词播放器自动生成间奏区域,不要为了演出效果强制改变为错误的时间轴,例如为了不触发间奏强行延后上一句结束时间和提早下一句开始时间或为了触发间奏强行提前上一行结束时间和延后下一句开始时间;
-
歌曲作者等信息请使用 AMLL TTML Tool 的元数据功能添加(包括但不限于预设的字段)。
Content before commit 8b56afe was under CC0 1.0 in the main repository.
All referenced or quoted external content belongs to their original copyright holders and is used for reference/educational purposes only under fair use principles. We claim no ownership over such materials.

