Instalação do Servidor

Antes de instalar o servidor, certifique-se que a máquina atende os requisitos mínimos de sistema e que possua o Oracle JDK 17 64 bits instalado, que pode ser baixado através da página Download do Oracle JDK 17.

O Oracle JDK deve ser instalado usando o arquivo jdk-17uVERSION-linux-x64.rpm, onde VERSION é a release mais recente disponível (e.g. 17.0). Para instalar, execute o comando:

# sudo yum localinstall jdk-17uVERSION-linux-x64.rpm

Verifique se a instalação foi feita corretamente, com o comando:

# java -version
openjdk version "17.0.6" 2023-01-17
OpenJDK Runtime Environment (build 17.0.6)
OpenJDK 64-Bit Server VM (build 17.0.6, mixed mode, sharing)

Aviso

O sistema será instalado no diretório /opt/cpqd/tts e os logs serão criados em /var/log/cpqd/tts. Certifique-se de que há espaço em disco antes de começar a instalação.

A engine do Texto Fala deve estar instalada na máquina e acessível no diretório /opt/cpqd/tts/engine. Se necessário, crie um link simbólico da instalação atual para o diretório esperado, como no comando de exemplo abaixo :

# ln -snf /opt/cpqd/tts-VERSION /opt/cpqd/tts/engine

Para instalar o servidor WebSocket/REST/GRPC em ambientes GNU/Linux, basta executar o arquivo cpqd-tts-server-VERSION.run com o usuário root ou outro usuário com permissões administrativas. Veja o exemplo:

# sudo ./cpqd-tts-server-VERSION.run

 Verifying archive integrity...  100%   All good.
 Uncompressing cpqd-tts-server-VERSION  100%

 Installing CPqD TTS Server at [/opt/cpqd/tts]
 Success!

Nota

Para obter ajuda sobre o comando instalador, execute o comando ./cpqd-tts-server-VERSION.run -- --help.

Iniciar servidor

A partir da versão 4.0, a execução do Texto Fala necessita da versão 17 do Java JDK 64 bits da Oracle ou superior. Caso não seja esta a sua instalação padrão, é possível indicar o caminho de onde o Java está instalado no comando de inicialização do servidor:

/opt/cpqd/tts/server/bin/start-server [--foreground | --background] <path da versão java>

Para corrigir os script de inicialização, alterar o arquivo tts-server.service, incluindo o caminho correto da versão do java desejada.

# sudo systemctl edit tts-server

Incluir caminho da versão do java na variável ExecStart

ExecStart=/opt/cpqd/tts/server/bin/start-server --foreground <path da versão do java desejado>

Após a configuração da versão do java execute o procedimento seguinte para iniciar o servidor Texto Fala apenas quando ele está parado. Executá-lo com o servidor em execução não tem efeito.

Para iniciar o servidor WebSocket/REST/GRPC execute o comando:

# sudo systemctl start tts-server

Aguarde a inicialização do servidor, acompanhando o log:

# tail -F /var/log/cpqd/tts/server/tts-server.log
WARN   [main] SynthesisServerApplication [] Starting TTS Server
WARN   [main] b.c.c.v.s.SynthesisServer [] TTS installation: /opt/cpqd/tts
WARN   [main] b.c.c.v.s.SynthesisServer [] TTS engine      : /opt/cpqd/tts/engine/libcpqdtts.so

Validar instalação

Para verificar que a instalação foi realizada corretamente, e que o servidor WebSocket/REST/GRPC está operando normalmente, utilize a ferramenta tts-client localizada no diretório /opt/cpqd/tts/server/tools/java-client. A ferramenta irá enviar um texto para a síntese de fala utilizando o servidor. O texto fica armazenado no arquivo /opt/cpqd/tts/server/tools/texts/sample.txt. Para executar a ferramenta, acesse a máquina do servidor e execute os comandos:

# cd /opt/cpqd/tts/server/tools/java-client
# ./bin/tts-client sample.properties

O resultado da execução deverá ser algo como:

Starting test...
API URL: http://localhost:9090
Number of sessions (start): 1
Number of sessions (end): 1
Synthesis per session: 1
Executions: 1

 session 1/1 execution 1: TimeSynthesis = 19703
 session 1/1 execution 1: AudioTime = 19254.5 (ms)
 session 1/1 execution 1: TotalTime = 19733
 ######## AVERAGE TIME (sessions=1)

  > TotalTime (ms): 19733
  rtf: 0.001

Se tudo correr normalmente, um arquivo audio_0_0.wav será gerado no diretório /tmp. As configurações do teste são definidas no arquivo de propriedades sample.properties e podem ser alteradas para execução de cenários adicionais.

Parar servidor

Para finalizar o servidor WebSocket/REST/GRPC execute o comando:

# sudo systemctl stop tts-server