Pular para o conteúdo principal

Detecção de Atividade de Voz

Streaming Sound Wave, juntamente com seus tipos derivados como Capturable Sound Wave, suporta Detecção de Atividade de Voz (VAD). O VAD filtra os dados de áudio recebidos para preencher o buffer interno apenas quando a voz é detectada.

O plugin oferece duas implementações de VAD:

A implementação padrão usa libfvad, uma biblioteca leve de detecção de atividade de voz que funciona eficientemente em todas as plataformas e versões do motor suportadas pelo Runtime Audio Importer.

Uso básico

Para ativar o VAD após criar uma onda sonora, use a função ToggleVAD:

Toggle VAD node

Após habilitar o VAD, você pode redefini-lo a qualquer momento:

Reset VAD node

Configurações padrão do VAD

Ao usar o provedor VAD padrão, você pode ajustar sua agressividade alterando o modo VAD:

Set VAD Mode node

O parâmetro mode controla o quão agressivamente o VAD filtra o áudio. Valores mais altos são mais restritivos, o que significa que é menos provável reportar falsos positivos, mas pode perder algumas falas.

Provedores de VAD

Após habilitar o VAD com a função ToggleVAD, você pode escolher entre diferentes provedores de Detecção de Atividade de Voz para atender às suas necessidades. O provedor padrão é integrado, enquanto provedores adicionais como o Silero VAD estão disponíveis por meio de plugins de extensão.

Nó Definir Provedor de VAD

Silero VAD Extension

O Silero VAD fornece detecção de fala mais precisa usando redes neurais. Para usá-lo:

  1. Certifique-se de que o plugin Runtime Audio Importer já esteja instalado no seu projeto

  2. Para UE 5.5 e anteriores: Antes de baixar o plugin de extensão Silero VAD, certifique-se de que o NNERuntimeORT esteja desabilitado no seu projeto. Manter o NNERuntimeORT habilitado pode causar falhas ao usar o Silero VAD nessas versões do motor devido a conflitos

  3. Baixe o plugin de extensão Silero VAD aqui

  4. Extraia a pasta do arquivo baixado para a pasta Plugins do seu projeto (crie esta pasta se ela não existir)

  5. Para UE 5.6 e posteriores: Edite o arquivo RuntimeAudioImporterSileroVAD.uplugin para adicionar a dependência NNERuntimeORT. No campo "Plugins", após a inclusão do RuntimeAudioImporter, adicione:

,
{
"Name": "NNERuntimeORT",
"Enabled": true
}
  1. Reconstrua seu projeto (esta extensão requer um projeto C++)
important
  • O VAD padrão funciona com todas as versões de engine suportadas pelo Runtime Audio Importer (UE 4.24, 4.25, 4.26, 4.27, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7 e 5.8)

  • O Silero VAD é compatível com Unreal Engine 4.27 e todas as versões UE5 (4.27, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7 e 5.8)

  • UE 5.5 e anteriores: O NNERuntimeORT deve ser desativado antes de usar o Silero VAD para evitar travamentos devido a conflitos de plugin. No UE 5.3 especificamente, o NNERuntimeORTCpu e o NNERuntimeORTGpu também precisam ser desativados

  • Requisito UE 5.6+: A partir do Unreal Engine 5.6, a extensão Silero VAD exige que a dependência do plugin NNERuntimeORT seja adicionada manualmente ao arquivo .uplugin

  • O Silero VAD está disponível para Windows, Linux, Mac, Android (incluindo Meta Quest) e iOS

  • Esta extensão é fornecida como código-fonte e requer um projeto C++ para ser usada

  • Para mais informações sobre como compilar plugins manualmente, consulte o tutorial Compilando Plugins

Uma vez instalado, você pode selecioná-lo como seu provedor de VAD usando a função SetVADProvider com o provedor da classe Silero.

Detecção de Início e Fim de Fala

A Detecção de Atividade de Voz não apenas detecta a presença de fala, mas também permite a detecção do início e do fim da atividade de fala. Isso é útil para acionar eventos quando a fala começa ou termina durante a reprodução ou captura.

Você pode personalizar a sensibilidade da detecção de início e fim de fala ajustando parâmetros como a duração mínima da fala e a duração do silêncio. Esses parâmetros ajudam a ajustar a detecção para evitar falsos positivos, como captar ruídos breves ou pausas muito curtas entre a fala.

Duração Mínima da Fala

O parâmetro Minimum Speech Duration define a quantidade mínima de atividade de voz contínua necessária para acionar um evento de início de fala. Isso ajuda a filtrar ruídos breves que não devem ser considerados fala, garantindo que apenas a atividade de voz sustentada seja reconhecida. O valor padrão para Minimum Speech Duration é 300 milissegundos.

Nó Definir Duração Mínima da Fala

Silence Duration

O parâmetro Silence Duration define a duração do silêncio necessária para acionar um evento de fim de fala. Isso evita que a detecção de fala termine prematuramente durante pausas naturais entre palavras ou frases. O valor padrão do Silence Duration é 500 milissegundos.

Set Silence Duration node

Vinculando a Delegados de Fala

Você pode se vincular a delegados específicos quando a fala começa ou termina. Isso é útil para acionar comportamentos personalizados com base na atividade de fala, como iniciar ou interromper o reconhecimento de texto ou ajustar o volume de outras fontes de áudio.

Vincular Evento ao On Speech Started Vincular Evento ao On Speech Ended

Comparando Provedores de VAD

Default VAD (libfvad)

Vantagens:

  • Leve e eficiente
  • Funciona em todas as plataformas
  • Uso mínimo de recursos
  • Adequado para dispositivos móveis e de baixo consumo

Ideal para:

  • Detecção de voz simples em ambientes silenciosos
  • Aplicações móveis
  • Projetos onde o desempenho é uma prioridade
  • Quando é necessário suporte universal a plataformas