vimsynth/modules/weave

modules/processors/WEAVE

WEAVE

GRANULAR CUT TO THE SOUND'S OWN PERIODS, not to a clock. GRAIN schedules grains at dens hertz and takes them from wherever pos points; this one finds the period of what you are playing and cuts ONE GRAIN PER PERIOD, then lays them back down at a rate you choose. Three things follow that nothing else here can do: pitch moves the note while each grain keeps its contents, so a voice or a string keeps its BODY instead of chipmunking; formant moves that body on its own, in the opposite direction if you like; and lock throws the source's pitch away entirely and holds the output where you put it — a synth voice carrying the source's formants, played from v/oct. stretch slows the walk without moving the pitch; freeze stops it dead. It hears ONE VOICE. Give it a chord or a cymbal and there is no period to lock to, so it CHANGES WHAT IT IS: fixed-rate grains with the pitch moving their playback rate — ordinary granular, a cloud on purpose — and gate goes low to say which one is running. scatter shuffles the grains by whole periods, so they rearrange without going out of tune. Reach for it for talking, vocal, formant, choral, or for a cloud that is still in key.

The WEAVE card as vimsynth draws it: its title bar, 8 knobs, 6 inputs down the left edge and 4 outputs down the right
WEAVE on an empty rack — 32×22 cells, knobs at their defaults. Press a in the app and pick WEAVE to get this card.

inputs

Down the left edge of the card, top to bottom.

inaudio
The sound to take apart. ONE voice at a time — it is cutting on the period, and a chord does not have one.
v/octpitch
Transposition, 1.0 per octave, summed with pitch. With lock on this is not a transposition but the actual note the output sings, whatever went in — patch a sequencer here and your playing becomes the voice of a synth line.
body cvcv
Moves the FORMANTS on their own, in semitones scaled by the knob's own range. Away from the pitch this is the size of the body the sound came out of; a slow LFO here is a mouth changing shape.
stretch cvcv
Scales how fast it walks through the sound, summed as a ratio on the knob — 0 leaves it alone.
freezegate
STOPS the walk dead: the grains keep sounding from one moment of the past, at whatever pitch and formant you ask for, until the second of memory runs out and it loops. A held vowel.
scatter cvcv
Moves how far each grain may wander from the one before it, summed with the knob.

outputs

Down the right edge, in the same order.

laudio
The rewoven sound, left. With scatter off the two ears are identical; up from there a grain sits off to the side it jumped toward, so the shuffle opens out as well as rearranging.
raudio
The right. Take both — the width is the grains disagreeing about where they came from, and summing them throws it away.
pitchpitch
What it hears the SOURCE singing, as v/oct — the same reading TRACK gives, free because the detector is already running. Use TRACK when the CV is all you want.
gategate
High while the detector is sure. Low means it is holding its last period and the output is a texture rather than a transposition.

knobs

Left to right across the face — the dials in the picture.

pitch-24 … 24 st= 0 st
Transposition in semitones, summed with v/oct. The grains keep their own contents, so this moves the NOTE and leaves the body of the sound where it was — which is why a voice shifted here still sounds like that voice rather than like a chipmunk.
body-24 … 24 st= 0 st
body is the FORMANTS, on their own: the grain contents are resampled by this while their spacing is not. Up is a smaller mouth or a shorter string, down is a bigger one. Move it OPPOSITE to pitch to keep a shifted voice sounding like the same singer.
stretch0.25 … 4 x= 1 x
How fast it walks through the sound. 1 is real time; 2 takes twice as long and the pitch does not move; below 1 it hurries, and can only hurry until it catches up with now.
lockoff · on= off
MONOTONE. On, the source's own pitch is discarded and the output sings wherever pitch and v/oct put it — with the source's formants still on top, which is what makes a played sound into a synth voice you can sequence.
grains1 … 4= 2
How many of the source's periods each grain covers. 1 is tight and buzzy, 4 is smooth and smeared, 2 is the honest default.
low30 … 400 hz= 60 hz
The lowest pitch the detector will hunt for. Lower reaches a bass and answers later — a period cannot be measured before it has happened.
mix0 … 1= 1
Dry/wet.
scatter0 … 1= 0
SCATTER — how far each grain may jump from the one before it, in WHOLE PERIODS, so a shuffled grain still lands on a pulse and the chaos stays in tune and in phase. It also PLACES them: a grain sits off to the side it jumped toward, so this knob is the width as well. 0 lays them in order, centred. Up from there they are rearranged and repeated; past about 0.66 they start playing BACKWARDS. It also breaks up the slow repeat pattern that pitch-synchronous granulation puts on a perfectly steady note, so a little of it is a fix as much as an effect.

more

The full reference — every parameter curve, the patching notes and the worked examples — lives in the manual: docs.vimsynth.com/modules/weave. In the app itself, :help WEAVE opens the same page without leaving the rack.