30
Enter fullscreen mode Exit fullscreen mode
The H2 correction oscillator is used to bring the second harmonic closer to the target H2/H1 balance measured in bowed-string acoustic research.
Studio Violin also includes per-string inharmonicity spread:
G = 0.00035
D = 0.00028
A = 0.00022
E = 0.00018
Enter fullscreen mode Exit fullscreen mode
The result is a sound engine that behaves less like a static sample trigger and more like a continuously controlled bowed instrument.
## [](#stradivaristyle-body-resonances)Stradivari-style body resonances
The body EQ model uses eight resonance bands:
A0: 275 Hz
A1: 475 Hz
B1−: 530 Hz
B1+: 580 Hz
Bridge hill: 2800 Hz, Q = 6.5
Upper resonance: 4500 Hz
Notch: 1100 Hz
Warmth: 180 Hz
Enter fullscreen mode Exit fullscreen mode
There are also per-string offsets:
G string: warmer, reduced bridge hill
E string: brighter, boosted bridge hill
Enter fullscreen mode Exit fullscreen mode
This lets the instrument react differently across the G, D, A, and E strings instead of applying one flat tone curve to the whole range.
## [](#sympathetic-resonance)Sympathetic resonance
Studio Violin includes sympathetic resonance using four triangle oscillators tuned to the open strings.
Amplitude = (1 − cents / 20) × 0.038
Enter fullscreen mode Exit fullscreen mode
The closer the played note is to an open-string relationship, the stronger the sympathetic contribution becomes.
## [](#expressive-controls)Expressive controls
The instrument exposes controls for:
- Bow pressure
- Bow speed
- Bow point
- Vibrato rate
- Vibrato depth
- Attack
- Brightness
- Reverb
- Volume
- Playing character
Character modes include:
- Solo
- Bowed
- Pizzicato
- Col Legno
- Tremolo
- Spiccato
It also includes scale helpers such as G Major, D Major, A Minor, and Chromatic.
## [](#signal-chain)Signal chain
The current signal chain is:
PeriodicWave oscillator
→ H2 oscillator
→ chorus oscillators
→ WaveShaper
→ injection gain
→ warm shelf
→ 8 peaking body EQ bands
→ master output
Enter fullscreen mode Exit fullscreen mode
## [](#singlesourceoftruth-instrument-architecture)Single-source-of-truth instrument architecture
The bigger architecture behind Instrudio is the part I’m most excited about.
Studio Violin is driven by a single JSON definition file. That one definition can drive:
1. The web audio synthesis engine
2. The instrument UI
3. External MIDI CC routing
4. Note mapping
5. Plugin bridge event protocol
6. Preset management
7. Live auto-update propagation across connected outlets
The runtime uses a remote-first fetch strategy, so definition changes pushed to GitHub can propagate to connected running instances within the cache TTL window.
The default TTL is currently 5 minutes.
## [](#runtime-metrics)Runtime metrics
Instrudio also includes live evaluation metrics for the single-source-of-truth runtime.
The metrics panel can display:
- SSOT fetch latency
- Definition apply time
- Remote source availability
- MIDI pipeline latency
These are captured with high-resolution timing through `performance.now()`.
Metrics are also available programmatically through:
InstrudioSSOTRuntime.getMetrics()
InstrudioMIDI.getLatencyMetrics()
Enter fullscreen mode Exit fullscreen mode
## [](#why-this-matters)Why this matters
A lot of virtual instruments are either sample libraries, closed plugin binaries, or isolated web toys.
Instrudio is aiming for something different:
- web-first instruments
- version-controlled definitions
- measurable runtime behavior
- MIDI-aware performance
- bridgeable plugin architecture
- open development
- fast iteration without redeploying every outlet manually
Studio Violin is the flagship proof-of-concept for that architecture.
## [](#repo)Repo
[https://github.com/GareBear99/Instrudio](https://github.com/GareBear99/Instrudio)
## [](#feedback-wanted)Feedback wanted
I’m looking for feedback from:
- audio developers
- Web Audio developers
- musicians
- violinists
- producers
- plugin developers
- MIDI users
- people interested in physical modelling
Useful feedback includes:
- browser and OS
- MIDI device behavior
- latency
- tone realism
- UI feel
- control response
- broken notes or stuck notes
- console errors
- ideas for the next instrument model
Studio Violin is the flagship instrument in Instrudio, and I’m building it in public.