07th-mod / 07th-mod/higurashi-assembly
Computed Lipsync Improvements
- Linguagem predominante
- C#
- Estrelas
- 12
- Forks
- 12
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
I noticed that the new computed lipsync sometimes has the mouth completely closed near the end of a sentence, if the character is speaking softly.
This is probably due to the current algorithm using fixed thresholds with no hysteresis, so if a character is speaking just below the threshold (currently 30% off max volume), the mouth will always stay closed.
Another related issue is that sometimes a character's mouth will be 'stationary'.
I can think of a couple things to try to fix this:
1. Try to detect changes in volume + also use fixed thresholds to determine which mouth to use
a. If the long term average volume is say, less than 50%, always use fully closed or half-open mouth (talking softly)
b. If the long term average volume is greater than 50%, always use the half-open or fully open mouth (talking loudly)
c. If the volume suddenly increases, use the more open mouth position, otherwise, use the more closed position
d. Only hold the mouth in the fully closed position if the volume becomes very low (another threshold? like 10% or 5%)
2. Use fixed thresholds but:
a. Add hysteresis only when going from half-closed to fully closed, to prevent character's mouths closing too early.
b. If a character remains in one mouth position too long, switch to another position even if the average volume hasn't changed
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Direção de pesquisa
Procure o algoritmo de sincronização labial na base de código, provavelmente em um arquivo que lida com processamento de áudio ou animação de personagens. O problema descreve limiares e histerese; encontre onde o volume é comparado ao limiar de 30%. Teste as alterações executando a sincronização labial em um áudio de amostra onde um personagem fala baixinho. Verifique se a boca não permanece incorretamente fechada e não fica estacionária.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- csharp
- Domínio
- audio-video-rtc
- Tipo de issue
- Bug
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 45/100