VIGHNESHGANTI.COM  —  STUDENT ENGINEER · EST. 2026

Vighnesh
Ganti

Piano × machine learning × hardware.

I turn messy real-world signals — MIDI files, camera frames, circuit boards — into models that make a useful call. Below are four projects taken end to end: from raw data to a trained model to something you can click, hear, or watch move.

01Selected Work
4 projects · datasheet register
U1
MIDI difficulty model
2024–2026
Machine learning

Piano Difficulty from MIDI

Predicting how hard a piano piece is to play, from the MIDI alone, across the 11 grade levels used by the ABRSM, RCM, and Trinity syllabi. A gradient-boosted model on hand-designed features beats both a Transformer I also built and a published deep-learning benchmark, landing near the task's label-noise floor.

ParameterValue
Feature-model MAE0.959
Transformer MAE1.131
Label-noise floor~0.7
Difficulty grades11

[ scikit-learn · Gradient boosting · PyTorch · PSyllabus ]

→ Explore the model
M1
PCB pick-and-place
2026
Computer vision · Robotics

Automated PCB Component Detection & Pick-and-Place

YOLO11 instance segmentation finds 20 classes of electronic components on a circuit board, maps pixels to printer coordinates, and physically picks and sorts them with a vacuum gripper on a modified 3D printer. Synopsys Science Fair 2026.

ParameterValue
Box mAP@5084.5%
Mask mAP@5084.0%
Classes20
Images7,559

[ YOLO11 · Segmentation · Coordinate transforms · Pick & place ]

→ See the pipeline
G1
Resonant Garden
2026
ChucK · ChuGL · WebGPU

Resonant Garden — a Pond That Awakens Through Music

A still painterly pond that listens: piano notes scatter ripples across the water, loudness brings light, harmony tints the sky, and sustained playing warms the scene from night to dawn. An independent piece written in ChucK with the ChuGL graphics engine; the page runs a WebGPU port live in the browser.

SignalResponse
Note onsetripple
Loudnesslight
Harmonysky hue
Sustained playingdawn

[ ChucK · ChuGL · WebGPU · WebChucK ]

→ Enter the garden
G2
Pèlerinage
2026
ChucK VM · WASM · Liszt

Pèlerinage — First Light on a Mountain Lake

The C-major "first light" passage of Liszt's Vallée d'Obermann as a living alpine lake: notes ring the water, bass chords throw meteors, and light floods in only as the harmony resolves. The actual hand-written ChucK program runs in the browser — the real ChucK VM and ChuGL engine compiled to WebAssembly, playing itself.

SignalResponse
Note onsetripple
Harmony resolvingfirst light
Bass chordmeteor
Musical energykoi & birds

[ ChucK · ChuGL · WebAssembly · AudioWorklet · WebGPU ]

→ Stand in the first light
02Piano
5 performances · 2024–2025

Classical pianist for 5+ years, with performances at Carnegie Hall in 2024 and 2025. Select any line to watch the recording.

03Skills
4 domains · parameter table
DomainTools
AI / ML PyTorch, Transformers, YOLO11, Computer Vision, Instance Segmentation, Ordinal Regression
Music Tech MIDI Analysis, Feature Engineering, Gradient Boosting, AdamW, PSyllabus Dataset
Software Python, TypeScript, OpenCV, CLAHE, Mixed Precision (FP16)
Hardware Arduino, Klipper Firmware, 3D Printing, Stepper Motors, BLTouch, Vacuum Pickup
04The Log
5 entries · notes & dispatches
  • 2026-07

    Composer Fingerprints — My Project at UC COSMOS

    Strip the pitches from a piano performance — keep only timing, dynamics, and pedal — and can a model still tell Chopin from Bach? On 30-second MAESTRO excerpts across five composers, our gradient-boosted trees reached 0.61 macro-F1 held-out against 20% chance. The bigger lesson: the official MAESTRO split leaks works across train and test, so we rebuilt composition-level splits and kept the test set sealed.

    [ Machine Learning · UC COSMOS · UCSD ]→ Learn more
  • 2026-05

    The Simple Model Won — Beating a Deep-Learning Benchmark at Piano Grading

    I assumed a Transformer would win at predicting piano-piece difficulty. It didn't: a gradient-boosted model on hand-designed features — note density, hand independence, leaps — beat my 2M-parameter Transformer and a published benchmark, near the label-noise floor. An ordinal loss appeared to collapse along the way, but controlled experiments couldn't reproduce it.

    [ AI/ML · Music · Research ]→ View project
  • 2026-04

    Turning a $200 3D Printer into a PCB Component Sorter

    Strip a 3D printer to its gantry, bolt on a vacuum nozzle and a BLTouch probe, and let YOLO11 do the seeing. The hard part wasn't the network — it was the camera-pixel-to-millimeter coordinate transform, solved with a degree-3 polynomial mapping and sub-millimeter probing.

    [ Hardware · Computer Vision · YOLO ]→ View project
  • 2026-03

    Training YOLO11 on 7,500+ Custom PCB Images

    Four open-source PCB datasets, 48 raw class labels, zero consistency. Weeks of merging, remapping, and validating annotations produced a unified 20-class dataset with 7,559 images — and 84.5% box mAP, 84.0% mask mAP at IoU 50.

    [ YOLO · Data Engineering ]→ View project