From 9a1db8d551a515478c5389d88e03185c2d1c2c55 Mon Sep 17 00:00:00 2001 From: HitPanda <104197232+EnefFlow@users.noreply.github.com> Date: Sun, 18 Jun 2023 22:07:52 +0300 Subject: [PATCH] [Tweak] TTS perfomance + 7 new voices (#143) * [Tweak] TTS perfomance * Added 7 new voices * Comment ddr2 --- Content.Client/White/TTS/TTSSystem.cs | 2 +- Content.Server/White/TTS/TTSManager.cs | 3 +- .../Locale/ru-RU/white/tts/tts-voices.ftl | 7 +++ Resources/Prototypes/White/tts-voices.yml | 52 +++++++++++++++++-- 4 files changed, 57 insertions(+), 7 deletions(-) diff --git a/Content.Client/White/TTS/TTSSystem.cs b/Content.Client/White/TTS/TTSSystem.cs index 66fdc584e7..84e6167547 100644 --- a/Content.Client/White/TTS/TTSSystem.cs +++ b/Content.Client/White/TTS/TTSSystem.cs @@ -115,7 +115,7 @@ public sealed class TTSSystem : EntitySystem private bool TryCreateAudioSource(byte[] data, [NotNullWhen(true)] out IAudioSource? source) { var dataStream = new MemoryStream(data) { Position = 0 }; - var audioStream = _audioSystem.LoadAudioWav(dataStream); + var audioStream = _audioSystem.LoadAudioOggVorbis(dataStream); source = _audioSystem.CreateAudioSource(audioStream); if (source == null) { diff --git a/Content.Server/White/TTS/TTSManager.cs b/Content.Server/White/TTS/TTSManager.cs index 54929775b6..672db625aa 100644 --- a/Content.Server/White/TTS/TTSManager.cs +++ b/Content.Server/White/TTS/TTSManager.cs @@ -86,7 +86,7 @@ public sealed class TTSManager var reqTime = DateTime.UtcNow; try { - var cts = new CancellationTokenSource(TimeSpan.FromSeconds(4)); + var cts = new CancellationTokenSource(TimeSpan.FromSeconds(10)); var response = await _httpClient.GetAsync(request, cts.Token); if (!response.IsSuccessStatusCode) { @@ -131,6 +131,7 @@ public sealed class TTSManager query["pitch"] = body.Pitch; query["rate"] = body.Rate; query["file"] = "1"; + query["ext"] = "ogg"; uriBuilder.Query = query.ToString(); return uriBuilder.ToString(); } diff --git a/Resources/Locale/ru-RU/white/tts/tts-voices.ftl b/Resources/Locale/ru-RU/white/tts/tts-voices.ftl index e372fe37be..d54f3a3b58 100644 --- a/Resources/Locale/ru-RU/white/tts/tts-voices.ftl +++ b/Resources/Locale/ru-RU/white/tts/tts-voices.ftl @@ -8,3 +8,10 @@ tts-voice-name-bebey = Бэбэй tts-voice-name-biden = Байден tts-voice-name-ddr2 = Ддр 2 tts-voice-name-papa = Папич +tts-voice-name-mykyta = Микита +tts-voice-name-glados = Гладос +tts-voice-name-sentrybot = Сентрибот +tts-voice-name-mana = Мана +tts-voice-name-soldier = Солдат +tts-voice-name-planya = Планя +tts-voice-name-amina = Амина diff --git a/Resources/Prototypes/White/tts-voices.yml b/Resources/Prototypes/White/tts-voices.yml index a568387eff..eb4eb52acd 100644 --- a/Resources/Prototypes/White/tts-voices.yml +++ b/Resources/Prototypes/White/tts-voices.yml @@ -46,14 +46,56 @@ sex: Male speaker: biden -- type: ttsVoice - id: Ddr2 - name: tts-voice-name-ddr2 - sex: Male - speaker: ddr2 +#- type: ttsVoice +# id: Ddr2 +# name: tts-voice-name-ddr2 +# sex: Male +# speaker: ddr2 - type: ttsVoice id: Papa name: tts-voice-name-papa sex: Male speaker: papa + +- type: ttsVoice + id: Mykyta + name: tts-voice-name-mykyta + sex: Male + speaker: mykyta + +- type: ttsVoice + id: Glados + name: tts-voice-name-glados + sex: Female + speaker: glados + +- type: ttsVoice + id: Sentrybot + name: tts-voice-name-sentrybot + sex: Male + speaker: sentrybot + +- type: ttsVoice + id: Mana + name: tts-voice-name-mana + sex: Female + speaker: mana + +- type: ttsVoice + id: Soldier + name: tts-voice-name-soldier + sex: Male + speaker: soldier + +- type: ttsVoice + id: Planya + name: tts-voice-name-planya + sex: Female + speaker: planya + +- type: ttsVoice + id: Amina + name: tts-voice-name-amina + sex: Female + speaker: amina