Skip to main content

A voice interface for OpenAI's ChatGPT

Project description

SpeechGPT

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

pip3 install speechgpt

or

git clone https://github.com/Jdka1/SpeechGPT

Then navigate to SpeechGPT/speechgpt/ and place the files in the same directory as your main.py file.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

speechgpt-0.1.3.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

speechgpt-0.1.3-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file speechgpt-0.1.3.tar.gz.

File metadata

  • Download URL: speechgpt-0.1.3.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for speechgpt-0.1.3.tar.gz
Algorithm Hash digest
SHA256 b8853b571a53b843a23fae237323b870469a0e46eaaf34fed938556d6a40e6e6
MD5 abe13ad83c42600f1a65d59d82b1f47f
BLAKE2b-256 04e0636563ff074e96c7b77ee63dae10762df4d3caaac3cc90c0bf20691ff1e4

See more details on using hashes here.

File details

Details for the file speechgpt-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: speechgpt-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for speechgpt-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4e1a71533fd110e77e7d80db8fc325fcf376cac8ed74a80d96a7db5f73cf13a0
MD5 6534c303cefde679780e8afbc7f60b87
BLAKE2b-256 4b13e463f9846b694fce969ccf29d7b9b63d7a260abcd19b3854928312ab9aec

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page