VIOLINCE
A touchscreen-optimised, physically-modelled bowed string instrument. Touch the performance surface to bow virtual strings — Karplus-Strong synthesis with waveguide excitation, 15 independent voices, and GPU-accelerated particle visualisation.
Overview
VIOLINCE isn't a sample player. It's a physical model — a mathematical simulation of a bowed string and its instrument body. You don't press keys; you touch a playing surface, and the position and speed of your touch become the bow. Three fingers, three independent strings.
What it is
- Physical string modelling — Karplus-Strong waveguide with realistic bow excitation, plus a multi-peak formant resonator that models the instrument's body.
- 3-finger multitouch — each finger bows its own string at full independence. Horizontal position picks pitch, vertical position controls bow speed and pressure.
- 6 instrument voicings — body-resonance profiles modelled after real violins, violas, cellos, and a bass.
- Bow and pizzicato excitation modes. Continuous sustained bowing, or plucked attacks.
- 15 voices total: 3 live plus 12 more that host the event loop recordings.
- Event loops — four loops that record gestures (touch position, bow speed, timing) and play them back through the same physical model. Change the scale and your loops re-harmonise.
- Scale sequencer — 17 scales, bar-locked key changes on a timeline.
- Built-in reverb, FFT spectrum display, 5000-particle GPU visualisation with bloom.
- 12 factory presets — six instrument voicings, six tonal variations.
Quick Start
- Load VIOLINCE on an instrument track (or run standalone).
- Leave the instrument selector on Glaesel Violin Classic — a clean starting point.
- Touch the central performance surface and sweep your finger. The column you touch picks the note; the speed of your sweep is the bow speed.
- Keep the finger down, sweep slower and faster — hear the attack soften and strengthen.
- Add a second finger on a different column. You now have two voices playing simultaneously.
- On the right panel SOUND tab, pull the Vibrato-Rate/Depth XY pad towards the middle — vibrato appears in the sound.
- At the bottom, tap REC on Loop 1 and play a phrase. Tap REC again to close the loop — it plays back while you keep performing.
The Interface
A top bar, two side panels, a central performance surface, a scale-sequencer timeline, and an effects strip along the bottom.
Top bar
- PLAY / STOP
- Standalone transport (host transport wins when plugin-hosted).
- Tempo
- 30–300 BPM.
- MIDI OUT
- Routes string events, bow-speed CC1, expression CC11, and pitch-bend to a MIDI destination.
- Preset
- 12 factory presets + user saves.
Savecreates a new one.
Left panel — Instrument & Scale
- Instrument — six voicings (see § Instrument Voicings).
- Scale — 17 options. Root C through B. Octave −2 to +2.
- Key Range — how many semitones the width of the surface covers:
6 · 12 · 24 · 36 · 48 · 60. Larger ranges pack more notes per centimetre. - Scale Seq toggle — when on, the timeline drives the key.
- Readouts — live bow X position, bow speed, current note name.
Right panel — Tabbed
- SOUND — all the expressive controls (bow, pizzicato, string, vibrato, slide, polyphonic mode).
- VISUALS — particle/FFT/autocorrelation toggles and intensities.
The right panel can be hidden for a fullscreen performance view.
Bottom — Effects & Loop strip
Five reverb controls on the left; four loop pads (REC + controls) on the right. Full detail in § Event Loops and § Reverb & Output.
The Performance Surface
The central playing area. Columns are notes; vertical motion is bow action. Three fingers can play at once.
What each axis does
- X (horizontal)
- Picks the pitch. Columns are notes in the active scale; root notes are visibly brighter (amber by default); in-scale notes use the scale highlight colour (blue-teal by default).
- Y (vertical)
- Controls bow speed. The faster you move vertically, the stronger the bow pressure; a still finger produces near-silence.
- Touch down / up
- Note-on / note-off. Note-off isn't abrupt — the string continues to ring down through its sustain and the reverb tail.
- Direction change
- The model detects when you reverse vertical direction and can inject a touch of rosin noise at the change-of-direction, like a real bow.
Three fingers, three strings
When more than one finger is down, each finger is assigned its own string. All three can play simultaneously — drones, chords, or counterpoint.
When a single finger is down and Polyphonic is set to Sometimes, a crossover logic rule decides when to hand off to a new string. This gives a smooth, single-line lead feel, like a real violinist moving up the fingerboard. Set to Always for classical-style polyphony.
Instrument Voicings
Each voicing is a different set of formant resonances modelling the body of a real instrument. They're more than EQ presets — the resonance peaks shape how the string's overtones decay and interact.
Glaesel Violin
E4 · VIOLINTseng Violin
E4 · VIOLINKnilling Viola
C4 · VIOLAHutchins Viola
C4 · VIOLAEastman Cello
A2 · CELLOEastman Bass
E1 · DOUBLE BASSEach voicing sets a recommended default root note — changing the instrument doesn't change the scale you've picked, but it does reorient the "natural" pitch range.
Bow & Pizzicato
Two excitation models. Bow is continuous; pizzicato is impulsive. Switch between them with the Pizz toggle on the SOUND tab.
Bow mode
A waveguide bow model. Your vertical motion drives the bow speed; position and pressure are parameterised on a dedicated XY pad.
- Position (XY · X)
0= near the bridge (sul ponticello — edgy, harmonics-rich).1= near the fingerboard (sul tasto — soft, flautando).- Pressure (XY · Y)
0= light touch.1= heavy drag. Too much and the string skreeks; the right amount gives full-bodied tone.- Attack
0–1. How quickly the bow engages. Low = slow, breathy start; high = aggressive, immediate snap.- Stability
0–1.0is chaotic, expressive, unstable — the string squeaks, fights, skids.1is controlled, consistent, organic. Somewhere in the middle feels most like a real player.
Pizzicato mode
Turn Pizzicato On to switch from continuous bowing to plucked attacks. Each finger-down fires a pluck instead of starting a bow.
- Level
0–1. Amplitude of the pluck impulse.- Tone
0warm and soft;1bright and sharp.- Decay
0–1. How long the pluck's initial envelope lasts. Short = staccato snap; long = sustained pluck.
Vibrato
A per-voice LFO with its own XY pad:
- Rate (X)
0.5–10 Hz.- Depth (Y)
0–100 cents. Half a semitone at full depth.
5–6 Hz. Start there and scale from taste.
Sound Shaping
Controls shared between bow and pizzicato modes. These shape the string itself and the instrument body, rather than the excitation.
- String Tone
−1 … +1. A brightness offset on top of whatever the instrument voicing gave you. Negative = darker; positive = brighter.- Body
0–1. How prominent the body-resonance formants are.0= dry, almost sine-like.1= full wooden body.- Sustain
0–1. String-decay time.0= short, responsive notes.1= long-singing sustained tone.- Drift
0–1. Organic pitch instability. Small amounts add lifelike imperfection; large amounts make the strings wobble like a detuned radio.- Slide
1–2000 ms. Portamento time between successive notes on the same string. Zero-width instant jumps, long values glide audibly.- Polyphonic
- Always — every finger is a voice. Sometimes — single-finger uses crossover logic to feel like a single violinist's hand.
Signal chain summary
Touch ─▶ Slide ─▶ Vibrato LFO ─▶ Noise / drift
│
▼
Bow Model or Pizzicato Model
│
▼
String Model
(Karplus-Strong waveguide)
│
▼
Body Resonance (formant bank)
│
▼
Event-Loop Record / Play
│
▼
Reverb
│
▼
tanh soft limiter ─▶ Out
Scales & Scale Sequencer
The surface's columns are scale notes. Change the scale and the columns remap. Loops are gesture-based, so they re-harmonise automatically too.
Manual scale
- On the left panel, pick a Scale (17 choices) and a Root.
- Pick an Octave offset and a Key Range (how wide the surface spans in semitones).
Seventeen scales available: Chromatic · Major · Minor · Dorian · Phrygian · Lydian · Mixolydian · Locrian · Pentatonic · Blues · Harmonic Minor · Melodic Minor · Whole Tone · Diminished H-W · Diminished W-H · Pentatonic Minor · Arpeggio.
Scale sequencer
Toggle Scale Seq on the left panel. A timeline appears above the effects strip. Click + to add a segment, click a segment to edit.
- Each segment carries its own root, scale, and bar length (
1, 2, 3, 4, 6, 8, 12, 16bars). - Segments advance with transport. The active segment highlights; a flash hint marks the boundary.
- Edit popup has grid selectors for scale (4×5) and root (4×3), plus a mini-keyboard preview.
- Delete the active segment from its popup (when more than one exists).
Event Loops
Four independent loops, each with its own REC, length, mode, and playback settings. Each loop has three voices — so four fully-used loops plus three live fingers means 15 simultaneous strings.
Two recording modes
- Audio
- Records the audio output of a source. Input Source selects what to record: Master (everything), Live (touch only), or one of the other loops. Plays back as straight audio — doesn't re-synthesise.
- Event
- Records gestures — touch position, bow speed, and timing. On playback, the gestures drive the synth engine through the same signal chain as live input. Scale changes, instrument swaps, and body tweaks all apply to the playback.
Per-loop controls
- Mode
- Audio / Event.
- Length
1–16bars.- REC (Armed)
- Tap to arm; next bar boundary starts recording. Tap again to commit and move to playback.
- Active
- Event mode — toggles whether this loop plays back. Leave it armed but inactive to solo another loop without losing yours.
- Pendulum
- Off = forward-only loop. On = ping-pong at each end. Elegant on slow gestures.
- CLR
- Erase the loop.
- Volume
0–1.- Input Source
- Audio mode. Master / Live / Loop 1 / Loop 2 / Loop 3 / Loop 4.
- Quantize
- Event mode.
Off · 1/4 · 1/8 · 1/16 · 1/32. Snaps recorded events to the beat grid.
Reverb & Output
The reverb lives on the master bus, after the loops. Its character shapes every voicing.
- Mix
0–1, default0.2. Dry/wet balance.- Size
0–1, default0.5. Virtual room size / decay time.- Pre-Delay
0–200 ms, default20 ms. Gap between direct sound and first reflections.- Damping
0–1, default0.3. High-frequency absorption. More damping = darker tail.- Width
0–1, default1.0. Stereo spread of the reverberant field.
Output
After reverb, a tanh soft limiter prevents clipping on heavy performances. The output is stereo.
Visuals, Themes & Presets
Visuals tab
- Visualisations
- Master toggle for every visual layer.
- Particles
- Toggle + count (500–5000) + bloom intensity (0–1). GPU particle field reactive to frequency content.
- Frequency
- Toggle + intensity (0–1). FFT-based spectrum display.
- Autocorrelation
- Toggle + opacity (0–1) + trail length (1–40 frames) + rotation (0–1) + scale (0–1). A pitch-tracking visual that draws organic curls.
Themes
Eight colour themes, all designed to remain accessible under colour-vision conditions. Change them from the Help/Settings dialog.
Factory presets
| Preset | Character |
|---|---|
| Glaesel Violin Classic | Clean neutral violin. |
| Tseng Violin Expressive | Darker violin with more vibrato and instability. |
| Knilling Viola Warm | Warm, comfortable viola mid-range. |
| Hutchins Viola Blues | Bluesy viola with looser bowing and slide. |
| Eastman Cello Deep | Full-bodied cello, long sustain. |
| Eastman Bass Pizzicato | Plucked upright bass voicing. |
| Organic Violin | Drift-heavy, imperfect violin — very human. |
| Singing Cello | Long-sustain cello pad. |
| Wild Fiddle | Low stability, rosin-heavy attack. |
| Dark Drone | Deep drone with heavy body and damped reverb. |
| Bright Soloist | Forward-bow, bright tone, clear articulation. |
| Gentle Viola | Soft-attack viola with moderate reverb. |
User presets save to %APPDATA%/Violince/Presets/.
What's saved
Every APVTS parameter (60 of them), the scale sequencer timeline, the active colour theme, and the event-loop recordings.
MIDI I/O
VIOLINCE can listen to incoming MIDI and emit outgoing MIDI — the physical model is still what produces the sound, MIDI just drives the input.
MIDI in
- Note-on / note-off maps to bowing and releasing.
- CC1 (modulation) ↔ bow speed.
- CC11 (expression) ↔ expression.
- Pitch bend feeds the slide/vibrato processors.
MIDI out
Toggle MIDI Out on the top bar. When enabled, the plugin emits:
- Note-on / note-off events as you touch and release strings.
- CC1 driven by bow speed.
- CC11 for expression.
- Pitch bend from slide / vibrato state.
Use MIDI out to drive an external instrument with the plugin's touch model — for instance, play VIOLINCE and a hardware synth together, locked to the same gestures.
Workflows & Recipes
Recipe 1 · Expressive solo
- Load Glaesel Violin Classic.
- Bow Position ≈ 0.35 (close to bridge), Pressure ≈ 0.55. Stability 0.65.
- Vibrato rate
5.5 Hz, depth35 cents. - Slide 120 ms. Drift 0.15. Body 0.7.
- Play with long, slow strokes in B-Minor Pentatonic.
Recipe 2 · Drone bed
- Load Eastman Cello Deep.
- Sustain near maximum; Stability ~0.85 (steady).
- Press two fingers on the root and fifth of the scale, sweep very slowly.
- Arm Loop 1 in Event mode, capture 8 bars. Un-arm and let it play under.
- Take a third finger and improvise over the top.
Recipe 3 · Walking pizzicato bass
- Load Eastman Bass Pizzicato.
- Pizz Level ~0.75, Tone ~0.45, Decay ~0.3.
- Record an 8-bar event loop tapping a walking line across the lower half of the surface.
- Switch the instrument to Knilling Viola Warm — the same loop now plays walking viola instead of bass.
This is the event-loop magic: recordings are gestures, not samples.
Recipe 4 · Chord-progression pad
- Long sustained viola bowing into Loop 1, Event mode, 4 bars.
- Enable the scale sequencer. Build
C Maj → A Min → F Maj → G Maj, one bar each. - The 4-bar loop now re-harmonises through the four chords — the gesture stays, the harmony moves.
Recipe 5 · Texture from instability
- Stability → 0.1 (chaotic). Drift → 0.6. Body → 1.0. String Tone → +0.3.
- Very slow bowing motion — the sound sits between noise and tone.
- Throw on heavy reverb (Mix 0.6, Size 0.9, Damping 0.15). Ambient cinematic texture.
Recipe 6 · Layered gesture composition
- Loop 1 (Event, 4 bars, Pendulum): bass line.
- Loop 2 (Event, 4 bars): chord pad with two fingers.
- Loop 3 (Event, 3 bars): melodic counter-line. The mismatched length drifts over Loop 1/2.
- Loop 4 (Audio, 8 bars, Input Source = Master): captures everything including the reverb for an ambient texture bed.
- Play new phrases with live fingers on top.
Tips & Troubleshooting
Tips
- Move slowly. The model rewards gesture. A steady horizontal slide with a gentle vertical oscillation sounds dramatically better than staccato taps.
- Stability around 0.6–0.8 feels most human. Too stable sounds robotic, too unstable sounds broken.
- Small drift, small vibrato. Real players are never perfectly in tune — a little drift and a small vibrato depth are more believable than zero.
- Bow Position is a feel knob. Near-bridge is intense, near-fingerboard is airy. Pick a position, then use Pressure to control loudness.
- Event loops transpose. Record once, swap scale / root / instrument, hear a new arrangement for free.
- Key Range shapes playing style. Small ranges reward melodic detail; wide ranges reward glissando and reach.
- Use Pendulum for ambient. A 4-bar pendulum event loop sounds longer and less repetitive than a forward 8-bar loop.
Troubleshooting
- No sound when touching
- You must be moving vertically — bow speed comes from vertical motion. A perfectly still finger bows nothing.
- Pizzicato doesn't trigger
- Enable
Pizzicato Onfirst. Level must be above zero. - Scale manual pickers are greyed out
- The scale sequencer is driving the key. Turn off
Scale Seqor edit the timeline segments instead. - Loop REC does nothing
- Transport must be running — recording starts on the next bar boundary. Also check the loop's
Activestate in Event mode. - The sound is harsh at high pressure
- Lower Pressure and raise Stability, or move the Bow Position away from the bridge. A real violin squeaks at max pressure too.
- Glitchy stuttering under load
- Lower the particle count on the VISUALS tab. The physical model is cheap; the GPU visualisation is the heavier cost.
- Multitouch not working
- Single-finger mode with
Polyphonic: Sometimeshands off between strings via crossover. SetPolyphonic: Alwaysfor true multitouch.
Control Reference
Alphabetical index.
| Control | Location | Values | Notes |
|---|---|---|---|
| Attack | SOUND (bow) | 0–1 | Bow engagement speed. |
| Body | SOUND | 0–1 | Formant body resonance. |
| Bow Position | SOUND · XY (X) | 0–1 | Bridge ↔ fingerboard. |
| Bow Pressure | SOUND · XY (Y) | 0–1 | Light ↔ heavy. |
| BPM | Top bar | 30–300 | Host wins when plugin-hosted. |
| CLR (loop) | Loop strip | button | Erase recorded loop. |
| Drift | SOUND | 0–1 | Organic pitch instability. |
| Instrument | Left panel | 6 voicings | Body-formant profile. |
| Key Range | Left panel | 6 · 12 · 24 · 36 · 48 · 60 | Surface width in semitones. |
| Length (loop) | Loop strip | 1–16 bars | Per loop. |
| MIDI Out | Top bar | toggle | Emit notes + CC1 + CC11 + pitch bend. |
| Mode (loop) | Loop strip | Audio · Event | Recording type. |
| Octave | Left panel | −2 … +2 | Offset. |
| Pendulum (loop) | Loop strip | toggle | Ping-pong playback. |
| Pizzicato On | SOUND | toggle | Switches to pluck mode. |
| Pizz Level | SOUND (pizz) | 0–1 | Pluck amplitude. |
| Pizz Tone | SOUND (pizz) | 0–1 | Warm ↔ sharp. |
| Pizz Decay | SOUND (pizz) | 0–1 | Pluck envelope length. |
| PLAY / STOP | Top bar | toggle | Standalone transport. |
| Polyphonic | SOUND | Always · Sometimes | Crossover vs true multitouch. |
| Presets | Top bar | dropdown + save | 12 factory + user. |
| Quantize (loop) | Loop strip · Event | Off · 1/4 · 1/8 · 1/16 · 1/32 | Grid snap for events. |
| REC (loop) | Loop strip | arm / record / play | Next-bar aligned. |
| Reverb Damping | Effects strip | 0–1 | HF absorption. |
| Reverb Mix | Effects strip | 0–1 | Dry/wet. |
| Reverb Pre-Delay | Effects strip | 0–200 ms | Direct → first reflections gap. |
| Reverb Size | Effects strip | 0–1 | Room size / decay. |
| Reverb Width | Effects strip | 0–1 | Stereo spread. |
| Root | Left panel | C–B | Scale root. |
| Scale | Left panel | 17 scales | Dimmed when Scale Seq active. |
| Scale Seq | Left panel | toggle | Enables timeline automation. |
| Slide | SOUND | 1–2000 ms | Portamento. |
| Stability | SOUND (bow) | 0–1 | Chaotic ↔ stable. |
| String Tone | SOUND | −1 … +1 | Brightness offset. |
| Sustain | SOUND | 0–1 | String decay time. |
| Vibrato Rate | SOUND · XY (X) | 0.5–10 Hz | LFO frequency. |
| Vibrato Depth | SOUND · XY (Y) | 0–100 cents | Pitch modulation amount. |
| Volume (loop) | Loop strip | 0–1 | Per loop. |