- copiada a skill editar-por-voz e seus critérios para as skills do projeto - adaptada a skill editar-por-voz para usar o banco SQLite como fonte oficial - corrigida a cópia do JSON do tipo de vídeo para priorizar clipboard Unicode - criado carregador único do contexto de edição por voz a partir do SQLite - criada entrada para registrar planos no SQLite e reaproveitar o mesmo plano na aplicação - habilitado carregamento do plano editorial diretamente do SQLite na interface - corrigido o bloqueio visual da etapa de carregamento do plano salvo - configurado carregamento automático do plano salvo após selecionar a sequência - documentada a sequência como raiz de retomada do fluxo de edição - criada a estrutura local para análise de músicas instrumentais com Essentia Resumo: - 22 arquivos alterados - 11 novos - 11 modificados - 0 removidos 11 files changed, 270 insertions(+), 34 deletions(-) Arquivos: - .jhonny/analises.db - CONTEXT.md - code/cep-plugin/index.html - code/cep-plugin/main.js - code/engine/README.md - code/engine/aplicar_plano_de_edicao.py - code/engine/integracoes/audio/__init__.py - code/engine/persistencia/consultas.py - code/engine/requirements-audio.txt - code/engine/testes/test_consultas_de_persistencia.py - code/tests/cep-tipos-video-encoding.test.ts - code/.jhonny/ - code/engine/carregar_plano_de_edicao.py - code/engine/integracoes/audio/contratos.py - code/engine/integracoes/audio/modelos_de_analise_musical.py - code/engine/integracoes/audio/provider_de_analise_musical_essentia.py - code/engine/preparar_edicao_por_voz.py - code/engine/registrar_plano_de_edicao.py - code/engine/testes/test_analisador_de_musica_essentia.py - code/engine/testes/test_carregar_plano_de_edicao.py - code/engine/testes/test_registrar_plano_de_edicao.py - code/plugins/premiere-pro/skills/editar-por-voz/
1.9 KiB
09 — Quando a análise veio incompleta
Escopo: O que fazer quando uma camada da análise não rodou. Quando: Fase 0 — ver a ordem de trabalho em
../SKILL.md.
O registro correspondente em analises_versao e os campos disponíveis nas
tabelas de análise dizem o que de fato rodou. Leia isso antes de qualquer
outra coisa. Se houver um JSON exportado com layers, use-o apenas como
informação auxiliar e confira sua versão contra o banco.
"layers": {"transcript": true, "acoustics": false, "speakers": false}
Por que esse bloco existe
Fala monótona e acústica que não carregou deixam os mesmos zeros nos
dados. Sem o layers, é impossível distinguir "esta pessoa fala de forma
uniforme" de "a análise acústica falhou".
Os casos
acoustics: false
Todos os valores acústicos são 0. Você não tem ênfase real.
- Decida só pelo texto.
- Avise o usuário explicitamente.
- Prefira
markerazoom— sinalize em vez de decidir.
Causa comum: o componente librosa não está instalado, ou o ffmpeg não conseguiu extrair o áudio do container.
speakers: false num vídeo com várias pessoas
A diarização não rodou — falta o token do HuggingFace (aba Modelos do app).
- Avise antes de tratar tudo como uma voz só.
- Lembre que isso não impede a triagem roteiro/conversa, que é feita
pelo texto (ver
02-triagem-roteiro-vs-conversa.md).
peak_count: 0
Nada cruzou o piso de ênfase. Duas causas possíveis:
- A fala é uniforme mesmo — material sem picos.
- O limiar está alto para esse material.
Sugira ajustar em Análise de Voz no app. Não force destaques inexistentes só para entregar alguma coisa.
Regra geral
Não finja precisão que você não tem. Uma edição entregue com a ressalva certa é útil; uma entregue como se estivesse completa, quando metade dos dados faltou, custa a confiança do usuário no sistema inteiro.