The chain
TEControl breath controller (breath / bite / head-nod / head-tilt) -> Bome MIDI Translator (routing, CC remap, pitch-bend dead-zone, aftertouch conversion) -> Ableton Live (SWAM instances in a horn-section rack + Omnisphere for synth layers). A Touche adds one more expressive axis. Everything gets verified with a MIDI monitor — MIDI Friend and ShowMIDI both show incoming MIDI live, so you can literally see what each gesture emits.
The gesture map — one physical gesture = one funk articulation
- Breath -> Expression (CC11): dynamics, the core of wind phrasing
- Bite (jaw) -> Aftertouch: growl (clench = dirtier tone)
- Head nod up/down -> Pitch bend: down = fall / small bend, up = doit
- Head tilt right -> CC1: vibrato depth
- Head tilt left -> CC80: fallDown, a synchronized "section fall" across all active horns
- Touche -> CC11: flutter-tongue
- Sustain pedal -> CC64: sustain
- Legato playing -> portamento: smear / scoop into a note
SWAM setup — one .swamec for everything
A single controller-mapping file covers the whole SWAM Solo range (CC -> param; aftertouch -> growl; CC80 -> fallDown). Each instrument picks up only the params it actually has. Details + tooling in my swam-toolkit thread.
TEControl setup
Keep the sensors at their factory CCs, calibrate the neutral (especially the nod, which does pitch bend), and do all the CC juggling in Bome (software = flexible, no re-flashing). Then hit "Make Permanent" so the box carries the config standalone for gigs.
Bome setup
Bome is the dumb-but-flexible router: remap the TEControl factory CCs to the targets, convert bite -> channel pressure (growl), fan the tilt out (right -> vibrato, left -> fall), and add a pitch-bend dead-zone on the nod — a real pitch wheel has a spring detent at center, your head doesn't, so a small dead-zone kills the drift.
Ableton setup
The horn section (trumpet + tenor sax + trombone) lives in one rack — play a line, all three sound as a section. Key trick: on ensembles (multiple horns), cut the pitch bend — brass bends +/-12, sax +2/-3, so a unison bend diverges. The section fall survives (it's CC80, not pitch bend), so you keep the idiomatic funk fall. Solos keep full pitch bend.
To humanize a section that shares one track, don't reach for Track Delay (it's per-track): put a MIDI humanizer per chain inside the rack, plus a little velocity randomization and a few cents of detune/pan per instance. Three players, not one tripled.
Playing the funk vocabulary — stabs + falls + growl, not sustained bends
- Fall: nod down + release (small), or tilt-left (big, synchronized section fall)
- Doit: nod up + release
- Smear / scoop: legato from a grace note below, portamento time > 0
- Growl: bite (aftertouch). Flutter: Touche
Half the setup is seeing what you emit. Put MIDI Friend or ShowMIDI on the TEControl input and on the Bome output — every question (is the CC right? does the dead-zone work? does the fall fire past 64?) gets answered in seconds.
AI-assisted workflow, all empirical on a real live rig. Hope it helps someone building expressive control for SWAM. Cheers!
