Condividi tramite


Supporto vocale sintetizzato

[Microsoft Agent è deprecato a partire da Windows 7 e potrebbe non essere disponibile nelle versioni successive di Windows.]

Se si usa il parlato sintetizzato, il carattere ha la possibilità di dire quasi qualsiasi cosa, che offre la massima flessibilità. Con l'audio registrato, è possibile assegnare al carattere una voce specifica o univoca. Per specificare l'output, specificare il testo parlato come parametro del metodo Speak .

Poiché l'architettura di Microsoft Agent usa Microsoft SAPI per l'output vocale sintetizzato, è possibile usare qualsiasi motore conforme a questa specifica e supporta l'output IPA (International Phonetic Alphabet) usando il metodo Visual dell'interfaccia ITTSNotifySinkW . Per altre informazioni sul motore richiede, vedere Requisiti di supporto del motore di riconoscimento vocale.

L'impostazione id lingua di un carattere determina l'output TTS. Se un client non specifica un ID lingua per il carattere, l'ID lingua del carattere viene impostato sull'ID lingua predefinito dell'utente. Se la definizione del carattere include un motore specifico e tale motore può essere caricato e corrisponde all'impostazione della lingua del carattere, verrà usato tale motore. In caso contrario, Microsoft Agent enumera gli altri motori disponibili e richiede una corrispondenza ottimale sapI in base a lingua, sesso e età (in tale ordine). Se non è disponibile alcun motore corrispondente, non è disponibile alcun output TTS per l'uso del carattere da parte del client. Agent tenta di caricare il motore TTS nella prima chiamata Speak o quando si esegue una query o si imposta correttamente il relativo ID modalità.

Un'applicazione client può anche specificare un motore TTS per il relativo carattere (usando la proprietà TTSModeID ). In questo modo viene eseguito l'override del tentativo del server di trovare automaticamente un motore corrispondente in base all'ID modalità TTS preferito del carattere o all'impostazione dell'ID lingua corrente del carattere. Tuttavia, se tale motore non è installato (o non può essere caricato in altro modo), la chiamata avrà esito negativo (e genererà un errore nel controllo). Il server tenta quindi di caricare un altro motore in base all'ID lingua, all'impostazione TTS del carattere compilato e ai motori TTS disponibili. Se non esiste ancora alcuna corrispondenza, TTS non è disponibile per tale client, ma il carattere può comunque parlare nel fumetto delle parole.

Solo i motori TTS in uso da qualsiasi client rimangono caricati. Ad esempio, se un carattere ha una preferenza definita per un motore specifico e tale motore è disponibile, ma l'applicazione client ha specificato un motore diverso (impostando l'ID lingua di un carattere in modo diverso dal motore o specificando un ID modalità diverso), solo il motore specificato dall'applicazione rimane caricato. Il motore che corrisponde alla preferenza definita del carattere per un'impostazione TTS viene scaricato (a meno che un altro client non usi l'impostazione del motore compilato del carattere).