Changelogs

Speaker.bot v0.1.4

Released 2024-07-05

New Features

  • Add new scopes for Twitch Broadcaster account
  • Load Twitch Broadcaster's available emotes on login
  • Add VoiceGate feature
  • Add Delete menu item to a User's context menu
  • Add new option to ignore Twemoji Emotes
  • Add VoiceGate profiles

Updates

  • Updated/added icons
  • Tweaks and improvements to startup routines
  • Update external libraries
  • Rename and update some libraries
  • Update Twemoji to 15.1.0
  • Better handling of Twitch Chat for high volume channels
  • Performance tweaks surrounding Twitch Chat handling
  • Remove support for Twitch Hype Chats
  • websocket-sharp library updated
  • Speed up connecting to Twitch EventSub
  • Update sending of Twitch Chat Messages via the API, they are no longer sent through the IRC client.
  • Increase keep-alive timeout for Twitch EventSub to 30s from the default of 10s
  • Updated connection routines and UI for StreamElements
  • Tweaks to 7TV Server Side Events handling
  • Fix handling of subscribed Twitch Viewers in chat messages, data could get out of sync when a re-sub or sub is not shared
  • Move Twitch VIP Add to EventSub from PubSub
  • Promote some Twitch EventSub subscriptions to GA
  • Switch most of Twitch PubSub events to EventSub counterparts
  • Improve the underlying socket code for the Streamer.bot Website integration
  • Change some library file names to match others
  • Improve the underlying socket code for the Streamlabs integration
  • Use Socket.io v4 for Streamlabs (from v3)
  • Tweaks to StreamElements login routine
  • Use Pitch/Rate as Stability/Similarity for ElevenLabs
  • Perform an upgrade on ElevenLabs voices to set default Pitch/Rate to -1
  • Update UI to reflect previous change when selecting an ElevenLabs voice
  • Bring some internal elements inline with Streamer.bot, to share some code
  • Completely remove fetching Twitch's banned user list
  • Remove Twitch ban related handling/information from Twitch Data db.
  • Tweaks to auto update and restart handling
  • Tweaks to initial application startup
  • Update past voices repo with user's platform
  • General tweaks to context menu handling
  • How UberDuck voices are handled when retrieving list from UberDuck
  • Remove external voices from UberDuck service

Fixes

  • Handle possible crash in parsing websocket subscribe messages
  • Fix parsing of ElevenLabs default data
  • Fix rate limit related to Twitch Ban list retreival, its not longer done
  • Fix certain events not being broadcast to WebSocket correctly
  • Don't require a past voice to be selected to clear a user's past voices
  • Fix Global URL Filter setting not loading/saving correctly
  • UberDuck voices should mostly work again

Details

General

As part of a sweeping update, last stable release was November 2023, so there's some updates that Streamer.bot received, that have been applied to Speaker.bot as well, most are internal handling. There is still some more I need to go through, so hopefully everything is working correctly.

ElevenLabs

Going through ElevenLabs to add support for Stability/Similarity, I noticed a parsing error when getting default/voice settings. A wrong data type was being used, causing Stability to be always 1, and Similarity always 0. This is now fixed for default values.

Pitch and Rate are now being used as Similarity and Stability respectively for ElevenLabs voices, and acceptable values are -1 for default, or 0 to 100 for a percentage value.

The UI will update when an ElevenLabs voice is selected, and show Similarity and Stability, and Pitch/Rate for all other voices. This naming won't be changed everywhere, that is part of a future update.

ElevenLabs voices should now match, or as close as possible given variance, the voices generated from the website.

Voice Gate

With this release, there is a new feature, Voice Gate.

What this will allow you to do, is monitor your microphone, or other input audio device, and set a threshold that would auto-pause Speaker.bot.

A threshold and timeout can be set that will auto-unpause Speaker.bot after it has been paused by the Voice Gate

The 3 settings that govern the VoiceGate, can be updated in real time to fine tune adjustments.

Because the audio is touching input devices, Speaker.bot needs to open the device, however, nothing is recorded, the device is just opened.

Profiles

You can save VoiceGate settings to different profiles, allowing you to switch between settings easier.

Starting with, Streamer.bot 0.2.4 will have a new sub-action to allow for activating of profiles. This sub-action will be introduced in alpha.19

UberDuck

Surprise, surprise, UberDuck was not working again.

While investigating what was going on, it was loading over 1000 voices, and looking at the data, it was a mix of there own voices, combined with Amazon Polly, Google, and Azure Cognitive Services. I'm not sure when they added the 3 external services, but they require a different endpoint to use them, and its not even documented. So, as an interim fix, the external service voices are removed, leaving only 27 voices available.

Of these remaining 27 voices, some still seem to have issues, mostly 500 server errors, and there isn't much I can do about that.

I am also debating on removing UberDuck as a service from Speaker.bot outright, as the value just doesn't seem to be there anymore, especially after last years issue and the removal of all of there AI voices.

Twitch

New Scopes

The following scopes are required on the broadcaster account now, these supoport the move from PubSub events to EventSub events, as well as using the API to send a chat message

  • user:write:chat
  • user:read:emotes
  • moderator:read:blocked_terms
  • moderator:read:chat_settings
  • moderator:read:unban_requests
  • moderator:read banned_users
  • moderator:read:chat_messages
  • moderator:read:moderators
  • moderator:read:vips

PubSub

It was mentioned in the last TwitchDev broadcast, that sometime in the near future PubSub would be deprecated. So starting with this alpha, I have moved a good majority of the events that rely on PubSub over to there counterparts on EventSub.

StreamElements

The UI for StreamElements has been updated to have the split style with logging into your account, and sub-service connections. All the underlying code has also been updated to support this new common display.