schachprogramm die anbindung sphinx dreamchess akustisches modell speech2chess xboard engine...
Post on 06-Apr-2015
107 Views
Preview:
TRANSCRIPT
Schachprogramm
Die Anbindung
Sphinx
Dreamchess
Akustisches Modell
Speech2Chess
Xboard Engine
Wortschatz
eingeschränkt
Syntax
Logik
Sphinx
• Java-Library• Einfache Einbindung in Java Applikationen
• Macht alles von – Aufnahme durch Mikrophone– Anwendung der Sprachmodelle– Entfernen von Füllwörtern (z.B. nun, gar, also)– Rückgabe des erkannten Textes mit Bewertung
Sphinx
• InitialisierungConfigurationManager cm = new ConfigurationManager(„chess.config.xml“);Recognizer recognizer = (Recognizer) cm.lookup("recognizer");Microphone microphone = (Microphone) cm.lookup("microphone");
• Erkennungmicrophone.startRecording()Result result = recognizer.recognize();String resultText = result.getBestFinalResultNoFiller();
Eingeschränkte Wortschatz• Felder– A1 – H8
• Figuren– Bauer– Turm– …
• Kontrollbefehle– Ja, Nein– Spiel beenden– usw.
Das Schachprogramm - Dreamchess
• OpenSource / GPL• Programmiersprache: C• Ursprung: Linux• Grafische Library: SDL -> 3D OpenGL• Kompilierbar unter Win mit MinGW • Lauffähig unter Win, Linux, Mac
• Schach Engine: Xboard Protokoll• Oberfläche: Komplett anpassbar
Das Schachprogramm - Dreamchess
• Dreamchess
Speech2Chess
• Programmiersprache: Java• Bindet Sphinx ein• Folgert Zug aus erkannten Satz• Überprüft Logik des erkannten Zugs
• Baut Verbindung zum Schachprogramm auf– Kommunikation über TCP Sockets
(WinSockets / Unix Sockets)• Steuert Spielverlauf
Speech2Chess - Oberfläche
Ablauf
• Sphinx: Bewege Bauer von a2 nach a4• SyntaxParser: src=a2, dst=a4, srcOpt=bauer• if not src and dst:– {…}
• if src and dst:– Schach Logik klärt ob gültiger Zug– if True:• Führe Zug aus
Ablauf
• Sphinx: Bewege Turm nach a4• SyntaxParser: src=?, dst=a4, srcOpt=bauer• if not src and dst:–Versuche Feld über optionale Informationen
zu finden.– Z.b. Wenn nur noch ein Turm vorhanden ist
• if src and dst:– {…}
top related