Da voz para dados

Para converter a fala em texto exibido na tela ou em um comando para o computador, o computador tem de realizar vários passos complexos. Ao falar, você cria vibrações no ar. O conversor analógico-digital (ADC) traduz essa onda analógica em dados digitais que o computador pode entender ao digitalizar o som, tirando medidas precisas da onda a intervalos freqüentes. O sistema filtra o som digitalizado para remover ruídos indesejados, e pode até separá-lo em diferentes faixas de freqüência (a freqüência é o comprimento de onda das ondas sonoras e nós a percebemos como diferenças na altura). Além disso, o ADC também padroniza o som, ajustando-o a um nível de volume constante. E para ter uma idéia de como pode ser complexo esse processo todo, o som também pode ter de ser alinhado temporariamente. Como as pessoas nem sempre falam na mesma velocidade, o som deve ser ajustado para corresponder à velocidade dos modelos de som já armazenados na memória do sistema.

Processo do ADC
Um ADC traduz as ondas analógicas da sua voz em dados digitais ao samplear o som. Quanto maiores as taxas de digitalização e precisão, maior a qualidade.

A seguir, o sinal é dividido em segmentos menores, de até uns poucos centésimos de segundo ou até milésimos, no caso de sons consoantes plosivos, paradas de consoantes produzidas pela obstrução do fluxo de ar no trato vocal (como o "p" ou o "t"). O programa, então, contrapõe esses segmentos aos fonemas conhecidos do idioma desejado. Um fonema é o menor elemento de um idioma, uma representação dos sons que criamos e juntamos para formar expressões com sentido. Há 34 fonemas na língua portuguesa. Outras línguas, por sua vez, podem ter um número maior ou menor.

O processo de reconhecimento da fala

O próximo passo parece simples, mas na verdade é o mais difícil de ser feito e é o principal foco da maioria das pesquisas feitas sobre o reconhecimento de voz: o programa examina os fonemas dentro do contexto de outros fonemas ao redor deles. Ele analisa o resultado por um modelo estatístico complexo e os compara com uma grande coleção de palavras, frases e sentenças conhecidas. Por fim, o programa determina o que o usuário provavelmente estava dizendo e o transforma em texto ou comandos para o computador.

A seguir, vamos ver mais de perto como isso é feito.