Skip to content

Releases: Adri6336/gpt-voice-conversation-chatbot

GPT-VCC v1.2.2

26 Sep 01:30
321a786
Compare
Choose a tag to compare

Just a few small changes.

Changes and New Features:

  • Set default tokens to 350 from 150 so that the bot can more frequently complete a thought.
  • Added an installer and launcher script for Windows that you can double tap to run GPT-VCC easier. The installer is for those who just want to install the stuff and use GPT-VCC later, and the launcher is for those who want to run GPT-VCC immediately (even if not previously installed).

Bug Fixes:

  • Set default creativity lower, to 0.95 from 1.2, to reduce the amount of seizures that GPT-4 would have (the bot would start saying gibberish).

GPT-VCC v1.2

20 Jun 22:13
Compare
Choose a tag to compare

Changed API for speech recognition and made recording manual instead of automatic (to avoid premature stopping)

Change Log

New Features

  • Switched speech recognition API from Google speech recognition to OpenAI's Whisper. This change enables higher quality transcriptions and enables non-english speakers to communicate with the bot. So far I've tested German, Spanish, and Japanese -- all of which were properly recognized and transcribed.
  • Switched recording method from manual-trigger-automatic-stop to manual-trigger-manual-stop. This should help you speak for longer, think about what you're saying, and communicate more naturally. Trade off is that you'll have to press the space bar one more time.
  • Added phrase commands to the GPTCLI help section (e.g. "please set tokens to ...").
  • Changed message cancellation method from pressing 'p' to saying variations of 'cancel message'.
  • Updated ElevenLabs TTS to use their new multilingual model. Now you can have the fancy TTS speak to you in languages like Spanish or German

Bug Fixes

  • Fixed bug preventing the setting of tokens to a value that depends on the model being used.
  • Fixed bugs associated with making the change to Whisper speech recognition and manual recording.

Controls

Keyboard

  • SPACEBAR: This starts and stops a recording. Whatever you say will be then transcribed and sent to GPT (if it passes filters) once you press space a second time.

  • ESCAPE: This exits without memorizing.

  • Q: This quits and has bot remember details about you and your conversations (data is saved in the text file called memories.txt)

  • P: This is a depreciated command to cancel a message. Now just say, "please cancel a message" while recording to cancel.

Voice Commands

  • Say 'please set tokens to #': When the bot recognizes this phrase, it will try to set the max_tokens of the reply to the value you specified.

  • Say 'speak like a robot': This will set all responses from GPT to be spoken with a robotic TTS program that works offline. In CLI mode, enter '!robospeak()' to toggle this mode.

  • Say 'stop speaking like a robot': This will revert bot's TTS to whatever you had before (either Google or ElevenLabs TTS). In CLI mode, enter '!robospeak()' to toggle this mode.

  • Say 'please display conversation': This will output your entire conversation to the terminal window.

  • Say 'please display memories': This will provide an output of all memories saved into long term storage.

  • Say 'please restore memory': This will attempt to repair the working memory of the bot by consolidating a certain number of memories from the long term storage .

  • Say 'please set preset to': This will set the preset (a text string given to AI at start of every conversation) for the bot. For example, the preset 'speak like a pirate' makes AI speak like a pirate. You can find example presets here: https://github.com/Adri6336/gpt-voice-conversation-chatbot/wiki/Example-Presets .

  • Say 'please reset preset': This will delete the preset you made.

  • Say 'please set name to': This will set the name of the bot to whatever you specify, so long as it is in accordance with OpenAI's usage policies. After setting name, the bot will refer to itself by the name you set.

  • Say 'please toggle gpt4': This will toggle between ChatGPT and GPT-4 models. On start up, your switch will be preserved. In CLI mode, enter '!gpt4()' to toggle the model.

  • Say 'please set creativity to': This will set the bot's default randomness to a value you specify between 1 and 15 (used to be 9). In CLI mode, use '!creativity(#)' where the # sign is a value between 0.01 and 1.5.

  • Say 'please list commands': This will have the bot list out the available commands for you.

  • Say 'please toggle ElevenLabs': This will toggle the bot's use of ElevenLabs TTS on and off. In CLI mode, use !11ai() to toggle it.

  • Say 'please cancel message': This will cancel the message, preventing it from being sent to GPT.

GPT-VCC v1.1.3

25 Mar 14:16
d7ff444
Compare
Choose a tag to compare

Quick fix to model selection and stay in character function

Change Log (v1.1.2 +)

New Features

  • Added an introduction statement on first start up of voice mode.
  • Improved interface voice to use default ElevenLabs TTS voice.
  • Added a color for interface dialogue.
  • Made it so that if GPT responds that it's an AI, a second instance of GPT will intercept that reply and rephrase it in a way that doesn't take the user out of the conversation (the 'As an AI' phrase could be annoying).
  • Added the ability to toggle between ElevenLabs TTS and Google's TTS while an ElevenLabs API key is loaded. This will make it easier to do things like talk in general for a moment with the high quality TTS before switching on teacher mode and having a foreign language pronounced properly.

Bug Fixes

  • Fixed bug where saying that you wanted to set creativity to a number would fail because the voice transcription formatted the number wrong. Now setting creativity should work properly.
  • Fixed bug where stay_in_character function would only try to use GPT-4.
  • Fixed bug where token recycling and memory generation would only use ChatGPT model.

Controls

Keyboard

  • SPACEBAR: This starts a recording. Whatever you say will be then transcribed and sent to GPT (if it passes filters).

  • ESCAPE: This exits without memorizing.

  • Q: This quits and has bot remember details about you and your conversations (data is saved in the text file called memories.txt)

  • P: This attempts to cancel a request to GPT. It will either prevent transcribing of message or will avoid sending it to GPT.

Voice Commands

  • Say 'please set tokens to #': When the bot recognizes this phrase, it will try to set the max_tokens of the reply to the value you specified.

  • Say 'speak like a robot': This will set all responses from GPT to be spoken with a robotic TTS program that works offline. In CLI mode, enter '!robospeak()' to toggle this mode.

  • Say 'stop speaking like a robot': This will revert bot's TTS to whatever you had before (either Google or ElevenLabs TTS). In CLI mode, enter '!robospeak()' to toggle this mode.

  • Say 'please display conversation': This will output your entire conversation to the terminal window.

  • Say 'please display memories': This will provide an output of all memories saved into long term storage.

  • Say 'please restore memory': This will attempt to repair the working memory of the bot by consolidating a certain number of memories from the long term storage .

  • Say 'please set preset to': This will set the preset (a text string given to AI at start of every conversation) for the bot. For example, the preset 'speak like a pirate' makes AI speak like a pirate.

  • Say 'please reset preset': This will delete the preset you made.

  • Say 'please set name to': This will set the name of the bot to whatever you specify, so long as it is in accordance with OpenAI's usage policies. After setting name, the bot will refer to itself by the name you set.

  • Say 'please toggle gpt4': This will toggle between ChatGPT and GPT-4 models. On start up, your switch will be preserved. In CLI mode, enter '!gpt4()' to toggle the model.

  • Say 'please set creativity to': This will set the bot's default randomness to a value you specify between 1 and 15 (used to be 9). In CLI mode, use '!creativity(#)' where the # sign is a value between 0.01 and 1.5.

  • Say 'please list commands': This will have the bot list out the available commands for you.

  • Say 'please toggle ElevenLabs': This will toggle the bot's use of ElevenLabs TTS on and off. In CLI mode, use !11ai() to toggle it.

GPT-VCC v1.1.1

21 Mar 02:58
62b0ad1
Compare
Choose a tag to compare

Small update that expands customization options.

Change Log

New Features

  • Added ability to use alternate / custom voices with ElevenLabs as long as you have a voice ID. Instructions for this are included in the README.md file.
  • Added ability to set the bot's creativity on a scale of 1-15 in the voice mode and 0.01-1.5 in the CLI mode. For voice mode, each integer setting represents that value divided by 10. I used whole numbers to make adjusting the value easier with voice commands.

Controls

Keyboard

  • SPACEBAR: This starts a recording. Whatever you say will be then transcribed and sent to GPT (if it passes filters).

  • ESCAPE: This exits without memorizing.

  • Q: This quits and has bot remember details about you and your conversations (data is saved in the text file called memories.txt)

  • P: This attempts to cancel a request to GPT. It will either prevent transcribing of message or will avoid sending it to GPT.

Voice Commands

  • Say 'please set tokens to #': When the bot recognizes this phrase, it will try to set the max_tokens of the reply to the value you specified.

  • Say 'speak like a robot': This will set all responses from GPT to be spoken with a robotic TTS program that works offline. In CLI mode, enter '!robospeak()' to toggle this mode.

  • Say 'stop speaking like a robot': This will revert bot's TTS to whatever you had before (either Google or ElevenLabs TTS). In CLI mode, enter '!robospeak()' to toggle this mode.

  • Say 'please display conversation': This will output your entire conversation to the terminal window.

  • Say 'please display memories': This will provide an output of all memories saved into long term storage.

  • Say 'please restore memory': This will attempt to repair the working memory of the bot by consolidating a certain number of memories from the long term storage .

  • Say 'please set preset to': This will set the preset (a text string given to AI at start of every conversation) for the bot. For example, the preset 'speak like a pirate' makes AI speak like a pirate.

  • Say 'please reset preset': This will delete the preset you made.

  • Say 'please set name to': This will set the name of the bot to whatever you specify, so long as it is in accordance with OpenAI's usage policies. After setting name, the bot will refer to itself by the name you set.

  • Say 'please toggle gpt4': This will toggle between ChatGPT and GPT-4 models. On start up, your switch will be preserved. In CLI mode, enter '!gpt4()' to toggle the model.

  • Say 'please set creativity to': This will set the bot's default randomness to a value you specify between 1 and 15 (used to be 9). In CLI mode, use '!creativity(#)' where the # sign is a value between 0.01 and 1.5.

GPT-VCC v1.1.0

18 Mar 15:41
Compare
Choose a tag to compare

Bug fix and update to allow users to use GPT-4 as the main model. If using GPT-4, the quality of everything improves.

Change Log

New Features

  • Added ability to switch to GPT-4. If you toggle GPT-4, the bot will use GPT-4 automatically on startup.
  • Made GUI title reflect which model you are using.
  • Edited initial prompt to cue bot that it's having a conversation.

Bug Fixes

  • Fixed bug where sometimes the first two characters of the AI's message were missing. Messages should now be complete.

Controls

Keyboard

  • SPACEBAR: This starts a recording. Whatever you say will be then transcribed and sent to GPT (if it passes filters).

  • ESCAPE: This exits without memorizing.

  • Q: This quits and has bot remember details about you and your conversations (data is saved in the text file called memories.txt)

  • P: This attempts to cancel a request to GPT. It will either prevent transcribing of message or will avoid sending it to GPT.

Voice Commands

  • Say 'please set tokens to #': When the bot recognizes this phrase, it will try to set the max_tokens of the reply to the value you specified.

  • Say 'speak like a robot': This will set all responses from GPT to be spoken with a robotic TTS program that works offline.

  • Say 'stop speaking like a robot': This will revert bot's TTS to whatever you had before (either Google or ElevenLabs TTS). In CLI mode, enter '!robospeak()' to toggle this mode.

  • Say 'please display conversation': This will output your entire conversation to the terminal window.

  • Say 'please display memories': This will provide an output of all memories saved into long term storage.

  • Say 'please restore memory': This will attempt to repair the working memory of the bot by consolidating a certain number of memories from the long term storage .

  • Say 'please set preset to': This will set the preset (a text string given to AI at start of every conversation) for the bot. For example, the preset 'speak like a pirate' makes AI speak like a pirate.

  • Say 'please reset preset': This will delete the preset you made.

  • Say 'please set name to': This will set the name of the bot to whatever you specify, so long as it is in accordance with OpenAI's usage policies. After setting name, the bot will refer to itself by the name you set.

  • Say 'please toggle gpt4': This will toggle between ChatGPT and GPT-4 models. On start up, your switch will be preserved. In CLI mode, enter '!gpt4()' to toggle the model.

GPT-VCC v1.0.7

11 Mar 21:27
Compare
Choose a tag to compare

Bug fixes and improvement to user experience

Change Log

New Features

  • Modified system directive for ChatGPT to make it more conversational. Before if you said 'Hi!' it would often greet you and ask if you had any questions. Now, ChatGPT will respond with conversational open-ended questions about the user if greeted like that.

Bug Fixes

  • Fixed bug where a required NLTK package was not installed at startup.
  • Fixed bug where ChatGPT would give you the wrong time if asked. The lil robot still does not understand the changing nature of time, but at least this fix will force it to 'know' the current time.

Controls

Keyboard

  • SPACEBAR: This starts a recording. Whatever you say will be then transcribed and sent to GPT (if it passes filters).

  • ESCAPE: This exits without memorizing.

  • Q: This quits and has bot remember details about you and your conversations (data is saved in the text file called memories.txt)

  • P: This attempts to cancel a request to GPT. It will either prevent transcribing of message or will avoid sending it to GPT.

Voice Commands (All work with CLI version too except for the robot-speaking commands)

  • Say 'please set tokens to #': When the bot recognizes this phrase, it will try to set the max_tokens of the reply to the value you specified.

  • Say 'speak like a robot': This will set all responses from GPT to be spoken with a robotic TTS program that works offline.

  • Say 'stop speaking like a robot': This will revert bot's TTS to whatever you had before (either Google or ElevenLabs TTS).

  • Say 'please display conversation': This will output your entire conversation to the terminal window.

  • Say 'please display memories': This will provide an output of all memories saved into long term storage.

  • Say 'please restore memory': This will attempt to repair the working memory of the bot by consolidating a certain number of memories from the long term storage .

  • Say 'please set preset to': This will set the preset (a text string given to AI at start of every conversation) for the bot. For example, the preset 'speak like a pirate' makes AI speak like a pirate.

  • Say 'please reset preset': This will delete the preset you made.

  • Say 'please set name to': This will set the name of the bot to whatever you specify, so long as it is in accordance with OpenAI's usage policies. After setting name, the bot will refer to itself by the name you set.

GPT-VCC v1.0.6

09 Mar 16:06
Compare
Choose a tag to compare

Update that improves quality of interactions between user and AI

Change Log

New Features

  • Improved memory system by using a modified token recycling algorithm. Memories should now be able to be generated for arbitrarily long conversations without failing.
  • Gave bot a superficial understanding of the current time so that it can greet users in a time appropriate way every now and then. The time updates continuously so the bot understands the current time, but it will not comprehend the changing nature of it. Asking for frequent updates on the current time will trip the bot up and 'annoy' it (it has never said it was annoyed and was always polite, but I could def read that subtext lol), so probably don't do that.

Bug Fixes

  • Increased NLTK negativity threshold to 0.5 when a noun is mentioned to reduce false positives. Tested with a conversation over Chaos Theory, which used to be erroneously rejected due to its score. This should allow a less intrusive safety mechanism.
  • Fixed bug where long conversations would lead to a crash or amnesia when the user tried to generate memories.

Controls

Keyboard

  • SPACEBAR: This starts a recording. Whatever you say will be then transcribed and sent to GPT (if it passes filters).

  • ESCAPE: This exits without memorizing.

  • Q: This quits and has bot remember details about you and your conversations (data is saved in the text file called memories.txt)

  • P: This attempts to cancel a request to GPT. It will either prevent transcribing of message or will avoid sending it to GPT.

Voice Commands (All work with CLI version too except for the robot-speaking commands)

  • Say 'please set tokens to #': When the bot recognizes this phrase, it will try to set the max_tokens of the reply to the value you specified.

  • Say 'speak like a robot': This will set all responses from GPT to be spoken with a robotic TTS program that works offline.

  • Say 'stop speaking like a robot': This will revert bot's TTS to whatever you had before (either Google or ElevenLabs TTS).

  • Say 'please display conversation': This will output your entire conversation to the terminal window.

  • Say 'please display memories': This will provide an output of all memories saved into long term storage.

  • Say 'please restore memory': This will attempt to repair the working memory of the bot by consolidating a certain number of memories from the long term storage .

  • Say 'please set preset to': This will set the preset (a text string given to AI at start of every conversation) for the bot. For example, the preset 'speak like a pirate' makes AI speak like a pirate.

  • Say 'please reset preset': This will delete the preset you made.

  • Say 'please set name to': This will set the name of the bot to whatever you specify, so long as it is in accordance with OpenAI's usage policies. After setting name, the bot will refer to itself by the name you set.

GPT-VCC v1.0.5

06 Mar 18:21
Compare
Choose a tag to compare

Small quality of life upgrade that improves Linux users' experience and the overall quality of ChatGPT conversations.

Change Log

New Features

  • Updated ChatGPT's system directive to make it more emotive and engaging in a safe, positive, way and communicate with users more naturally.
  • Improved Linux CLI experience by enabling the use of arrow key controls (left and right move the text cursor, up and down scroll through session's entry history).

Controls

Keyboard

  • SPACEBAR: This starts a recording. Whatever you say will be then transcribed and sent to GPT (if it passes filters).

  • ESCAPE: This exits without memorizing.

  • Q: This quits and has bot remember details about you and your conversations (data is saved in the text file called memories.txt)

  • P: This attempts to cancel a request to GPT. It will either prevent transcribing of message or will avoid sending it to GPT.

Voice Commands (All work with CLI version too except for the robot-speaking commands)

  • Say 'please set tokens to #': When the bot recognizes this phrase, it will try to set the max_tokens of the reply to the value you specified.

  • Say 'speak like a robot': This will set all responses from GPT to be spoken with a robotic TTS program that works offline.

  • Say 'stop speaking like a robot': This will revert bot's TTS to whatever you had before (either Google or ElevenLabs TTS).

  • Say 'please display conversation': This will output your entire conversation to the terminal window.

  • Say 'please display memories': This will provide an output of all memories saved into long term storage.

  • Say 'please restore memory': This will attempt to repair the working memory of the bot by consolidating a certain number of memories from the long term storage .

  • Say 'please set preset to': This will set the preset (a text string given to AI at start of every conversation) for the bot. For example, the preset 'speak like a pirate' makes AI speak like a pirate.

  • Say 'please reset preset': This will delete the preset you made.

  • Say 'please set name to': This will set the name of the bot to whatever you specify, so long as it is in accordance with OpenAI's usage policies. After setting name, the bot will refer to itself by the name you set.

GPT-VCC v1.0.4

04 Mar 02:55
Compare
Choose a tag to compare

Small upgrade that takes advantage of the newly released ChatGPT API. From this point forward, GPT-VCC will be a customized implementation of ChatGPT.

Change Log

New Features (from v1.0.1 ++)

  • Upgraded default chat model from GPT-3's text-davinci-003 to ChatGPT gpt-3.5-turbo, allowing for higher quality conversations.
  • Updated token recycling function to use ChatGPT for summary creation

Bug Fixes

  • Fixed bug that would show response as empty if ChatGPT replied with its assigned name twice
  • Fixed bug that would prevent GPT-VCC from recycling tokens if using ChatGPT model
  • Fixed bug where memories would fail to be created if using the ChatGPT model
  • Made alterations to reduce amount of hallucinating that ChatGPT would engage in when constructing memory text files. Not full-proof, but substantially better than how it used to be
  • Increased NLTK negativity threshold for when a user has not mentioned a noun to avoid false positives

Controls

Keyboard

  • SPACEBAR: This starts a recording. Whatever you say will be then transcribed and sent to GPT (if it passes filters).

  • ESCAPE: This exits without memorizing.

  • Q: This quits and has bot remember details about you and your conversations (data is saved in the text file called memories.txt)

  • P: This attempts to cancel a request to GPT. It will either prevent transcribing of message or will avoid sending it to GPT.

Voice Commands (All work with CLI version too except for the robot-speaking commands)

  • Say 'please set tokens to #': When the bot recognizes this phrase, it will try to set the max_tokens of the reply to the value you specified.

  • Say 'speak like a robot': This will set all responses from GPT to be spoken with a robotic TTS program that works offline.

  • Say 'stop speaking like a robot': This will revert bot's TTS to whatever you had before (either Google or ElevenLabs TTS).

  • Say 'please display conversation': This will output your entire conversation to the terminal window.

  • Say 'please display memories': This will provide an output of all memories saved into long term storage.

  • Say 'please restore memory': This will attempt to repair the working memory of the bot by consolidating a certain number of memories from the long term storage .

  • Say 'please set preset to': This will set the preset (a text string given to AI at start of every conversation) for the bot. For example, the preset 'speak like a pirate' makes AI speak like a pirate.

  • Say 'please reset preset': This will delete the preset you made.

  • Say 'please set name to': This will set the name of the bot to whatever you specify, so long as it is in accordance with OpenAI's usage policies. After setting name, the bot will refer to itself by the name you set.

GPT-VCC v1.0

27 Feb 02:45
Compare
Choose a tag to compare
GPT-VCC v1.0 Pre-release
Pre-release

Added the last personal requirement feature as well as bug fixes and other stuff.

Change Log

New Features

  • Added ability to recycle tokens so that conversations can go on indefinitely
  • Added option to use command-line interface instead of normal voice-chat
  • Modified initial prompt to have bot be more engaging

Bug fixes

  • Fixed bug where Elevenlabs key would not load from key file
  • Reduced memory token max to 500 to reduce info overload chance
  • Fixed bug where safety tool would erroneously detect "no" as being problematic

Controls

Keyboard

  • SPACEBAR: This starts a recording. Whatever you say will be then transcribed and sent to GPT (if it passes filters).

  • ESCAPE: This exits without memorizing.

  • Q: This quits and has bot remember details about you and your conversations (data is saved in the text file called memories.txt)

  • P: This attempts to cancel a request to GPT. It will either prevent transcribing of message or will avoid sending it to GPT.

Voice Commands (All work with CLI version too except for the robot-speaking commands)

  • Say 'please set tokens to #': When the bot recognizes this phrase, it will try to set the max_tokens of the reply to the value you specified.

  • Say 'speak like a robot': This will set all responses from GPT to be spoken with a robotic TTS program that works offline.

  • Say 'stop speaking like a robot': This will revert bot's TTS to whatever you had before (either Google or ElevenLabs TTS).

  • Say 'please display conversation': This will output your entire conversation to the terminal window.

  • Say 'please display memories': This will provide an output of all memories saved into long term storage.

  • Say 'please restore memory': This will attempt to repair the working memory of the bot by consolidating a certain number of memories from the long term storage .

  • Say 'please set preset to': This will set the preset (a text string given to AI at start of every conversation) for the bot. For example, the preset 'speak like a pirate' makes AI speak like a pirate.

  • Say 'please reset preset': This will delete the preset you made.

  • Say 'please set name to': This will set the name of the bot to whatever you specify, so long as it is in accordance with OpenAI's usage policies. After setting name, the bot will refer to itself by the name you set.