Skip to content

Requiem4soul/TTS_SS14

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Привет!

Это реализация локального ТТСа для игры Space Station 14

На данный момент проект остановился на реализации в клиенте игры

На текущий момент из данного репозитория вы можете узнать как создать серверное приложение для ТТСа и озвучивать его на C#

О библиотеках и модели:

1) В качестве модели для исполнения была выбрана silero модель, которая работает офлайн; поддерживает создание новых голосов и может работать с CUDA ядрами
2) Для реализации сервера для озвучки сообщений я использовал Python с последними библиотеками: asyncio, json, torch, io, soundfile, pydub, threading, websockets
Эти библиотеки позволяют работать с существующими пакетыми C# проектом Space Station 14
Для установки torch и ffmpeg советую ознакомится с туториалами. Так же для torch необходима видеокарта с ядрами CUDA, но на гите silero есть примеры как использовать только CPU

На чём остановились?

На данный момент ChatSystem.cs в Content.Server может успешно отправлять запросы на озвучку сообщений из канала local (у нас он называется "Рядом"). Сервер ТТСа будет ожидать кому передать файл
Для корректной работы необходимо добавить отправление запросов из всех каналов (к примеру радио каналы), а так же реализовать передачу файлов на клиент для дальнейшего воспроизведения

Почему забросил проект?

При попытке из Content Client присоединится к сокету билд проекта будет выдавать 0 ошибок, но при запуске .exe клиент игры у вас будет сразу закрываться без логов. Мне так не удалось обойти эту проблему. А без возможности у клиента присоединится к сокету сервера ТТСа для получения аудио для озвучки, необходимо передавать аудио (возможно) от Content.Server до Content.Shared - который отвечает за выполнение абстрактных классов, и уже через Content.Shared воспроизводить у игрока аудио. Моё решение позволяло сделать это куда проще и не мучится с тем, кто может услышать озвучку сообщения (чтобы кеп с нулевой не слышал озвучку сообщений от ядерных оперативников). Но так как клиент не позволяет этого сделать, то необходимо будет это реализовывать транзитом от Content.Server до Content.Client используя весь функционал классов кода игры
К сожалению, я плохо знаком с кодом ССки и не имею серьёзных проектов в C#, а так же времени для того, чтобы полностью изучить структуру кода игры. Поэтому я заморозил свой проект до появления людей, которые могли бы помочь реализовать воспроизведение аудио в коде игры

Если вы готовы реализовать воспроизведение на стороне клиента в C# игры, я могу помочь вам с улучшением сервера и обработкой и передачей аудио

Мой дискорд для связи: requiem4soul

About

TTS (Text To Speech) for SS14

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published