用一首歌和它的歌词,做出逐字扫光的日语卡拉OK视频。
本软件受 StrangeUtaGame 启发。MiliKara 是自动对齐工具,不是卡拉OK手动打轴软件;如果需要手动打轴,请使用 StrangeUtaGame 原软件。
名称说明:本项目原名 KiraKara,因与 KiraKara player 及其相关项目重名,从 v1.1.0 起改名为 MiliKara(两者之间没有关系)。旧版本的项目和设置在新版本里可以直接使用。
放入视频(或音频 + 背景图),粘贴网易云 / QQ 音乐的歌曲链接或 LRC 歌词,MiliKara 会自动给汉字注音、分离人声、把每一个假名(拍)对齐到演唱的时间上,然后把带注音、翻译和歌曲信息的卡拉OK字幕直接烧录进视频。全部在本机运行。
极简模式:放入视频,粘贴歌曲链接,选好字幕配色,点“开始制作”
详细模式(人工检查):每一行、每一个假名的时间都可以试听、拖动修改和局部重跑
- 按拍对齐:每个假名(拍)都有自己的开始和结束时间,扫光跟着演唱一个字一个字走;长音「ー」、促音「っ」、逐个念出的字母(R O M A…)都按实际唱法处理。
- 利用歌词里的时间:LRC 的每行时间作为软锚点,长前奏、间奏、重复的副歌也不会对错行;视频和歌词差了多少,添加任务时标一下第一句(或交给自动检测)即可。
- 注音:规则读音 + 可选的 AI 注音(复制提示词到任意 AI 聊天网页,或一键交给 Claude Code / Codex / OpenAI 兼容 API),回复都经过校验再采用。
- 人声分离:MelBand / BS-RoFormer 分出人声后对齐更准,也能生成降低人声的伴唱视频。
- 好看的字幕:配色模版(主色 + 辅色自动搭配)、荧光边缘、逐字特效、平假名 / 片假名 / 罗马音注音、翻译、开头和结尾的歌曲信息卡;预览和烧录使用同一个渲染器(libass),所见即所得。
- 多人演唱分色:给每位歌手一个颜色,按整行或逐词指定;几个人一起唱的部分每个字分成几种颜色(上下 / 左右,分色或渐变)。歌词里写着“A:”之类的演唱者时可以自动识别。
- 两种用法:极简模式一键出片,可以排队连续做多首;详细模式逐步检查和微调每一个字的时间。
- 可以脚本调用:所有功能都有本地 HTTP API,例如把别处下载的音频和背景图直接提交成任务。
Windows 离线版:在 Releases 里下载 MiliKara-…-windows-x64-cpu.7z(CPU 版)或 …-cuda.7z(NVIDIA 显卡版,需要 570 或更新的驱动;超过 2 GB 时分成 .7z.001、.7z.002… 几个分卷,需要全部下载),用 7-Zip 解压,双击 MiliKara.bat。自带 Python、依赖、ffmpeg 和两个默认模型,不需要联网。
macOS 离线版(Apple 芯片,macOS 14.8.5 或更新):下载 MiliKara-…-macos-arm64.zip,解压后第一次在访达里右键点 MiliKara.command →“打开”,以后双击即可。
更新离线版:关闭 MiliKara 后双击文件夹里的 更新.bat(macOS:更新.command),只下载有变化的部分(通常约 1 MB),模型、依赖和项目都不用重新下载,出问题可以退回上一版。v1.1.0 之前的旧版(KiraKara)没有这个文件:在 Releases 里下载 MiliKara-updater-windows.bat(macOS:MiliKara-updater-macos.zip,解压)放进原来的文件夹,双击即可。访问 GitHub 慢时,也可以把程序更新包 MiliKara-版本-app.zip 放进文件夹,更新程序会直接用它。
离线版都由 GitHub Actions 构建(.github/workflows/windows-package.yml、macos-package.yml;打包脚本在 packaging/)。
从源码安装:需要 Python 3.11+、uv,以及带 libass 的 ffmpeg(macOS:brew install ffmpeg-full)。目前主要在 macOS(Apple 芯片)上使用和测试;Linux / Windows 上可以用 CPU 或 NVIDIA 显卡运行。
git clone <仓库地址> MiliKara && cd MiliKara
uv venv --python 3.12 .venv
uv pip install -e ".[ml,separation]" # 对齐模型(torch + transformers)和人声分离模型在第一次使用时下载到项目目录的 models/ 里(对齐模型约 1.2 GB,默认的分离模型约 1 GB),之后可以离线使用。环境变量 KARA_ALIGN_MODELS 可以把它指到别处。
可选:python packaging/fetch_fonts.py 下载内置的中日文字体 Noto Sans CJK(约 40 MB,SIL OFL)到 fonts/。Windows / Linux 上它是默认字体,歌词、翻译或歌曲信息里有当前字体没有的字时也会用它;离线包里已经自带。
.venv/bin/milikara serve # 然后打开 http://127.0.0.1:8765默认打开极简模式:
- 放入视频(或切换到“音频 + 背景”,放入音频和一张背景图 / 一段循环播放的背景视频)。
- 粘贴歌词:网易云 / QQ 音乐的歌曲链接(会自动取歌词和翻译),或直接粘贴 LRC / 纯文本歌词。
- 选好字幕配色,点 开始制作。
- 几秒后会弹出波形,标出第一句开始唱的位置(设置里也可以改成自动检测);AI 注音选的是“手动(网页聊天)”时,接着把提示词发给 AI 并粘贴回复。
- 其余步骤自动完成,任务完成后点 下载视频。点开任务可以进入详细模式继续调整。
任务列表:上面的任务在等你确认第一句的位置,下面的已经完成,可以下载视频
- MiliKara 本身的代码以 MIT 协议 发布。它使用的第三方依赖、模型和工具(如 PyTorch、transformers、python-audio-separator、ffmpeg 等)各自遵循它们自己的许可。
- 默认的对齐模型
NextFire/mms-300m-ForcedAligner-karaoke-ja-Latn的许可是 CC-BY-NC-SA-4.0(非商用);人声分离使用 python-audio-separator 和它的模型,许可以上游为准。 - 音频、视频和项目文件只保存在本机。只有这些情况会联网:第一次下载模型、从音乐链接获取歌词、AI 注音(歌词会发给你选择的 AI 服务),以及检查新版本(只读取 GitHub 上最新版本的版本号,可以在设置里关闭)。
- 请只处理你有权使用的音视频和歌词。
