Voice-based chatGPT logo

Voice-based chatGPT

Free

Have a conversation with ChatGPT using your voice, and have it talk back.

FreeFree tier
Type
Open Source

About Voice-based chatGPT

A free and open-source tool that enables voice-based conversations with ChatGPT. It uses the ChatGPT API to process voice input (recorded via microphone) and responds with synthesized speech, allowing for a hands-free, interactive dialogue. Built in Python, it requires Ubuntu with dependencies like espeak, ffmpeg, and portaudio19-dev. The tool normalizes ambient noise before starting and maintains a single conversation session. The repository includes future plans such as interrupting ChatGPT mid-speech, silencing PyAudio errors, and developing a web-based version.

Key Features

Voice input and speech output for ChatGPT conversations
Single continuous conversation session
Ambient noise normalization before starting
Uses ChatGPT API via session token authentication
Open-source Python implementation
Future plans for interruption handling, error silencing, and web app

Pros & Cons

Pros
  • Completely free and open source
  • Simple setup and usage
  • Customizable code for developers
  • Provides a natural conversational experience
Cons
  • Only officially supported on Ubuntu Linux
  • Requires a ChatGPT API session token
  • Not production-ready (known issues with PyAudio errors and ChatGPT's disclaimers)
  • No web interface or mobile support
  • Limited to single-voice input, no multi-turn interruption

Best For

Hands-free AI interactionAccessibility for users who prefer voice over typingPrototyping voice-driven conversational agentsExperimenting with ChatGPT's voice interface

FAQ

What are the system requirements?
The tool requires Ubuntu Linux and dependencies: espeak, ffmpeg, portaudio19-dev, and python3-pyaudio. They can be installed via 'sudo apt install portaudio19-dev python3-pyaudio ffmpeg espeak'.
How do I install and use it?
Copy config.json.example to config.json, fill in your ChatGPT session_token, install Python requirements with 'pip install -r requirements.txt', then run chatgpt.py. Wait two seconds for ambient noise normalization before speaking.
Is it possible to interrupt ChatGPT while it's speaking?
Not currently, but it is listed as a future step in the repository's roadmap.
Does this tool have a web app?
No, currently it is a command-line application. The developer mentions making it a web-app as a future step.