o-LIVE-r

Windows, Windows Phone, Silverlight, Internet Explorer, and the Cloud

  • o-LIVE-r

    Windows 7: Spracherkennung und–Ausgabe

    • 0 Comments

    Die Spracherkennung und -ausgabe von Windows 7 ist sehr ausgereift. Mit sehr wenigen Zeilen-Code ist es möglich, das der Computer Texte "aussprechen" kann und auch erkennen kann. Dieses Video demonstriert eine Beispielanwendung und wie diese implementiert wurde.

    Der einziger Wehrmutstropfen der Speech API besteht darin, daß die Sprachausgabe nur eine englische Stimme unterstützt.

    Wie implementiert man nun die Spracherkennung in eigenen Anwendungen?

    Einbinden der System.Speech-Bibliothek

    Damit man die Funktionen der Spracherkennung verwenden kann muss man die Bibliothek System.Speech aus dem .NET Framework als Referenz zu einem neuen .NET Projekt hinzufügen.

    image

    Anschließend steht der Anwendung die Funktionalität der Sprachausgaben zur Verfügung.

     

    Sprache ausgeben

    Mit den folgenden zwei Zeilen Code bewegt man den Computer zur Sprachausgabe.

    System.Speech.Synthesis.SpeechSynthesizer synthesizer =
        new System.Speech.Synthesis.SpeechSynthesizer();
     
    synthesizer.Speak("Hello World");

    Grammar/Grammatik definieren

    Damit der Computer weiß, welche Wörter er erkennen soll, benötigt die Anwendung eine Liste von Wörtern, auf die gehört werden soll.

    Diese Liste definiert man am einfachsten über eine 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="thema"
            scope="public">
        <one-of>
          <item>Rechts</item>
          <item>Links</item>
          <item>Hoch</item>
          <item>Runter</item>
          
          <item>Windows</item>
          <item>Programmierer</item>
          <item>Visual Studio</item>
          <item>Feierabend</item>
          <item>Hallo</item>
          <item>Guten Tag</item>
          <item>Guten Abend</item>
          <item>Auf Wiedersehen</item>
          <item>Servus</item>
        </one-of>
      </rule>
    </grammar>

    Dadurch weiß die Anwendung, welche Wörter zu erkennen sind.

    Sprache erkennen

    Damit die Anwendung nun auch auf “Wort” gehorcht, benötigt man eine Instanz der SpeechRecognitionEngine.

    recognizer = new SpeechRecognitionEngine();
    recognizer.SetInputToDefaultAudioDevice();
     
    Grammar grammar = new Grammar("grammar.xml", "thema");
    recognizer.UnloadAllGrammars();
    recognizer.LoadGrammar(grammar);
     
    recognizer.SpeechRecognized += (s, e1) =>
    {
        string text = e1.Result.Text;
        _recognizedText.Text = text;
    };
     
    recognizer.RecognizeAsync(RecognizeMode.Multiple);

    Wenn das nur immer so einfach wäre, jemand dazu zu bewegen einem zu zu hören Smiley

    Download der Sourcen

  • o-LIVE-r

    Music: Every OS Sucks …

    Let’s start the year with some fun. ...read more
  • o-LIVE-r

    Wettbewerb: Ideen für das “Digitale München”

    • 1 Comments

    Bin gerade darauf gestoßen, das meine Wahlheimat noch sehr viel Potential bezüglich ihrer Digitalisierung hat. Der Wettbewerb – Ihre Ideen für das “Digitale München” sucht nach Ideen von Münchenern für Münchener. Für Entwickler ist dieser Wettbewerb insofern interessant, als das er auch viele “Daten” liefert, was man als Apps alles entwickeln könnte.

    Mehr Informationen gibt es hier.



  • o-LIVE-r

    Herzlich Willkommen im Jahr 2011

    • 0 Comments

    Hallo, herzlich Willkommen im Jahr 2011. Ich hoffe das jeder gut rübergekommen ist. Jetzt müssen wir noch schnell die erste Woche mit ihren nervigen “Frohes Neues”-Sprüchen hinter uns bringen.

    Ich wünsch allen ein erfolgreiches Jahr 2011 … ich hoffe wir sehen, sprechen und hören uns ….

    The-Oliver



Page 3 of 3 (54 items) 123