Diamo voce ad ASP.NET

di: Sosan Abou Assalè     30 Maggio 2007

Cambiare Speaker

Abbiamo utilizzato la voce di default "Mary", ce ne sono altre a disposizione e le possiamo scegliere seguendo pochi passaggi.

Aggiungiamo una nuova pagina al progetto web e nominiamola "voci.aspx". Nella pagina inseriamo solamente un ListBox.

Importiamo il namespace SpeechLib e dichiariamo voce, oggetto della ormai familiare classe SpVoice. Utilizzeremo anche una variabile ObjTok, interfaccia IspeechObjectToken, che ci servirà per recuperare l'insieme delle voci disponibili e popolare il ListBox.

Quando l'utente seleziona uno degli speaker nella lista, il programma risponde recitando il nome del personaggio.

Listato 2. Selezione dello speaker (Versione VB.NET)

using SpeechLib;

public partial class voci : System.Web.UI.Page
{
  private SpVoice voce = new SpVoice();

  protected void Page_Load(object sender, EventArgs e)
  {
    if (!IsPostBack)
    {
      // popoliamo la lista
      foreach(ISpeechObjectToken ObjTok in voce.GetVoices("",""))
        lbPersonaggi.Items.Add(ObjTok.GetDescription(0));
    }
  }

  protected void lbPersonaggi_SelectedIndexChanged(object sender, EventArgs e)
  {
    voce.Voice = voce.GetVoices("","").Item(lbPersonaggi.SelectedIndex);
    voce.Speak(voce.Voice.GetDescription(0), SpeechVoiceSpeakFlags.SVSFDefault);
  }
}

Figura 4. La pagina voci.aspx in esecuzione

La pagina voci.aspx in esecuzione

Nella variabile di tipo SpVoice viene memorizzata la voce del personaggio scelto e viene eseguito l'audio della voce scelta.

Conclusioni

Gli esempi illustrati sono molto semplici e vogliono essere uno spunto per approfondire le moltissime possibilità offerte dalla sintesi e dal riconoscimento vocale. Sono molte le specifiche (come VoiceXML) i prodotti sul mercato e i tool per sviluppatori.

Guide ASP.Net

Guida Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Progettazione database

11 Maggio 2012 a Milano
Disponibilità: 6 Posti

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto