Voice-based chatGPT
FreeHave a conversation with ChatGPT using your voice, and have it talk back.
FreeFree tier
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.