Back to KB
Difficulty
Intermediate
Read Time
31 min

Studio Violin: Building a Physically Modelled Bowed-String Instrument in Instrudio

By Codcompass Team··31 min read

I’m building Instrudio, a browser-based virtual instrument ecosystem, and the flagship instrument right now is Studio Violin.

Studio Violin is a physically modelled bowed-string instrument built around Helmholtz motion synthesis, H2 harmonic correction, inharmonicity modelling, Stradivari-style body resonances, sympathetic open-string resonance, and live MIDI control.

The goal is not just to make a violin-like web instrument. The goal is to prove that a single version-controlled instrument definition can drive synthesis, UI, MIDI routing, plugin bridge behavior, presets, and live update propagation from one source of truth.

What Studio Violin does

Studio Violin models the behavior of a bowed violin string using a synthesis chain designed around acoustic measurements and practical browser audio constraints.

The instrument includes:

  • Helmholtz bowed-string waveform synthesis
  • H2 correction oscillator
  • Inharmonicity chorus per string
  • 8-band Stradivari-style body EQ
  • Per-string tonal offsets
  • Sympathetic open-string resonance
  • Nonlinear bow coupling
  • Pressure-coupled vibrato
  • Interval-scaled portamento
  • Bow-pressure, bow-speed, bow-point, character, brightness, attack, and vibrato controls
  • External MIDI routing through the Instrudio app

Synthesis model

The Helmholtz waveform uses a Fourier-style bowed-string model:

bₙ = −(2 / (n²π²D(1−D))) · sin(nπD)
D = 0.5 + bowPressure × 0.

🎉 Mid-Year Sale — Unlock Full Article

Base plan from just $4.99/mo or $49/yr

Sign in to read the full article and unlock all 635+ tutorials.

Sign In / Register — Start Free Trial

7-day free trial · Cancel anytime · 30-day money-back