AIRA is an AI‑powered piano mentor built by Team C242‑PS540 for the Bangkit Academy 2024 Capstone. A real-time piano learning assistant that detects note and rhythm errors in under 300 ms, providing instant feedback to students via an Android client. Built with a Flask backend for low-latency audio processing and machine learning classification.
- Real‑Time Feedback: Classifies Wrong Note, Missing Note, Extra Note, or No Error against reference MIDI with ~92% accuracy.
- Low-Latency Feedback – End-to-end processing time under 300 ms.
- Cross-Platform Streaming – Streams audio from Android app to Python backend.
- ML-Driven Classification – Trained on annotated piano audio datasets for robust detection.
- Immediate Learning Aid – Students can self-correct mistakes mid-practice session.
Tech Stack
- Backend: Python (Flask)
- ML Libraries: TensorFlow, Keras, Librosa
- Client: Android (Java/Kotlin)
- Other Tools: NumPy, Pandas, GitHub Actions for CI/CD
Screenshots
Practice Mode

Error Feedback Detail

Installation
Clone and set up each component:
Android App
git clone https://github.com/TCHWG/Android‑Development.git
cd Android‑Development
./gradlew assembleDebugBackend & API
git clone https://github.com/TCHWG/Backend‑AIRA.git
cd Backend‑AIRA
npm install
cp .env.example .env # fill in your Firebase, email, and Google Cloud creds
npx prisma migrate dev
npm startMachine Learning Model
git clone https://github.com/TCHWG/Machine‑Learning.git
cd Machine‑Learning
pip install -r requirements.txt
python train_model.py # trains the mistake‑classification modelUsage
- Launch the Android app and sign up
- Connect to the backend URL in Settings
- Start a new practice session; AIRA listens via mic/MIDI
- Review instant feedback overlays and badges earned
- Check your weekly progress on the Dashboard screen