Released 2023-02-22
- Fix issue with api calls to retrieve list of Twitch banned/timed out users, Twitch changed something with this endpoint
- Adjust SSL protocol capabilities for Chat, PubSub and EventSub connections
- Update retry timer for Twitch services to reset when cancelling the retry
- Update retry timer for Twitch services to have a hard limit of 2 minutes
- Request new Twitch scope,
moderator:read:followers
Requesting the following new scopes for the broadcaster ccount account
Released 2023-01-20
- Some fixes
- Fixes to Microsoft Azure initializations
- Fix Twitch sub and re-sub events not speaking/parsing correctly
- Fix potential crash when double clicking empty space in the lists on the Ignored Voices/Locales tab
- Update external libraries
- Update internal libraries
- Some general code cleanup
- Change Microsoft Azure Services to use 48khz audio
- Request new Twitch Scopes
- Switch some Twitch events to use EventSub
- Update account tab for Twitch to match design/styling seen in Streamer.bot
- Move some settings into database files
- Harden file saving routines
- Remove Twitch Host event and settings
- Auto Updater! This contains the ground work for going forward
- Added ability to login to Streamer.bot website, this is mainly used for access to beta/alpha update channels
- Add new TTS Engine service, UberDuck.ai
- Add new TTS Engine service, tts.monster
- Add new UDP Commands
- Add new WebSocket Server for controlling TwitchSpeaker
- Add new application icon
Yes, that's correct, TwitchSpeaker is no longer the default icon, it has its own identity now.
With v0.0.49 you'll now be able to control TwitchSpeaker with a WebSocket connection.
This is just the initial addition of this capability, I already have plans to expand this out, so for now, I would recommend not adding feature requests surrounding this feature.
The settings for this are under Settings
-> WebSocket Server
, be sure to set auto start to enabled, so it'll run when you start TwitchSpeaker.
Request format
{
"request": "<command>",
"id": "0",
}
Much like Streamer.bot, TwitchSpeaker follows the same request format, where request
is the command you wish to perform, and id
is some identifier or nonce.
Commands available: Speak
, Pause
, Resume
, Clear
, Stop
, Off
, Disable
, On
, Enable
, Events
, Mode
This is probably the command that will be used the most, this will make TwitchSpeaker speak the message
you want, using the voice
specified
{
"request": "Speak",
"id": "0",
"voice": "EventVoice",
"message": "This is a test message",
"badWordFilter": true/false // optional
}
These commands have no parameters, so the basic request can be used.
This will let you enable or disable events being spoken
{
"request": "Events",
"id": "0",
"state": "[on|off]"
}
This will let you change the speaking mode, from everything, to a command
{
"request": "Mode",
"id": "0",
"mode": "[all|command]"
}
If there are no commands already setup, switching to command, will return a failure response
¶ New UDP Commands
There are 3 new UDP commans
{ "command": "set", "method": "sticky", "value": true/false }
{ "command": "set", "method": "nickname", "username": "%user%", "nickname": "somestring" }
{ "command": "assign", "method": "last", "username": "%user%" }
Released 2022-01-13
- Fix mod/vip issue with non western characters
- Added new option to change user said
Released 2021-12-25
- settings/logs are moved to sub folders now, same as streamer bot
- Some additional error handling
- Added BadWordFilter setting for UDP Speak
- Added a new Generic Speaker form, that can be used to just play with the TTS, it was a request to be able to just use TTS
Released 2021-08-24
- Fix speaking of first emote (was saying the last)
- Fix removal of emotes
- Fix BTTV emotes not being ignored if configured to
- Fix removal of cheermotes
- Fix minimum cheer amount not being used
- Fix speaking permission for subscribers
- Misc fixes/tweaks
- Load channel rewards when connecting to Twitch
- Harden Twitch token validation
- Update TTS service libraries (AWS, Google, Azure, Watson)
- Improve shutdown time
- Update VIP/Mods when connecting to Twitch
- Update cheermotes to be case insensitive (cheer5, Cheer5 would both be caught now)
- Update networking code to support running on Linux
- Add option to be able to silence !tts command output
- Add Acapella TTS Service
- Add CereCloud Voice TTS Service
- Add new command (!tts permissions) to enable/disable specific permissions
- Add support for SevenTV emotes
Released 2021-08-24
- Some fixes/changes
- Fix the Twitch host event, there were a few issues causing crashes
- Fix voice fall back selection, was not working correctly
- Misc fixes/improvements
- Add %input% variable to Channel Reward messages
Released 2021-08-24
- Enable and fix Twitch Host event
- Misc fixes/tweaks
Released 2021-08-03
- Add some error handling to UDP
Released 2021-07-22
- Fix some issues with 3rd party emotes
- StreamElements fixes
- Better handling of Twitch API instabilities
- Twitch Authorization now forces the Authorize button so you can switch accounts. Whenever you need to re-auth
Released 2021-07-17
- Fixes for StreamElements
- Misc fixes/tweaks
- Only 1 instance of TTS can run now
- Small tweaks to UI
- Other stuff I probably forgot
- Added a new option to assign a voice; right click user, assign voice, dialog will popup where you can choose voice, assigning will auto-create alias and use it
Released 2021-06-20
Released 2021-06-18
- Make it a bit more friendly to those who aren't affiliate yet
Released 2021-06-18
- Fix BTTV/FFZ emote handling
- Fix Cheer event, seems I rushed this in the last version
- Fix for emotes not being completely removed (yay typos?)
- Add StreamElements support for Tips
Released 2021-06-16
- Fix ignore prefix, guess I overlooked something there
Released 2021-06-16
- Fix duplicate emote issue, yay?
- Guess it helps if the streamlabs token box is editable
Released 2021-06-16
- Performance improvements
- Fix when saving audio files, if enabled
- Misc fixes and tweaks/cleanup
- Updated twitch libraries
- Update handling of emotes
- When speaking everything, replies will be treated as normal messages
- When speaking everything, allow different prefixes to not speak anything
- Add auto reconnect to twitch
- !tts assign last
<user>
has returned
Released 2021-05-12
- Tweaked/fixed the cloud service voices use of pitch/rate/emphasis
- Fixes/tweaks to underlying twitch code
- Removed OneCore voices, this means there is no longer the hard requirement of windows, and may potentially work on Linux with Wine now
- Added a new cloud service, Microsoft Cognitive Services, this can add upto another 220 voices.
I've altered the way the files are, so I would ## highly recommend extracing to a new folder and copying your settings over. (settings.json, voicealiases.dat, users.dat, usage.dat)
Rate can now be adjusted from -20
to 20
, this equates to a 5% change in rate from baseline, pitch can now be adjusted from -9
to 11
, this is a 5% relative change from baseline. Pitch is ## NOT supported on Neural voices Emphasis is supported on Standard voices only.
Rate can now be adjusted from -20
to 20
, this equates to a 5% change in rate from baseline; Pitch can now be adjusted from -19
to 21
, this is a 5% relative change from baseline. Emphasis is supported on Standard and WaveNet voices.
Rate can now be adjusted from -20
to 20
, this equates to a 5% change in rate from baseline; Pitch can now be adjusted from -19
to 21
, this is a 5% relative change from baseline. Emphasis is ## NOT supported on any voices.
Rate can now be adjusted from -10
to 10
, this equates to a 5% change in rate from baseline; Pitch can now be adjusted from -9
to 11
, this is a 5% relative change from baseline. Emphasis is supported on Standard and Neural voices (might be hit or miss on neural voices).
Released 2021-05-04
- Fixed audio device selection, guess I missed something with that
- Updated HypeTrain end event for future possibilities
Released 2021-05-01
- Fix issue w/ twitch library and cancelling raids
- Fix issue when setting certain options via twitch chat
- Add ability to use !tts commands via whisper, these will provide no feedback, and can be enabled/disabled via a setting
- Added auto backup capability, on application start, it will auto zip up your config files into a time stamped zip file within a backups folder
Released 2021-05-01
- Fix a potential crash with subs, seems twitch changed data (yay)
- No longer listen to sub events via pubsub, was pointless, they're obtained by other means
Released 2021-04-25
- Fixed issue with buffers, so, it shouldn't repeat itself anymore
Released 2021-04-24
- Fixed issue with buffers, so, it shouldn't repeat itself anymore
Released 2021-04-19
- Fix text replacement UI, ctrl*up/down wasn't behaving properly to change ordering
- Minor fixes/tweaks
- Updated twitch authorization mechanisms, it may re-ask for authorization, will also no longer complain constantly if there's an issue with your login and allow you to re-auth properly
- Add days left to the Community goal contribution event, use %daysLeft% to get this value
- Add new !tts set nickname
<username>
<nickname>
to allow a mod to set a users nickname, setting it to nothing will remove the nickname
Released 2021-04-11
Released 2021-04-11
- Misc fixes/cleanup
- Fix a bug where using stop would hang the application
- Twitch chat client is running on a new parser, small speed improvements
- Better audio device enumeration (you'll see disconnected devices now to)
- Added Voice Aliases
- Added ability for deleting a users message, timing a user out and banning a user to stop/skip speech (enabled by default)
Released 2021-03-26
- Fix Twitch FUCK UP
- Misc tweaks/fixes
Released 2021-03-14
- Fix audio device not being selected on startup (woops)
- Toggling enabled caused a crash, fixed, but not sure why, need to investigate
- Fix small issue w/ UDP
Released 2021-03-14
- Handle regex errors gracefully, and provide feedback when entering regex in replacement
Released 2021-03-13
- Fix community goal % contribution, I think?
- Misc cleanup and bug fixes
- Channel Rewards can now have random weighted messages, like events
- Re-organize settings tab
- Handle some google voice statup exceptions, this is still ongoing
- Add regex replacement, don't make me regret this.
- Add a UDP listener, will outline the commands later
- Add ignored voice profiles
- Add option to swap name with nickname if one is set for a user
- Added new randomization code, will see how it works
- Add option to say username only if the previous message was from a different user, can't be used with the grace period
- Ability to assign a voice right from the speech preview window.
- Add grace period (in seconds) for saying username
- Clicking on edit voice will bring speech preview in focus, and enable the next feature
You can now setup profiles for ignored voices/locales.
This adds a new moderator command !tts profile, !tts profile list, !tts profile activate
I know a lot have wanted this feature, and I've been very reluctant on adding it. Flat out, if I get wind of it being used in a purposefully hateful/hurtful way, I will pull all zips that have this version, and remove the code for it.
This replacement will occur for ## all spoken text (message, events, etc), in the chain of events, this is the last thing processed.
An example replacement: Replace: [_\-!@#$%^&*()]*,
With: a space, this will replace 1 or more, of any of the characters with a space, so a username that has _ in it, will get spaces instead. Replace: \d{3,}
, With nothing, this will remove all occurances of 3 or more numbers
Order of replacements is also something to keep in mind
Released 2021-02-20
- Harden some Twitch API calls to hopefully not cause as many crashes, this is an on-going thing
- Add a check to prevent follow spam, during a session (open/close of program) a follow will only be fired once for a user and any further ones will be ignored
Released 2021-01-06
- Audio output is now using WASAPI instead of WaveOut for, reasons.
- Added new option to select the audio output device, this effects all speech; may expand this to be more granular, not sure yet. Option is on TTS Settings page
- NOTE: Only WASAPI supported output devices will be listed.
- And yes, I know, the UI is still fugly, it's on my ever growing list.
Released 2020-10-02
- Full on 4s, thought I'd give them back now.
Released 2020-10-02
- Fix !tts assign last
<user>
, it should now actually work
- Fix random sticky voice option, it should also now work
- Add community goal contribution and finished events to events that can be spoken.
Default event strings for contribution is: Well, %name% decided to contribute %amount% towards %title%, it's %percent% finished, getting closer!
Default event string for goal finished is: Amazing, %title% was just finished, %amount% points were used to fund it!
These will not be added to existing settings, so be sure to configure them if you would like to use them.
Released 2020-09-22
- Small fix to the delayed text save
Released 2020-09-22
- Misc fixes
- Fix text input dialog focus
- UI cleanup a bit, finally switched scaling in VS, so controls shouldn't overlap/etc anymore
- Ability to edit the nickname of a user directly, this is tested as best I can, it should be ok, its a delayed saving
- Umm stuff I probably forgot?
Released 2020-09-05
Released 2020-08-08
- Deadlock resolved, I think
- Other misc fixes/bugs
- Watson is now auto enabled if configured to
- Toys were put away for now
- Auto connecting option added
- AWS Keys are masked
- Error handling for engine inits, hopefully it won't crash now when aws/google/watson has issues on initial setup
- Implement some checks on settings files so they're not wiped
Released 2020-08-01
- Misc fixes here and there
- Separate ignore emote setting into the 3 services (Twitch, BTTV, FFZ), be default, BTTV and FFZ are not ignored, so be sure to toggle those to return to default behaviour
- Update viewer display names when possible
- New Gag button to outright silence TTS
- New TTS Engine! IBM Watson, adds another 50 voices, with default install of windows and all engines active, you now have 376 voices
- Start tracking character counts, for now this is just put to a file, there will be a display area somewhere eventually
- Other stuff I can't remember at the moment
Released 2020-07-10
- Fix crash Thelete reported
- Misc fixes/tweaks
- Update some default strings
- Add subscription related info back in, this requires a new scope, so you'll need to re-auth, app will inform you
Released 2020-07-07
Released 2020-07-07
- Forgot to add the ability to force a user's speech, so, you can now force a user to always have there chat spoken, maybe tweaked a bit still (i.e. you could force a user, and disable all permissions, and their text would still be spoken)
Released 2020-07-07
- Events Settings: Forgot to clear Enabled check box in the message area when picking another event type
- Ignore exclimation was also being to aggressive, gave it a stern talking to as well
- Not allowed response being to aggressive, gave it a stern talking to
- Added !tts reg [add|del] [username] to add/remove regular status of user
Released 2020-07-06
- Fix an issue w/ gift sub event strings not saying the tier
- Fix removing an ignored voice (on TTS Settings tag)
- Misc tweaks/fixes
- Add ability to disable an event string, so you don't have to delete it to not use it
Released 2020-07-06
- Will actually ignore a user now if flagged as ignored
- Misc fixes/tweaks
Released 2020-07-06
- Fix not being able to connect after disconnect
- Fix everyone permission
- Few misc fixes/tweaks