Guia de Instalação

Esta seção apresenta o procedimento de instalação do recurso de reconhecimento de fala e os módulos adicionais de classificação de gênero, idade e emoção. Para isso é necessário instalar os seguintes módulos:

  • Speech Server: serviço que oferece uma interface de acesso para uso combinado das funções de ASR com as funções de classificação.

  • CPQD Reconhecimento de Fala: serviço de reconhecimento de fala (ASR) do CPQD

Cada servidor é diponibilizado como um conjunto de imagens Docker e são gerenciados pela ferramenta Docker Swarm.

../../_images/speech_server_asr.png

Recurso de Reconhecimento de Fala.

Requisitos de sistema

Antes de instalar o Speech Server, certifique-se de que atende os requisitos apresentados nesta seção.

Processador

O tipo do processador deve ser um dos seguintes:

  • Intel® Xeon Phi™ processor

  • Intel® Xeon® processor

  • Intel® Core™ processor family

  • Intel Atom® processor

Se o processador usado não está nesta lista, o desempenho pode ser menor, e até mesmo exigir um instalador diferente.

Memória

O uso do reconhecimento de fala em conjunto com os classificadores de voz requer em torno de 6 GB de memória RAM livre, sem considerar o consumo de sistema operacional e outras aplicações.

Disco

Recomendamos pelo menos 30 GB de espaço livre em HD para a instalação do sistema e espaço de armazenamento de logs.

Docker

O sistema requer a instalação da ferramenta Docker (20.10.6) e Docker-compose (1.29.0) para a sua execução. A partir destas versões temos a funcionalidade de “service profiles”

Instalação

A instalação do recurso de reconhecimento de fala e módulos adicionais de classificação de voz é feita através de um arquivo de instalação e imagens Docker. Antes de realizar o procedimento de instalação, você deve estar de posse de:

  • arquivo de instalação speech-server.run

  • usuário de acesso ao container-registry do CPQD

  • número de licença de utilização do ASR adquirido com o CPQD

Instalação do servidor

Para realizar a instalação, faça o login em «container-registry.cpqd.com.br» com o usuário fornecido pelo CPQD:

docker login container-registry.cpqd.com.br -u <usuario>
Password:

Login Succeeded

Após o login, execute o arquivo instalador speech-server.run.

sudo ./speech-server.run
Verifying archive integrity...  100%   MD5 checksums are OK. All good.
Uncompressing CPQD Servidor de Fala.  100%
Swarm initialized: current node (m3bg3nzfkh9y1nwoetqhqkni0) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-66dodjqaxsmxcry80cxa3xxmedb4k9xrivth9ufgfi3iopljui-4xx50mhlmgv98038rgyn1nn46 127.0.0.1:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

sending incremental file list
.env
docker-compose.yaml
start_manager
stop_manager

sent 2,352 bytes  received 92 bytes  4,888.00 bytes/sec
total size is 5,993  speedup is 2.45
Done!

Configuração inicial

Antes de iniciar o servidor é necessário configurar a licença fornecida pelo CPQD. Para maiores informações sobre a licença, consulte o Manual do CPQD Reconhecimento de Fala - Licenças.

O arquivo de configuração do servidor é o .env. Nele configuramos o identificador da licença e a quantidade de canais que se deseja utilizar. A quantidade de canais configurada deve ser inferior ou igual àquela contratada pela licença.

Localize o arquivo .env na pasta /opt/cpqd/speech-server, e edite os atributos ASR_LICENSE_ID e ASR_LICENSE_CHANNELS abaixo:

# Configuração API
API_PORT=8000
TIMEOUT=120
LOG_LEVEL="INFO"
ASR_WS_HOST="ws://asr-server:8025/asr-server/asr"
ASR_REST_HOST="http://asr-server:8025/asr-server/rest/recognize"
ASR_VAD_ENABLED=True

# Timezone de execução
TIMEZONE="America/Sao_Paulo"

# Configuração ASR
ASR_LICENSE_ID=<ENTER_YOUR_LICENSE_ID>  # Adicionar Licença Utilizada
ASR_LICENSE_CHANNELS=<ENTER_THE_CHANNELS_NUMBER> #Adicionar Numeros de Canais
ASR_LICENSE_HOST=sl.cpqd.com.br
ENGINE_LOG_ENABLE="true"
ENGINE_LOG_LEVEL=info
ENGINE_TUNING_LOG=false

Iniciar o servidor

Execute o comando abaixo para iniciar o servidor. Note que o processo deve estar parado, executar o comando com o servidor em execução não tem efeito.

/opt/cpqd/speech-server/start_manager -h <host>

No exemplo seguinte, estamos usando o host 127.0.0.1 para subir a aplicação.

/opt/cpqd/speech-server/start_manager -h 127.0.0.1
Pulling audio-pipeline ... done
Pulling asr-server     ... done
Pulling redis          ... done
Pulling rabbitmq       ... done
Pulling emotion-worker ... done
Pulling gender-worker  ... done
Pulling age-worker     ... done
Pulling api-recognize  ... done
Swarm initialized: current node (vmb17unzwpqjijwq9d12vae8u) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-4o7rxe5z95pwbwyp27q4jfqpainivyos5dgypfljzxduzxzklk-7srkqbnncdofwfdicsy7ei533 127.0.0.1:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

Creating network ss_default
Creating service ss_asr-server
Creating service ss_redis
Creating service ss_rabbitmq
Creating service ss_emotion-worker
Creating service ss_gender-worker
Creating service ss_age-worker
Creating service ss_api-recognize
Creating service ss_audio-pipeline

Parar o servidor

Execute o comando abaixo para finalizar a execução do servidor.

/opt/cpqd/speech-server/stop_manager

No exemplo seguinte, realizamos a parada do servidor.

/opt/cpqd/speech-server/stop_manager
Node left the swarm.