VOLTAlearn

Learn Volta / Modulation

Velocity & feel

Give repeated notes dynamic human variation.

lesson 16 of 39 · about 8 minutes

Open this lesson in the workbench →

The difference between a sequence and a performance is that a performer never hits two notes exactly the same. Accents and jitter put the hand back in.

=N sets a note's velocity in the pattern: !"c2=1 c2=0.4 c2=0.7 c2=0.5" — same pitch, four different intents.

Velocity only matters if the patch listens. gain = vel * 0.6 is the start; run it into the cutoff formula too and hard notes get brighter as well as louder — that's most of what "dynamics" means on a synth.

|> humanize 0.3 on a pattern adds deterministic micro-jitter to onsets and velocities — loose, but the same loose every play (all Volta randomness replays bit-identically).

Accent grammar 101: downbeats strong, pickups weak, ONE surprise accent per bar.

The starting point#

The lesson opens with this song in the editor. Every edit recompiles and plays.

-- Velocity & feel: every note identical, the gain deaf to touch. Add the hand.
pluck = patch {
  source  = saw (freq pitch),
  ampEnv  = adsr 1ms 150ms 0 80ms,
  filtEnv = adsr 0ms 120ms 0 60ms,
  cutoff  = 500Hz + filtEnv * 2500Hz,
  gain    = 0.6
}

line = play pluck !"c2 c2 eb2 c2 g2 c2 bb1 eb2"

What to watch#

Accented notes draw taller bursts than the ones around them. A flat pattern draws a picket fence; a performed one doesn't.

Goals#

The workbench checks these as you work; the solution is there when you want it.

  1. Accent the pattern with =N — three or more levels
  2. Make the gain listen to velocity
  3. Stretch: loosen the grid with humanize

Make it yours#

Take one repeated note (c2 eight times) and make it interesting using ONLY velocities. No pitch changes allowed.

Further reading#

Velocity and accents in the reference.