Skip to content

Releases: PatchaIT/TheRenewTTS

TheRenewTTS_v1.1.0

04 Dec 19:31
082874e
Compare
Choose a tag to compare

development status | 5 - Production
code style: pep-008
License: GPL v3
release
version


TheRenewTTS

(On your Streamlabs Chatbot) Renewing the best Chat to Speech for Twitch and Youtube for Streamlabs Chatbot (in its creator's opinion).

Table of Contents

About The Project

Hi all,
one day I wanted to reintroduce Text To Speach function in my scripts,
so looking around I found 2020 Luis Sanchez's TheNewTTS script for
Streamlabs Chatbot
.

But when I tried to implement such libraries into my scripts I noticed
they wheren't suppose to work on multiple scripts without conflicts.

So I started reworking it, I splitted into different libraries, I made
their threading systems compatible on multiple scripts and so on.
But then I thought the best and most complete way to put their features
at work was on the same script where they came from. So that's how I
ended up reworking the whole TheNewTTS script and creating this
TheRenewTTS script version.

Enjoy.

Warning Notes

Note:
If you're migrating from old TheNewTTS script, let's know that
while most settings are the same, still settings files are no more
compatible, because all variable names are changed.
So it's better you note your current settings and then report them on
the brand new TheRenewTTS script configuration GUI.
Don't try to use same files from old TheNewTTS script!

Note:
If you're updating from a previous TheReNewTTS script version,
you may have to delete old "lib" subdirectory before update,
because all releases use new lib versions.

Note for Save Settings:
Sometimes Streamlabs Chatbot doesn't trigger ReloadSettings method on new
settings save from Save Settings GUI button.
If you can't hear TTS say the "Configuration updated successfully" sentence
(by default "Configuration updated successfully") probably new settings are
saved, but you can't be sure if they're already loaded / applied into
current Chatbot session.
In this case I'd suggest you to shut down and restart the Chatbot,
or at least to refresh scripts from Scripts screen (the circle arrow icon
on the top right).
After that, make some checks to see if new settings are actually applied.
Anyway, after every Chatbot start or reboot, I always suggest to refresh
scripts at least once.

Note for Custom TTS:
Obviously you already need to have an existing custom TTS webservice.
The script doesn't create a new one for you.
It just allows you to use one you already own.
Otherwise just keep using Google Translate's TTS as default.

In Shorts

  • Script: The ReNew TTS script
  • Version: 1.1.0
  • Description: Text to speech with Google translate voice,
    or your own custom TTS webservice
  • Change: Fixed issue with sometimes custom settings not correctly loaded
  • Services: Twitch, Youtube
  • Overlays: None
  • Made By: @Patcha_it
  • Update Date: 2023/12/03

Changelog

Versions by LuisSanchezDev (TheNewTTS)

  • 2019/11/12 v1.0.0
    • Initial release
  • 2019/11/27 v1.0.1
    • Fixed sound not playing
  • 2019/12/03 v1.1.0
    • Added max length in seconds
  • 2019/12/08 v1.2.0
    • Added blacklist
  • 2019/12/09 v1.2.1
    • Fixed Youtube/Mixer blacklist comparison against user ID instead of username
  • 2020/08/29 v2.0.0
    • Added a say username before message option
    • Added a skip command
    • Fixed sometimes skipping messages
    • Fixed script stopped working suddenly
  • 2020/10/05 v2.1.0 -
    • Added a clean repeated words/emotes option
    • Added a clean repeated letters option
    • Added a clean and replace links option
    • Added a ignore messages starting with a character option

Versions by Patcha (TheRenewTTS)

  • 2022/11/20 v1.0.0
    • Using reworked python custom libraries for TTS download & play,
      which can be shared with other scripts without conflicts
    • Possibility to set an own custom TTS webserver (if you have it)
    • Clean repeated words/emotes option will no longer remove
      punctuation from sentences
      • you can now set a maximum allowed amount of repetitions
      • it's no more case sensitive
    • Clean repeated letters option will now replace repetitions
      with a double letter
      • it's no more case sensitive
    • Ignore messages starting with option now can set multiple
      characters, which means it still checks first character,
      but compares with each one setted into a series
    • Option to replace each char in a series with spaces
      (if you don't want TTS to read them literally)
    • Option to replace some words/usernames with other words/aliases
    • Option to replace some chars sequence with another sequence,
      if you need to correct TTS pronunciation/spelling
      (invasive: could create oddities)
    • Option to set channel's emotes prefix, to be skipped and try
      to read only emotes names
      (case sensitive, but invasive: could create oddities
      if that prefix is a common chars sequence)
      • there's an option to filter only prefixes followed
        by uppercase letter (it helps prevent most oddities)
    • Option to set a max amount of chars lower than 200
      • option to cut and not skip messages too long
    • Option to disable/enable each command's message reply
      • new command messages to be able to customize
      • (also for moderator commands)
    • New skip options for moderators:
      • if they add an argument to standard skip command, it will
        skip all TTS with such text inside from current queue
      • a new command to skip next TTS, while the current one
        is still playing
      • a new command to skip the whole TTS queue and start a new
    • Commands are no more case sensitive
    • Usernames are no more case sensitive
    • Option to make moderators bannable from TTS
      (it means they won't use nor TTS nor moderator commands)
    • Options to disable volume, pitch and speed alterators
      (useful for custom TTS webserver)
    • Script files rearranged into subfolders
  • 2023/01/05 v1.0.1
    • Fixed bug skipping first word on Read ALL
    • Allows to force read lowercased or uppercased
  • 2023/01/07 v1.0.2
    • Fixed a bug with message Cost set to 0
  • 2023/01/15 v1.0.3
    • Added a customizable !pause command
  • 2023/01/24 v1.0.4
    • Fixed a bug with Blacklist file loading
    • Fixed a bug with TTS stuttering aliases with spaces
    • Added permission level VIP (includes subscribers and moderators)
    • Added setting to keep or not keep queing on pause
  • 2023/01/27 v1.0.5
    • Removed typo oddity into a comment
    • Exported utility functions into dedicated new library
  • 2023/07/30 v1.0.6
    • Flag to preview textually in chat the reading text
    • Channel owner doesn't need to pay anymore to use TTS
    • Possibility to allow choosing TTS language into chat command
  • 2023/12/03 v1.1.0 -
    • Fixed issue with sometimes custom settings not correctly loaded
    • Thanks Chidinma for testing!

Getting Started

Prerequisites

Have an installation of Streamlabs Chatbot, already logged in to your accounts.

Follow this tutorial to prepare your Streamlabs Chatbot installation to accept scripts.

Installation

  1. Download the latest version of the script.
  2. If you haven't already, open your Streamlabs Chatbot and log in to your Streamer and Bot accounts.
  3. On the left side, wait for the Scripts tab to pop up and click it.
  4. On the top right corner of the window, next to the reload button is an import script button (Arrow pointing right to a box) and select the script downloaded before.
  5. You will receive a message box confirming the import, accept it.
  6. The window will update and show the The Renew TTS script.
  7. Click on the The Renew TTS name to see the configuration pane.

Settings

Don't be scared about so many options, most of them are not mandatory to be
customized. For the most, default options are enough ok.

For each option I'll note if and what changes there are, compared to the
original TheNewTTS script settings from Luis Sanchez.

Note:
From version 1.06, I'll no long note in square brackets
what changed compared to original TheNewTTS script settings
from Luis Sanchez.
If you're very curious about that, you'll have to find the readMe of
an older version.
Sorry, but I found this facilitates readability.

General

Read ALL chat

Check this to read all chat disr...

Read more

TheRenewTTS_v1.0.0

23 Nov 19:43
5445cc6
Compare
Choose a tag to compare

development status | 7 - Inactive
code style: pep-008
License: GPL v3
release
version


TheRenewTTS

(On your Streamlabs Chatbot) Renewing the best Chat to Speech for Twitch and Youtube for Streamlabs Chatbot (in its creator's opinion).

Table of Contents

About The Project

Hi all,
one day I wanted to reintroduce Text To Speach function in my scripts,
so looking around I found 2020 Luis Sanchez's TheNewTTS script for
Streamlabs Chatbot
.

But when I tried to implement such libraries into my scripts I noticed
they wheren't suppose to work on multiple scripts without conflicts.

So I started reworking it, I splitted into different libraries, I made
their threading systems compatible on multiple scripts and so on.
But then I thought the best and most complete way to put their features
at work was on the same script where they came from. So that's how it
ended up I reworking the whole TheNewTTS script, creating this
TheRenewTTS script version.

Enjoy.

Warning Notes

Note:
If you're migrating from old TheNewTTS script, let's know that
while most settings are the same, still settings files are no more
compatible, because all variable names are changed.
So it's better you note your current settings and then report them on
the brand new TheRenewTTS script configuration GUI.
Don't try to use same files from old TheNewTTS script!

Note for Save Settings:
Sometimes Streamlabs Chatbot doesn't trigger ReloadSettings method on new
settings save from Save Settings GUI button.
If you can't hear TTS say the "Configuration updated successfully" sentence
(by default "Configuration updated successfully") probably new settings are
saved, but you can't be sure if they're already loaded / applied into
current Chatbot session.
In this case I'd suggest you to shut down and restart the Chatbot,
or at least to refresh scripts from Scripts screen (the circle arrow icon
on the top right).
After that, make some checks to see if new settings are actually applied.
Anyway, after every Chatbot start or reboot, I always suggest to refresh
scripts at least once.

In Shorts

  • Script: The ReNew TTS script
  • Version: 1.0.0
  • Description: Text to speech with Google translate voice,
    or your own custom TTS webservice
  • Change: Reworked libraries and more options, you can even try to set
    your own custom TTS webserver
  • Services: Twitch, Youtube
  • Overlays: None
  • Made By: @Patcha_it
  • Update Date: 2022/11/20

Changelog

Versions by LuisSanchezDev (TheNewTTS)

  • 2019/11/12 v1.0.0
    • Initial release
  • 2019/11/27 v1.0.1
    • Fixed sound not playing
  • 2019/12/03 v1.1.0
    • Added max length in seconds
  • 2019/12/08 v1.2.0
    • Added blacklist
  • 2019/12/09 v1.2.1
    • Fixed Youtube/Mixer blacklist comparison against user ID instead of username
  • 2020/08/29 v2.0.0
    • Added a say username before message option
    • Added a skip command
    • Fixed sometimes skipping messages
    • Fixed script stopped working suddenly
  • 2020/10/05 v2.1.0 -
    • Added a clean repeated words/emotes option
    • Added a clean repeated letters option
    • Added a clean and replace links option
    • Added a ignore messages starting with a character option

Versions by Patcha (TheRenewTTS)

  • 2022/11/20 v1.0.0
    • Using reworked python custom libraries for TTS download & play,
      which can be shared with other scripts without conflicts
    • Possibility to set an own custom TTS webserver (if you have it)
    • Clean repeated words/emotes option will no longer remove
      punctuation from sentences
      • you can now set a maximum allowed amount of repetitions
      • it's no more case sensitive
    • Clean repeated letters option will now replace repetitions
      with a double letter
      • it's no more case sensitive
    • Ignore messages starting with option now can set multiple
      characters, which means it still checks first character,
      but compares with each one setted into a series
    • Option to replace each char in a series with spaces
      (if you don't want TTS to read them literally)
    • Option to replace some words/usernames with other words/aliases
    • Option to replace some chars sequence with another sequence,
      if you need to correct TTS pronunciation/spelling
      (invasive: could create oddities)
    • Option to set channel's emotes prefix, to be skipped and try
      to read only emotes names
      (case sensitive, but invasive: could create oddities
      if that prefix is a common chars sequence)
      • there's an option to filter only prefixes followed
        by uppercase letter (it helps prevent most oddities)
    • Option to set a max amount of chars lower than 200
      • option to cut and not skip messages too long
    • Option to disable/enable each command's message reply
      • new command messages to be able to customize
      • (also for moderator commands)
    • New skip options for moderators:
      • if they add an argument to standard skip command, it will
        skip all TTS with such text inside from current queue
      • a new command to skip next TTS, while the current one
        is still playing
      • a new command to skip the whole TTS queue and start a new
    • Commands are no more case sensitive
    • Usernames are no more case sensitive
    • Option to make moderators bannable from TTS
      (it means they won't use nor TTS nor moderator commands)
    • Options to disable volume, pitch and speed alterators
      (useful for custom TTS webserver)
    • Script files rearranged into subfolders

Getting Started

Prerequisites

Have an installation of Streamlabs Chatbot, already logged in to your accounts.

Follow this tutorial to prepare your Streamlabs Chatbot installation to accept scripts.

Installation

  1. Download the latest version of the script.
  2. If you haven't already, open your Streamlabs Chatbot and log in to your Streamer and Bot accounts.
  3. On the left side, wait for the Scripts tab to pop up and click it.
  4. On the top right corner of the window, next to the reload button is an import script button (Arrow pointing right to a box) and select the script downloaded before.
  5. You will receive a message box confirming the import, accept it.
  6. The window will update and show the The Renew TTS script.
  7. Click on the The Renew TTS name to see the configuration pane.

Settings

Don't be scared about so many options, most of them are not mandatory to be
customized. For the most, default options are enough ok.

For each option I'll note if and what changes there are, compared to the
original TheNewTTS script settings from Luis Sanchez.

General

Read ALL chat

Check this to read all chat disregarding the command.

IF YOU ARE USING THIS FEATURE MAKE SURE TO SET A FAST SPEED
SO THE CHATBOT CAN KEEP UP!

Also note that this feature may prevent the use of some other options.

[Unchanged]

Clean repeated letters

Prevent repeated letters to be spoken and only speak them twice.

Example: noooooooo -> noo .

[Before it used to speak them once, i.e.: noooo -> no .]

Clean repeated words/emotes

Prevent repeated words/emotes to be spoken and only speak them as max
as setted in the option below.

Example: :Kappa: :Kappa: :Kappa: :Kappa: :Kappa: :Kappa: -> :Kappa:

[Before it used to remove all punctuation, now punctuation is preserved.
Before it used to speak them only once, now you can set the a custom amount
with option below.]

Max words/emotes repeat allowed

How many times you allow to repeat a word/emote, if the option above
is enabled.

[Brand new]

Clean links

Prevent links to be spoken and say the replacement text instead.

[Unchanged]

Replace links with

If the above option is enabled, links will be replaced with this text.

[Unchanged]

Say username before message

Check this to say the username before the message.

[Unchanged]

Say this after the username

Append this text to the username so the TTS makes more sense.

This works only if the above option is enabled, too.

[Unchanged]

Ignore messages starting with

Ignore messages starting with any of these characters to prevent
commands being spoken.

[Before it accepted a single character, now it accept multiple chars
and it will check each of them.]

Replace these with spaces

For each ...

Read more