3D音声チェス
限られた語彙モデルを使用して、コキSTTを使用して、音声AIを学習および教育するための多言語駆動型の3Dチェスゲーム。
注:このリポジトリは生産準備ができていません。 2022年4月1日現在、アルファバージョンとベータバージョンの間のどこかにあります。
現在の機能:
- テキストSTT推論(nodejs)へのスピーチのための単一のユーザーサーバー(つまり、単一のコアフリーノードで動作しますが、サーバープールをサポートしています)
- 3Dフロントエンド(いくつかのボタンと出力領域を備えた音声のみ多言語インターフェース)
- 現在サポートされている言語:de(ドイツ語)、en(英語)、tr(トルコ語)
- あなたは自分自身に対して遊ぶ:)

テスト用のサーバープールでサポートされているテストサイトを開きました。
コンテンツの概要
- Acoustic-Model-Creation:ノートブックモデルの例(TODO)
- Language-Model-Creation:ドメイン固有の言語モデルを作成するためのすべてのファイル
- Voice-Chess-React:FrontEnd-React&Three.jsの実装
- Voice-Chess-Server:サーバー - 単純な単一接続nodejs実装
インストール方法
トト
貢献する方法
- あなたの言語に新しい音響モデルと言語モデルの作成
- 必要に応じて、既存の言語に対するより良いチェス関連の文言
- リソースファイル(messages.json)を翻訳する
- テスト;アイデア、問題のフィードバック。コミット&PR
言語を追加するにはどうすればよいですか?
- あなたの言語でチェスの用語に関する情報を取得します(まだわからない場合 - ウィキペディアとYouTubeが役立ちます)。
- チェスセンテンスジェネレーターの既存の文/プログラミングを調べます。
- 適切な文のジェネレーターをコピーし、それを言語コードに変更し、翻訳/適応します。
- 互換性のあるCoqui stt音響モデル(.tfliteファイル)を見つけたり、Mozilla Common Voiceデータセットからトレーニングしたりします。
- リソースファイル(messages.json)を翻訳する
- フォークされたサーバー/クライアントで結果をローカルにテストし、必要に応じてモデルを改善します。
- アコースティックモデル(.tflite)、言語モデル(.scorer)を音声チェスサーバー/音声dirに追加して、Pullリクエスト(PR)を作成し、生成されたJSON言語ファイルを追加し、翻訳したメッセージを追加します。
これらのいくつかを実行できない場合は、問題を開いてください。
その他の情報
現在の音響モデルと言語モデル
詳細情報はこちらをご覧ください。
使用されるオープンソースプロジェクト
- 音声:Coqui Stt、Coquiの例、Kenlm、Mozilla Common Voiceデータセット。
- 3D UI:Three.js&React-Three-Fiber(DreiとZustandを使用)
- チェス:チェスデータとコントロール用のチェス。
クライアントとサーバーの音声関連コードは、coquiの例web_microphone_websocketから採用されています。
歴史情報
プロジェクトの最初のバージョンは、3月8〜15日の間にモジラフェスティバル2022年のCoqui.aiの「ハックザプラネット」ハッカソン中に作成されます。
主なアイデアは、1週間でスピーチ対応アプリケーションを実装することでした。人々のグループは、音声制御ゲーム(TIC-TAC-TOE)の実装に投票しましたが、このアイデアは多言語駆動型の3Dチェスになりました。チームが結成され、チェスアプリケーションの実装が目標になりました。チームメンバーは、Bö、JF、KM、MKでした。
これは最初の2部のアプリケーションでした。
- サーバーパーツは、実際のSTTを実行するnode.jsアプリケーションです
- クライアントは、socket.ioを介した文字執行のために文を記録し、サーバーに通信するReact.jsアプリです。
時間枠が限られており、個々の時間の制約があるため、グループは期待も限られていました。
- UI部品は最小限に抑えられますが、動作します。たとえば、マニュアルプレイ、強化されたUI機能などはありません。
- 言語のサンプルが選択されましたが、他の言語で拡張できます。
- チェスには多くの指揮策があります。ワークフロー全体を簡素化するために、ユーザーはこのバージョンで単一の形式を使用することを余儀なくされます。
"Move <piece> from <fromCell> to <targetCell>".
ここで「ピース」は、キング、ビショップなどのチェスピース名、「セル」はボード調整列列(列:az、行:1-8)です。
- 英語とトルコ語でのいくつかの試験の後、単一のアルファベット文字の認識が十分に堅牢ではないことがわかりました(ほぼ不可能)ので、NATOアルファベット:Alpha、Bravo、... Hotelを使用しました。 NATOの命名を除き、他の言葉遣いはそれぞれの言語に翻訳されました。
- 次の言語へのサポートを含める: - ドイツ語、英語、フランス語、ヒンディー語、ロシア語、トルコ語
プロジェクト期間の終わりに、英語とトルコ語のために半稼働ソフトウェアが提示されました。
ここで最初のプロジェクトプレゼンテーションビデオを見ることができます。
そして、プレゼンテーションの最後に約束されているように、私たちはここで開発し、オープンソースを作成し続けています。