Paradigma especulativo para bronces en web: lip-grid, serie armónica + válvulas, cono virtual y espectrometría circular brassy.
Date: 09/02/2026
Prototype Core
This prototype translates the organology of brass instruments into a web interface structured around three axes:
Lip + hand complex as interface
Harmonic series + valves as pitch engine
Brassness as a live timbral metric
The scene is designed with the lips centered and cropped, over a sensing grid (pressure, position, emission) and a visual cone along the Z-axis representing the virtual horn uncoiled.
I. Camera Space → Mask Space Mapping
The object-fit: cover Problem
MediaPipe FaceMesh returns landmarks in normalized coordinates [0,1]2 relative to the native video stream frame.
The <video> element, however, is rendered using object-fit: cover, which scales the stream to fill the element, symmetrically cropping edges. This introduces a non-trivial discontinuity between stream space and viewport space.
Let:
-(vw,vh) = native stream resolution in pixels
-(ew,eh) = video element size (= viewport size)
All operations are performed entirely in normalized coordinates.
Previous incorrect formulations mixed pixel-space and normalized-space corrections, effectively applying the crop compensation twice.
The correct approach applies scaling exactly once as a fraction.
II. Lip Model — 1-DOF Oscillator
Physical Basis
The lips in brass playing can be modeled as a damped mass-spring oscillator:
y¨+Qlωly˙+ωl2(y−y0)=mlFeff
where:
ωl=2πfl
Ql = quality factor
y0 = resting aperture
Feff = net force (air pressure − muscular tension)
Embouchure as Continuous Parameter
Lip geometry yields:
ξ=d61,291d13,14ξ∈[0,1]Smallξ → tight lips → high register
Largeξ→ open lips → low/pedal register
Lip frequency follows:
fl=fl,0Tl/Tl,0
Tension Tl is approximated inversely to ξ.
Fractional Harmonic Interpolation
Harmonic series:
fn=nftube
User trains pairs (ξk,nk).
Interpolation:
Sort by ξk
Find interval
Linear parameter:
t=ξk+1−ξkξ−ξk
Smooth S-curve:
t~=t2(3−2t)
Fractional partial:
nξ=nk+t~(nk+1−nk)
First-order smoothing:
n˙=τnξ−nτ=80 ms
Resulting synthesis frequency:
f0=ftube⋅n
This enables continuous glissandi.