This program requires a valid OpenAI ChatGPT API key to operate or a local Ollama installation.
Please report all bugs to the Discord or here on Github.
This release depends on .NET Runtime Desktop 8. After installation and trying to run BBB you will be asked to download and install this from the Microsoft website if you do not have it installed yet.
You can also download Runtime Desktop here: Windows Runtime Desktop 8.0.4
- Plugging in/out audio devices while BBB runs can have an unforseen effect on your input/output and throw errors
- No ability to check for Twitch followers
- ElevenLabs API check (preloading voices) can sometimes timeout after 15 seconds. This makes the first time you use it, probably quite a bit slower when editing persona's, but that's only until it works. This cannot really be fixed on my side.
New:
- Completely new settings format so you can now blame me, not Windows if your settings disappear. The old settings are not yet deleted so reverting to 1.0.7 if you have serious issues will be a fallback
- Ability to add notable viewers where you can personalize the LLM response for that viewer
- Ability to use the newer local Windows TTS voices
- Button to forcibly reset the current chat history with the LLM (chatgpt/ollama) without restarting BBB
Fixed:
- Ollama restarting a conversation every time you send a message. Now it has a conversation history
- gifted subs fixed see #86
- Authorization to Twitch issue fixed
- Timeout on OpenAI API key check to prevent hanging at startup
New:
- Allow the ElevenLabs 2.5 Turbo API at 50% the cost of the default one https://elevenlabs.io/blog/introducing-turbo-v2-5
- You can now filter bad words in Twitch messages and triggers! If a bad word is found, the message is completely ignored by BBB
Fixed:
- Not saving Streamer name on exit #74
- Not saving LLM Language setting on exit #75
- Authorization to twitch failing due to ClientID not being correct in settings file #78
New:
- Allowing fully custom Twitch and intermediary LLM messages. Note: There is no protection to what you enter or remove there! Be careful!
- Now supports OpenAI's ChatGPT 4 Omni Mini model.
Fixed:
- Check for Windows Native STT recognizer installed or not. Feedback when not #73
- Subscriber and Founder badge both recognized as issubscriber in new library. #71
- Crash on first install fix
New:
- You can now also select German and Spanish Twitch and LLM intermediary messages
New:
- shows if there is a version update in the bottom left
- Started working on multilingual Twitch messages (not yet finished)
- Recording button turns red when recording. Main textfield also shows when stopoing recording.
- Small text in hotkey setting to mention the difference between the hotkey (hold to record) and the button (toggle)
Fixed:
- Twitch channel command should not hang on subscriber chat commands
Not yet fixed:
- Native STT non English
Known issue:
- Viewers using their "First" badge while being subsribers are not correctly identified as subscribers
New:
- Spanish added to OpenAI/Whisper TTS voices
- ElevenLabs now defaults to the higher quality and multilingual v2 API speech model
Note: this does not fix the English used in some prompts that are embedded in BBB, which can generate some response oddities from the used LLM. This will be fixed in a later release.
New:
- Talking rate for TTS Voices that support it #62
- Talking volume for TTS Voices #53
- Talking pitch for TTS Voices that support it
- Version control check at startup
Azure Cognitive Services: pitch, volume, rate Windows native: pitch, rate, volume OpenAI Whisper: volume, rate ElevenLabs: volume
Fixed:
- Some small logic errors for Elevenlabs fixed when loading twice in personas
- Some small logic errors fixed when switching personas and saving from dialog window
Fixed:
- #57 now uses a broadcaster account to verify channel issues while a bot account can be used for talking in chat. The bot account is optional.
- #55 now throws an error when there is an audio device selected that's active but unusable with Azure Speech
- #58 logfile is now being created in appdata, The same directory where some application settings files are being written to. Also some more error handling incase there's issues writing.
Fixed:
- Streamer listbox STT was not cleared when coming back from settings #59
- Chat command cooldown timer for Twitch started at the beginning, not at the end of TTS #54
Need feedback:
- Lower delay between notification sound and saying response in TTS #61
- Log file not being created, added extra notification and testing #58
Thank you max aka Dadflaps#1337 for your bug reports and feedback
fixed:
- Save dialog when you edit the default persona should not popup now all the time
not fixed:
- Added additional logging to eventsub subscription errors.
Thank you @max aka Dadflaps#1337 for your bug reports and feedback
fixed:
- #50 by adding a small delay and a check for ratelimits
- (hopefully) Azure voice quality should be improved
Added:
- Ability to post the chat command cooldown being over in Twitch chat.
Thank you @max aka Dadflaps#1337 for your bug reports and feedback
fixed:
- #45 fixed; due to logic error whenn the authorized API key and monitoring channel were different people
- #46 fixed; in combination with autostart checked, after the settings window Twitch would disconnect
- #49 fixed; username of broadcaster was not used in streamer/local STT recordings
- #47 fixed; setting was not saved when opening Settings panel.
Improvement:
- Switching windows now saves settings more often to prevent setting-data loss
- Main window now calls "Persona" "Streamer Persona" to make it more obvious that's only used for the Speech-To-Text/streamer.
- Enabling Ollama in the settings screen while its not running now handled gracefully instead of crashing. Testing Ollama now also handles issues more gracefully instead of crashing.
- Elevenlabs speed optimization. It only needs to load the voices when you are busy editing persona's that use Elevenlabs and not in other events.
- Fixes and validations for invalid or empty API keys so that the program does not crash. It fails gracefully and tells you the key is invalid.
- many fixes for text input issues, like saving on the correct time or not allowing empty fields
- Twitch OAUTH fix to allow configurable redirect if default port is occupied
- Elevenlabs optimizations
- Fixes to PTT button
- Fixes to Hotkeys
- Added timestamps to Main text window
- many code hygiene fixes
- Ollama roletext fix & now Ollama supports and remembers previous content
- Optimization of API verifications
- added more logging to help debugging
- Added a HELP setting that opens the logfile directory
- New Elevenlabs library
This project uses the GNU General Public License v3.0 as you can read here. The TLDR is:
You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions.
BanterBrain Buddy is a Windows .Net based Speech-To-Text to LLM to Text-To-Speech program for general entertainment or as a streaming companion.
The goal is to provide local PC or streaming entertainment by talking to an AI and hearing the responses back, based on a role you can set for the AI. The goa is to support both local only-resources or API services. For the streaming side of things, integration with Twitch to respond to chat commands and stream events is planned.
Example: https://www.youtube.com/watch?v=TawapT1WEEo
Come talk or chat at https://discord.banterbrain.tv
[todo] tldr: use Visual studio 2022 with .net 8.
- for most API-services you need a paid account using a creditcard! (OpenAI, Azure, Google, Deepgram, etc.)
- local based LLM's like Ollama take significant resources; expect to need at least 8 GB memory for a basic model and a solid GPU if you want fast responses