Interazioni vocaliSpeech interactions

Puoi integrare il riconoscimento vocale e la sintesi vocale direttamente nell'esperienza utente della tua app.Integrate speech recognition and text-to-speech (also known as TTS, or speech synthesis) directly into the user experience of your app.

Riconoscimento vocale Il riconoscimento vocale converte le parole pronunciate dall'utente in testo per l'input del form, per la dettatura del testo, per specificare un'azione o un comando e per eseguire le attività.Speech recognition Speech recognition converts words spoken by the user into text for form input, for text dictation, to specify an action or command, and to accomplish tasks. Sono supportate sia grammatiche predefinite per la dettatura di testo libero e la ricerca sul Web sia grammatiche personalizzate create mediante Speech Recognition Grammar Specification (SRGS) versione 1.0.Both pre-defined grammars for free-text dictation and web search, and custom grammars authored using Speech Recognition Grammar Specification (SRGS) Version 1.0 are supported.

TTS TTS usa un motore di sintesi vocale (Voice) per convertire una stringa di testo in parole vocali.TTS TTS uses a speech synthesis engine (voice) to convert a text string into spoken words. La stringa di input può essere testo semplice o più complesso, in linguaggio SSML (Synthesis Markup Language).The input string can be either basic, unadorned text or more complex Speech Synthesis Markup Language (SSML). Il linguaggio SSML offre un modo standard per controllare le caratteristiche dell'output vocale come pronuncia, volume, tonalità, frequenza o velocità ed enfasi.SSML provides a standard way to control characteristics of speech output, such as pronunciation, volume, pitch, rate or speed, and emphasis.

Altri componenti correlati alla sintesi vocale: Cortana nelle applicazioni Windows usa comandi vocali personalizzati (pronunciati o tipizzati) per avviare l'app in primo piano (l'app prende lo stato attivo, come se fosse stata avviata dal menu Start) o venga attivata come servizio in background ( Cortana mantiene lo stato attivo ma fornisce risultati dall'app).Other speech-related components: Cortana in Windows applications uses customized voice commands (spoken or typed) to launch your app to the foreground (the app takes focus, just as if it was launched from the Start menu) or activate as a background service ( Cortana retains focus but provides results from the app). Vedere le linee guida del comando Cortana Voice (VCD) se si espone la funzionalità dell'app nell'interfaccia utente di Cortanari .See the Cortana voice command (VCD) guidelines if you are exposing app functionality in the Cortana UI.

Progettazione delle interazioni vocaliSpeech interaction design

Se progettate e implementate con attenzione, le funzionalità vocali possono consentire agli utenti di interagire con la tua app in modo piacevole, integrando o persino sostituendo tastiera, mouse, tocco e movimenti.Designed and implemented thoughtfully, speech can be a robust and enjoyable way for people to interact with your app, complementing, or even replacing, keyboard, mouse, touch, and gestures.

Questi suggerimenti e linee guida descrivono come integrare in modo ottimale sia il riconoscimento vocale che la sintesi vocale nell'esperienza di interazione della tua app.These guidelines and recommendations describe how to best integrate both speech recognition and TTS into the interaction experience of your app.

Se stai pensando di supportare interazioni vocali nella tua app:If you are considering supporting speech interactions in your app:

  • Quali azioni possono essere eseguite tramite comandi vocali?What actions can be taken through speech? Un utente può spostarsi tra le pagine, richiamare comandi o immettere i dati come campi di testo, note brevi o lunghi messaggi?Can a user navigate between pages, invoke commands, or enter data as text fields, brief notes, or long messages?
  • L'input vocale è un'opzione valida per eseguire un'attività?Is speech input a good option for completing a task?
  • Come fa un utente a sapere quando è disponibile l'input vocale?How does a user know when speech input is available?
  • L'app è sempre in ascolto oppure l'utente deve eseguire un'azione per attivare la modalità di ascolto per l'app?Is the app always listening, or does the user need to take an action for the app to enter listening mode?
  • Quali frasi avviano un'azione o un comportamento?What phrases initiate an action or behavior? Le frasi e le azioni devono essere enumerate sullo schermo?Do the phrases and actions need to be enumerated on screen?
  • Sono necessarie schermate di richiesta, di conferma o per la rimozione di ambiguità oppure la sintesi vocale?Are prompt, confirmation, and disambiguation screens or TTS required?
  • Qual è il dialogo di interazione tra l'utente l'app?What is the interaction dialog between app and user?
  • Serve un vocabolario personalizzato o vincolato (ad esempio medico, scientifico o locale) per il contesto della tua app?Is a custom or constrained vocabulary required (such as medicine, science, or locale) for the context of your app?
  • È richiesta la connettività di rete?Is network connectivity required?

Input di testoText input

Il riconoscimento vocale per l'input di testo può variare da una forma breve (singola parola o frase) a una forma lunga (dettatura continua).Speech for text input can range from short form (single word or phrase) to long form (continuous dictation). L'input in forma breve deve avere una durata inferiore ai 10 secondi, mentre una sessione di input in forma lunga può durare fino a due minuti.Short form input must be less than 10 seconds in length, while long form input session can be up to two minutes in length. (L'input in forma lunga può essere riavviato senza intervento dell'utente per dare l'impressione della dettatura continua.)(Long form input can be restarted without user intervention to give the impression of continuous dictation.)

Dovrai fornire un segnale visivo per indicare che il riconoscimento vocale è supportato e disponibile per l'utente e se l'utente deve attivarlo.You should provide a visual cue to indicate that speech recognition is supported and available to the user and whether the user needs to turn it on. Ad esempio, un pulsante con il glifo di un microfono sulla barra dei comandi (vedi Linee guida per le barre dei comandi) può essere usato per visualizzare sia la disponibilità che lo stato.For example, a command bar button with a microphone glyph (see Command bars) can be used to show both availability and state.

Fornisci un riscontro continuo del riconoscimento per evitare il più possibile la mancanza apparente di risposta durante l'esecuzione del riconoscimento.Provide ongoing recognition feedback to minimize any apparent lack of response while recognition is being performed.

Consenti agli utenti di rivedere il testo del riconoscimento tramite input da tastiera, richieste per la rimozione di ambiguità, suggerimenti o ulteriori sessioni di riconoscimento vocale.Let users revise recognition text using keyboard input, disambiguation prompts, suggestions, or additional speech recognition.

Interrompi il riconoscimento se viene rilevato input da un dispositivo diverso dal riconoscimento vocale, ad esempio tocco o la tastiera.Stop recognition if input is detected from a device other than speech recognition, such as touch or keyboard. Probabilmente, ciò indica che l'utente è passato a un'altra attività, ad esempio la correzione del testo del riconoscimento o l'interazione con altri campi modulo.This probably indicates that the user has moved onto another task, such as correcting the recognition text or interacting with other form fields.

Specifica l'intervallo di tempo senza input vocale che indica che il riconoscimento è terminato.Specify the length of time for which no speech input indicates that recognition is over. Non riavviare automaticamente il riconoscimento dopo questo periodo di tempo, perché in genere si tratta di un'indicazione che l'utente ha smesso di interagire con la tua app.Do not automatically restart recognition after this period of time as it typically indicates the user has stopped engaging with your app.

Disabilita tutta l'interfaccia utente di riconoscimento continuo e termina la sessione di riconoscimento se non è disponibile una connessione di rete.Disable all continuous recognition UI and terminate the recognition session if a network connection is not available. Il riconoscimento continuo richiede una connessione di rete.Continuous recognition requires a network connection.

Esecuzione di comandiCommanding

L'input vocale può avviare azioni, richiamare comandi ed eseguire attività.Speech input can initiate actions, invoke commands, and accomplish tasks.

Se lo spazio lo consente, valuta la possibilità di visualizzare le risposte supportate per il contesto corrente dell'app, con esempi di input valido.If space permits, consider displaying the supported responses for the current app context, with examples of valid input. In questo modo si riducono le risposte potenziali che l'app deve elaborare e si evita anche confusione per l'utente.This reduces the potential responses your app has to process and also eliminates confusion for the user.

Cerca di formulare le domande in modo che sollecitino una risposta il più possibile specifica,Try to frame your questions such that they elicit as specific a response as possible. ad esempio "Cosa vuoi fare oggi?"For example, "What do you want to do today?" è una domanda molto generica e richiederebbe la definizione di una grammatica molto estesa, a causa della grande varietà di risposte possibili.is very open ended and would require a very large grammar definition due to how varied the responses could be. In alternativa, "Vuoi giocare o ascoltare musica?"Alternatively, "Would you like to play a game or listen to music?" vincola la risposta a una di due risposte valide e la definizione della grammatica corrispondente è piccola.constrains the response to one of two valid answers with a correspondingly small grammar definition. Una grammatica di dimensioni contenute è molto più facile da definire e consente di ottenere risultati del riconoscimento molto più precisi.A small grammar is much easier to author and results in much more accurate recognition results.

Richiedi conferma all'utente quando il livello di affidabilità del riconoscimento vocale è basso.Request confirmation from the user when speech recognition confidence is low. Se lo scopo dell'utente non è chiaro, è preferibile richiedere un chiarimento piuttosto che avviare un'azione indesiderata.If the user's intent is unclear, it's better to get clarification than to initiate an unintended action.

Dovrai fornire un segnale visivo per indicare che il riconoscimento vocale è supportato e disponibile per l'utente e se l'utente deve attivarlo.You should provide a visual cue to indicate that speech recognition is supported and available to the user and whether the user needs to turn it on. Ad esempio, un pulsante con il glifo di un microfono sulla barra dei comandi (vedi Linee guida per le barre dei comandi) può essere usato per visualizzare sia la disponibilità che lo stato.For example, a command bar button with a microphone glyph (see Guidelines for command bars) can be used to show both availability and state.

Se il comando per il riconoscimento vocale in genere non è visibile, valuta la possibilità di visualizzare un indicatore di stato nell'area del contenuto dell'app.If the speech recognition switch is typically out of view, consider displaying a state indicator in the content area of the app.

Se il riconoscimento viene avviato dall'utente, valuta la possibilità di usare l'esperienza di riconoscimento predefinita per coerenza.If recognition is initiated by the user, consider using the built-in recognition experience for consistency. L'esperienza predefinita include schermate personalizzabili con richieste, esempi, rimozioni di ambiguità, conferme ed errori.The built-in experience includes customizable screens with prompts, examples, disambiguations, confirmations, and errors.

Le schermate variano in base ai vincoli specificati:The screens vary depending on the specified constraints:

  • Grammatica predefinita (per la dettatura o la ricerca sul Web)Pre-defined grammar (dictation or web search)

    • Schermata Sto ascoltando .The Listening screen.
    • Schermata Sto pensando .The Thinking screen.
    • Schermata Ho capito o schermata di errore.The Heard you say screen or the error screen.
  • Elenco di parole o frasi o un file di grammatica SRGSList of words or phrases, or a SRGS grammar file

    • Schermata Sto ascoltando .The Listening screen.
    • Schermata Hai detto , se il contenuto pronunciato dall'utente può essere interpretato come più di un potenziale risultato.The Did you say screen, if what the user said could be interpreted as more than one potential result.
    • Schermata Ho capito o schermata di errore.The Heard you say screen or the error screen.

Nella schermata Sto ascoltando puoi:On the Listening screen you can:

  • Personalizzare il testo del titolo.Customize the heading text.
  • Fornire esempi di quello che può dire l'utente.Provide example text of what the user can say.
  • Specificare se visualizzare la schermata Ho capito .Specify whether the Heard you say screen is shown.
  • Leggere la stringa riconosciuta per l'utente nella schermata Ho capito .Read the recognized string back to the user on the Heard you say screen.

Ecco un esempio del flusso di riconoscimento predefinito per uno strumento di riconoscimento vocale che usa un vincolo definito SRGS.Here is an example of the built-in recognition flow for a speech recognizer that uses a SRGS-defined constraint. In questo esempio il riconoscimento vocale va a buon fine.In this example, speech recognition is successful.

schermata di riconoscimento iniziale per un vincolo basato su un file di grammatica sgrs

schermata di riconoscimento intermedia per un vincolo basato su un file di grammatica sgrs

schermata di riconoscimento finale per un vincolo basato su un file di grammatica sgrs

Sempre in ascoltoAlways listening

L'app può mettersi in ascolto dell'input vocale e riconoscerlo non appena viene avviata, senza l'intervento dell'utente.Your app can listen for and recognize speech input as soon as the app is launched, without user intervention.

Dovresti personalizzare i vincoli di grammatica in base al contesto dell'app.You should customize the grammar constraints based on the app context. Questo consente di mantenere l'esperienza di riconoscimento vocale molto mirata e pertinente per l'attività corrente, riducendo al minimo gli errori.This keeps the speech recognition experience very targeted and relevant to the current task, and minimizes errors.

"Cosa posso dire?""What can I say?"

Quando l'input vocale è abilitato, è importante aiutare gli utenti a scoprire cosa viene esattamente compreso e quali azioni possono essere eseguite.When speech input is enabled, it's important to help users discover what exactly can be understood and what actions can be performed.

Se il riconoscimento vocale viene abilitato dall'utente, prendi in considerazione l'uso della barra dei comandi o di un comando di menu per visualizzare tutte le parole e le frasi supportate nel contesto corrente.If speech recognition is user enabled, consider using the command bar or a menu command to show all words and phrases supported in the current context.

Se il riconoscimento vocale è sempre attivo, valuta la possibilità di aggiungere la frase "Cosa posso dire?"If speech recognition is always on, consider adding the phrase "What can I say?" a ogni pagina.to every page. Quando l'utente pronuncia questa frase, visualizza tutte le parole e le frasi supportate nel contesto corrente.When the user says this phrase, display all words and phrases supported in the current context. Questa frase offre agli utenti un modo coerente per individuare le funzionalità di riconoscimento vocale in tutto il sistema.Using this phrase provides a consistent way for users to discover speech capabilities across the system.

Errori di riconoscimentoRecognition failures

Il riconoscimento vocale in certi casi non funzionerà.Speech recognition will fail. Gli errori si verificano quando la qualità dell'audio è scadente, quando viene riconosciuta solo una parte della frase o quando non viene rilevato affatto alcun input.Failures happen when audio quality is poor, when only part of a phrase is recognized, or when no input is detected at all.

Cerca di gestire gli errori in modo elegante, aiutando l'utente a comprendere i motivi dell'errore e a risolvere il problema.Handle failure gracefully, help a user understand why recognition failed, and recover.

L'app deve informare l'utente quando l'input vocale non viene riconosciuto e fargli sapere che deve riprovare.Your app should inform the user that they weren't understood and that they need to try again.

Valuta se fornire esempi di una o più frasi supportate.Consider providing examples of one or more supported phrases. È probabile che l'utente ripeta una frase suggerita, con maggiore successo del riconoscimento.The user is likely to repeat a suggested phrase, which increases recognition success.

Dovresti visualizzare un elenco di corrispondenze possibili tra cui l'utente può effettuare una selezione.You should display a list of potential matches for a user to select from. Questa soluzione può essere molto più efficiente rispetto alla ripetizione del processo di riconoscimento.This can be far more efficient than going through the recognition process again.

Dovresti sempre supportare tipi di input alternativi, opzione particolarmente utile per la gestione degli errori di riconoscimento ripetuti.You should always support alternative input types, which is especially helpful for handling repeated recognition failures. Ad esempio, potresti suggerire all'utente di provare a usare una tastiera, o il tocco o un mouse per effettuare una selezione in un elenco di corrispondenze possibili.For example, you could suggest that the user try to use a keyboard, or use touch or a mouse to select from a list of potential matches.

Usa l'esperienza di riconoscimento vocale predefinita perché include schermate che informano l'utente dell'esito negativo del riconoscimento e gli consentono di eseguire un altro tentativo.Use the built-in speech recognition experience as it includes screens that inform the user that recognition was not successful and lets the user make another recognition attempt.

Ascolta l'input audio e prova a risolvere gli eventuali problemi.Listen for and try to correct issues in the audio input. Lo strumento di riconoscimento vocale può rilevare problemi nella qualità audio con potenziali effetti negativi sulla precisione del riconoscimento vocale.The speech recognizer can detect issues with the audio quality that might adversely affect speech recognition accuracy. Puoi usare le informazioni fornite dallo strumento di riconoscimento vocale per informare l'utente del problema, in modo che, se possibile, possa intervenire con azioni correttive.You can use the information provided by the speech recognizer to inform the user of the issue and let them take corrective action, if possible. Ad esempio, se l'impostazione del volume sul microfono è troppo bassa, puoi chiedere all'utente di parlare a voce più alta o aumentare il volume.For example, if the volume setting on the microphone is too low, you can prompt the user to speak louder or turn the volume up.

VincoliConstraints

I vincoli, o grammatiche, definiscono le parole e le frasi enunciate che possono essere riconosciute dallo strumento di riconoscimento vocale.Constraints, or grammars, define the spoken words and phrases that can be matched by the speech recognizer. Puoi specificare una delle grammatiche del servizio Web predefinite oppure creare una grammatica personalizzata da installare con la tua app.You can specify one of the pre-defined web service grammars or you can create a custom grammar that is installed with your app.

Grammatiche predefinitePredefined grammars

Le grammatiche per la dettatura e la ricerca sul Web predefinite forniscono il riconoscimento vocale per la tua app senza che tu debba creare una grammatica.Predefined dictation and web-search grammars provide speech recognition for your app without requiring you to author a grammar. Quando si usano queste grammatiche, il riconoscimento vocale viene eseguito da un servizio remoto Web e i risultati vengono restituiti al dispositivo.When using these grammars, speech recognition is performed by a remote web service and the results are returned to the device

  • La grammatica predefinita per la dettatura di testo libero è in grado di riconoscere la maggior parte delle parole e delle frasi che un utente può pronunciare in una determinata lingua ed è ottimizzata per il riconoscimento delle frasi brevi.The default free-text dictation grammar can recognize most words and phrases that a user can say in a particular language, and is optimized to recognize short phrases. La dettatura di testo libero è utile se non vuoi limitare il tipo di cose che un utente può dire.Free-text dictation is useful when you don't want to limit the kinds of things a user can say. Gli usi tipici includono la creazione di note o la dettatura del contenuto di un messaggio.Typical uses include creating notes or dictating the content for a message.
  • La grammatica per la ricerca Web, come una grammatica per la dettatura, contiene un gran numero di parole e frasi che un utente potrebbe pronunciare.The web-search grammar, like a dictation grammar, contains a large number of words and phrases that a user might say. Tuttavia, è ottimizzata per riconoscere i termini usati generalmente dalle persone quando eseguono ricerche sul Web.However, it is optimized to recognize terms that people typically use when searching the web.

Nota

Poiché le grammatiche per la dettatura e la ricerca sul Web predefinite possono essere di grandi dimensioni e poiché si trovano online (non nel dispositivo), le prestazioni potrebbero non essere veloci come quelle di una grammatica personalizzata installata nel dispositivo.Because predefined dictation and web-search grammars can be large, and because they are online (not on the device), performance might not be as fast as with a custom grammar installed on the device.

Queste grammatiche predefinite possono essere usate per riconoscere fino a 10 secondi di input vocale e non richiedono alcun intervento di modifica da parte tua.These predefined grammars can be used to recognize up to 10 seconds of speech input and require no authoring effort on your part. Tuttavia, richiedono la connessione a una rete.However, they do require connection to a network.

Grammatiche personalizzateCustom grammars

Una grammatica personalizzata è progettata e creata dallo sviluppatore dell'app e viene installata con l'app.A custom grammar is designed and authored by you and is installed with your app. Il riconoscimento vocale con un vincolo personalizzato viene eseguito nel dispositivo.Speech recognition using a custom constraint is performed on the device.

  • I vincoli elenco programmatici offrono un approccio leggero per la creazione di grammatiche semplici tramite un elenco di parole o frasi.Programmatic list constraints provide a lightweight approach to creating simple grammars using a list of words or phrases. Un vincolo elenco è la soluzione ideale per il riconoscimento di singole brevi frasi.A list constraint works well for recognizing short, distinct phrases. L'aggiunta esplicita di tutte le parole in una grammatica migliora anche la precisione del riconoscimento, perché il motore di riconoscimento vocale deve solo elaborare l'input vocale per confermare una corrispondenza.Explicitly specifying all words in a grammar also improves recognition accuracy, as the speech recognition engine must only process speech to confirm a match. L'elenco può anche essere aggiornato a livello di codice.The list can also be programmatically updated.

  • Una grammatica SRGS è un documento statico che, diversamente da un vincolo elenco programmatico, usa il formato XML definito dalla specifica SRGS versione 1.0.An SRGS grammar is a static document that, unlike a programmatic list constraint, uses the XML format defined by the SRGS Version 1.0. Una grammatica SRGS offre il massimo controllo sull'esperienza di riconoscimento vocale consentendoti di acquisire più significati semantici in un unico riconoscimento.An SRGS grammar provides the greatest control over the speech recognition experience by letting you capture multiple semantic meanings in a single recognition.

    Ecco alcuni suggerimenti per la modifica delle grammatiche SRGS:Here are some tips for authoring SRGS grammars:

    • Tieni limitate le dimensioni di ogni grammatica.Keep each grammar small. Le grammatiche contenenti un minor numero di frasi offrono tendenzialmente un riconoscimento più preciso delle grammatiche più grandi contenenti molte frasi.Grammars that contain fewer phrases tend to provide more accurate recognition than larger grammars that contain many phrases. È preferibile avere diverse grammatiche più piccole per scenari specifici anziché una singola grammatica per l'intera app.It's better to have several smaller grammars for specific scenarios than to have a single grammar for your entire app.
    • Fai sapere agli utenti cosa possono dire per ogni contesto dell'app e abilita o disabilita le grammatiche come necessario.Let users know what to say for each app context and enable and disable grammars as needed.
    • Progetta ogni grammatica in modo che gli utenti possano pronunciare un comando in svariati modi.Design each grammar so users can speak a command in a variety of ways. Ad esempio, puoi usare la regola GARBAGE per definire corrispondenze per input vocali non definiti dalla grammatica.For example, you can use the GARBAGE rule to match speech input that your grammar does not define. In questo modo gli utenti possono pronunciare parole aggiuntive senza significato per la tua app.This lets users speak additional words that have no meaning to your app. Ad esempio, "dammi", "e", "ma", "forse" e così via.For example, "give me", "and", "uh", "maybe", and so on.
    • Per migliorare la corrispondenza dell'input vocale, usa l'elemento sapi:subset.Use the sapi:subset element to help match speech input. Si tratta di un'estensione Microsoft della specifica SRGS per migliorare la corrispondenza per le frasi parziali.This is a Microsoft extension to the SRGS specification to help match partial phrases.
    • Cerca di evitare di definire nella grammatica frasi contenenti solo una sillaba.Try to avoid defining phrases in your grammar that contain only one syllable. Il riconoscimento tende ad essere più preciso per le frasi contenenti due o più sillabe.Recognition tends to be more accurate for phrases containing two or more syllables.
    • Evita di usare frasi con suono simile.Avoid using phrases that sound similar. Ad esempio, frasi come "camice" "camicie" e "cimice" potrebbero confondere il motore di riconoscimento e compromettere la precisione del riconoscimento.For example, phrases such as "hello", "bellow", and "fellow" can confuse the recognition engine and result in poor recognition accuracy.

Nota

Il tipo di vincolo che usi dipende dalla complessità dell'esperienza di riconoscimento che vuoi creare.Which type of constraint type you use depends on the complexity of the recognition experience you want to create. Qualsiasi tipo potrebbe rappresentare la scelta migliore per un'attività di riconoscimento specifica e potresti trovare usi appropriati per tutti i tipi di vincolo nella tua app.Any could be the best choice for a specific recognition task, and you might find uses for all types of constraints in your app.

Pronunce personalizzateCustom pronunciations

Se la tua app contiene un vocabolario specialistico con parole insolite o fittizie oppure parole con pronunce inusuali, potresti migliorare le prestazioni del riconoscimento di tali parole definendo pronunce personalizzate.If your app contains specialized vocabulary with unusual or fictional words, or words with uncommon pronunciations, you might be able to improve recognition performance for those words by defining custom pronunciations.

Per un breve elenco di parole e frasi o un elenco di parole e frasi usate raramente, puoi creare pronunce personalizzate in una grammatica SRGS.For a small list of words and phrases, or a list of infrequently used words and phrases, you can create custom pronunciations in a SRGS grammar. Per altre info, vedi Elemento token.See token Element for more info.

Per elenchi di parole o frasi più estesi oppure per parole e frasi usate di frequente, puoi creare dizionari di pronuncia separati.For larger lists of words and phrases, or frequently used words and phrases, you can create separate pronunciation lexicon documents. Per altre info, vedi Informazioni su dizionari e alfabeti fonetici.See About Lexicons and Phonetic Alphabets for more info.

TestTesting

Verifica la precisione del riconoscimento vocale e qualsiasi interfaccia utente di supporto con i destinatari previsti dell'app.Test speech recognition accuracy and any supporting UI with your app's target audience. Questo è il modo migliore per determinare l'efficacia dell'esperienza di interazione vocale nella tua app.This is the best way to determine the effectiveness of the speech interaction experience in your app. Ad esempio, gli utenti ottengono risultati di riconoscimento scarsi perché l'app non riconosce una frase comune?For example, are users getting poor recognition results because your app isn't listening for a common phrase?

In questo caso puoi modificare la grammatica per supportare questa frase o fornire agli utenti un elenco di frasi supportate.Either modify the grammar to support this phrase or provide users with a list of supported phrases. Se hai già previsto un elenco di frasi supportate, assicurati che sia facilmente individuabile.If you already provide the list of supported phrases, ensure it is easily discoverable.

Sintesi vocaleText-to-speech (TTS)

La sintesi vocale genera output vocale da testo normale o SSML.TTS generates speech output from plain text or SSML.

Prova a progettare richieste gentili e incoraggianti.Try to design prompts that are polite and encouraging.

Valuta se è consigliabile leggere lunghe stringhe di testo.Consider whether you should read long strings of text. È ben diverso ascoltare un SMS rispetto a un lungo elenco di risultati di ricerca difficili da ricordare.It's one thing to listen to a text message, but quite another to listen to a long list of search results that are difficult to remember.

Dovresti fornire controlli multimediali per consentire agli utenti di sospendere o interrompere la sintesi vocale.You should provide media controls to let users pause, or stop, TTS.

Dovresti ascoltare tutte le stringhe di sintesi vocale per assicurarti che siano comprensibili e abbiano un suono naturale.You should listen to all TTS strings to ensure they are intelligible and sound natural.

  • Il concatenamento di una sequenza di parole insolita o la lettura di numeri di articoli o della punteggiatura può rendere incomprensibile una frase.Stringing together an unusual sequence of words or speaking part numbers or punctuation might cause a phrase to become unintelligible.
  • Il risultato può suonare innaturale se la metrica o la cadenza sono diverse da quelle che avrebbe usato un parlante nativo per la stessa frase.Speech can sound unnatural when the prosody or cadence is different from how a native speaker would say a phrase.

Entrambi i problemi possono essere risolti usando SSML anziché testo normale come input per il sintetizzatore vocale.Both issues can be addressed by using SSML instead of plain text as input to the speech synthesizer. Per altre info su SSML, vedi Usare SSML per gestire la voce sintetizzata e Guida di riferimento a Speech Synthesis Markup Language.For more info about SSML, see Use SSML to Control Synthesized Speech and Speech Synthesis Markup Language Reference.

ArgomentoTopic DescrizioneDescription
Riconoscimento vocaleSpeech recognition Il riconoscimento vocale consente di fornire input, specificare azioni o comandi ed eseguire attività.Use speech recognition to provide input, specify an action or command, and accomplish tasks.
Specificare la lingua di riconoscimento vocaleSpecify the speech recognizer language Scopri come selezionare una lingua installata da usare per il riconoscimento vocale.Learn how to select an installed language to use for speech recognition.
Definire vincoli di riconoscimento personalizzatiDefine custom recognition constraints Scopri come definire e usare vincoli personalizzati per il riconoscimento vocale.Learn how to define and use custom constraints for speech recognition.
Abilita la dettatura continuaEnable continuous dictation Scopri come acquisire e riconoscere l'input vocale con dettatura continua in formato lungo.Learn how to capture and recognize long-form, continuous dictation speech input.
Gestire i problemi con l'input audioManage issues with audio input Scopri come gestire i problemi relativi alla precisione del riconoscimento vocale causati dalla qualità dell'input audio.Learn how to manage issues with speech-recognition accuracy caused by audio-input quality.
Impostare i timeout per il riconoscimento vocaleSet speech recognition timeouts Imposta l'intervallo di tempo in cui lo strumento di riconoscimento vocale ignora il silenzio o i suoni irriconoscibili e rimane in ascolto dell'input vocale.Set how long a speech recognizer ignores silence or unrecognizable sounds (babble) and continues listening for speech input.

EsempiSamples