Skip to content

A python package that creates a voice interface for interacting with OpenAI's ChatGPT 🗣️

License

Notifications You must be signed in to change notification settings

Jdka1/SpeechGPT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpeechGPT

Downloads PyPi License: MIT

A voice interface for OpenAI's ChatGPT 🎙

Credit to @terry3041 for pyChatGPT ❤️

Features

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)

Getting Started

Installation

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.


Usage

Obtaining session_token

Follow these steps in @terry3041's README.md

Importing as a module

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.

Disclaimer

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.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A python package that creates a voice interface for interacting with OpenAI's ChatGPT 🗣️

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages