Funções do Dialplan do Asterisk 18
Descrição:A função
TALK_DETECT() habilita eventos em um canal. Esses eventos podem ser emitidos via AMI, ARI e, potencialmente, outros módulos do Asterisk que escutam por notificações internas.
A função possui dois parâmetros opcionais que podem ser passados quando definida em um canal:
dsp_talking_threshold e
dsp_silence_threshold.
dsp_talking_threshold é o tempo em milissegundos de som acima do que o DSP estabeleceu como silêncio base para um usuário, antes que o usuário seja considerado falando. Por padrão, o valor de
silencethreshold do arquivo
dsp.conf é usado. Se este valor for definido muito baixo, eventos podem ser disparados falsamente por variações no ruído ambiente.
Valores válidos são de 1 a 2
31.
dsp_silence_threshold é o tempo em milissegundos de som abaixo do que o DSP estabeleceu como silêncio base, antes que o usuário seja considerado em silêncio. Se este valor for definido muito baixo, eventos indicando que o usuário parou de falar podem ser enviados falsamente quando o usuário faz uma breve pausa durante uma frase.
A melhor abordagem é definir este valor ligeiramente acima da quantidade máxima de milissegundos de silêncio que um usuário pode gerar durante a fala natural.
Por padrão, este valor é 2500ms. Valores válidos são de 1 a 2
31.
Exemplos:same => n,Set(TALK_DETECT(set)=)
Habilita a detecção de fala.same => n,Set(TALK_DETECT(set)=1200)
Atualiza o limite de silêncio da detecção de fala existente para 1200ms.same => n,Set(TALK_DETECT(remove)=)
Remove a detecção de fala.same => n,Set(TALK_DETECT(set)=,128)
Habilita e define o limite de fala para 128.Observação: A função
TALK_DETECT() utiliza um
audiohook para inspecionar os quadros de mídia de voz em um canal. Outras funções, como
JITTERBUFFER,
DENOISE e
AGC, usam um mecanismo similar. Os
audiohooks são processados na ordem em que são colocados no canal. Portanto, geralmente faz sentido colocar funções que modificam os dados de mídia de voz antes de colocar a função
TALK_DETECT(), pois isso produzirá melhores resultados.
Exemplo:same => n,Set(DENOISE(rx)=on) ; Denoise received audio
same => n,Set(TALK_DETECT(set)=) ; Perform talk detection on the denoised received audio
TALK_DETECT(action)action remove - Remove a detecção de fala do canal.
set(dsp_silence_threshold,dsp_talking_threshold) - Habilita
TALK_DETECT e/ou configura os parâmetros de detecção de fala. Pode ser chamado várias vezes para alterar os parâmetros em um canal com detecção de fala já habilitada.
dsp_silence_threshold - O tempo em milissegundos de som abaixo do
dsp_talking_threshold quando um usuário é considerado em silêncio. O valor padrão é 2500.
dsp_talking_threshold - A magnitude média mínima por amostra em um quadro para que o DSP considere a presença de fala/ruído. Um valor abaixo deste nível é considerado silêncio. Se não especificado, o valor vem da opção
silencethreshold do arquivo
dsp.conf ou 256 se
dsp.conf não existir ou a opção
silencethreshold não estiver definida.