ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Learn the classical dances of India with real-time pose detection — watch a master, mirror the pose on camera, and get joint-by-joint correction on your device.
EducationTypeScript · JavaScriptGitHub @divycodersOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
NrityaVaani
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
AI-Powered Indian Classical Dance, Mudra Recognition & 3D Guru Assistant
On-device computer vision, real-time 3D skeletal kinematics, Goonj-powered multilingual neural voice coaching, and interactive pedagogy for Bharatanatyam.Read the full README ↗AI-Powered Indian Classical Dance, Mudra Recognition & 3D Guru Assistant
On-device computer vision, real-time 3D skeletal kinematics, Goonj-powered multilingual neural voice coaching, and interactive pedagogy for Bharatanatyam.
Live Web App • API Service • Quickstart • Architecture • Guru Personas • Team
NrityaVaani preserves, digitizes, and democratizes the heritage of Indian classical dance through modern web technologies, 3D kinematics, and neural voice synthesis. Built with a privacy-first architecture, all live webcam gesture recognition runs 100% on-device directly in the browser using WebAssembly and WebGL—no video frames or camera streams ever leave your computer.
/learn): Pure, unobstructed 3D stage canvas with dual-gender rigs (male Natyacharya and female dancer), customizable camera presets (Full Body, Face / Abhinaya, Mudras, Feet), and dynamic tempo synchronization./live): Real-time 21-point 3D hand tracking at 60 FPS identifying Asamyukta (single-hand) and Samyukta (double-hand) classical mudras on-device./practice): Real-time posture scoring against target gestures with interactive feedback, hold timers, and streak tracking./library): 3D reference library covering 28 classical mudras with step-by-step instructions, viniyoga (usages), and common mistake corrections./mocap): In-browser full-body motion capture, bone jitter filtering, and real-time retargeting to 3D skinned models./upload): Single-image gesture analysis running client-side with instant accuracy feedback./privacy): Zero camera feed transmission. All computer vision inference executes locally via Google MediaPipe Tasks-Vision.NrityaVaani is deployed live in production:
flowchart LR
subgraph Client["User Device (Browser)"]
UI["Next.js 16 UI / React 19"]
CV["MediaPipe WASM (100% Local Inference)"]
Canvas["Three.js 3D Natya Shala"]
Audio["GuruAudioEngine (Web Audio / Fallback)"]
end
subgraph Netlify["Netlify Edge (Frontend)"]
Edge["Next.js App Router (@netlify/plugin-nextjs)"]
Static["Edge CDN & Static Asset Delivery"]
end
subgraph Render["Render.com (Backend Microservice)"]
FastAPI["FastAPI ASGI Server (Python 3.10)"]
Goonj["Goonj-1-82M / Kokoro Neural Voice Engine"]
Cache["Audio Stream Cache (RAM / Disk)"]
end
UI -->|Loads App Bundle| Edge
UI -->|Camera Frame Input| CV
UI -->|Renders 3D Skinned Meshes| Canvas
Audio -->|"Speech Synthesis Request"| FastAPI
FastAPI -->|"Stream MP3 Audio"| Audio
FastAPI --> Cache
FastAPI --> Goonj
Deploying NrityaVaani to production takes less than 5 minutes on free tiers.
divycoders/NrityaVaani).render.yaml and creates the service:
nrityavaani-backendPython 3pip install -r requirements.txtuvicorn main:app --host 0.0.0.0 --port $PORT/https://nrityavaani-backend.onrender.com).divycoders/NrityaVaani.netlify.toml:
frontendnpm run build.next| Variable | Value | Description |
|---|---|---|
NEXT_PUBLIC_BACKEND_URL | https://nrityavaani-backend.onrender.com | Public backend endpoint for direct client audio requests |
BACKEND_URL | https://nrityavaani-backend.onrender.com | Server-side rewrite proxy destination |
[!NOTE] Safety of Backend URLs: The URL
https://nrityavaani-backend.onrender.comis a public HTTP endpoint, not a secret credential. It contains no API keys, private tokens, or sensitive data. Next.js variables with theNEXT_PUBLIC_prefix are intentionally accessible to the browser.
[!TIP] Free Tier Cold Starts: Render's free tier spins down after inactivity. The first request after an idle period may take several seconds to warm up. If Render is waking up, the frontend automatically and seamlessly falls back to the browser-native SpeechSynthesis API.
You can run both the frontend and backend locally for development.
# Navigate to repository root
cd NrityaVaani
# Create and activate virtual environment
python -m venv .venv
# Windows:
.venv\Scripts\activate
# macOS / Linux:
source .venv/bin/activate
# Install backend dependencies
pip install -r requirements.txt
# Start FastAPI server on port 8000
uvicorn main:app --reload --port 8000
Verify backend:
# In a separate terminal
cd NrityaVaani/frontend
# Install dependencies
npm install
# Start Next.js development server
npm run dev
Open http://localhost:3000 in your browser (Google Chrome or Microsoft Edge recommended for hardware-accelerated WebGL & WebAssembly).
NrityaVaani/
├── backend/ # Python FastAPI Microservice
│ ├── core/
│ │ ├── classification.py # Mathematical heuristic gesture classifier
│ │ └── goonj_tts.py # Goonj neural TTS synthesis & caching engine
│ ├── models/ # Model weights storage (.gitkeep)
│ ├── main.py # FastAPI application routes & endpoints
│ ├── requirements.txt # Backend Python dependencies
│ └── README.md # Backend developer documentation
│
├── frontend/ # Next.js 16 + React 19 Frontend Web App
│ ├── public/ # Static assets, 3D GLBs, dance images
│ │ ├── images/ # Classical dance photography & legends
│ │ ├── lessons/ # Pre-baked .nvclip motion and audio data
│ │ └── models/ # 3D GLB rigs (figures.glb, hand.glb, natraj.glb)
│ ├── scripts/
│ │ └── build-mudra-poses.mjs # Kinematic solver generating mudraPoses.json
│ ├── src/
│ │ ├── app/ # App Router pages (/live, /learn, /library, /mocap)
│ │ ├── components/ # UI components, 3D Natya Shala stages & canvas rigs
│ │ └── lib/ # Motion classification, MediaPipe, voice engines
│ ├── next.config.ts # API rewrites & backend proxy routing
│ ├── package.json # Frontend dependencies & scripts
│ ├── tsconfig.json # TypeScript configuration
│ └── README.md # Frontend developer documentation
│
├── netlify.toml # Netlify configuration (Frontend build & edge plugins)
├── render.yaml # Render Blueprint (Backend FastAPI web service hosting)
├── main.py # Root ASGI entrypoint (uvicorn main:app --reload)
├── requirements.txt # Pinned root Python dependencies
├── .gitignore # Git ignore rules for node_modules, cache & models
└── README.md # Comprehensive project documentation
NrityaVaani incorporates 15 distinct Guru voice profiles tailored to classical dance pedagogy:
| Persona | Gender | Language / Dialect | Tone & Signature | Pedagogical Domain |
|---|---|---|---|---|
| Guru Priya | Female | Indian English (en) | Articulate & Encouraging | Clear diction, contemporary pedagogy & anatomical precision |
| Guru Arjun | Male | Indian English (en) | Commanding & Rhythmic | Adavu footwork, energetic rhythm & driving tala |
| Guru Ananya | Female | Indian English (en) | Gentle & Melodic | Delicate mudras, abhinaya nuances & beginner guidance |
| Guru Kabir | Male | Indian English (en) | Firm & Authoritative | Strict tala, rhythm drills & stamina |
| Guru Divya | Female | Indian English (en) | Meticulous & Poised | Body alignment, knee turnout & balance |
| Guru Dev | Male | Indian English (en) | Calm & Measured | Meditative flow, breath awareness & slow practice |
| Guru Nisha | Female | Modern English (en) | Crisp & Contemporary | International learners & global clarity |
| Guru Sameer | Male | Indian English (en) | Warm & Approachable | Easing beginner tension & building immediate confidence |
Developed with dedication by DivyCoders:
This project is licensed under the MIT License.
| Guru Tara |
| Female |
Indian English (en) |
| Joyful & Radiant |
| Vitality, uplifting energy & soloist presentation |
| Guru Aman | Male | Indian English (en) | Methodical & Patient | Hand-foot coordination drills & breaking complex bols |
| Guru Meera | Female | Classical Hindi (hi) | Warm & Emotive | Traditional abhinaya, mudra nuance & devotional rasa |
| Guru Atul | Male | Shastri Baritone (hi) | Deep & Resonant | Natyashastra shlokas, sacred chants & dignified recitation |
| Guru Shivani | Female | Vibrant Hindi (hi) | Bright & Inspiring | Navarasa, facial abhinaya & eye glances |
| Guru Ravi | Male | Dynamic Hindi (hi) | Bold & Motivating | Tandava drills, stamina & vigorous form |
| Guru Parampara | Female | Vedic Sanskrit (sa) | Sacred Vedic Intonation | Pure Natyashastra shlokas, invocations & mantras |