ARIA

An AI‑powered personal piano mentor that provides self‑learners with real‑time pitch and rhythm feedback, gamified practice, and progress tracking.

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

Practice Mode

Error Feedback Detail

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 assembleDebug

Backend & 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 start

Machine 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 model

Usage

  1. Launch the Android app and sign up
  2. Connect to the backend URL in Settings
  3. Start a new practice session; AIRA listens via mic/MIDI
  4. Review instant feedback overlays and badges earned
  5. Check your weekly progress on the Dashboard screen