Síntese de fala

Síntese de fala é o processo de produção artificial de fala humana. Um sistema informático utilizado para este propósito é denominado sintetizador de fala, e pode ser implementado em software ou hardware. Um sistema texto-fala (TTS, na sigla em inglês) converte texto ortográfico em fala. Outros sistemas interpretam representação lingüística simbólica (como transcrição fonética) em fala.
Fala sintetizada pode ser criada concatenando-se pedaços de fala gravada, armazenada num banco de dados. Os sistemas diferem no tamanho das unidades de fala armazenada. Um sistema que armazene fones ou alofones fornecem a maior faixa de saída, mas podem carecer de clareza. Para usos específicos, o armazenamento de palavras ou frases inteiras possibilita uma saída de alta qualidade. Alternativamente, um sintetizador pode incorporar um modelo do trato vocal (caminho percorrido pela fala) e outras características da fala humana, para criar como saída uma fala completamente "sintética".
A qualidade de um sintetizador de fala é determinada por sua similaridade com a fala humana e por sua capacidade de ser entendida. Um programa TTS inteligível permite que pessoas com deficiência visual ou com dificuldades de leitura possam ouvir obras escritas em um computador pessoal. Muitos sistemas operacionais têm incluído capacidade de síntese de fala desde o início da década de 1990. Na década de 1990, surgiram sistemas que fazem a operação inversa de converter fala para texto ortográfico.
Um sistema texto-fala é composto de duas partes: um front-end e um back-end. O front-end tem duas tarefas principais. Primeiro, converter texto bruto contendo símbolos como números e abreviações no equivalente de palavras escritas. Este processo é muitas vezes chamado de normalização de texto, pré-processamento ou tokenização. Depois, atribuir transcrições fonéticas a cada palavra e dividir e marcar o texto em unidades como sentenças, frases e cláusulas. Este processo é chamado de conversão de texto para fonema ou grafema para fonema. As transcrições fonéticas e as informações da prosódia compõem a representação lingüística simbólica que é produzida pelo front-end.
Então, o back-end (muitas vezes referido como o sintetizador) converte a representação lingüística simbólica em som. Em certos sistemas, esta parte inclui a computação da prosódia (contorno de tom, durações de fonemas), que é então imposta na fala de saída.
Muito antes da invenção do processamento de sinal eletrônico, algumas pessoas tentaram construir máquinas para emular a fala humana. Algumas primeiras lendas do Brazen Head envolveram o Papa Silvestre II (946 – 1003), Albertus Magnus (1198 – 1280), e Roger Bacon (1214 – 1294). Em 1779, o cientista dinamarquês Christian Gottlieb Kratzenstein, que trabalhava na Academia de Ciências da Rússia, construiu modelos do trato vocal humano que podiam produzir os cinco sons das vogais longas (na notação alfabética fonética internacional: [aː], [eː] [Iː], [oː] e [uː]). Em seguida, a "máquina de fala acústico-mecânica" de Wolfgang von Kempelen, de Bratislava, então fazendo parte da Hungria, foi descrita em um artigo em 1791. Esta máquina adicionou modelos da língua e dos lábios, permitindo que fossem produzidas tanto consoantes quanto vogais. Em 1837, Charles Wheatstone produziu uma "máquina de falar" com base no projeto de von Kempelen. Em 1846, Joseph Faber exibiu a Euphonia. Em 1923, Paget ressuscitou o projeto de Wheatstone.
Na década de 1930, Bell Labs desenvolveu o vocoder, que automaticamente analisou a fala em seus tons e ressonâncias fundamentais. Do seu trabalho no vocoder, Homer Dudley desenvolveu um sintetizador de fala operado por teclado chamado The Voder (Voice Demonstrator), exibido na Feira Mundial de Nova York de 1939. Dr. Franklin S. Cooper e seus colegas do Haskins Laboratories começaram a construir o Pattern Playback no final dos anos 1940 e terminaram o projeto em 1950. Das várias versões diferentes deste dispositivo hardware, apenas uma continua existindo atualmente. A máquina converte imagens dos padrões acústicos do discurso na forma de um espectrograma de volta ao som. Usando este dispositivo, Alvin Liberman e seus colegas descobriram pistas acústicas para a percepção dos segmentos fonéticos (consoantes e vogais).
Os sistemas dominantes nas décadas de 1980 e 1990 foram o sistema DECtalk, baseado em grande parte no trabalho de Dennis Klatt no MIT, e o sistema Bell Labs, um dos primeiros sistemas multilíngues de linguagens independentes, fazendo uso extensivo de métodos de processamento de linguagem natural. Os primeiros sintetizadores de fala eletrônicos pareciam robóticos e quase nunca eram inteligíveis. A qualidade da fala sintetizada tem melhorado continuamente, mas a saída A de 2016 dos sistemas de síntese de fala contemporânea permanece claramente distinguível da fala humana real. Em 2005, Kurzweil previu que como a relação custo-desempenho tornou os sintetizadores de fala mais baratos e mais acessíveis mais pessoas poderiam se beneficiar do uso de programas texto-fala.
Os primeiros sistemas de síntese de fala de computador surgiram no final da década de 1950. Em 1968, Noriko Umeda et al. desenvolveu o primeiro sistema texto-fala em inglês no Electrotechnical Laboratory, no Japão. Em 1961, o físico John Larry Kelly, Jr e seu colega Louis Gerstman usaram um computador IBM 704 para sintetizar discursos, um dos eventos mais proeminentes da história da Bell Labs. O sintetizador de fala de Kelly (vocoder) recriou a canção Daisy Bell, com acompanhamento musical de Max Mathews. Coincidentemente, Arthur C. Clarke estava visitando seu amigo e colega John Pierce nas instalações do Bell Labs Murray Hill. Clarke ficou tão impressionado com a demonstração, que a utilizou na cena culminante do seu roteiro para seu romance 2001: Uma Odisséia no Espaço, na qual o computador HAL 9000 canta a mesma música que o astronauta Dave Bowman coloca para dormir. Apesar do sucesso da síntese de fala puramente eletrônica, a pesquisa em sintetizadores de fala mecânicos continua.
A eletrônica portátil com síntese de fala começou a surgir na década de 1970. Um dos primeiros dispositivos foi a Speech +, calculadora portátil para cegos desenvolvida pela Telesensory Systems Inc. (TSI) em 1976. Outros dispositivos tinham propósitos principalmente educacionais como o Speak & Spell, brinquedo produzido pela Texas Instruments em 1978. A Fidelity lançou uma versão falada do seu computador de xadrez eletrônico em 1979. O primeiro jogo de vídeo para caracterizar a síntese de fala foi o arcade game shoot 'em up Stratovox (conhecido no Japão como Speak & Rescue), lançado pela Sun Electronics em 1980. O primeiro jogo de computador pessoal com síntese de fala foi Manbiki Shoujo (Shoplifting Girl), lançado para o PET 2001 em 1980, para o qual o desenvolvedor do jogo, Hiroshi Suzuki, criou uma técnica de programação zero cross para produzir uma forma de onda de fala sintetizada. Outro exemplo é a versão arcade de Berzerk, também de 1980. No mesmo ano, a Milton Bradley Company produziu o Milton, primeiro jogo eletrônico multi-player usando a síntese de fala.
As qualidades mais importantes de um sistema de síntese de fala são naturalidade (o quanto a saída se parece com a fala humana) e inteligibilidade (a facilidade com a qual a saída é compreendida). Os sistemas de síntese de fala geralmente tentam maximizar ambas as características. O sintetizador de fala ideal é natural e inteligível. As duas tecnologias primárias que geram formas de onda de fala sintéticas são síntese por concatenação e síntese de formante. Cada tecnologia tem pontos fortes e fracos, de modo que os usos pretendidos de um sistema de síntese de fala normalmente determinarão qual abordagem será utilizada.
A síntese por concatenação é baseada na concatenação de segmentos de fala gravada. Geralmente a síntese por concatenação produz a fala sintetizada mais natural. Entretanto, as diferenças entre as variações naturais na fala e a natureza das técnicas automatizadas para segmentar as formas de onda às vezes resultam em falhas audíveis na saída. Existem três subtipos principais de síntese por concatenação, síntese por seleção de unidades, síntese por dífonos e síntese por domínio específico.
A síntese por seleção de unidades utiliza grandes bancos de dados de fala gravada. Durante a criação do banco de dados, cada enunciado gravado é segmentado em algumas das opções seguintes, sons individuais, dífonos, metades de sons, sílabas, morfemas, palavras, frases e sentenças. Tipicamente a divisão em segmentos é feita por meio de um reconhecedor de fala especialmente modificado, ajustado para um modo de "alinhamento forçado" com alguma correção manual posterior, usando representações visuais como a forma de onda e o espectrograma. Então, um índice das unidades na base de dados de fala é criado com base na segmentação e nos parâmetros acústicos como frequência fundamental (pitch), duração, posição na sílaba e sons vizinhos. Durante a execução, o enunciado é criado com a determinação da melhor cadeia de unidades candidatas a partir do banco de dados (seleção de unidade). Este processo é tipicamente realizado utilizando uma árvore de decisão especialmente ponderada.
A seleção de unidade garante maior naturalidade, porque aplica apenas uma pequena quantidade de processamento de sinal digital no discurso gravado. Muitas vezes o processamento de sinal digital torna o som gravado menos natural, embora alguns sistemas usem uma pequena quantidade de processamento de sinal digital no ponto de concatenação para suavizar a forma de onda. Muitas vezes a saída dos melhores sistemas de seleção de unidades é indistinguível de vozes humanas reais, especialmente em contextos para os quais o sistema texto-fala foi ajustado. No entanto, a máxima naturalidade normalmente requer que as bases de dados de fala de seleção de unidade sejam muito grandes, em alguns sistemas que variam entre os gigabytes de dados gravados, representando dezenas de horas de fala. Os algoritmos de selecção de unidade também têm sido estudados para seleccionar segmentos de um local que resulte em menos que a síntese ideal (por exemplo, palavras menores ficam obscuras), mesmo quando existe uma melhor escolha no banco de dados. Recentemente os pesquisadores propuseram vários métodos automatizados para detectar segmentos não naturais em sistemas de síntese de fala de seleção de unidade.
A síntese por dífonos usa um banco de dados de fala mínimo contendo todos os dífonos que ocorrem em uma linguagem. O número de dífonos depende da fonotática da língua (por exemplo, o espanhol tem cerca de 800 dífonos e o alemão tem cerca de 2500 dífonos). Na síntese por dífonos, apenas um exemplo de cada dífono está contido na base de dados de fala. Durante a execução, a prosodia de uma sentença é sobreposta nestas unidades mínimas por meio de técnicas de processamento de sinal digital como codificação preditiva linear, PSOLA, MBROLA, ou técnicas mais recentes como modificação de afinação no domínio de origem usando a transformada discreta de cosseno. A síntese por dífonos sofre das falhas acústicas da síntese por concatenação e da natureza robótica da síntese de formantes e tem poucas das vantagens de qualquer abordagem diferente do tamanho pequeno. Consequentemente, a síntese por dífonos tem sido menos usada para fins comerciais, embora continue a ser utilizada em pesquisas devido a uma série de implementações de software livremente disponíveis.
A síntese por domínio específico concatena palavras e frases pré-gravadas para criar enunciações completas. A síntese por domínio específico é aplicada quando a variedade de textos que o sistema produzirá é limitada a um domínio específico como anúncios de cronograma de trânsito ou relatórios meteorológicos. Esta tecnologia é muito simples de ser implementada e tem sido usada para fins comerciais por um longo tempo em dispositivos como relógios falantes e calculadoras. O nível de naturalidade destes sistemas pode ser muito alto porque a variedade de tipos de sentença é limitada, se aproximando da prosódia e da entonação das gravações originais.
Como estes sistemas são limitados pelas palavras e frases em suas bases de dados, eles não têm aplicações gerais e apenas podem sintetizar as combinações de palavras e frases com as quais foram pré-programadas. Porém, a mistura de palavras dentro da linguagem naturalmente falada também pode causar problemas a menos que as muitas variações sejam levadas em conta. Por exemplo, em dialetos não-róticos do inglês a letra "r" em palavras como "clear" /klɪə/ normalmente é somente pronunciada quando a palavra seguinte começa com vogal (por exemplo, "clear out" é pronunciada como /klɪəɾʌʊt/ ). Da mesma forma, em francês muitas consoantes finais deixam de ser silenciosas se forem seguidas por uma palavra que começa com vogal, um efeito chamado de ligação. Esta alternância não pode ser reproduzida por um simples sistema de concatenação de palavras, o que exigiria uma complexidade adicional para ser sensível ao contexto.
A síntese de formantes não utiliza amostras de fala humana durante a execução. Em vez disto, a saída de fala sintetizada é criada usando a síntese aditiva e um modelo acústico (síntese de modelação física). Parâmetros como freqüência fundamental, voicing e níveis de ruído são variados ao longo do tempo para criar uma forma de onda de fala artificial. Este método às vezes é chamado de síntese baseada em regras. Entretanto, muitos sistemas por concatenação também têm componentes baseados em regras. Muitos sistemas baseados em tecnologia de síntese de formantes geram discurso artificial e robótico, que nunca seria confundido com a fala humana. No entanto, a máxima naturalidade nem sempre é o objetivo de um sistema de síntese de fala. Os sistemas de síntese de formantes têm vantagens sobre os sistemas por concatenação. A fala sintetizada pelo formante pode ser inteligível de forma confiável mesmo sob velocidades muito altas, evitando falhas acústicas que comumente afetam os sistemas por concatenação. O discurso sintetizado de alta velocidade é usado pelas pessoas com deficiência visual para navegar rapidamente em computadores usando um leitor de tela. Os sintetizadores de formantes são geralmente programas menores do que os sistemas por concatenação porque não têm um banco de dados de amostras de fala. Portanto, podem ser usados ​​em sistemas embarcados, em que memória e potência do microprocessador são especialmente limitados. Como os sistemas baseados em formantes têm o controle completo de todos os aspectos da fala de saída, uma grande variedade de prosodias e entonações podem ser produzidas transmitindo não apenas perguntas e declarações, como também uma variedade de emoções e tons de voz. Entre os exemplos de síntese de formantes sem ser em tempo real, mas com controle de entonação bastante preciso, estão o trabalho feito no final da década de 1970 para o brinquedo Speak & Spell, da Texas Instruments, e no início dos anos 1980 nas máquinas de arcade Sega e em muitos outros jogos arcade da Atari Inc. usando o TMS5220 LPC Chips. A criação da entonação adequada para estes projetos foi cuidadosa e os resultados ainda precisam ser acompanhados por interfaces texto-fala em tempo real.
A síntese articulatória refere-se às técnicas computacionais para sintetizar a fala a partir de modelos e dos processos de articulação do trato vocal humano. O primeiro sintetizador articular utilizado regularmente para experiências laboratoriais foi desenvolvido no Haskins Laboratories em meados da década de 1970 por Philip Rubin, Tom Baer e Paul Mermelstein. Este sintetizador conhecido como ASY foi baseado em modelos do trato vocal desenvolvidos no Bell Laboratories nos anos 1960 e 1970 por Paul Mermelstein, Cecil Coker e seus colegas. Os modelos de síntese articulatória ainda não foram incorporados em sistemas comerciais de síntese da fala, com exceção do sistema baseado em NeXT originalmente desenvolvido e comercializado pela Trillium Sound Research, uma empresa spin-off da Universidade de Calgary, onde a maior parte da pesquisa original foi realizada.
Depois do fim das várias encarnações de NeXT (iniciado por Steve Jobs no final da década de 1980 e fundido com a Apple Computer em 1997), o software Trillium foi publicado sob GNU General Public License com o trabalho tendo continuando como gnuspeech. Este sistema comercializado pela primeira vez em 1994 fornece conversão completa texto-voz baseada em articulações usando um guia de ondas ou um análogo de linha de transmissão dos tratos orais e nasais humanos controlados pelo modelo de Carré. Os sintetizadores mais recentes desenvolvidos por Jorge C. Lucero e seus colegas incorporam modelos de biomecânica da prega vocal, aerodinâmica glotal e propagação das ondas acústicas nas cavidades dos brônquios, da traqueia, nasal e oral, assim constituindo sistemas completos de simulação de fala baseados na física..
Na síntese baseada no modelo oculto de Markov (também chamada de síntese paramétrica estatística), o espectro de frequência (trato vocal), frequência fundamental (fonte de voz) e duração (prosódia) da fala são modelados simultaneamente pelo modelo oculto de Markov. As formas de onda de fala são geradas a partir do modelo oculto de Markov, com base no critério de máxima verosimilhança.
A síntese sinusoidal é uma técnica para sintetizar a fala, substituindo os formantes (bandas principais de energia) pelos assobios de tom puro.