Olá!
Esta é a implementação do TSA local para a estação espacial de jogo 14
No momento, o projeto parou na implementação no cliente do jogo
No momento, a partir deste repositório, você pode descobrir como criar um aplicativo de servidor para TTS e expressá -lo em C#
Sobre bibliotecas e modelos:
1) Como modelo de execução, um modelo Silero que funciona offline foi escolhido; apóia a criação de novos votos e pode trabalhar com núcleos CUDA
2) Para implementar o servidor para mensagens de dublagem, usei o Python com as mais recentes bibliotecas: Asyncio, JSON, Torch, IO, Soundfile, Pydub, Threading, Websockets
Essas bibliotecas permitem que você trabalhe com pacotes existentes do projeto C# Space Station 14
Para instalar o Torch e o FFMPEG, aconselho você a se familiarizar com os tutoriais. Além disso, para a tocha, você precisa de uma placa de vídeo com núcleos CUDA, mas no Silero Gita existem exemplos de como usar apenas a CPU
O que você parou?
No momento, o chatsystem.cs no content.server pode enviar com êxito solicitações de dublagem do canal local (chamamos de "nas proximidades"). O servidor TTS espera quem transferir o arquivo
Para o trabalho correto, é necessário adicionar o envio de solicitações de todos os canais (por exemplo, canais de rádio), além de implementar a transferência de arquivos para um cliente para reprodução adicional
Por que você abandonou o projeto?
Após uma tentativa do Content Client, ele ingressará no soquete do projeto do projeto, emitirá 0 erros, mas quando você iniciar o .exe, o cliente do jogo fechará imediatamente sem logs. Não consegui contornar esse problema. E sem a capacidade do cliente, ele ingressará no soquete do TTS Server para obter áudio para atuar dublagem, é necessário transferir áudio (possivelmente) do conteúdo.server para o content.shared - o que é responsável pela execução de classes abstratas e já através do Content.Shared para reproduzir áudio com o player. Minha decisão tornou possível fazer isso é muito mais fácil e não é atormentada com alguém que pôde ouvir a dublagem (para que Kep com zero não ouça a dublagem de mensagens de agentes nucleares). Mas como o cliente não permite que isso faça isso, será necessário implementar isso com o trânsito de conteúdo.server para content.client usando toda a funcionalidade da classe de código de jogo
Infelizmente, estou mal familiarizado com o código de esboço e não tenho projetos sérios em C#, bem como o tempo para estudar completamente a estrutura do código do jogo. Portanto, eu congelei meu projeto antes do advento de pessoas que poderiam ajudar a implementar a reprodução de áudio no código do jogo
Se você estiver pronto para implementar a reprodução do lado do cliente em jogos C#, posso ajudá -lo com a melhoria do servidor e processamento e transmissão de áudio
Minha comunicação discórdia: requiem4soul