TandanGPT is a chatbot which allows you to engage in conversations by speaking into the microphone. Alonge with the AI chat response, it generates corrections and suggestions for your sentences. Additionally, the AI explains it's own response to help you understand and learn.
Set the language you wish to practice Choose to view or hide sections Play the generated AI audio
An demo of what the AI speech sound like https://github.com/josephhuang08/tandemGPT/assets/64144020/644c9341-7078-4158-b101-730c256935d8
- Select the language which you would like to practice.
- Set the silience duration (the amount of time of not speaking until it automatically stops recording)
- Automatic Speech Recognition: OpenAI's Whisper-medium model for speech recognition, running locally.
- Chat Generation: OpenAI's GPT-3.5 Turbo model used for generating chat responses.
- Text to Speech: Bark-Small model for text-to-speech functionality, running locally.
- UI Interface: Gradio for creating the user interface.
-
Automatic Speech Recognition (ASR):
- You speak into the microphone, and the application uses OpenAI's Whisper/Medium model to transcribe your speech.
-
Chat Generation:
- The transcribed speech is sent to OpenAI's GPT-3.5 Turbo model, which generates a response based on the input.
-
Text to Speech (TTS):
- The AI-generated response is converted to speech using the Bark-Small model, providing an audible response.
-
User Interface:
- The UI interface, created using Gradio, allows you to interact with the chatbot and receive the AI-generated responses.
TODO
- Enable TandemGPT to take a file containing Vocabularies which the bot will use to generate responses based on the user's prompt.
- Use Real-time ASR to improve runtime.
- Have the option to enable or disable certain functions of TandemGPT (to improve runtime).
We welcome contributions! If you'd like to contribute to this project, please follow these guidelines:
- Fork the repository and create your branch:
git checkout -b feature/your-feature
. - Commit your changes:
git commit -m 'Add your feature'
. - Push to the branch:
git push origin feature/your-feature
. - Submit a pull request.
This project is licensed under the MIT License. Feel free to use, modify, and distribute this code for your purposes.