Releases: Oshimia/firebot_speech_command
Release list
FirebotVC5
This release is really only an incremental change in terms of functionality. It's added history, which can be useful when interfacing with other programs, and allows defining multiple trigger paths as well as multiple trigger words. Both useful additions, but no real change to the core functionality. There is also now an output.log file generated by the whisper.exe meaning you can see the logs without having to run the GUI. Again, no real change to functionality, but can be a nice little QOL feature.
The big change however is in the app structure, I've learned a lot since I started building this (Can you believe my idea of "version control" was keeping whole copies of the previous files in a different directory? I too am shocked it worked at all) and the previous structure was a mess. This has been updated to a nice modular layout that makes it much easier to play with and tweak without breaking the whole thing.
There is also now a dedicated build.py file, that should build the exe files for you if you want to edit it and rebuild it yourself.
Firebot VC 4.6
Updated to allow use of expected languages to reduce latency and improve accuracy with languages other than English. You will need to add the language codes to the file if you want to use other than English (English is the default setting) Google language codes can be found here: https://cloud.google.com/speech-to-text/docs/speech-to-text-supported-languages. Whisper language codes can be found here: https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes
This is a program that can be used to trigger URLs on voice commands. It is designed to work with Firebot, but will work with anything that can be triggered through a URL. To use it in Firebot create a preset effects list, click "how to trigger from StreamDeck" and then use the URL provided there. You can also use an "On Firebot Start" event in Firebot to start any of the .exe's provided. If you want to edit the configuration use the GUI exe, but if you just want it to run in the background you can instead use the whisper exe. Make sure you have the config file in the same directory as the exe.
Uses a free Google API for processing for processing trigger words and the command, but if you add an OpenAi API key which you can get from here: https://platform.openai.com/settings/organization/api-keys. it will instead use the Whisper transcript model to process the commands for better accuracy. Whisper is not free, but it's very cheap at 0.006 cents per minute of transcription. This means it only triggers the paid transcription service when you actually want it to process a command. It then triggers exactly one URL that you can use to trigger Firebot (or any program that you choose) to process the text file however you like.
If you wanted to run this without Firebot (it should be suitable for any program that you want to trigger with voice commands, but you will need to process the text file transcript somehow to use the output) there is a setting in the config file that should turn that off.
FirebotVC 4.5
Updated to remove multiple recording threads in favour of a Voice Activated Detection system with improved trigger word detection (again again) and no downtime. Removed redundant API calls and significantly improved speed of the script. Refactored to improve legibility and remove legacy/redundant code. One issue with this version is that it may be more sensitive to environmental sound, relies on silences to detect the end of speech. Use of the Google API is significantly improved, now much more capable of long transcripts without the use of Whisper. Using without a Whisper API key is faster, but less accurate.
This is a program that can be used to trigger URLs on voice commands. It is designed to work with Firebot, but will work with anything that can be triggered through a URL. To use it in Firebot create a preset effects list, click "how to trigger from StreamDeck" and then use the URL provided there. You can also use an "On Firebot Start" event in Firebot to start any of the .exe's provided. If you want to edit the configuration use the GUI exe, but if you just want it to run in the background you can instead use the whisper exe. Make sure you have the config file in the same directory as the exe.
Uses a free Google API for processing for processing trigger words and the command, but if you add an OpenAi API key which you can get from here: https://platform.openai.com/settings/organization/api-keys. it will instead use the Whisper transcript model to process the commands for better accuracy. Whisper is not free, but it's very cheap at 0.006 cents per minute of transcription. This means it only triggers the paid transcription service when you actually want it to process a command. It then triggers exactly one URL that you can use to trigger Firebot (or any program that you choose) to process the text file however you like.
If you wanted to run this without Firebot (it should be suitable for any program that you want to trigger with voice commands, but you will need to process the text file transcript somehow to use the output) there is a setting in the config file that should turn that off.
Firebot Commands V4
This is a program that can be used to trigger URLs on voice commands. It is designed to work with Firebot, but will work with anything that can be triggered through a URL. To use it in Firebot create a preset effects list, click "how to trigger from StreamDeck" and then use the URL provided there. You can also use an "On Firebot Start" event in Firebot to start any of the .exe's provided. If you want to edit the configuration use the GUI exe, but if you just want it to run in the background you can instead use the whisper exe.
This has much improved trigger word detection (again).
Uses a free Google API for processing for processing trigger words and the command, but if you add an OpenAi API key which you can get from here: https://platform.openai.com/settings/organization/api-keys. it will instead use the Whisper transcript model to process the commands for better accuracy. Whisper is not free, but it's very cheap at 0.006 cents per minute of transcription. This means it only triggers the paid transcription service when you actually want it to process a command. It then triggers exactly one URL that you can use to trigger Firebot (or any program that you choose) to process the text file however you like.
If you wanted to run this without Firebot (it should be suitable for any program that you want to trigger with voice commands, but you will need to process the text file transcript somehow to use the output) there is a setting in the config file that should turn that off.
While trigger detection is better it now has redundant processes to make sure a trigger word isn't detected, and also several systems to stop multiple URLs being triggered from one command. This means you need at least 5 seconds between trying commands, otherwise it will assume it's a duplicate command and refuse to trigger it.
Firebot Commands V3
This is a program that can be used to trigger URLs on voice commands. It is designed to work with Firebot, but will work with anything that can be triggered through a URL. To use it in Firebot create a preset effects list, click "how to trigger from StreamDeck" and then use the URL provided there. You can also use an "On Firebot Start" event in Firebot to start any of the .exe's provided. If you want to edit the configuration use the GUI exe, but if you just want it to run in the background you can instead use the logic exe (for a completely free program) or the whisper exe (for improved processing).
This has much improved trigger word detection. The logic script will work as it always has, just with a better chance of correctly picking up on trigger words. I've added a lot of trigger words that will sound like "modbot" if you want to use that, but I've found that because it is not a real word the Google API often has difficulty with it, and "moderator" is much more accurate, and I have included that as a trigger word as well. You can edit the trigger words in the config file or the attached GUI. The trigger words start the script listening for a phrase, that you can edit in the URL mapping of the config file, and when it finds a phrase that matches what you said it will trigger the associated URL. I may edit this to work like the whisper exe that triggers just one URL but provides a transcript for firebot to process in the future, but for now I'm out of time I can spend on it.
The whisper script will instead use the OpenAi Whisper transcript model which you can get from here: https://platform.openai.com/settings/organization/api-keys. Whisper is not free, but it's very cheap at 0.006 cents per minute of transcription. The Whisper script uses the free Google transcript API that was used before to detect trigger words and then the Whisper API to more accurately transcribe the audio to a text file only when a trigger word has already been detected. This means it only triggers the paid transcription service when you actually want it to process a command. It then triggers exactly one URL that you can use to trigger Firebot to process the text file however you like. To use the whisper script or exe you will need to add an OpenAi API key and a suitable URL to trigger in the config file (this can be edited with the GUI)
The GUI is now different, instead of a full program that runs the trigger word detection and URL triggering it is now just a dedicated GUI for editing the config file and running the correct exe or .py script. It can handle both .exe and .py, so if you have python and the dependencies installed on your PC you can just use the GUI to run the python scripts, making it much easier to edit them yourself to do whatever you want.
If you wanted to run this without Firebot (it should be suitable for any program that you want to trigger with voice commands) there is now a setting in the config file that should turn that off.
While trigger detection is better it now has redundant processes to make sure a trigger word isn't detected, and also several systems to stop multiple URLs being triggered from one command. This means you need at least 5 seconds between trying commands, otherwise it will assume it's a duplicate command and refuse to trigger it.
Firebot Voice Commands V2
These are the main files needed in order to use Firebot voice commands. You must have the config file in the same location as the GUI or logic exe's when you use them. The GUI will bring up a GUI where you can edit your voice commands, and the logic exe will run as a background process without a popup, so you can run it however you like. V2 includes the ability to select the microphone that you want to use, but will need you to update your config file to include a reference for it.
To add, change or remove new keywords or phrases you will need to open up the GUI file. The JSON config file currently has some example words and phrases, but you will need to change the active URL's to match the URL's of preset effect lists already present on your Firebot profile. To find the URL of an effect list go to the effect list tab in Firebot, edit the effect list you want to use, select "How to trigger from StreamDeck" and in the information you see there copy the URL to the voice commands GUI. When the GUI is open click on any command you want to edit and click edit. When the edit box shows up change the command word to whatever you want to use and click OK. After you click OK another box should pop up asking for the appropriate URL. This is where you paste the URL from Firebot.
While the GUI is open you can test how well it understands you and it should work with Firebot.
To access voice commands without using a window you can run the logic exe. You can run this on Firebot start automatically by making a new Firebot Start event in the Events tab and adding a "Run Program" effect. The logic exe will not run if Firebot is not also running, so it will shut down automatically the first time you speak after you close Firebot.
Firebot Voice Commands V1
These are the main files needed in order to use Firebot voice commands. You must have the config file in the same location as the GUI or logic exe's when you use them. The GUI will bring up a GUI where you can edit your voice commands, and the logic exe will run as a background process without a popup, so you can run it however you like.
To add, change or remove new keywords or phrases you will need to open up the GUI file. The JSON config file currently has some example words and phrases, but you will need to change the active URL's to match the URL's of preset effect lists already present on your Firebot profile. To find the URL of an effect list go to the effect list tab in Firebot, edit the effect list you want to use, select "How to trigger from StreamDeck" and in the information you see there copy the URL to the voice commands GUI. When the GUI is open click on any command you want to edit and click edit. When the edit box shows up change the command word to whatever you want to use and click OK. After you click OK another box should pop up asking for the appropriate URL. This is where you paste the URL from Firebot.
While the GUI is open you can test how well it understands you and it should work with Firebot.
To access voice commands without using a window you can run the logic exe. You can run this on Firebot start automatically by making a new Firebot Start event in the Events tab and adding a "Run Program" effect. The logic exe will not run if Firebot is not also running, so it will shut down automatically the first time you speak after you close Firebot.