Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1550 | Anzahl registrierter User: 1839 | Besucher online: 9
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Spracherkennung


Autor: Felix Knorr
Sprache: C#
Bewertung:
noch nicht bewertet
Anzahl der Aufrufe: 6217
  
Kick it on dotnet-kicks.de  

Beschreibung:

Ein kurzes Bsp zur Spracherkennung,
wenn ich mehr zeit habe, werde ich vlt ein umfangreiches Beispiel einstellen, wie man Grammatiken im Code schreibt, komplexere Konstrukte bildest,...

Aber als kleiner Einblick, dürfte dieses Beispiel recht nützlich sein


Abgelegt unter: Spracherkennung, Sprache, XML.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
private SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine();

//--------Beim laden aufrufen----------
recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
Grammar grammar = new Grammar("grammar.xml", "Befehle");
recognizer.UnloadAllGrammars();
recognizer.LoadGrammar(grammar);
//--------------------------------------

private void btnListen_Click(object sender, EventArgs e) {
   recognizer.SetInputToDefaultAudioDevice();
   recognizer.RecognizeAsync(RecognizeMode.Multiple);
}

private void btnStop_Click(object sender, EventArgs e) {
   recognizer.RecognizeAsyncCancel();
}

[DllImport("user32.dll")]
public static extern void LockWorkStation();

private void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) {
   if (e.Result.Text == "Schließen") {
      recognizer.Dispose();
      this.Close();
   } else if (e.Result.Text == "Sperren") {
      LockWorkStation();
   }
}



-----------------XML-Datei-------------------
<grammar xmlns="http://www.w3.org/2001/06/grammar"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://www.w3.org/2001/06/grammar
                             http://www.w3.org/TR/speech-grammar/grammar.xsd"
         xml:lang="de-DE" version="1.0">
  <rule id="Befehle" scope="public">
    <one-of>
      <item>Schließen</item>
      <item>Sperren</item>
    </one-of>
  </rule>
</grammar>
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

timmi schrieb am:  28.05.2010 22:47:05

xml:lang="de-DE" macht bei mir Probleme:

The language for the grammar does not match the language of the speech recognizer.

Wenn ich es in en-GB abändere geht es, dann muss ich die deutschen Befehler aber mit einem englischen Slang aussprechen damit es funktioniert! :-P

Vielen Dank, echt interessant deine Beitragsreihe! :)
Felix Knorr schrieb am:  29.05.2010 00:02:11

ist irgendwie eigenartig, bei mir funktioniert es ohne probleme
probier es einmal dem recognizer beim initialisieren eine culture mitzugeben
SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine(CultureInfo.CreateSpecificCulture("de-DE"));
timmi schrieb am:  31.05.2010 18:53:22

Dann wird folgende Exception geworfen:

No recognizer of the required ID found.
Parameter name: culture

Ich habe dir/euch vorenthalten, das ich eine englische Version vom VS2010 habe in Kombination mit .NET 4, wahrscheinlich wurde die Installation dann sprachentechnisch auch aufs englische hin ausgerichtet?
Hat jemand da Erfahrung?
sortilegio schrieb am:  17.07.2010 21:29:02

Hi Felix Knorr,

kannst du, oder irgendjemand mir bitte erklären, wie ich die spracherkennung in einer webanwendung (asp.net, visual web developer 2008 , c#) integrieren kann.
es sehr wichtig für mich und ich bin für jedes hilfe dankbar.

erstmal danke und ich hoffe auf antwort.

schönes wochenende :o)
Felix Knorr schrieb am:  18.07.2010 14:14:12

das funktioniert im prinzip ganz gleich wie bei windows anwendungen.
dabei ist mir gerade selber aufgefallen das ich in diesem tutorial etwas vergessen habe, das man auf den namespace System.Speech zugreifen kann, muss man ihn zuerst den Verweisen hinzufügen,
falls es nicht funktioniert kannst du mir eine pn schicken und ich kann da dann einen kleinen bspcode in asp.net schicken
sortilegio schrieb am:  20.07.2010 23:38:12

Hi , Felix Knorr ..... die spracherkennung funktioniert nicht wie bei windows anwendung.. den verweis habe hinzugefügt, trotzdem funktioniert es nicht.... ich wollte dir eine pn schicken, aber hier geht das nicht, teilt du mir bitte mit , wo ich dich schreiben kann... bitte ich brauche deine hilfe. DANKE !!


das funktioniert im prinzip ganz gleich wie bei windows anwendungen.
dabei ist mir gerade selber aufgefallen das ich in diesem tutorial etwas vergessen habe, das man auf den namespace System.Speech zugreifen kann, muss man ihn zuerst den Verweisen hinzufügen,
falls es nicht funktioniert kannst du mir eine pn schicken und ich kann da dann einen kleinen bspcode in asp.net schicken
sortilegio schrieb am:  23.07.2010 13:56:28

Hallo Felix Knorr, bitte melde dich . Ich habe ein paar Fragen bezüglich die Spracherkenung.

Danke
sortilegio schrieb am:  23.07.2010 13:56:36

Hallo Felix Knorr, bitte melde dich . Ich habe ein paar Fragen bezüglich die Spracherkenung.

Danke
Felix Knorr schrieb am:  30.07.2010 19:29:36

tut mir leid das ich mich nicht früher gemeldet habe, aber ich war auf urlaub
sortilegio schrieb am:  05.08.2010 02:44:19

Halllo ,Felix Knorr !! schön , dass du wieder da bist :) wie gesagt die spracherkenung funktioniert nicht in asp.net wie bei windows anwendung kannst du mir da helfen.

Danke


Diese Snippets könnten für Sie interessant sein:
[VB.NET] Klasse für mehrsprachige Programme
[C#] Text-to-Speech (Sprachausgabe)
[C#] Objekt in XML speichern (Serialisieren)
[C#] Treeview in XML schreiben
[ASP.net] XML - HTML Transformation
[C#] XML Encoding eines XmlDocument ändern
[C#] XMLDocument in XDocument konvertieren
[C#] Rss Feed in XMLDocument laden
[VB.NET] XML Datei in DataSet einlesen
[VB.NET] Objekt mit dem XmlSerializer serialisieren
[VB.NET] XML Datei mit dem XmlSerializer deserialisieren
[C#] Image zu Base64 konvertieren und zurück
[C#] Generische XML-Serialisierung
[C#] CSV und XML-Datei Datenbank-Import (incl. valid-check)
[C#] Währungskurse in Datenbank speichern
[VB.NET] Einfaches Erstellen einer XML Datei in .Net
[C#] XML in DataTable laden
[C#] Intellisense Unterstützung für XML Dateien für LINQ
[C#] user.config und generische Listen
[C#] Dataset verschlüsseln
[C#] Xml Datei entschlüsseln
[ASP.net] XML Daten über einen Internet Proxy abfragen
[C#] XML-Programmkonfiguration / -Steuerung
[C#] Formatieren von Sonderzeichen für XML
[C#] Binärdatei in XML File speichern
[C#] Binärdatei aus XML Datei auslesen und abspeichern
[C#] leere Knoten aus XML Document entfernen
[C#] XML Kommentare entfernen
[C#] Austauch von kritischen Zeichen in einem String...
[C#] Excel-Export ohne Excel (auch für Web)
[C#] Ini-Datei-Klasse
[C#] TreeView Export To Xml OR Import from XMl
[C#] Autom. Laden & Speichern von Position und Größe eines Forms
[VB.NET] Bild als XML Datei Speichern
[C#] Ein Object serialisieren
[C#] Ein Object deserialisieren
[C#] Konvertiert Code nach Example für XML-Kommentar
[C#] XMLIO - einfachstes (De)serialisieren von/zu XML-Dateien
[C#] Generisch XML De-/ Serialisieren
[C#] XML generieren mit Linq to XML
[C#] 3 arten der Serialisierung bzw Deserialisierung
[C#] Wunderground Wettervorhersage
[C#] Mit LINQtoXML XML Dateien erzeugen bzw. abfragen
[C#] ini Datei anlegen - mit Dictionary
[C#] Typen mit dem XmlSerializer (de-)serialisieren

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.