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 aUser'
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
to15.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 toEventSub
fromPubSub
- Promote some
Twitch EventSub
subscriptions toGA
- Switch most of
Twitch PubSub
events toEventSub
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
forStreamlabs
(from v3) - Tweaks to
StreamElements
login routine - Use
Pitch
/Rate
asStability
/Similarity
forElevenLabs
- Perform an upgrade on
ElevenLabs
voices to set defaultPitch
/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 fromTwitch
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 fromUberDuck
- 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.
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.