こんにちは!
これは、ゲームスペースステーション14のローカルTSAの実装です
現時点では、プロジェクトはゲームのクライアントでの実装で停止しています
現時点では、このリポジトリから、TTS用のサーバーアプリケーションを作成し、C#で音声を出す方法を確認できます。
ライブラリとモデルについて:
1)実行のモデルとして、オフラインで動作するシレロモデルが選択されました。新しい票の作成をサポートし、Cuda Nucleiと連携することができます
2)音声演技メッセージ用のサーバーを実装するために、最新のライブラリでPythonを使用しました:Asyncio、Json、Torch、IO、SoundFile、Pydub、Threading、WebSockets
これらのライブラリを使用すると、C#Space Station 14プロジェクトの既存のパックで作業できます
TorchとFFMPEGをインストールするには、チュートリアルに精通することをお勧めします。また、トーチには、Cuda Nucleiを使用したビデオカードが必要ですが、Silero GitaにはCPUの使用方法の例があります
何に立ち寄ったの?
現時点では、content.serverのchatsystem.csは、ローカルチャネルから音声演技のリクエストを正常に送信できます(「近く」と呼ばれます)。 TTSサーバーは、誰がファイルを転送するかを期待します
正しい作業のために、すべてのチャネル(たとえば、ラジオチャネル)からのリクエストの送信を追加し、さらに再生のためにクライアントにファイルの転送を実装する必要があります
なぜプロジェクトを放棄したのですか?
コンテンツクライアントからの試みで、彼はプロジェクトのプロジェクトのソケットに参加します0エラーが発行されますが、.exeを開始すると、ゲームクライアントはすぐにログなしで閉じます。この問題を回避できませんでした。また、クライアントの能力がなければ、彼はTTSサーバーソケットに参加して音声演技のオーディオを取得します。content.serverからcontent.sharedにオーディオ(おそらく)を転送する必要があります。私の決定は、これを行うことがはるかに簡単であり、声の演技を聞くことができる人に苦しめられていません(そのため、ゼロのKepは原子力工作員からのメッセージの声の演技を聞きません)。ただし、クライアントはこれを許可していないため、Content.serverからContent.Clientへのトランジットでこれを実装する必要があります。ゲームコードのクラスの機能全体を使用して
残念ながら、私はスケッチコードにあまり精通しておらず、C#の深刻なプロジェクトと、ゲームコードの構造を完全に研究するための時間はありません。したがって、ゲームコードにオーディオの再現を実装するのに役立つ人々が出現する前に、私はプロジェクトを凍結しました
C#ゲームでクライアント側で再生を実装する準備ができている場合は、サーバーの改善とオーディオの処理と送信をお手伝いします。
私のコミュニケーションの不一致:requeem4soul