Sobre o projeto

Rhubarb Lip Sync é uma ferramenta de linha de comando que analisa gravações de áudio e gera automaticamente dados de animação bucal 2D. Funciona no Windows, macOS e Linux, e pode processar arquivos de áudio WAV e Ogg Vorbis. **Como funciona** A ferramenta usa reconhecimento de fala para determinar o que está sendo dito em cada ponto da gravação e, em seguida, mapeia os sons para formas bucais apropriadas. Dois reconhecedores estão disponíveis: PocketSphinx (padrão, para fala em inglês) e um reconhecedor fonético independente de idioma (para gravações em outros idiomas). Os usuários também podem fornecer um arquivo de texto de diálogo para melhorar a precisão do reconhecimento, especialmente quando a performance gravada se desvia do roteiro. **Formas bucais** Rhubarb Lip Sync usa entre 6 e 9 posições bucais. As 6 formas básicas (A a F) seguem o padrão Hanna-Barbera, cobrindo consoantes e vogais comuns. Três formas estendidas (G, H, X) são opcionais e cobrem, respectivamente, dentes superiores-lábio inferior, sons de 'L' com língua elevada e a posição de repouso/inativa. **Formatos de saída** A ferramenta pode exportar dados de animação como TSV (carimbos de data/hora e nomes de formas separados por tabulação), XML ou JSON. Para integração com Moho e OpenToonz, ela pode gerar arquivos de dados de comutação .dat. A saída especifica qual forma bucal exibir em cada ponto no tempo durante a gravação. **Integrações** - Adobe After Effects: animar diálogo diretamente dentro do fluxo de trabalho de composição - Moho e OpenToonz: produzir arquivos de dados de comutação .dat, com suporte para convenções de nomenclatura Preston Blair - Spine da Esoteric Software: uma ferramenta gráfica para importar projetos, executar lip sync e reimportar resultados - Vegas Pro da Magix: dois scripts de plugin para integração direta com edição de vídeo **Uso na linha de comando** Uma invocação básica se parece com: ``` rhubarb -o output.txt my-recording.wav ``` As principais opções incluem `--recognizer` para escolher entre os modos pocketSphinx e fonético, `--exportFormat` para o formato de saída, `--dialogFile` para fornecer texto de referência, `--extendedShapes` para controlar quais formas bucais opcionais são usadas, e `--quiet` / `--machineReadable` para scripting e automação. A ferramenta suporta multithreading e pode emitir mensagens de status JSON estruturadas para integração com outros aplicativos. **Compilando a partir do código-fonte** Requer CMake 3.10+, um compilador compatível com C++17 e Boost. O projeto inclui configuração de CI e instruções de compilação para plataformas comuns.