GNUSPEECHSA é um sintetizador articulatório da linha de comando que converte texto em fala.
O GNUSPEECHSA é uma porta C ++ do TTS_SERVER no sistema Gnuspeech original desenvolvido para Nextstep, fornecido por David R. Hill, Leonard Manzara, Craig Schock e colaboradores. A base foi o código no repositório de subversão da Gnuspeech, Revisão 672, baixado em 2014-08-02. O código -fonte foi obtido dos diretórios:
nextstep/trunk/ObjectiveC/Monet.realtime
nextstep/trunk/src/SpeechObject/postMonet/server.monet
Este software é escrito em C ++ multi-plataforma.
Gnuspeech é um sintetizador de fala articulatória. O projeto implementou o primeiro software articulatório de texto em fala (TTS) (até onde eu sei). Foi desenvolvido nos anos 90, há cerca de 30 anos (em 2023). O sintetizador era anteriormente um software comercial de código fechado, disponível apenas para os próximos computadores. Após o desaparecimento do próximo, o software foi doado ao projeto GNU. Ele usa um modelo simples do trato vocal, porque o próximo era um computador muito lento. As CPUs dos anos 90 operavam a uma frequência de dezenas de MHz (não um erro de digitação), cerca de 100x mais lentas que a tecnologia em 2023. A baixa complexidade relativa do modelo permite a síntese de baixa latência nos computadores pessoais modernos.
O sistema TTS original tinha duas implementações do modelo do trato vocal (modelo do tubo), um que executou em um DSP de 56k, escrito em montagem, e outro que executou na CPU, escrito em C. O modelo de tubo DSP gera melhor fala, com fricativas/plosivos mais equilibrados. Este repositório usa o modelo de tubo C.
Os sons abaixo foram sintetizados a partir do texto do caos (versão curta) de Gerard Nolst Trenité.
manutenção
Somente o inglês é suportado.
Este programa é um software livre: você pode redistribuí -lo e/ou modificá -lo nos termos da licença pública geral da GNU, conforme publicado pela Free Software Foundation, versão 3 da licença ou (por sua opção) qualquer versão posterior.
Este programa é distribuído na esperança de que seja útil, mas sem garantia; sem a garantia implícita de comercialização ou aptidão para uma finalidade específica. Consulte o arquivo copying.txt para obter mais detalhes.
Este software inclui código do RAPIDXML. Consulte o arquivo SRC/RapidXML/Licença.txt para obter detalhes.
gnuspeech_sa gnuspeech_sa converte o texto de entrada em fala.
./gnuspeech_sa [-v] -c config_dir -p trm_param_file.txt -o output_file.wav
"Hello world."
Synthesizes text from the command line.
-v : verbose
config_dir is the directory that stores the configuration data,
e.g. data/en.
trm_param_file.txt will be generated, containing the tube model
parameters.
output_file.wav will be generated, containing the synthesized speech.
./gnuspeech_sa [-v] -c config_dir -i input_text.txt -p trm_param_file.txt
-o output_file.wav
Synthesizes text from a file.
-v : verbose
config_dir is the directory that stores the configuration data,
e.g. data/en.
input_text.txt contains the input text.
trm_param_file.txt will be generated, containing the tube model
parameters.
output_file.wav will be generated, containing the synthesized speech.
gnuspeech_sa_trm gnuspeech_sa_trm executa apenas o modelo do tubo.
./gnuspeech_sa_trm [-v] trm_param_file.txt output_file.wav
-v : verbose
trm_param_file.txt is the file generated by gnuspeech_sa, containing the
tube model parameters.
output_file.wav will be generated, containing the synthesized speech.
monet.xmlContém o banco de dados articulatório.
intonation.txtControla a entonação.
Se random_intonation = 0 em trm_control_model.txt , apenas a primeira linha em cada grupo de tons será usada. Se random_intonation = 1 , a linha será selecionada aleatoriamente.
MainDictionary.txtContém o principal dicionário, que relaciona palavras às posturas.
trm.txtContém os parâmetros para o modelo do tubo.
Parâmetros interessantes são:
vocal_tract_length_offset
This value is added to the vocal tract length.
loss_factor
Defines the acoustic loss inside the vocal tract.
trm_control_model.txtContém os parâmetros para o controlador do modelo de tubo.
Parâmetros interessantes são:
voice_name
Defines the voice used in the synthesis.
It selects which of the voice_*.txt files will be
loaded.
tempo
Values greater than 1 will speed up the speech.
pitch_offset
Modifies the voice pitch.
drift_deviation
drift_lowpass_cutoff
Control the random perturbations in the intonation
(requires intonation_drift = 1).
dictionary_1_file
dictionary_2_file
dictionary_3_file
Indicate the dictionaries (the dictionaries will be
searched in the order 1, 2, 3).
Observação:
Os seguintes parâmetros não estão sendo usados no momento:
voice_baby.txtvoice_female.txtvoice_large_child.txtvoice_male.txtvoice_small_child.txtContém os parâmetros de voz.
Parâmetros interessantes são:
vocal_tract_length
glottal_pulse_tp
Rise time, in % of the period.
glottal_pulse_tn_min
Fall time, in % of the period - for the highest pulse
amplitude.
glottal_pulse_tn_max
Fall time, in % of the period - for the lowest pulse
amplitude.
These parameters modify the glottal pulse shape.
reference_glottal_pitch
Modify the voice pitch.
breathiness
vowelTransitions.txtControla as transições de vogal.
vowelTransitions_2.txt Versão alternativa de vowelTransitions.txt .
Não está sendo usado.