SAPI – O que é?
A interface da programação das aplicações de voz (Speech Application Programming Interface – SAPI) é uma API desenvolvida pela Microsoft que permite a utilização do reconhecimento de voz (Speech Recognition) e síntese de voz (TTS – Text To Speech) nas aplicações do Windows. Em geral, todas as versões desta API foram projectadas para que os programas consigam comunicar de uma maneira fácil, acessível e através de diversas linguagens de programação com o software que reconhece a voz ou que converte o texto para voz. Existem grandes diferenças entre as versões SAPI 4 (ou anteriores que são similares entre si exceptuando-se alguns novos updates) e a 5 que trouxe alterações relevantes e actualmente encontra-se dividida em subversões.
Nestas versões, de 1 a 4 as aplicações comunicam directamente com os motores de voz. Estas API’s incluíam definições de interface abstractas com os diversos programas e não necessitavam de mais recursos. Entretanto, na família SAPI 5 as aplicações e os motores não comunicam directamente. Associam a fala que está em execução (sapi.dll) ao respectivo componente. Existe uma API que executa um destes componentes para as aplicações e outro para o conjunto das relações entre os motores de voz. Normalmente em SAPI 5, os programas dão a ordem para:
• Chamar através da API uma gramática para o reconhecimento da voz;
• Iniciar o reconhecimento de voz;
• Fornecer o texto ao sintetizador para ser convertido em voz.
O componente sapi.dll em execução interpreta estes comandos e processa-os, onde é necessário chamar o motor de voz que fará a interface. Um exemplo é o carregamento do ficheiro de gramática que é feito em tempo real e posteriormente os seus dados são passados para o reconhecedor de voz onde são actualizados para serem utilizados. Os motores do reconhecimento e síntese de voz também geram eventos quando estão a processar (por exemplo uma expressão vocal quando reconhecida ou o final de uma palavra sintetizada). Estes passam no sentido inverso, a partir dos motores, através do DLL que está a ser executado em tempo real e sobre um dissipador do evento da aplicação.
| Autor: | diogo |
| Publicado: | Terça-feira, 10 de Julho de 2007, 11:12 |
| Categorias: | artigos, Sintetizadores de voz, software | Etiquetas: |
