VocaLift is a Streamlit-powered AI vocal coach that delivers actionable feedback and rich visualizations based on advanced audio analysis and machine learning. By comparing your singing with a reference (coach) audio, VocaLift helps users improve their pitch, timing, dynamics, and overall vocal quality - anytime, anywhere.
-
Full Song Analysis:
Quantitative assessment of your singing compared to a coach track using metrics like pitch correlation, MFCC similarity, DTW distance, energy correlation, tempo difference, and chroma similarity.
Provides model confidence scores and a personalized overall assessment. -
Segment-by-Segment Feedback:
Breaks down your performance into overlapping segments, providing detailed, time-localized scoring and pinpointing weaknesses in pitch, timing, dynamics, or tempo. -
AI-Generated Coaching (Gemini API):
Leverages generative AI (Google Gemini) for tailored, structured feedback. The application automatically rotates API keys and model endpoints to handle rate limits seamlessly. -
Pitch Contour Visualization:
Plots detailed pitch contours for coach and user tracks with voiced region shading, leveraging a neon arcade-style theme for readability and aesthetics. -
Interactive Streamlit UI:
Upload audio files, select analysis types, and explore results with Plotly-powered charts and metrics. Includes customizable dark theme with neon green highlights, magenta accents, and Orbitron font for a modern look.
-
Clone the repository:
git clone https://github.com/AI-Mentorship/VocaLift.git cd vocalift -
Install dependencies:
pip install -r requirements.txt
- Key Python packages:
streamlittensorflowlibrosanumpyplotlyscipyscikit-learngoogle-generativeaipython-dotenvjoblib
- Key Python packages:
-
Set up Google Gemini API Keys:
- Place your keys in a
.envfile as:GEMINI_API_KEY1=your-key-1 GEMINI_API_KEY2=your-key-2 . . .
- Place your keys in a
-
Start the app:
streamlit run vocalift_streamlit_app.py
-
Upload audio:
Coach/Referenceaudio: Professional or reference singing track.Useraudio: Your singing for analysis.
-
Select analysis type:
- Full Song Analysis
- Segment-by-Segment Analysis
- Pitch Contour Visualization
- Complete Analysis (all modes)
-
Run analysis:
- Get instant feedback and interactive charts for overall and segment-specific performance.
-
Explore AI feedback:
- Receive strengths, metric analysis, and recommended next steps powered by Gemini.
vocalift_streamlit_app.py: Main Streamlit app interface and user interaction.vocalift_utils.py: Core audio feature extraction, comparison logic, Gemini API integration, and feedback generation.model/vocaliftmodel_3.h5: Trained TensorFlow model.
- Python 3.8+
- Google Gemini API access
- Supported audio formats: mp3, wav, m4a, flac, aiff, ogg
- Modular utility functions for audio segmentation, feature extraction, alignment, and feedback.
- Neon arcade theme optimized for visual accessibility.
- Automatic temp file management and result clearing buttons in UI.
- API/model rotation logic for robust Gemini integration under heavy usage.
- Model not loading:
- Ensure the
.h5file is present and compatible with TensorFlow Keras.
- Ensure the
- Gemini feedback not available:
- Check
.envfor valid/active API keys and internet connectivity.
- Check
- Audio error:
- Verify files are correct format and not corrupted.
VocaLift — Your AI Vocal Coach, Anytime, Anywhere.