¡Hola!
Esta es la implementación de la TSA local para la estación espacial de juego 14
Por el momento, el proyecto se ha detenido en la implementación en el cliente del juego
En este momento, de este repositorio, puede averiguar cómo crear una aplicación de servidor para TTS y expresarla en C#
Sobre bibliotecas y modelos:
1) Como modelo para la ejecución, se eligió un modelo Silero que funciona fuera de línea; Apoya la creación de nuevos votos y puede trabajar con los núcleos de Cuda
2) Para implementar el servidor para mensajes de actuación de voz, utilicé Python con las últimas bibliotecas: Asyncio, JSON, Torch, IO, Soundfile, Pydub, Threading, WebSockets
Estas bibliotecas le permiten trabajar con paquetes existentes del proyecto C# Space Station 14
Para instalar Torch y FFMPEG, le aconsejo que se familiarice con los tutoriales. Además, para la antorcha necesita una tarjeta de video con núcleos Cuda, pero en el Silero Gita hay ejemplos de cómo usar solo CPU
¿En qué te detuviste?
Por el momento, ChatSystem.cs en content.server puede enviar con éxito solicitudes de actuación de voz desde el canal local (lo llamamos "cerca"). El servidor TTS esperará a quién transferir el archivo
Para el trabajo correcto, es necesario agregar el envío de solicitudes desde todos los canales (por ejemplo, canales de radio), así como implementar la transferencia de archivos a un cliente para una mayor reproducción.
¿Por qué abandonaste el proyecto?
Tras un intento del cliente de contenido, se unirá al socket del proyecto del proyecto emitirá 0 errores, pero cuando comience el .exe, el cliente del juego se cerrará inmediatamente sin registros. No pude solucionar este problema. Y sin la capacidad del cliente, se unirá al socket de servidor TTS para obtener audio para la actuación de voz, es necesario transferir audio (posiblemente) desde content.server a content.shared, que es responsable de la ejecución de clases abstractas, y ya a través de contenido. Solía reproducir audio con el reproductor. Mi decisión hizo posible hacer esto es mucho más fácil y no está atormentada con alguien que podría escuchar la actuación de la voz (por lo que KEP con cero no escucha la actuación de la voz de los mensajes de los agentes nucleares). Pero dado que el cliente no permite que esto haga esto, será necesario implementar esto con el tránsito de content.server a content.client utilizando toda la funcionalidad de la clase de código de juego
Desafortunadamente, estoy mal familiarizado con el código de boceto y no tengo proyectos serios en C#, así como el tiempo para estudiar completamente la estructura del código de juego. Por lo tanto, congelé mi proyecto antes del advenimiento de las personas que podrían ayudar a implementar la reproducción de audio en el código de juego
Si está listo para implementar jugar en el lado del cliente en los juegos de C#, puedo ayudarlo con la mejora del servidor y procesar y transmitir audio
Mi discordia de comunicación: réquiem4soul