Actualización: noviembre 2007
Microsoft .NET Framework versión 3.5. .NET Framework es un componente integral de Windows que admite la creación y la ejecución de la siguiente generación de aplicaciones y servicios Web. Los componentes clave de .NET Framework son Common Language Runtime (CLR) y la biblioteca de clases .NET Framework, que incluye ADO.NET, ASP.NET, formularios Windows Forms y Windows Presentation Foundation (WPF). .NET Framework proporciona un entorno de ejecución administrado, un desarrollo e implementación simplificados y la integración con una gran variedad de lenguajes de programación. Para obtener una introducción breve a la arquitectura de .NET Framework, vea Información general y conceptual sobre .NET Framework. Para obtener una descripción de la versión 3.5 de .NET Framework y su relación con las versiones anteriores de .NET Framework, vea Arquitectura de .NET Framework 3.5.
La documentación para .NET Framework incluye una amplia referencia a la biblioteca de clases, introducción general a los conceptos, procedimientos paso a paso e información sobre ejemplos, compiladores y herramientas de la línea de comandos. Para encontrar información de su interés, vea la siguiente lista de áreas de temas principales.
Posteo, porque me interese por este tema y la verda que lo que encrontre por ahi no me resulto de gran ayuda...
enlaze de proyecto
http://www.megaupload.com/?d=XJ11IPM8
------------------------------------------
Funcionando 100% y probado en :
Portatil: ACER Aspire 5741G
Procesador: Intel(R) Core(TM) i5 CPU M 450 @ 2.40GHz 2.40 GHz
RAM: 4 GB
Sistema: 64 Bits
------------------------------------------
Las frases de reconocimiento para la aplicacion
grammar.Append(New Choices("Uno", "Dos", "Tres", "Cuatro", _
"Cinco", "Seis", "Siete", "Ocho", "Nueve", "Cero", "Mas", "Menos", "Del", "Calcular", "Borrar"))
Para el que no quiera bajar el archivo
usando VisualStudio 2008 con .NET Framework 3.5
PASOS
--nuevo proyecto(Aplicacion de Windows Forms)
--crear 2 TextBox (TextBox1,TextBox2)
una vez creados, la propiedad Enable la ponemos a false, esto para los 2 TextBox
--agregar la referencia System.speech
"Proyecto"/"Agregar referencia..." y buscamos dentro de la pestaña .NET "System.speech"
--sustituir el codigo de la aplicacion por este
Option Explicit On
Imports System.Speech.Recognition
Imports System.Speech.Recognition.SrgsGrammar
Public Class Form1
''VARIABLE PUBLICA OBJETO SPEECHRECOGNIZER
Public recognizer As SpeechRecognizer
''VARIABLE PARA REPRODUCIR TEXTO
Public voz As New Speech.Synthesis.SpeechSynthesizer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
''INICIAMOS LA VARIABLE QUE UTILIZAMOS PARA EL RECONOCIMIENTO
recognizer = New SpeechRecognizer()
''ANADIMOS EVENTOS PARA EL RECONOCIMIENTO
AddHandler recognizer.SpeechDetected, AddressOf detectado
AddHandler recognizer.SpeechRecognitionRejected, AddressOf noreco
AddHandler recognizer.SpeechRecognized, AddressOf reco
''INDICAMOS QUE EL OBJETO ESTE A TRUE=ACTIVADO
recognizer.Enabled = True
''DECLARAMOS OBJETO GRAMMAR
Dim grammar As New GrammarBuilder
''AÑADIMOS FRASES A RECONOCER
grammar.Append(New Choices("Uno", "Dos", "Tres", "Cuatro", _
"Cinco", "Seis", "Siete", "Ocho", "Nueve", "Cero", "Mas", "Menos", "Del", "Calcular", "Borrar"))
''CARGAMOS OBJETO GRAMMAR EN OBJETO SPEECHRECOGNIZER
recognizer.LoadGrammar(New Grammar(grammar))
System.Windows.Forms.Application.DoEvents()
End Sub
''EVENTOS DE SYSTEM.SPEECH.RECOGNITION
''SE DETECTA EL HABLA POR MICROFONO
Private Sub detectado(ByVal sender As Object, ByVal e As SpeechDetectedEventArgs)
''MsgBox(e.AudioPosition.Duration.ToString())
End Sub
Private Sub noreco(ByVal sender As Object, ByVal e As SpeechRecognitionRejectedEventArgs)
''MsgBox("No se reconoce el comando de VOZ")
voz.S***k("Comando no encontrado")
End Sub
Private Sub reco(ByVal sender As Object, ByVal e As SpeechRecognizedEventArgs)
Select Case e.Result.Text.ToUpper.ToString
Case "UNO"
TextBox1.Text &= 1
Case "DOS"
TextBox1.Text &= 2
Case "TRES"
TextBox1.Text &= 3
Case "CUATRO"
TextBox1.Text &= 4
Case "CINCO"
TextBox1.Text &= 5
Case "SEIS"
TextBox1.Text &= 6
Case "SIETE"
TextBox1.Text &= 7
Case "OCHO"
TextBox1.Text &= 8
Case "NUEVE"
TextBox1.Text &= 9
Case "CERO"
TextBox1.Text &= 0
Case "MAS"
If TextBox1.Text.Contains("-") = True Then
operacion("-", "+")
Else
If TextBox1.Text.Contains("+") = True Then
operacion("+", "+")
Else
TextBox1.Text &= "+"
End If
End If
Case "MENOS"
If TextBox1.Text.Contains("+") = True Then
operacion("+", "-")
Else
If TextBox1.Text.Contains("-") = True Then
operacion("-", "-")
Else
TextBox1.Text &= "-"
End If
End If
Case "CALCULAR"
If TextBox1.Text.Contains("+") = True Then
operacion("+", "")
Else
operacion("-", "")
End If
Case "BORRAR"
Try
TextBox1.Text = Strings.Mid(TextBox1.Text, 1, TextBox1.Text.Length - 1)
Catch ex As Exception
voz.S***k("Campo vacio")
End Try
Case "DEL"
TextBox1.Text = ""
TextBox2.Text = ""
Case Else
End Select
End Sub
Public Function operacion(ByVal simbol As String, ByVal simbolx As String)
Dim linea As String
Dim separado(2) As String
Dim suma As Integer = 0
linea = TextBox1.Text
separado = Split(linea, simbol, -1)
If (simbol = "+") Then
suma = Convert.ToInt32(separado(0)) + Convert.ToInt32(separado(1))
Else
suma = Convert.ToInt32(separado(0)) - Convert.ToInt32(separado(1))
End If
TextBox2.Text = suma
TextBox1.Text = suma & simbolx
Return True
End Function
End Class