Welcome to the Bookworm repository! Bookworm is a Python Flask web application that serves as a voice-to-voice AI chatbot. It utilizes the Whisper API for transcribing voice to text, the OpenAI API for generating text responses, and the Eleven Labs API to convert text responses into voice.
A working demo of the application can be viewed on YouTube: Demo Video
To set up the Bookworm app on your local machine, follow the steps below:
- Python 3.x
- pip package manager
-
Clone the repository:
git clone https://github.com/moreshk/bookworm.git
-
Navigate to the project directory:
cd bookworm
-
Create a virtual environment (optional but recommended):
python3 -m venv venv source venv/bin/activate
-
Install the required dependencies:
pip install -r requirements.txt
-
Obtain API keys
- Whisper API: Obtain your Whisper API key from the Whisper API provider.
- OpenAI API: Obtain your OpenAI API key from the OpenAI API provider.
- Eleven Labs API: Obtain your Eleven Labs API key from the Eleven Labs API provider.
-
Configure environment variables
-
Create a
.env
file in the project root directory. -
Add the following environment variables to the
.env
file:WHISPER_API_KEY=your_whisper_api_key OPENAI_API_KEY=your_openai_api_key ELEVENLABS_API_KEY=your_elevenlabs_api_key
-
-
Start the Flask development server:
flask run
-
Open your web browser and visit
http://localhost:5000
to access the Bookworm app. -
You can also run the python script and access it at http://127.0.0.1:5000/
- Upon accessing the app, you can interact with the AI chatbot by providing voice input.
- Speak clearly into your microphone and wait for the app to transcribe your speech to text.
- The app will then generate a text response using OpenAI API and convert it to voice using the Eleven Labs API.
- You will hear the chatbot's response as voice output.
Feel free to explore and engage in conversations with the Bookworm voice-to-voice AI chatbot!