Benutzer mit den meisten Antworten
Textfeld-Eingabe mittels Spracheingabe

Frage
-
Hallo Forum,
ich möchte einen Text mittels Spracheingabe erfassen.
Als Einstieg in das Thema reicht mir eine Zahlen- und Buchstaben-Eingabe.
Wie kann ich mich dem Thema Spracheingabe nähern?
Bietet vs2010 dafür etwas im Framework?
Besten Dank vorab!
Ciao, Alberto
Antworten
-
Hallo Alberto
.NET bietet 'wrapper' für die in der jeweiligen Windows Version verfügbaren APIs und (eingebaute oder zugekaufte) Engines, siehe
System.Speech assembly,
System.Speech.Recognition Namespace
http://msdn.microsoft.com/en-us/library/system.speech.recognition.aspx
http://msdn.microsoft.com/en-us/magazine/cc163663.aspx
http://msdn.microsoft.com/en-us/library/dd148511.aspx
http://www.redmondpie.com/speech-recognition-in-a-c-wpf-application/
aber das Thema erfordert ggf einige Einarbeitung in die Details (welche nicht nur .NET-Programierung betreffen!), und Wunder darf man nicht erwarten.
Bei neueren Windows-Versionen kann/sollte man die eingebaute Spracherkennung zuvor auf einen Sprecher 'trainieren'.- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 21. Oktober 2010 08:10
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 11. November 2010 14:07
-
Hallo Alberto,
ja, dazu bietet .NET auch schon vor VS2010 einiges.
Ich habe damit schon einige Programme geschrieben. Aus einem meiner alten Postings dazu kopiert:
ja, sehr sehr einfach und managed und in Deutsch nutzbar.
Die .NET "System.Speech.dll" über Verweise einbinden und dann:
SpeechRecognizer rec = new SpeechRecognizer();
public Form1()
{
InitializeComponent();
rec.SpeechRecognized += rec_SpeechRecognized;
}
void rec_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
lblLetter.Text = e.Result.Text;
}
void Form1_Load(object sender, EventArgs e)
{
var c = new Choices();
for (var i = 0; i <= 100; i++) c.Add(i.ToString());
var gb = new GrammarBuilder(c);
var g = new Grammar(gb);
rec.LoadGrammar(g);
rec.Enabled = true;
}
Es ist insgesamt so ~lalal IMHO. Halt manchmal
Spracherkennungsfehler, aber das kannst Du ja
schnell selber testen und für Dich beurteilen.
Oder was gekauftes:
[Software, Spracherkennung, Dragon NaturallySpeaking 11 – Nuance] br/>
Weiterführende Links ggf.:
[Microsoft Speech: Home Page]
http://www.microsoft.com/speech/default.aspx
________________________Einer der zentrale Einstiegspunkte bzgl.Doku ist:
[System.Speech.Recognition-Namespace ()]
http://msdn.microsoft.com/de-de/library/system.speech.recognition.aspx
ciao Frank- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 21. Oktober 2010 08:10
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 11. November 2010 14:07
Alle Antworten
-
Hallo Alberto
.NET bietet 'wrapper' für die in der jeweiligen Windows Version verfügbaren APIs und (eingebaute oder zugekaufte) Engines, siehe
System.Speech assembly,
System.Speech.Recognition Namespace
http://msdn.microsoft.com/en-us/library/system.speech.recognition.aspx
http://msdn.microsoft.com/en-us/magazine/cc163663.aspx
http://msdn.microsoft.com/en-us/library/dd148511.aspx
http://www.redmondpie.com/speech-recognition-in-a-c-wpf-application/
aber das Thema erfordert ggf einige Einarbeitung in die Details (welche nicht nur .NET-Programierung betreffen!), und Wunder darf man nicht erwarten.
Bei neueren Windows-Versionen kann/sollte man die eingebaute Spracherkennung zuvor auf einen Sprecher 'trainieren'.- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 21. Oktober 2010 08:10
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 11. November 2010 14:07
-
Hallo Alberto,
ja, dazu bietet .NET auch schon vor VS2010 einiges.
Ich habe damit schon einige Programme geschrieben. Aus einem meiner alten Postings dazu kopiert:
ja, sehr sehr einfach und managed und in Deutsch nutzbar.
Die .NET "System.Speech.dll" über Verweise einbinden und dann:
SpeechRecognizer rec = new SpeechRecognizer();
public Form1()
{
InitializeComponent();
rec.SpeechRecognized += rec_SpeechRecognized;
}
void rec_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
lblLetter.Text = e.Result.Text;
}
void Form1_Load(object sender, EventArgs e)
{
var c = new Choices();
for (var i = 0; i <= 100; i++) c.Add(i.ToString());
var gb = new GrammarBuilder(c);
var g = new Grammar(gb);
rec.LoadGrammar(g);
rec.Enabled = true;
}
Es ist insgesamt so ~lalal IMHO. Halt manchmal
Spracherkennungsfehler, aber das kannst Du ja
schnell selber testen und für Dich beurteilen.
Oder was gekauftes:
[Software, Spracherkennung, Dragon NaturallySpeaking 11 – Nuance] br/>
Weiterführende Links ggf.:
[Microsoft Speech: Home Page]
http://www.microsoft.com/speech/default.aspx
________________________Einer der zentrale Einstiegspunkte bzgl.Doku ist:
[System.Speech.Recognition-Namespace ()]
http://msdn.microsoft.com/de-de/library/system.speech.recognition.aspx
ciao Frank- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 21. Oktober 2010 08:10
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 11. November 2010 14:07