3D -Sprachschach
Ein mehrsprachiges, sprachgetriebenes 3D-Schachspiel zum Lernen und Unterrichten von Sprach-KI mit COQUI STT mit begrenzten Vokabularsprachenmodellen.
Bitte beachten Sie: Dieses Repo ist keine Produktionsbereitschaft. Es liegt irgendwo zwischen Alpha und Beta -Versionen ab dem 1. April 2022.
Aktuelle Fähigkeiten:
- Einzelbenutzerserver für Sprache zu Text STT Inferenz (NodeJS) (dh es funktioniert auf einem einzelnen Kern -Kernknoten - wir unterstützen jedoch einen Serverpool)
- 3D-Frontend (Sprache nur eine mehrsprachige Schnittstelle mit einigen Schaltflächen und Ausgangsbereichen)
- Derzeit unterstützte Sprachen: DE (Deutsch), En (Englisch), TR (türkisch)
- Du spielst gegen dich selbst :)

Wir haben eine Testseite geöffnet, die für unsere Tests von einem Serverpool unterstützt wird.
Inhaltszusammenfassung
- Schaffung von Akustikmodell: Beispiel Notizbuchmodell (TODO)
- Sprachmodellschöpfung: Alle Dateien zum Erstellen Ihres domänenspezifischen Sprachmodells
- Voice-Shap-Reaktion: Frontend-React & Three.JS-Implementierung
- Voice-Chess-Server: Server-Einfache Einzelverbindungs-NodeJS-Implementierung
So installieren
Todo
Wie man beiträgt
- Schaffung neuer akustischer und sprachlicher Modelle in Ihrer Sprache
- Besseres Schachschreiben für bestehende Sprachen bei Bedarf
- Ressourcendateien übersetzen (messages.json)
- Testen; Ideen, Feedback in Themen; Commits & PRs
Wie kann ich meine Sprache hinzufügen?
- Informieren Sie sich über die Schachterminologie in Ihrer Sprache (wenn Sie es nicht bereits wissen - hilft Wikipedia und YouTube).
- Untersuchen Sie vorhandene Sätze/Programme in Schachstrafergeneratoren.
- Kopieren Sie einen entsprechenden Satzgenerator, benennen Sie ihn in Ihren Sprachcode um und übersetzen/anpassen.
- Finden Sie ein kompatibles Coqui STT -Akustikmodell (.Tflite -Datei) oder trainieren Sie eine von Mozilla Common Voice Datasets.
- Ressourcendateien übersetzen (messages.json)
- Testen Sie Ihre Ergebnisse lokal auf Ihrem Forked Server/Client und verbessern Sie Ihre Modelle bei Bedarf.
- Machen Sie eine Pull-Anforderung (PR), um Ihr akustisches Modell (.Tflite), das Sprachmodell (.Scorer) zum Voice-Chess-Server/Voice-Dir, hinzu, fügen Sie die generierte JSON-Sprachdatei und übersetzte Nachrichten hinzu.
Wenn Sie einige davon nicht tun können, öffnen Sie bitte ein Problem, damit wir helfen können.
Andere Informationen
Aktuelle akustische und sprachliche Modelle
Detaillierte Informationen finden Sie hier.
Open Source -Projekte verwendet
- Stimme: Coqui STT, Coqui Beispiel, Kenlm, Mozilla Common Voice Datasets.
- 3D UI: Three.js & React-Drei-Faser (mit Drei und Zustand)
- Schach: Schach.js für Schachdaten und -kontrollen (keine KI oder GUI).
Der client- und serversprachbezogene Code wird aus dem Coqui -Beispiel web_microphon_websocket angepasst.
Historische Informationen
Die erste Version des Projekts wird zwischen dem 8. bis 15. März während des Hackathons "Hack the Planet" von Coqui.ai im Mozilla Festival 2022 erstellt.
Die Hauptidee bestand darin, in einer Woche eine redefähige Anwendung zu implementieren. Eine Gruppe von Menschen stimmte für die Implementierung eines sprachgesteuerten Spiels (Tic-Tac-Toe), aber die Idee wurde zu einem mehrsprachigen 3D-Schach. Ein Team wurde gegründet und die Implementierung einer Schachanwendung wurde zum Ziel. Teammitglieder waren Bö, JF, KM, MK.
Dies war eine zweiteilige Anwendung am Anfang:
- Der Serverteil ist eine Node.js -Anwendung, die den tatsächlichen STT durchführt
- Der Client ist eine React.js -App, die Sätze aufzeichnet und mit drei.js und mit Hilfe von Schach.js auf dem Browser über die Transkription übersät.
Aufgrund des begrenzten Zeitrahmens und der individuellen Zeitbeschränkungen hielt die Gruppe die Erwartungen ebenfalls begrenzt.
- Der UI -Teil wird minimal gehalten, aber funktioniert. Z. B. gibt es kein manuelles Spiel, verbesserte UI -Funktionen usw.
- Eine Stichprobe von Sprachen wurde ausgewählt, kann jedoch mit anderen Sprachen erweitert werden.
- Es gibt viele Kommandoformate für Schach. Um den gesamten Workflow zu vereinfachen, ist der Benutzer gezwungen, in dieser Version ein einzelnes Format zu verwenden:
"Move <piece> from <fromCell> to <targetCell>".
Hier ist "Stück" der Schach-Stück-Name wie King, Bischof usw., "Cell" ist die Board-Koordinaten-Col-Reihe (Säulen: AZ, Zeilen: 1-8).
- Nach mehreren Prüfungen mit Englisch und Türkisch fanden wir heraus, dass die Anerkennung einzelner alphabetischer Charaktere nicht robust genug ist (fast unmöglich), also verwendeten wir das NATO -Alphabet: Alpha, Bravo, ... Hotel. Mit Ausnahme der Namen der NATO wurden andere Formulierungen in die jeweiligen Sprachen übersetzt.
- Unterstützung für die folgenden Sprachen einschließen: - Deutsch, Englisch, Französisch, Hindi, Russisch, Türkisch
Am Ende der Projektdauer wurde eine halbbearbeitete Software für Englisch und Türkisch vorgestellt.
Sie können sich das erste Projektpräsentationsvideo hier ansehen.
Und wie am Ende der Präsentation versprochen, entwickeln wir uns weiterentwickeln und machen es hier offen.