CuerpoSonoro — Body becomes sound

CuerpoSonoro

Software that transforms human body movement into sound. Human body and technology transformed into art, united in a single project.

Creative Coding Art + Technology Python JavaScript Sound Body Interaction

The question

What if your body were a musical instrument? Not a metaphor, not a dance, an actual instrument where every gesture produces a unique sound, where your posture shapes the sonic landscape around you.

CuerpoSonoro was born from that question. It's a software project that explores the connection between body movement and real-time sound generation, turning the human body into an expressive musical interface.

How it works

The software captures body movement through a camera and translates it into musical parameters. Every gesture, every posture generates a different sonic response. There are no scores or pre-recorded sequences: you create the sound with your own body in real-time.

The key artistic principle: the body doesn't "play notes" — the body shapes sound. It's not an instrument that triggers discrete events, but an interface that continuously moulds a living soundscape. Any position of the body produces an interesting sonic state; there are no "wrong notes". It's like putting your hands in clay: there's always a shape, only which shape changes.

Try the web demo

Experience CuerpoSonoro directly in your browser. The web demo uses MediaPipe.js for pose detection and the Web Audio API for sound synthesis — no installation needed.

If the demo doesn't load above, you can open it in a new tab.

Why this project matters to me

CuerpoSonoro sits exactly where I like to work: the intersection of art, technology and human experience. It's a project that requires musical thinking, programming skill, and an understanding of the body as an expressive medium.

It represents what I believe technology should be: a tool that serves people, extends their creative capabilities, and creates experiences that wouldn't exist otherwise.

Technology stack

Computer vision
MediaPipe Pose
Audio engine
SuperCollider
Communication
OSC + MIDI/MPE
Backend
Python + FastAPI
Web demo
MediaPipe.js + Web Audio API
Infrastructure
Docker + Hetzner VPS
Testing
pytest — 129 automated tests
Source
Open Source (MIT)

Under the hood

CuerpoSonoro runs a real-time pipeline that goes from camera capture to audio output in under 80 milliseconds. Here's how data flows through the system:

1
Capture
Camera feed at 640×480
2
Pose
33 body landmarks detected per frame
3
Features
17 movement descriptors extracted
4
Mapping
Features mapped to sound parameters
5
Sound
Real-time audio synthesis

Pose estimation & feature extraction

The system uses MediaPipe Pose to detect 33 body landmarks in real-time at ~20–22 FPS. From these raw coordinates, a custom feature extraction module computes 17 movement descriptors that describe the character of your movement — not just where your body is, but how it moves:

Energy
Motion energy
Overall body activity based on landmark velocity
Balance
Symmetry index
Left-right balance of the body
Fluidity
Temporal smoothness
Jerk metric — fluid vs. abrupt movement
Arms
Arm angles
Elevation angle of both arms
Height
Vertical extension
How stretched or compressed the body is
Tilt
Hip & head tilt
Lateral inclination of hips and head
Hands
Hand velocity & height
Speed and vertical position of both hands
Triggers
Movement triggers
Sudden hand movements detected as events

Movement → Sound mapping

Each movement feature controls a specific aspect of the sound. The mapping is designed to feel intuitive — your body understands the connection before your mind does:

Movement
Sound effect
Fast movement
Brighter, louder sound
Raising arms
Higher pitch
Body asymmetry
Stereo panning
Smooth, fluid motion
Long reverb, legato texture
Abrupt, jerky motion
Distortion, staccato texture
Vertical stretch
Higher, more ethereal register
Hand velocity
Note intensity and duration
Head tilt
Global filter sweep

Explore the code

CuerpoSonoro is open source. Dive into the code, run it locally, or build on top of it.