Speaker.bot v0.1.4
Released 2024-07-05
New Features
- Add new scopes for
Twitch Broadcasteraccount - Load
TwitchBroadcaster's available emotes on login - Add
VoiceGatefeature - Add
Deletemenu item to aUser's context menu - Add new option to ignore
TwemojiEmotes - Add
VoiceGateprofiles
Updates
- Updated/added icons
- Tweaks and improvements to startup routines
- Update external libraries
- Rename and update some libraries
- Update
Twemojito15.1.0 - Better handling of
TwitchChat for high volume channels - Performance tweaks surrounding
TwitchChat handling - Remove support for
Twitch Hype Chats websocket-sharplibrary updated- Speed up connecting to
Twitch EventSub - Update sending of
TwitchChat Messages via the API, they are no longer sent through the IRC client. - Increase keep-alive timeout for
Twitch EventSubto 30s from the default of 10s - Updated connection routines and UI for
StreamElements - Tweaks to
7TVServer Side Events handling - Fix handling of subscribed
TwitchViewers in chat messages, data could get out of sync when a re-sub or sub is not shared - Move
Twitch VIPAdd toEventSubfromPubSub - Promote some
Twitch EventSubsubscriptions toGA - Switch most of
Twitch PubSubevents toEventSubcounterparts - Improve the underlying socket code for the
Streamer.botWebsite integration - Change some library file names to match others
- Improve the underlying socket code for the
Streamlabsintegration - Use
Socket.io v4forStreamlabs(from v3) - Tweaks to
StreamElementslogin routine - Use
Pitch/RateasStability/SimilarityforElevenLabs - Perform an upgrade on
ElevenLabsvoices to set defaultPitch/Rateto -1 - Update UI to reflect previous change when selecting an
ElevenLabsvoice - Bring some internal elements inline with
Streamer.bot, to share some code - Completely remove fetching
Twitch's banned user list - Remove
Twitchban related handling/information fromTwitchData 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
UberDuckvoices are handled when retrieving list fromUberDuck - Remove external voices from
UberDuckservice
Fixes
- Handle possible crash in parsing websocket subscribe messages
- Fix parsing of
ElevenLabsdefault data - Fix rate limit related to
TwitchBan 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
UberDuckvoices 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.