A voice interface for OpenAI's ChatGPT 🎙
Credit to @terry3041 for pyChatGPT ❤️
This package detects microphone input and coverts it to text using Google's Speech Recognition API. It then opens ChatGPT and inputs the recognized text using selenium.
It can be used with a wake word, and it can also use text to speech to repeat ChatGPT's answer to the query. These arguements are specified in the creation of the class (see Getting Started)
pip install speechgpt
It is not uncommon that there are errors when installing pyaudio. If you are on macOS you may have to use homebrew to install portaudio
.
Follow these steps in @terry3041's README.md
from speechgpt import SpeechGPT
session_token = "<__Secure-next-auth.session-token cookie from https://chat.openai.com/chat>"
bot = SpeechGPT(session_token=session_token) # Initializing the bot
bot.listen() # The bot will start listening and respond to whatever it is prompted with using ChatGPT
If the bot is initialized with a wake_word
value then it will wait until it hears that phrase when bot.listen()
is called, and then it will start listening.
If the bot is initialized with voice_on = True
as an arguement, then it will use text to speech to play back ChatGPT's response.
# How to initialize SpeechGPT with wake_word and voice_on
bot = SpeechGPT(session_token=session_token,
wake_word="wake up",
voice_on=True)
.listen()
only runs one cycle, so it needs to be put in a loop for it to answer more than one prompt
while True:
bot.listen()
If the bot hears "quit" at any stage after .listen()
is called then it will quit.
This package is not affiliated with OpenAI in any way. Use at your own risk. I am not responsible for any damage or harm caused by this project. Please read OpenAI's Terms of Service before using this module.
This project is licensed under the MIT License - see the LICENSE file for details.