这个项目能做什么

Rhubarb Lip Sync 是一款命令行工具,可分析音频录音并自动生成 2D 口型动画数据。它可在 Windows、macOS 和 Linux 上运行,并能处理 WAV 和 Ogg Vorbis 音频文件。 **工作原理** 该工具使用语音识别来确定录音中每个时间点所说内容,然后将声音映射到相应的嘴型。提供两种识别器:PocketSphinx(默认,用于英语语音)和一种与语言无关的音素识别器(用于非英语录音)。用户还可以提供对话文本文件以提高识别准确率,尤其是当录制表演偏离脚本时。 **嘴型** Rhubarb Lip Sync 使用 6 到 9 个嘴部位置。6 个基本形状(A 到 F)遵循 Hanna-Barbera 标准,涵盖常见辅音和元音。三个扩展形状(G、H、X)是可选的,分别涵盖上齿下唇、舌抬起的“L”音,以及空闲/静止位置。 **输出格式** 该工具可以将动画数据导出为 TSV(制表符分隔的时间戳和形状名称)、XML 或 JSON。对于 Moho 和 OpenToonz 集成,它可以生成 .dat 切换数据文件。输出指定录音期间每个时间点应显示哪个嘴型。 **集成** - Adobe After Effects:直接在合成工作流中为对话制作动画 - Moho 和 OpenToonz:生成 .dat 切换数据文件,并支持 Preston Blair 命名约定 - Esoteric Software 的 Spine:一个用于导入项目、运行口型同步并重新导入结果的图形工具 - Magix 的 Vegas Pro:两个用于直接视频编辑集成的插件脚本 **命令行用法** 基本调用如下: ``` rhubarb -o output.txt my-recording.wav ``` 关键选项包括 `--recognizer`,用于在 pocketSphinx 和 phonetic 模式之间选择;`--exportFormat`,用于指定输出格式;`--dialogFile`,用于提供参考文本;`--extendedShapes`,用于控制使用哪些可选嘴型;以及 `--quiet` / `--machineReadable`,用于脚本和自动化。该工具支持多线程,并可发出结构化 JSON 状态消息,以便与其他应用程序集成。 **从源代码构建** 需要 CMake 3.10+、支持 C++17 的编译器以及 Boost。该项目包含 CI 配置和常见平台的构建说明。