Sori
Sori (sound) of Korea makes learning about traditional Korean instruments interactive and beautiful.
Core trick
Turns a hummed melody into a four-instrument arrangement, while 3D instrument models play recorded sounds on touch.
Description
Sori (sound) of Korea makes learning about traditional Korean instruments interactive and beautiful. Users explore playable 3D instruments and Korean folk songs, and turn a few seconds of humming into a four-instrument ensemble.
README excerpt
# Sori (sound) of Korea  Sori explores how educational information can become a beautiful, interactive experience. Its intention is to make learning about traditional instruments engaging and accessible through thoughtful visual design, sound, and play. Explore four representative Korean instruments: **Gayageum** (plucked strings), **Haegeum** (bowed strings), **Daegeum** (bamboo flute), and **Janggu** (hourglass drum). Connect their appearance, playing gestures, and sound through hands-on discovery. ## Explore and create Rotate 3D instruments, touch their strings, holes, or drumheads, and hear recorded sounds with synchronized motion. Play **Arirang** to watch the four parts work together. Play a phrase or **hum for 10–20 seconds**. Compare the detected melody with Astra’s cleanup, choose a version, and build an ensemble. Revise it with requests like “give the flute more breathing room,” without reading notation. ## How it works - **Interactive sound:** React, TypeScript, and Three.js provide the interface and instrument interactions. Web Audio schedules recorded samples and synchronizes playback with instrument animation. - **Humming to notes:** An AudioWorklet captures audio locally. A browser worker estimates pitch and segments notes with timing and uncertainty measurements. Raw audio stays in the browser. - **Astra as arranger:** GPT-6 Astra receiv