07th-mod / 07th-mod/higurashi-assembly

Computed Lipsync Improvements

Aberta
#89 0 comentários 0 reações 0 responsáveis Ver no GitHub
enhancement
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

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.