-
Notifications
You must be signed in to change notification settings - Fork 124
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TTS Component #985
TTS Component #985
Conversation
Заметка для себя, пока не забыл: хранить трейты (типо "силикон" в компоненте, чтобы можно было роботизировать голосы не роботов) |
/mob/hear_say(list/message_pieces, verb, italics, mob/speaker, sound/speech_sound, sound_vol, sound_frequency, use_voice) | ||
. = ..() | ||
if(!client) | ||
return | ||
if(!can_hear()) | ||
return | ||
|
||
var/message_tts = combine_message_tts(message_pieces, speaker) | ||
var/effect = isrobot(speaker) ? SOUND_EFFECT_ROBOT : SOUND_EFFECT_NONE | ||
var/traits = TTS_TRAIT_RATE_FASTER | ||
INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(tts_cast), speaker, src, message_tts, speaker.tts_seed, TRUE, effect, traits) | ||
SEND_SIGNAL(speaker, COMSIG_ATOM_CAST_TTS, src, message_tts, speaker, TRUE) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Может лучше перенести тогда эта логику в компонент и там ловить сигнал (если нет, добавить) типа MOB_HEARD_SAY
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Тоже думал об этом, попробую как-то различить радио_сей/хир_сей/какойеще_сей
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Может лучше перенести тогда эта логику в компонент и там ловить сигнал (если нет, добавить) типа MOB_HEARD_SAY
По возможности как-то сделал, postSFX
всё-таки нужно вместе с сигналом отправлять уже явно, либо не знаю как иначе
add_tts_component() | ||
|
||
// TODO: Do it better? | ||
/atom/proc/get_tts_seed() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
В теории, можно слать сигнал и возвращать что то из него, так узнавая сид, но как то еще более костыльно звучит
Ещё мб использовать датумы сидов вместо строк. Позволит использовать несколько ттс провайдеров сразу в перспективе |
База. ТТС должен быть провайдеронезависим |
А вот теперь пора наводить красоту и дорабатывать. Что еще доработать надо? |
Может отключить ТТС от автоматических оповещений? |
Только если записать/стырить для них озвучку |
Да стандартная пока сойдёт, явно лучше чем наложение ТТСа на неё, к тому же дефолт звучит лучше |
Ну чё там? |
А да, надо было? Ну, теперь есть xdx |
6f89d26
to
7036dcb
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Игроки потестят
чет даже конфликтов не было, просто мержнул мастер, ну ладно |
!merge_upstream |
А эта то хуйня че не работает... |
Работает же |
Merging upstream failed: |
Вот |
Просто хуево |
ладно, похуй, там конфликт который нужно ручками устранять |
вот би мерж |
Что этот PR делает
Change TTS
для простоты смены ТТС сидов / добавления ТТС компонентаfixes #560
Нужно
Почему это хорошо для игры
Тестирование
SILERO API ERROR
Список для теста:
Changelog
🆑
add: В ViewVariables добавлен пункт
Change TTS
add: Компонент tts_component, который позволяет выдать голос всем атомам
/:cl: