Skip to content
ZennmnPublic

About

本地中日英歌词打轴、人声分离与 AMLL TTML 导出

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

Timing

Timing 是一个本地歌词对齐工具。提供歌曲和歌词后,它会生成人声时间轴,导出适用于 AMLL 的 TTML。支持普通话、日语、英语及混唱。

生成的时间轴是初稿,需要试听和校对。项目提供本机网页和命令行,不含播放器或时间轴编辑器。

安装与启动

目前支持 Windows 和 NVIDIA CUDA 显卡,已在 Windows 11、RTX 5070 Ti 16 GB 上验证。请提前安装 NVIDIA 驱动;其他显卡的最低显存要求尚未确定。

  1. 将源码解压到有写入权限的文件夹,双击 安装.cmd。
  2. 按提示准备 PowerShell 7、uv、FFmpeg 和 Git。安装程序会配置 Python 环境,并下载模型和日语词典,首次安装需要联网和足够的磁盘空间。
  3. 安装完成后双击 启动.cmd,访问 http://127.0.0.1:7861。双击 停止.cmd 可关闭服务。

安装失败或需要手动配置时,参见安装说明。

使用

  1. 选择歌曲,粘贴歌词或导入 UTF-8 的 TXT、LRC、JSON、TTML。普通文本每行一句;TTML 会转换成可编辑的逐句歌词。
  2. 选择语言、音频处理和对齐方式。默认提取主唱,也可以保留全部人声或直接使用所选音轨。导入的音轨须与原曲同起点、同时长。
  3. 点击“加入队列”。可以继续添加其他歌曲,任务会依次处理;尚未开始的任务可以取消。
  4. 完成后下载 TTML 和 JSON 报告,试听并修正时间轴。

本地默认路线使用 TIFA 对齐;没有逐句时间的歌词会先由 MMS 定位。已有可靠的逐句时间时,可以勾选“信任逐句时间轴,跳过 MMS 粗定位”。背景歌词需要明确起止时间;对唱、伴唱和重叠歌词的格式见使用说明。

也可以选择 LLM 辅助读音和拆分:文本模式发送歌词文字,整曲识别模式发送完整音轨和歌词;网页导入模式则由你将提示词和音频交给网页模型,再导回结果。这些模式需要带逐句时间的歌词,具体配置和数据内容见使用说明。

命令行示例:

.\.venv\Scripts\python.exe -X utf8 -m timing "song.flac" --lyrics "song.lrc" --output "song.ttml"

本地路线默认按日语、英语和日英混唱处理;普通话或中英混唱分别添加 --language zh 或 --language zh-en。

结果与限制

  • 网页任务保存在 data/<任务编号>/,命令行中间文件保存在输出旁的 <文件名>.timing/。
  • 对齐时间由模型预测,持续音、混唱、特殊读音和人声分离不理想的部分尤其需要检查。中文按普通话处理,不支持粤语读音。
  • 使用逐句时间的歌词时,无法对齐的部分可能保留为待补轴占位;没有时间的歌词如果无法定位,任务会报错。
  • 本地对齐在模型和词典下载完成后不需要联网;使用 LLM 接口或网页模型时,数据会发送给相应服务。

更多内容:使用说明 · 模型清单 · 架构说明

许可

Timing 源码采用 MIT 许可。模型、词典和其他第三方资源适用各自的许可,详见第三方来源与许可。

About

本地中日英歌词打轴、人声分离与 AMLL TTML 导出

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages