Configuração

O CPQD Texto Fala possui um arquivo de configuração chamado tts.conf, localizado no diretório de instalação do produto. O arquivo de configuração possui uma série de parâmetros necessários para correto funcionamento do CPQD Texto Fala. Vários parâmetros contidos nesse arquivo também podem ser alterados ou recuperados em tempo de execução via API.

Formato do arquivo de configuração

O arquivo tts.conf é um arquivo de texto com entradas no formato chave-valor. Parâmetros de configuração são definidos indicando seu nome, o símbolo de igual (=) e o valor. Espaços em branco são ignorados.

O arquivo pode conter linhas em branco, que serão ignoradas. Além disso, é possível incluir comentários usando o símbolo “#” (cerquilha). Um comentário inicia no símbolo “#” e termina na próxima quebra de linha ou final do arquivo.

General.PluginPath = /opt/cpqd/tts/engine
Audio.Encoder = wav/16000/16/1  # Arquivo com cabeçalho RIFF
# Habilita o SSML 1.1
Text.SSML = true

Parâmetros de configuração

General.PluginPath
Caminho onde estão localizadas as bibliotecas dinâmicas do módulo linguístico e do módulo de síntese, que serão carregadas automaticamente durante a inicialização. Caso essa opção não seja especificada, será utilizado o diretório de instalação do CPQD Texto Fala.
General.VoicePath
Caminho onde estão localizados os arquivos de voz (arquivos com extensão .voice) que serão carregados automaticamente durante a inicialização. Caso essa opção não seja especificada, será utilizado o diretório de instalação do CPQD Texto Fala.
General.AudioPath
Caminho onde estão localizados os arquivos de áudio .wav que serão utilizados com a tag audio do SSML.
General.DefaultVoice
Nome da voz padrão a ser utilizada quando nenhuma outra é indicada explicitamente via API ou SSML. O nome da voz é o nome do arquivo sem a extensão .voice e seu arquivo correspondente deve constar no parâmetro General.Voices.
General.Voices

Lista, separada por espaços, dos arquivos de voz a serem automaticamente carregados na inicialização do CPQD Texto Fala. Caminhos relativos partem do diretório especificado em General.VoicePath. Ainda que um ou mais arquivos de voz não possam ser carregados, a inicialização não retornará falha. Uma vez carregadas, as vozes estarão disponíveis e podem ser selecionadas para uso em uma ou mais sessões de síntese, até serem explicitamente descarregadas. Detalhes de erros no carregamento podem ser consultados no arquivo de log tts.log.

Se essa opção for omitida, o CPQD Texto Fala tentará carregar todas as vozes do diretório especificado em General.VoicePath. Se a opção General.DefaultVoice também for omitida, a primeira voz carregada é definida como voz padrão.

General.Plugins

Lista, separada por espaços, dos plugins a serem automaticamente carregados na inicialização da API. Os plugins devem estar armazenados no diretório indicado pela entrada General.PluginPath. Ainda que um ou mais plugins não puderem ser carregados, a inicialização não retornará falha. Uma vez carregados, os plugins estarão disponíveis até serem explicitamente descarregados. Detalhes de erros podem ser consultados no arquivo de log tts.log.

Se essa opção for omitida, o CPQD Texto Fala tentará carregar todos os plugins do diretório especificado em General.PluginPath.

Audio.Encoder

Identificador da codificação do áudio de saída desejada. Valores aceitos:

Identificador Descrição Amostragem Bits Canais
pcm/16000/16/1 PCM linear 16 kHz 16 Mono
pcm/16000/16/2 PCM linear 16 kHz 16 Stereo
pcm/8000/16/1 PCM linear 8 kHz 16 Mono
pcm/8000/16/2 PCM linear 8 kHz 16 Stereo
pcm/8000/8/1 PCM linear 8 kHz 8 Mono
pcm/8000/8/2 PCM linear 8 kHz 8 Stereo
wav/16000/16/1 PCM linear com cabeçalho RIFF 16 kHz 16 Mono
wav/16000/16/2 PCM linear com cabeçalho RIFF 16 kHz 16 Stereo
wav/8000/16/1 PCM linear com cabeçalho RIFF 8 kHz 16 Mono
wav/8000/16/2 PCM linear com cabeçalho RIFF 8 kHz 16 Stereo
wav/8000/8/1 PCM linear com cabeçalho RIFF 8 kHz 8 Mono
wav/8000/8/2 PCM linear com cabeçalho RIFF 8 kHz 8 Stereo
alaw/8000/8/1 Lei-A 8 kHz 8 Mono
alaw/8000/8/2 Lei-A 8 kHz 8 Stereo
alaw/16000/8/1 Lei-A 16 kHz 8 Mono
alaw/16000/8/2 Lei-A 16 kHz 8 Stereo
mp3/24kbps/mono [1] MPEG-3 16kHz 16bps Mono 24kbps 32 kHz 16 Mono
mp3/32kbps/mono [2] MPEG-3 16kHz 16bps Mono 32kbps 16 kHz 16 Mono
mp3/64kbps/mono [2] MPEG-3 16kHz 16bps Mono 64kbps 16 kHz 16 Mono
mp3/96kbps/mono [2] MPEG-3 16kHz 16bps Mono 96kbps 16 kHz 16 Mono
mp3/128kbps/mono [2] MPEG-3 16kHz 16bps Mono 128kbps 16 kHz 16 Mono
mp2/24kbps/mono [1] MPEG-2 16kHz 16bps Mono 24kbps 24 kHz 16 Mono
mp2/32kbps/mono [1] MPEG-2 16kHz 16bps Mono 32kbps 32 kHz 16 Mono
mp2/64kbps/mono [1] MPEG-2 16kHz 16bps Mono 64kbps 16 kHz 16 Mono
opus/24kbps/mono [1] Opus 16kHz 16bps Mono 24kbps 24 kHz 16 Mono
opus/32kbps/mono [1] Opus 16kHz 16bps Mono 32kbps 32 kHz 16 Mono
opus/64kbps/mono [1] Opus 16kHz 16bps Mono 64kbps 64 kHz 16 Mono
flac/24kbps/mono [1] OGG Flac 16kHz 16bps Mono 24kbps 24 kHz 16 Mono
flac/32kbps/mono [1] OGG Flac 16kHz 16bps Mono 32kbps 32 kHz 16 Mono
flac/64kbps/mono [1] OGG Flac 16kHz 16bps Mono 64kbps 64 kHz 16 Mono
[1](1, 2, 3, 4, 5, 6, 7, 8, 9, 10) Disponível apenas em ambientes GNU/Linux. Requer a instalação do plugin ffmpeg (libffmpeg.so). Este plugin depende da biblioteca ffmpeg versão 4.3, fornecida no pacote de instalação.
[2](1, 2, 3, 4) Disponível em ambientes GNU/Linux e Windows. Requer a instalação do plugin MP3 (libmp3.so em GNU/Linux ou libmp3.dll em Windows). Este plugin depende da biblioteca mp3lame versão 3.100, fornecida no pacote de instalação.

Os codificadores com prefixo wav se distinguem dos respectivos codificadores pcm apenas pela presença do cabeçalho RIFF, não havendo diferença na codificação propriamente dita.

Audio.Volume
Define o volume padrão. Valores aceitos: 0.0 (mudo) a 2.0 (alto). O valor padrão é 1.0.
Audio.Rate
Define o ritmo padrão. Valores aceitos: 0.3 (lento) a 3.0 (rápido). O valor padrão é 1.0.
Audio.Pitch
Define a entonação (ou pitch) padrão. Valores aceitos: 0.3 (baixo) a 3.0 (alto). O valor padrão é 1.0.
Audio.BeginSilence
Duração, em milisegundos, do silêncio de início de sentença. Valores aceitos: de 0 até 30000 (30 segundos). O valor padrão é 30.
Audio.EndSilence
Duração, em milisegundos, do silêncio de final da sentença. Valores aceitos: de 0 até 30000 (30 segundos). O valor padrão é 50.
Text.SSML
Ativa ou desativa o suporte ao SSML. Valores aceitos: true ou false. O valor padrão é true.
Text.BreakLine
Ativa ou desativa a opção de incluir ponto final na quebra de linha. Valores aceitos: true ou false. O valor padrão é false. Se a opção de Text.SSML esteja ativa, a opção Text.BreakLine é ignorada.
Log.Level
Define o nível de detalhes do arquivo de log. Quanto maior o nível de log, mais informações serão exibidas. Os níveis válidos, em ordem crescente, são: OFF, FATAL, ERROR, WARNING e INFO. Caso esta opção esteja comentada ou ausente, será utilizado o nível INFO. Para impedir a criaçao de logs, use o nível OFF.
Log.Text
Ativa (true) ou desativa (false) a opção de gerar um arquivo de log (text.log) com os textos enviados para a síntese. O valor padrão é false.

O caminho dos arquivos de log é definido na inicialização do CPQD Texto Fala (e.g. via função TTS_Initialize). Se nenhum local for definido para o arquivo de log, ele será criado no diretório onde o CPQD Texto Fala foi instalado.

Os seguintes parâmetros estão disponíveis apenas quando utilizando proteção via servidor de licenças.

License.ID
Define o identificador da licença a ser utilizado. Esse identificador é fornecido pelo CPQD junto com as instruções de instalação.
License.Tag

Identificador da instalação especificado pelo usuário. O identificador pode conter letras, números, espaços, sublinhas e traços (-). O tamanho máximo do identificador é de 32 caracteres.

Esse valor será transmitido ao Servidor de Licenças e poderá ser utilizado para identificar a instalação ao entrar em contato com o suporte técnico.

Online.Server
Define a URL do servidor de licenças. Se omitido, o CPQD Texto Fala utilizará um valor padrão.
Online.Sessions

Define o número de sessões que a instância do produto irá requisitar ao servidor de licenças.

Os valores válidos vão de 1 até 10000. Se especificado um valor inválido ou a opção for omitida, o servidor de licenças decidirá a quantidade a ser entregue.

Note que o valor máximo efetivo desse parâmetro depende da quantidade de sessões disponíveis na licença de uso. Caso seja especificado um valor maior do que o estipulado na licença de uso, o TTS retornará um erro.