10
Schachprogramm Die Anbindung Sphinx Dreamchess Akustisches Modell Speech2Chess Xboard Engine Wortschatz eingeschränkt Syntax Logik

Schachprogramm Die Anbindung Sphinx Dreamchess Akustisches Modell Speech2Chess Xboard Engine Wortschatz eingeschränkt Syntax Logik

Embed Size (px)

Citation preview

Page 1: Schachprogramm Die Anbindung Sphinx Dreamchess Akustisches Modell Speech2Chess Xboard Engine Wortschatz eingeschränkt Syntax Logik

Schachprogramm

Die Anbindung

Sphinx

Dreamchess

Akustisches Modell

Speech2Chess

Xboard Engine

Wortschatz

eingeschränkt

Syntax

Logik

Page 2: 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

Page 3: Schachprogramm Die Anbindung Sphinx Dreamchess Akustisches Modell Speech2Chess Xboard Engine Wortschatz eingeschränkt Syntax Logik

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();

Page 4: Schachprogramm Die Anbindung Sphinx Dreamchess Akustisches Modell Speech2Chess Xboard Engine Wortschatz eingeschränkt Syntax Logik

Eingeschränkte Wortschatz• Felder– A1 – H8

• Figuren– Bauer– Turm– …

• Kontrollbefehle– Ja, Nein– Spiel beenden– usw.

Page 5: Schachprogramm Die Anbindung Sphinx Dreamchess Akustisches Modell Speech2Chess Xboard Engine Wortschatz eingeschränkt Syntax Logik

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

Page 6: Schachprogramm Die Anbindung Sphinx Dreamchess Akustisches Modell Speech2Chess Xboard Engine Wortschatz eingeschränkt Syntax Logik

Das Schachprogramm - Dreamchess

• Dreamchess

Page 7: Schachprogramm Die Anbindung Sphinx Dreamchess Akustisches Modell Speech2Chess Xboard Engine Wortschatz eingeschränkt Syntax Logik

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

Page 8: Schachprogramm Die Anbindung Sphinx Dreamchess Akustisches Modell Speech2Chess Xboard Engine Wortschatz eingeschränkt Syntax Logik

Speech2Chess - Oberfläche

Page 9: Schachprogramm Die Anbindung Sphinx Dreamchess Akustisches Modell Speech2Chess Xboard Engine Wortschatz eingeschränkt Syntax Logik

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

Page 10: Schachprogramm Die Anbindung Sphinx Dreamchess Akustisches Modell Speech2Chess Xboard Engine Wortschatz eingeschränkt Syntax Logik

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:– {…}