TouchMachines Violince →
User Manual

VIOLINCE

A touchscreen-optimised, physically-modelled bowed string instrument. Touch the performance surface to bow virtual strings — digital-waveguide synthesis with smooth STK/MWS friction, shared body convolution against a measured Stradivarius IR, sympathetic open-string resonance, 15 independent voices, and GPU-accelerated particle visualisation.

Plugin · VST3 / AU / Standalone 15 Voices · 3 Live + 12 Loop Physical Modelling

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 — two-rail digital waveguide with a smooth STK/MWS friction curve. Helmholtz motion emerges from the bow physics rather than from explicit stick/slip branching.
  • Measured-IR body convolution — the summed voice bus runs through a real Stradivarius bridge impulse response. Shared across all voices (one body, like the real instrument).
  • Sympathetic resonance — four lightly-damped open-string resonators (G3/D4/A4/E5) ring along with the played note, adding a faint pitched halo.
  • 3-finger multitouch — each finger bows its own string at full independence. Horizontal position picks pitch, vertical position controls bow contact point (sul ponticello ↔ sul tasto), vertical motion drives bow speed.
  • 6 instrument voicings — each convolves through a real measured IR from the matching instrument family: Stradivarius for violin, Farina viola for viola, pe_mace cello for cello, Italian double bass for 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.
  • 14 factory presets — six instrument voicings, six tonal variations, plus two showcase presets that highlight the gestural Y→β travel.
Mental model Think of your touchscreen as a fretboard with a bow laid across it. Move along the surface to change notes; press in and sweep to bow. It rewards physical gesture, not keystrokes.

Quick Start

  1. Load VIOLINCE on an instrument track (or run standalone).
  2. Leave the instrument selector on Glaesel Violin Classic — a clean starting point.
  3. Touch the central performance surface and sweep your finger vertically. The column you touch picks the note; the speed of your sweep is the bow speed.
  4. Now slide your finger up and down the strip while bowing. Listen to the timbre shift — bowing near the bottom is bright/scratchy (sul ponticello), near the top is breathy/airy (sul tasto). Watch the live PONT↔TASTO indicator under the BOW section reflect your finger position.
  5. Keep the finger down, sweep slower and faster — hear the attack soften and strengthen.
  6. Add a second finger on a different column. You now have two voices playing simultaneously.
  7. On the right panel SOUND tab, pull the Vibrato Rate × Depth XY pad towards the middle — vibrato appears in the sound. Watch the live numeric readout while dragging.
  8. 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 core loop Touch the surface · Sweep with motion · Travel through tasto/ponticello with vertical position · Shape the sound · Record a gesture loop · Layer another one on top.
Try the showcase presets Use the < and > arrows next to the preset name to step through. Look for Bow Across (designed for big up-down sweeps) and Ponticello Solo (best played near the bottom of the strip).

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.
Presets
Opens the preset browser: 14 factory presets + your saves, organised into folders. Tap a preset to load it (marked LOADED), + SAVE into the selected folder, drag a preset onto a folder to move it, pencil / trash on the selected row to rename or delete (double-click a name also renames). The < / > steppers beside it thumb through presets without opening the browser.

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)
Two roles at once. Y position drives bow contact point β — bottom of strip = sul ponticello (near bridge — scratchy, harmonic-rich, bright), top = sul tasto (over fingerboard — breathy, soft, airy); the live PONT↔TASTO indicator below the BOW XY pad reflects this in real time. Y velocity (how fast you're moving) drives bow speed — a faster sweep = more bow energy = louder, more focused tone; a slower sweep = quieter, breathier.
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; the smooth friction curve naturally produces a small attack transient (no synthetic rosin noise overlay).
The Y trick Most touch instruments use Y for one thing. Violince splits it: where your finger sits affects timbre (β), how fast you move it affects loudness (bow speed). You can hold a steady position to keep a tone in one regime, then slide while bowing to travel through the regimes.

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.

Grid colours Brighter columns = root note. Medium columns = in-scale notes. Dim columns = out-of-scale. Out-of-scale columns still respond to touch — they snap to the active scale, so you can't play "wrong" notes.

Instrument Voicings

Each voicing sets the brightness, decay, root note, and — most importantly — which body impulse response feeds the shared body convolver. All four voicing groups use real measured IRs from the corresponding instrument family: Stradivarius for violins, Farina viola for violas, pe_mace cello for cello, Italian double bass for bass. See § Body & Tone Engine for details and provenance.

Glaesel Violin
E4 · VIOLIN
Neutral, clean violin voice. Balanced brightness, medium body resonance. A good default for melodic work.
Tseng Violin
E4 · VIOLIN
A slightly darker violin with fuller body resonance. More "aged wood" than the Glaesel — good for expressive lines.
Knilling Viola
C4 · VIOLA
Warm viola voicing. Lower register than violin, with resonance peaks pushed toward the middle frequencies.
Hutchins Viola
C4 · VIOLA
Darker, fuller viola. The warmest string voicing — pairs well with slow bowing and deep body settings.
Eastman Cello
A2 · CELLO
Cello range, neutral tone, substantial body resonance. Works as a lead or held-tone pad.
Eastman Bass
E1 · DOUBLE BASS
Upright-bass voicing. Lowest range of the set. Excellent in pizzicato mode for walking bass lines.

Each 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 two-rail digital waveguide with a smooth STK/MWS friction curve. Your finger's vertical motion drives bow speed, and its vertical position drives bow contact point β — see § The Performance Surface. The XY pad on the right panel sets the per-preset bow character:

Grit (XY · X)
Friction curve sharpness. 0 = gentle/organic — the string locks into Helmholtz easily, sustain is smooth, attacks are soft. 1 = steep/scratchy — transients are sharper and more expressive but the string is harder to keep stable. Mid is most like a competent player. (This control was previously called Stability and had inverted semantics; it's now a direct sonic descriptor.)
Pressure (XY · Y)
Bow grip strength. 0 = light touch. 1 = heavy drag. Too much and the string skreeks; the right amount gives full-bodied tone. Touch surfaces don't sense pressure, so this is a per-preset character setting.
Where did Bow Position go? Bow Position used to be a knob in this section. It's now driven by your finger's Y position on the fingerboard — see the live PONT↔TASTO indicator below the XY pad. The parameter is still preserved for old saved presets and for loop voices to follow recorded gestures.
Where did Attack go? Bow Attack (the 5–80 ms force ramp on initial touch-down) is hidden in the current build because it's a per-preset character setting most players don't tweak. The parameter is still active and saved presets still drive it.

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
0 warm and soft; 1 bright 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.
Vibrato like a player Real violinists use a narrow vibrato (~20–40 cents) at around 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 much of the measured body convolution sits in the output. 0 = dry voice bus, almost sine-like. 1 = full wooden body radiation. See § Body & Tone Engine for what's actually being convolved.
Sustain
0–1. String-decay time. 0 = short, responsive notes. 1 = long-singing sustained tone.
Drift
0–1. Organic pitch instability — pink-noise pitch jitter. At default values around 0.2 you get ~±3 cents of natural drift; at 1.0 it's ~±15 cents (audible wobble). Subtle amounts add lifelike imperfection; large amounts make the strings sound detuned.
Sympathy
0–1. Open-string sympathetic resonance amount. The four open violin pitches (G3/D4/A4/E5) ring along with whatever you play, fed from the bus through lightly-damped resonators. Most audible on sustained tones; nearly inaudible on staccato. 0.30 is a sensible default; the Singing Cello preset goes to 0.50 for a more chordal halo.
Slide
0–2000 ms (default 0 = off). Portamento time between successive notes on the same string. 0 snaps instantly; raise it for an audible glide. It's an optional flourish — every factory preset leaves it off, so dial it in per patch when you want it.
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 ─▶ Pink-noise drift
                                      │
                                      ▼
                       Bow Model   or   Pizzicato Model
                                      │
                                      ▼
                            String Model (per-voice)
                       Two-rail waveguide + smooth MWS
                       friction · Y-driven β contact pt
                                      │
                                      ▼   (sum of all 15 voices →)
                              Sympathetic Bank
                          (4 open-string resonators)
                                      │
                                      ▼
                            Body Convolver (shared)
                       Measured Strad / Cello bridge IR
                                      │
                                      ▼
                                  Reverb
                                      │
                                      ▼
                            tanh soft limiter ─▶ Out

The body convolution and sympathetic bank are shared across all voices — physically correct, since on a real instrument the body and open strings are one set of objects coupled through a shared bridge.

Body & Tone Engine

The most distinctive thing about Violince's tone is the shared body convolver. Instead of giving each voice its own synthesised formant body — which produces a thin, "plasticky" sound and is physically wrong (every string on a real violin shares one wooden body) — Violince sums all voices into a single bus and convolves once against a measured impulse response.

Per-voicing IR map

Selecting an instrument from the LeftPanel changes which IR feeds the body convolver. All four voicing groups now use real measured IRs.

VoicingSource IRProvenance
Glaesel / Tseng ViolinStradivariusMeasured bridge IR (deconvolved swept sine, 48 kHz stereo, 0.4 s)
Knilling / Hutchins ViolaFarina viola (1995)MLS-technique measurement, public domain, 43.956 kHz mono, 0.37 s
Eastman Cellope_mace cello (CC0)Measured bridge IR via piezo + sweep, EQ-corrected, 48 kHz stereo, 1 s
Eastman BassItalian double bassMeasured body, 48 kHz mono, 0.18 s, take "b" of three for densest modal energy

The body radiation per voicing is now physically distinct — different mode shapes, not just different frequency ranges. A viola sounds viola-shaped, a cello sounds cello-shaped, a bass sounds bass-shaped, because each voicing convolves through a real recording of the corresponding instrument's wood.

Future IR upgrades (optional)

The current IRs are all production-quality but each has room for improvement if you want to invest:

  • Viola: Farina's IR is a 1995 single-take measurement using older MLS technique. A modern multi-take swept-sine measurement (e.g. impulse-responses.com viola pack, ~€12) would give finer detail and more variety.
  • Cello: pe_mace's IR is hobbyist-grade but works well. Premium alternative: impulse-responses.com French / German cello variants (~€12 each, two distinct character options).
  • Bass: the current "b" take is short (0.18 s); takes "a" or "c" from the same pack offer different transient/sustain trade-offs and can be swapped in with a one-line edit.
  • Per-preset variants: today each instrument index gets one IR; extending to per-preset (e.g. a "Glaesel" violin preset using one IR, a "Tseng" violin preset using another) would require adding an IR-index parameter to the preset state.

The wiring for adding any new IR lives in Source/DSP/BodyConvolver.{h,cpp} and CMakeLists.txt — see the developer notes in CLAUDE.md for the template.

Sympathetic resonance

The four open-string pitches (G3, D4, A4, E5) ring along with whatever you play. This is modelled by a parallel bank of four lightly-damped Karplus-Strong resonators, fed from the bus pre-body and mixed back additively. The Sympathy knob controls the amount.

Real violins do this acoustically — bowing the A string vibrates the bridge, which couples energy into the other three strings. They each ring at their own natural frequency, adding a faint pitched halo around the played note. Most audible on sustained tones near the open-string pitches (G/D/A/E or octaves thereof).

Friction & string model

The bowed string is modelled as a two-rail digital waveguide. The bow-string interaction uses the smooth STK/MWS friction curve μ(Δv) = 1/(slope·(|Δv| + ε) + 0.75)⁴, clamped to ≤0.98. There's no explicit stick/slip detection — Helmholtz motion emerges from the curve's shape, which means slow→fast bowing transitions feel continuous rather than switchy.

The Grit parameter shapes the friction curve's slope: low Grit = gentler curve (organic, easy lock-in), high Grit = sharper curve (scratchier, more expressive transients).

The pluck (pizzicato) path is a separate Karplus-Strong delay line with a half-sine impulse burst — kept simple and untouched because it sounds right at this design point.

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

  1. On the left panel, pick a Scale (17 choices) and a Root.
  2. 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, 16 bars).
  • 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).
Gesture-based loops re-harmonise Because event loops store touch position not MIDI note, changing the scale or root while a loop plays transposes and re-harmonises the whole gesture. Four bars of loop across four scale segments = a progression.

Microtuning — Tuning Systems

Beyond 12-tone equal temperament, VIOLINCE can play in non-Western tuning systems — the true intonation of maqam, raga, and historical tunings, ideal for a fretless bowed instrument that already slides freely between pitches. A tuning system is global: it sets how many pitches divide the octave and their exact frequencies, applied to everything you bow. The scale/segment chooses which of those pitches form the current mode.

Choosing a system — tap the TUNING ▾ chip on the bottom scale strip. Eleven systems ship:

SystemDivisions / octaveCharacter
Western 12-TET12 (equal)The default — standard tuning, no retuning
Pythagorean12Pure fifths (3-limit)
Just Intonation12Pure thirds + fifths (5-limit)
Arabic 12-tone12Neutral 2nd / 3rd approximation
Chinese pentatonic12 (5 used)Just pentatonic
Indian raga (12)12Just raga scales
Arabic maqam (24)24 (quarter-tones)Rast · Bayati · Hijaz · Saba
Turkish makam (53)53 (Holdrian comma)Rast · Uşşak · Hicaz
Indian 22-shruti22 (just)Yaman · Bhairav · Kafi
Persian dastgah24 approxShur · Homayun · Mahur
Chinese 12-lü12 (Pythagorean)Gong · Shang · Jue · Zhi · Yu

When a non-Western system is active the strip's segments show N-division strips matching the system, and the surface's columns snap to the system's degrees.

How it sounds — the bowed strings glide to the exact tuned pitch (slide and vibrato ride on top, as always). MIDI Out carries the tuning automatically: VIOLINCE already streams continuous pitch bend tracking the string, so the microtuning rides that same bend — no extra setup. The active system is saved with the patch; Western 12-TET (default) leaves everything as before.

Note Degree values for maqam / shruti / dastgah are faithful approximations — close enough to play in convincingly, refined over time.

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.

LOOP 1
REC · CLR
REC
LOOP 2
REC · CLR
REC
LOOP 3
REC · CLR
REC
LOOP 4
REC · CLR
REC

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–16 bars.
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.
Why event loops are special With audio loops, a recorded phrase is frozen. With event loops, the phrase is just the choreography — the sound is re-synthesised each time. Change the instrument, scale, or any sound-shaping control, and the loop reflects it.

Reverb & Output

The reverb lives on the master bus, after the loops. Its character shapes every voicing.

Mix
0–1, default 0.2. Dry/wet balance.
Size
0–1, default 0.5. Virtual room size / decay time.
Pre-Delay
0–200 ms, default 20 ms. Gap between direct sound and first reflections.
Damping
0–1, default 0.3. High-frequency absorption. More damping = darker tail.
Width
0–1, default 1.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.

Classic Amber
Arctic Blue
Solar Flare
Deep Violet
Emerald Glow
Monochrome
Coral Reef
Golden Hour

Factory presets

PresetCharacter
Glaesel Violin ClassicClean neutral violin.
Tseng Violin ExpressiveDarker violin with more vibrato.
Knilling Viola WarmWarm, comfortable viola mid-range.
Hutchins Viola BluesBluesy viola with looser bowing and slide.
Eastman Cello DeepFull-bodied cello, long sustain.
Eastman Bass PizzicatoPlucked upright bass voicing.
Organic ViolinDrift-heavy, low Grit — very human.
Singing CelloLong-sustain cello pad with rich Sympathy.
Wild FiddleHigh Grit, rosin-heavy attack.
Dark DroneDeep drone with heavy body and damped reverb.
Bright SoloistForward-bow, bright tone, clear articulation.
Gentle ViolaSoft-attack viola with moderate reverb.
Bow AcrossShowcase. Neutral character, made for sweeping up-down on the strip to hear sul tasto ↔ sul ponticello travel.
Ponticello SoloShowcase. High pressure + Grit. Best played at the bottom of the strip for bridge-side scratch; slide up to soften.

User presets save to %APPDATA%/Violince/Presets/. The Presets browser organises them into folders (+ FOLDER, drag a preset onto a folder to move it) — deleting a folder moves its presets up to the parent, so nothing is ever lost. The browser opens with the loaded preset revealed.

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

  1. Load Glaesel Violin Classic.
  2. Bow Position ≈ 0.35 (close to bridge), Pressure ≈ 0.55. Stability 0.65.
  3. Vibrato rate 5.5 Hz, depth 35 cents.
  4. Slide 120 ms. Drift 0.15. Body 0.7.
  5. Play with long, slow strokes in B-Minor Pentatonic.

Recipe 2 · Drone bed

  1. Load Eastman Cello Deep.
  2. Sustain near maximum; Stability ~0.85 (steady).
  3. Press two fingers on the root and fifth of the scale, sweep very slowly.
  4. Arm Loop 1 in Event mode, capture 8 bars. Un-arm and let it play under.
  5. Take a third finger and improvise over the top.

Recipe 3 · Walking pizzicato bass

  1. Load Eastman Bass Pizzicato.
  2. Pizz Level ~0.75, Tone ~0.45, Decay ~0.3.
  3. Record an 8-bar event loop tapping a walking line across the lower half of the surface.
  4. 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

  1. Long sustained viola bowing into Loop 1, Event mode, 4 bars.
  2. Enable the scale sequencer. Build C Maj → A Min → F Maj → G Maj, one bar each.
  3. The 4-bar loop now re-harmonises through the four chords — the gesture stays, the harmony moves.

Recipe 5 · Texture from instability

  1. Stability → 0.1 (chaotic). Drift → 0.6. Body → 1.0. String Tone → +0.3.
  2. Very slow bowing motion — the sound sits between noise and tone.
  3. Throw on heavy reverb (Mix 0.6, Size 0.9, Damping 0.15). Ambient cinematic texture.

Recipe 6 · Layered gesture composition

  1. Loop 1 (Event, 4 bars, Pendulum): bass line.
  2. Loop 2 (Event, 4 bars): chord pad with two fingers.
  3. Loop 3 (Event, 3 bars): melodic counter-line. The mismatched length drifts over Loop 1/2.
  4. Loop 4 (Audio, 8 bars, Input Source = Master): captures everything including the reverb for an ambient texture bed.
  5. Play new phrases with live fingers on top.

Touch UX Gestures

Touch-first conveniences sprinkled across the panel. They aren't documented in tooltips (touch screens don't have hover), so they're listed here:

  • Double-tap any control to reset to its preset default. Pill sliders, the Bow XY pad, the Vibrato XY pad, reverb knobs, visualisation sliders — all support it. Useful when you've nudged something while exploring and want to get back. Pull from the parameter's published default value.
  • Live numeric readout while dragging an XY pad. Drop your finger on the bow or vibrato pad — small mono caps appear in the upper-right corner showing both axes' values, formatted with units (Hz, cents, etc.). Disappears on finger-up.
  • PIZZ / POLY pillars. The two big pills at the top of the SOUND panel are mode pillars, not knob settings — sized larger because they redefine the instrument character. PIZZ swaps the bow excitation for plucked attacks; POLY toggles between true multitouch and crossover-driven single-line behaviour.
  • Live β indicator. Below the BOW XY pad, a thin horizontal bar labelled PONT ─•─ TASTO reflects your finger's current Y position on the fingerboard in real time. Bright when bowing, dimmed when idle.
  • Preset prev / next steppers. The < and > buttons flanking the Presets button let you thumb-step through all 14 factory + user presets without opening the browser. Wraps around at the ends.
  • Right-panel scroll. Drag inside the right panel (away from controls) to scroll the SOUND or VISUALS tab if the layout doesn't fit your window height. The layout is tuned to fit a typical 800 px window without scrolling.

Tips & Troubleshooting

Tips

  • Move slowly. The model rewards gesture. A steady horizontal slide with a gentle vertical oscillation sounds dramatically better than staccato taps.
  • Grit around 0.20–0.50 feels most human. Too low (< 0.10) is overly polished; too high (> 0.80) is scratchy. The default presets land in the sweet spot.
  • Small drift, small vibrato. Real players are never perfectly in tune — a little drift (0.20–0.30) and a small vibrato depth (15–25 cents) are more believable than zero.
  • Use the Y axis as a timbre knob. Bowing at the bottom of the strip (sul ponticello) is intense and edgy; bowing at the top (sul tasto) is airy and soft. Try sustaining a note while sliding your finger up the strip — the timbre travels.
  • Sympathy bigger on cellos than fiddles. The pe_mace cello body picks up sympathetic ring well; ramp Sympathy to 0.50 on cello presets for a chordal halo. Wild Fiddle stays low (0.20) — you want the dirt direct.
  • 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 On first. Level must be above zero.
Scale manual pickers are greyed out
The scale sequencer is driving the key. Turn off Scale Seq or 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 Active state in Event mode.
The sound is harsh at high pressure
Lower Pressure and lower Grit, or bow nearer the top of the strip (toward sul tasto). A real violin squeaks at max pressure too.
Voicings sound the same
On very early builds every voicing convolved through the same Stradivarius IR. Make sure you're on the current build (all four voicing groups should use distinct IR files in Resources/: violin_strad, viola_farina, cello_pe_mace, bass_italian).
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: Sometimes hands off between strings via crossover. Set Polyphonic: Always for true multitouch.

Control Reference

Alphabetical index.

ControlLocationValuesNotes
Bow Attack(parameter only — UI hidden)0–1Force ramp on initial touch-down (5–80 ms). Saved presets still drive it.
BodySOUND0–1Body convolver wet/dry mix.
Bow Position β(driven by finger Y, no UI knob)derivedBottom of strip → sul ponticello, top → sul tasto. Live PONT↔TASTO indicator below the BOW XY pad.
Bow PressureSOUND · BOW XY (Y)0–1Bow grip strength.
BPMTop bar30–300Host wins when plugin-hosted.
CLR (loop)Loop stripbuttonErase recorded loop.
DriftSOUND0–1Pink-noise pitch jitter (max ±15 cents at 1.0).
GritSOUND · BOW XY (X)0–1Friction curve sharpness. Smooth → scratchy. (Was "Bow Stability" with inverted semantics.)
InstrumentLeft panel6 voicingsSelects per-voicing body IR (see § Body & Tone Engine).
Key RangeLeft panel6 · 12 · 24 · 36 · 48 · 60Surface width in semitones.
Length (loop)Loop strip1–16 barsPer loop.
MIDI OutTop bartoggleEmit notes + CC1 + CC11 + pitch bend.
Mode (loop)Loop stripAudio · EventRecording type.
OctaveLeft panel−2 … +2Offset.
Pendulum (loop)Loop striptogglePing-pong playback.
Pizzicato OnSOUND · pillar toggletoggleSwitches to pluck mode.
Pizz LevelSOUND (pizz)0–1Pluck amplitude.
Pizz ToneSOUND (pizz)0–1Warm ↔ sharp.
Pizz DecaySOUND (pizz)0–1Pluck envelope length.
PLAY / STOPTop bartoggleStandalone transport.
PolyphonicSOUND · pillar toggleAlways · SometimesCrossover vs true multitouch.
Preset Prev / NextTop bar< / >One-tap step through all presets.
PresetsTop barbrowser (folders)14 factory + user; tap = load, drag = move, per-row rename/delete.
Quantize (loop)Loop strip · EventOff · 1/4 · 1/8 · 1/16 · 1/32Grid snap for events.
REC (loop)Loop striparm / record / playNext-bar aligned.
Reverb DampingEffects strip0–1HF absorption.
Reverb MixEffects strip0–1Dry/wet.
Reverb Pre-DelayEffects strip0–200 msDirect → first reflections gap.
Reverb SizeEffects strip0–1Room size / decay.
Reverb WidthEffects strip0–1Stereo spread.
RootLeft panelC–BScale root.
ScaleLeft panel17 scalesDimmed when Scale Seq active.
Scale SeqLeft paneltoggleEnables timeline automation.
SlideSOUND0–2000 msPortamento. 0 (default) = off.
String ToneSOUND−1 … +1Brightness offset.
SustainSOUND0–1String decay time.
SympathySOUND0–1Open-string sympathetic resonance amount.
Tuning SystemScale strip chip11 systemsGlobal microtuning; default Western 12-TET.
Vibrato RateSOUND · VIBRATO XY (X)0.5–10 HzLFO frequency.
Vibrato DepthSOUND · VIBRATO XY (Y)0–100 centsPitch modulation amount.
Volume (loop)Loop strip0–1Per loop.