09 - Riconoscimento vocale
GetAlfaNumCode (CGetAlfaNumCode)
Richiede al chiamante, tramite riconoscimento vocale, il codice di identificazione alfanumerico, eseguendo un riconoscimento vocale per ogni carattere del codice. In alternativa è in grado di riconoscere anche i toni DTMF. E' necessario che sul sistema sia stato installato un motore di riconoscimento vocale SAPI compatibile, con relative licenze, non fornito con il Messenger oppure un motore integrato (disponibile solamente utilizzando LightHouse).
Parametri di Configurazione
Parametri | Descrizione |
---|---|
Tipo di motore di sintesi vocale | Selezionare il tipo di motore tra i seguenti:
|
Directory contenente i file wav/avi | Indicare la directory, o selezionare dalla lista, tramite il pulsante Browse, in cui sono contenuti i messaggi che il sistema deve riprodurre al chiamante. La tabella sotto Messaggi Disponibili riporta l'elenco dei messaggi utilizzabili. |
Motore | Selezionare il motore di riconoscimento vocale da utilizzare dal sistema. Nota: il suo valore dipende dai motori installati nel sistema. |
Abilita Beep di avviso ad inizio riconoscimento | Indicare se deve essere emesso un breve segnale acustico prima di ogni fase di riconoscimento vocale. |
Termina riconoscimento su ricezione Digit | Indicare se la fase di riconoscimento può essere interrotta dalla pressione di un tasto dal parte dell'utente. Se abilitato, i tasti numerici entrano a far parte del codice, mentre * e # concludono l'acquisizione dei caratteri (fine del codice). |
Tempo massimo di attesa (secondi) | Se è stato selezionato un motore SAPI, specificare il tempo massimo, in secondi, di ogni fase di riconoscimento vocale. Valore predefinito: 20 secondi. |
Massimo silenzio iniziale (secondi) | Se è stato selezionato un motore integrato, specificare il periodo massimo di silenzio, in secondi, che il riconoscimento attende, prima che l'utente cominci a parlare, prima di uscire per fallimento. Valore predefinito: 20 secondi. |
Soglia di affidabilità (0-100) | Indicare un valore tra 1 e 100 che indica il grado di sicurezza con cui un carattere deve essere riconosciuto per poter essere considerato valido. Valori alti indicano maggiore precisione e, quindi, maggior probabilità di nessun riconoscimento. Valore predefinito: 70. |
Numero massimo tentativi | Numero massimo di tentativi in caso di codice non valido (nessuna digitazione). |
Lunghezza massima dei codici | Numero massimo di digit del codice utente. Il tasto Assegna Valore consente di salvare il valore indicato in una costante, oppure recuperarlo da una Transfer Property o un Call Data. |
File Grammatica da utilizzare | Nome del file contenente la grammatica da utilizzare. Il tasto Assegna Valore consente di salvare il valore indicato in una costante, oppure recuperarlo da una Transfer Property o un Call Data. |
Nome Transfer Property | Selezionare la Transfer Property in cui viene salvati il codice acquisito. |
Servizio successivo se riconoscimento valido | Solamente configurando il Servizio tramite Messenger Configurator. Selezionare dall'elenco il servizio da attivare nel caso di codice riconosciuto e confermato dall'utente. |
Servizio successivo per mancato riconoscimento | Solamente configurando il Servizio tramite Messenger Configurator. Selezionare dall'elenco il servizio da attivare nel caso di codice NON riconosciuto o NON confermato dall'utente. |
Messaggi Disponibili
Nome File | Messaggio |
---|---|
IntroMessage.wav | Messaggio di accoglienza con istruzioni per l'inserimento del proprio codice. |
CharNotRecognized.wav | Comunica che il riconoscimento del carattere corrente non è andato a buon fine. |
RecognizedCodeIs.wav | Messaggio del tipo: "Il codice riconosciuto è...". |
confirm.wav | Messaggio del tipo: "Premere 1 per confermare, 0 per riprovare...". |
RepeatCode.wav | Invita l'utente a riprovare il riconoscimento del codice dall'inizio. |
Grammatica
Il file contenente la definizione della grammatica utilizzata per il riconoscimento del codice dell'utente ha la struttura di un file INI con le seguenti quattro sezioni:
- La sezione [Grammar] contiene i parametri generali della grammatica, attualmente il solo nome.
- La sezione [List] contiene le associazioni tra le parole che il sistema deve essere in grado di riconoscere ed il relativo carattere da aggiungere al codice nel caso che il sistema riconosca una certa parola.
- La sezione [Stop] indica le parole chiave che il sistema deve considerare come conclusione del codice; utili nel caso in cui i codici cliente non siano tutti della stessa lunghezza.
- La sezione [ConfirmOptions] contiene le opzioni ammesse per la conferma del codice riconosciuto dal sistema;
- la chiave "Confirm" indica la parola che deve essere pronunciata dal cliente per confermare il codice riconosciuto
- la chiave "Cancel" indica la parola per annullare il riconoscimento e introdurre il codice dall'inizio.
Esempio File Grammatica
[Grammar] |
SpeechToText (CSpeechToText)
Questo blocchetto permette di convertire l'audio del chiamante (parlato) in testo tramite il motore di riconoscimento vocale di Google (Google Speech API). Il testo può essere salvato in una Transfer Property o in un CallData, per potere essere analizzato/elaborato successivamente da ulteriori blocchetti impostati nel flusso della chiamata.
Il servizio è disponibile anche in compatibility mode.
Parametri di Configurazione
Parametri | Descrizione |
Lista messaggi | Lista dei messaggi da riprodurre al chiamante come invito e istruzioni per ciò che deve dire. |
ConfidenceLevel | Valore numerico compreso tra 0 e 100 che indica il livello di affidabilità da raggiungere per considerare il riconoscimento valido. |
RecognitionTimeout | Tempo massimo consentito al chiamante per effettuare la sua scelta vocale. |
EngineName | Nome del motore di riconoscimento da utilizzare. Al momento l’unico motore disponibile e configurabile è Google Speech API. |
EngineLanguage | Codice della lingua, in formato BCP-47, da utilizzare per il riconoscimento. |
StopOnDigit | Flag che indica se il riconoscimento può essere terminato dalla pressione di un digit da parte del chiamante. |
NotRecognizedMessage | Messaggio riprodotto in caso di mancato riconoscimento. |
MaxRetries | Numero massimo dei tentativi di riconoscimento. Se la fase di riconoscimento non avesse successo, indica il numero di tentativi consentiti al chiamante. |
TransferProperty | Nome della Transfer Property in cui salvare il testo convertito (in caso di riconoscimento con successo) o il digit premuto. |
CallData | Nome del CallData in cui salvare il testo convertito (in caso di riconoscimento con successo) o il digit premuto. |
NextServiceFailure | Nome del servizio successivo da attivare nel caso in cui il motore non riconosca l'audio e non sia premuto dal chiamante alcun digit. |
NextServiceDigitDetected | Nome del servizio successivo da attivare nel caso in cui il riconoscimento sia interrotto dalla pressione di un digit. |
NextServiceRecognized | Nome del servizio successivo da attivare nel caso il riconoscimento abbia successo. |
Transfer Property
Oltre alla Transfer Property definita in fase di configurazione, il blocchetto crea le due seguenti Transfer Property di sistema che possono essere eventualmente usate dai blocchetti successivi:
Parametri | Descrizione |
__RecognizeResult__ | Contiene l’esito della richiesta di riconoscimento. |
_ASR_Source | Contiene la sorgente dell’informazione contenuta nella Transfer Property e nel Call Data definiti in configurazione. I valori possibili sono:
|
VoiceMenu (CVoiceMenu)
Presenta un menu di opzioni e, in base alla scelta del chiamante, effettuata tramite il riconoscimento vocale, attiva il servizio associato. Permette di configurare la sequenza di messaggi (file wav/avi, numeri, date, ecc.) da riprodurre all'utente per invitarlo a segnalare al sistema la sua scelta.
E' inoltre possibile, in caso di nessuna scelta o di scelta errata, configurare un servizio predefinito. Questo servizio richiede che sul sistema sia stato installato un motore di riconoscimento vocale SAPI compatibile, con relative licenze, non fornito con il Messenger oppure un motore integrato (solo disponibile utilizzando LightHouse).
Parametri di Configurazione
Parametri | Descrizione |
---|---|
Tipo di motore di sintesi vocale | Selezionare il tipo di motore tra i seguenti:
|
Usa un dizionario interno al motore | Se è stato selezionato un motore di sintesi integrato, è possibile abilitare l'uso di un dizionario interno, specificandone il folder e il nome. |
Lista dei messaggi | Indicare la lista dei messaggi da riprodurre alla chiamante per guidarlo nella scelta. Utilizzare i tasti Nuovo, Modifica, Cancella e le frecce di ordine per selezionare il tipo di messaggio tra i seguenti:
Per ogni tipo, oltre alla selezione o al valore, occorre indicare ulteriori parametri specifici, come formato di data e ora, sequenze, decimali significativi, ecc. Inoltre è possibile indicare eventuali parametri specifici per la lingua corrente. Questo parametro gestisce esclusivamente l'italiano e lo spagnolo. Per entrambe le lingue, se questo parametro è impostato con "F", gli ordinali sono riprodotti al femminile, in tutti gli altri casi al maschile. Solo per lo spagnolo, se questo parametro è impostato con "F", il numero 1 è riprodotto al femminile, altrimenti al maschile. Solo per l'italiano, se questo parametro è impostato con "E", l'importo è riprodotto in EURO altrimenti in Lire. |
Motore del Riconoscimento Vocale | Selezionare dalla lista il motore di riconoscimento vocale da utilizzare. |
Abilita Beep di avviso ad inizio riconoscimento | Abilitato se è stato selezionato un motore integrato. Indica se deve essere emesso un breve segnale acustico prima di ogni fase di riconoscimento vocale. |
Termina riconoscimento su ricezione Digits | Abilitato se è stato selezionato un motore SAPI. Indica se la fase di riconoscimento può essere interrotta dalla pressione di un tasto dal parte dell'utente. Se abilitato, i tasti numerici entrano a far parte del codice, mentre * e # concludono l'acquisizione dei caratteri (fine del codice). |
Tempo massimo di attesa (secondi) | Abilitato se è stato selezionato un motore SAPI. Massimo periodo di silenzio, espresso in secondi, che il riconoscimento attende prima che l'utente cominci a parlare, prima di uscire per fallimento. Valore predefinito: 20 secondi. |
Abilita riconoscimento durante la play (Barge ln) | Abilitato se è stato selezionato un motore integrato. Abilita l’interruzione dei messaggi nel momento in cui l’utente pronuncia una frase, un nome o un qualsiasi comando vocale (senza attendere il “beep” di fine messaggio). |
Massimo silenzio iniziale (secondi) | Abilitato se è stato selezionato un motore integrato. Specificare il periodo massimo di silenzio, in secondi, che il riconoscimento attende, prima che l'utente cominci a parlare, prima di uscire per fallimento. Valore predefinito: 20 secondi. |
Look Ahead Time | Abilitato se è stato selezionato un motore integrato. Indicare il tempo in millisecondi che l'algoritmo di riconoscimento utilizza per verificare il frame audio successivo al fine di migliorare la qualità della codifica. Valore predefinito: 800 millisecondi. Per maggiori informazioni vedere anche Look Ahead Time. |
Soglia di affidabilità (0-100) | E' un valore tra 1 e 100 che indica il grado di sicurezza con cui un carattere deve essere riconosciuto per poter essere considerato valido. Valori alti indicano maggiore precisione e, quindi, maggior probabilità di nessun riconoscimento. Valore predefinito: 70. |
Servizio da attivare a seconda della selezione | Utilizzare i tasti Nuovo, Modifica e Cancella per indicare il servizio da attivare a seconda della scelta fatta dal chiamante. |
Parola chiave | Parola che l'utente deve pronunciare per attivare l'opzione. Se si indica il carattere "-", il servizio associato è quello di default attivato nel caso che nessuna delle altre condizioni sia soddisfatta al termine delle ripetizioni previste. |
Digit associato | Eventuale digit che l'utente può digitare per attivare il servizio associato. |
Servizio attivato | Solo configurando il Servizio tramite Messenger Configurator. Selezionare dalla lista il servizio da attivare per la particolare sequenza. |
Numero massimo di tentativi | Massimo numero di tentativi concessi all'utente per effettuare la sua scelta prima di proseguire con il servizio di default. |
Messaggio di errore con invito a ripetere | Messaggio che, in caso di mancato riconoscimento, invita l'utente a ripetere la sua scelta. Il tasto Assegna Valore consente di salvare il valore indicato in una costante, oppure recuperarlo da una Transfer Property o un Call Data. |
Messaggio di errore su raggiungimento limite | Messaggio di errore nel caso che si superi il numero di tentativi concessi senza aver riconosciuto con successo la scelta dell'utente. Il tasto Assegna Valore consente di salvare il valore indicato in una costante, oppure recuperarlo da una Transfer Property o un Call Data. |
Abilitazione salvataggio scelta | Abilitare la casella per attivare il salvataggio della scelta dell'utente in una Transfer Property. |
Nome Transfer Property | Selezionare dall'elenco il nome della Transfer Property in cui salvare la scelta. |
Aggiungere all'attuale valore | Se abilitato, la scelta dell'utente viene accodata, separata da virgola, all'attuale contenuto della Transfer Property. E' possibile quindi usare una Transfer Property per memorizzare tutta la sequenza di scelta dell'utente. |
Eventuale separatore | Eventuale caratteri di separazione da inserire nella transfer property tra il valore esistente e la parola riconosciuta dal servizio. |