Swarm is an audio effect plugin that takes care of one difficult thing: making your tracks get out of each other's way, all by themselves. Drop one instance of Swarm on each track, link them together, and they form a swarm that self-regulates in real time. The mix breathes and balances itself, without you automating EQs or sidechains.
In two sentences
Every Swarm instance watches its own track (where it sits in the spectrum, whether it is loud or quiet, where it is in the stereo field). All instances in the same group then talk to each other in real time through shared memory, ask each other "where are you at?", and each one subtly adjusts its own EQ, gain and pan so the whole stays coherent and clear.
The result: a mix that regulates itself. Colliding frequencies move apart. Levels come together. All of it without you touching a single automation lane.
Installation
macOS
- Download
Swarm-1.2.1-macOS.dmg. - Open the
.dmgand double-click the.pkg. - Follow the installer. Nothing to work around: since 1.2.0 both the disk image and the installer are signed with an Apple Developer ID and notarized by Apple, so macOS opens them normally. The publisher shows as Tony Cuny — that is the legal name behind Xeni Audio, which is what Apple puts on the certificate.
- The plugin installs into
~/Library/Audio/Plug-Ins/(VST3, CLAP and AU). - Restart your DAW and rescan your plugins.
Windows
With the installer (recommended)
- Download
XeniAudio-Swarm-V1.2.1-Installer.exe. - Run it and follow the steps. The Windows installer is not signed
yet — only macOS is — so SmartScreen may warn that the publisher is
unknown: click "More info", then "Run anyway". Your antivirus may
also flag a brand-new unsigned installer; that is a reputation
heuristic, not a detection. If you would rather avoid it, use the
.zipbelow, which contains the same plugin files. - The installer places the plugins in the standard locations:
- VST3 →
C:\Program Files\Common Files\VST3\ - CLAP →
C:\Program Files\Common Files\CLAP\Swarm\
- VST3 →
- Restart your DAW and rescan your plugins.
The installer registers an entry in "Apps & features", so Swarm can be removed from Windows Settings like any other application.
Manual install (portable ZIP)
- Download
Swarm-1.2.1-Windows.zip. - Extract the archive.
- Copy the contents of the
VST3andCLAPfolders into the locations your DAW scans (typicallyC:\Program Files\Common Files\VST3\andC:\Program Files\Common Files\CLAP\). - Restart your DAW and rescan your plugins.
Linux
- Download
Swarm-1.2.1-Linux.tar.gz. - Extract the archive.
- Copy
Swarm.vst3into~/.vst3/andSwarm.clapinto~/.clap/. - Restart your DAW and rescan your plugins.
Quick start — 3 steps
Insert one instance of Swarm on each track you want in the swarm (for example: guitar, vocals, bass, keys, drums).
Give every instance the same Link Slot. In each plugin window, set "Link Slot" to the same number (0 by default). Every instance sharing a slot forms one swarm. You can run several swarms in the same mix (slot 0 for the rhythm section, slot 1 for the vocals, and so on).
Raise Intensity. Set it to 100% to begin with. You will hear the swarm come alive: clashing frequencies move apart, levels converge, the stereo image opens up. If the effect is too strong, lower Intensity. If you want it more pronounced, push it beyond 100% (up to 300% for an extreme effect).
That's it. Everything else is optional.
Where Swarm goes in the chain
The most common question about Swarm, and the manual used to skip it.
Last on the insert chain, after your corrective processing.
Put your EQ, your de-esser and your compressor first, as you always would. Those decisions belong to the source: a boxy guitar is boxy whether or not anything else is playing, and you fix that once and stop thinking about it. Swarm should see the track you have already decided is right.
What Swarm handles is the other kind of problem — the one that only exists because of what is playing alongside it, and only for as long as it is playing. The guitar and the synth are not individually wrong; they are wrong together, in the chorus, and fine apart in the verse. You cannot fix that with a static setting, because the problem is not static. That is the whole reason Swarm is continuous rather than a set of moves you dial in.
So the rule of thumb:
- Before Swarm: anything that fixes a property of the source. EQ, de-essing, gating, the compression that gives the part its shape.
- After Swarm: anything you want left untouched by it. Print effects, a character saturator you have committed to, sends.
- Never on the master. Swarm is a per-track plugin; it negotiates between tracks. One instance on the mix bus has nobody to talk to.
Bus processing is a reasonable place for it too — one instance per sub-group rather than per track — and that scales better on large sessions. See the hierarchical recipe under Link Slot.
The four forces — what Swarm does
Swarm applies four rules, each adjustable independently. Think of them as four invisible assistants, each looking after one aspect of the mix.
Separation — spectral separation
When two tracks step on each other in the same frequency range (say, a guitar and a keyboard fighting over 2 kHz), Separation gently pulls one back and pushes the other forward, so they make room for each other. It is the equivalent of a dynamic EQ, except you never have to say where to cut: the swarm decides on its own, in real time, based on what the other tracks are playing.
Alignment — level alignment
Alignment helps tracks settle at a common level and move together. When one track jumps in volume, the others gently follow. This is the "groove" of the mix. Alignment is not aggressive compression: it adjusts each track's gain very subtly so the whole holds together, like a band of musicians listening and adapting to each other in real time.
Cohesion — tonal cohesion
Cohesion gently pulls each track's timbre towards a shared centre of gravity. If one track is very bright and another very dark, Cohesion brings them closer without flattening them out — each track keeps its identity, but the whole sounds coherent. A dead zone protects the extremes (a big bass will not suddenly turn bright).
Pan Spread — stereo separation
Pan Spread pushes apart tracks that are piling up in the same spot of the stereo image. Guitar to the left, keys to the right — without you touching a pan control. It is mono-compatible: no phase colouration, no delay. If you want a track to stay dead centre (drums, bass, kick), enable "Pin Center" on that instance and it will be excluded from the stereo motion.
The main controls
| Control | What it does | Tip |
|---|---|---|
| Intensity | The overall strength of the swarm. Drop to 0% to disable everything. Push to 300% for an extreme effect. | Start at 100%. This is your master swarm level. |
| Separation | The weight of spectral separation (anti-masking). | If two tracks are stepping on each other, raise it. |
| Alignment | The weight of level alignment. | Light by default (20%). Too strong and the mix loses dynamics. |
| Cohesion | The weight of tonal cohesion. | 50% by default. A good balance between identity and coherence. |
| Pan Spread | The weight of stereo separation. | 30% by default. Raise it for a wider mix. |
| Reactivity | How fast the swarm reacts. At 0% it is glacially slow. At 100% it reacts bar by bar. | 50% is the original setting, validated on three mixes. |
| Bias | Which end of a spectral clash this track claims. Positive = it takes the highs, negative = the lows, centre = position decides. | Leave at centre until two tracks separate the wrong way round. Per instance, never shared. |
Advanced controls
Crest — the transient designer
The Crest knob works on the track's transients. It analyses the difference between the peaks (attacks) and the body of the signal, then adjusts each instance's dynamics.
- Positive Crest (> 0): boosts the attacks, adds punch.
- Negative Crest (< 0): densifies the signal, flattens the peaks.
- Crest Spread: distributes punch across the swarm. A track with a lot of punch nudges the others into leaving room for it.
Important: Crest needs at least 8 dB of dynamic range to work properly. If your track is already heavily compressed (less than 8 dB of crest), the knob greys out — that is expected, there is nothing left to sculpt.
Pin Center — lock to the centre
Enable "Pin Center" on tracks that must stay in the middle of the stereo image: drums, bass, kick. Those tracks are excluded from Pan Spread's motion.
Link Slot — grouping instances
Every instance sharing the same Link Slot number forms one swarm. By default everyone is on slot 0. Change the number to create separate groups.
There are 16 slots (0–15), and Swarm supports 64 instances in a session, spread across those slots however you like. That is enough to give a full orchestral template one slot per section — strings, woodwind, brass, percussion, and so on — instead of forcing everything into one swarm.
Instances only ever regulate each other within a slot. Nothing crosses from one slot to another, so a busy percussion group cannot pull on your strings.
A practical note: a swarm gets its character from how different its members are. Twenty near-identical string tracks in one slot will mostly cancel each other out, which is why splitting into sections tends to sound better than one giant group — not just tidier.
Recipe: hierarchical slots
This one came from a user, and it is better than anything suggested above. Rather than putting every track in one swarm, negotiate at two levels:
- Inside each sub-group, give the stems their own slot. Drums on slot 1, guitars on slot 2, keys on slot 3, and so on. Each set of stems sorts itself out among things it is actually comparable to.
- Then put one instance on each sub-group bus, and give all of those the same slot — say slot 0. Now the sub-groups negotiate with each other, as whole entities.
The reason it works is the practical note above: a swarm only has something to say when its members are different enough to be worth separating. Two levels means each swarm compares like with like, and a kick is never asked to get out of the way of a backing vocal.
It also scales. Sixty tracks in one slot is a swarm where everything is pulling on everything; the same session as six groups of ten plus a six-member top level stays well inside the 16 slots and 64 instances, and each negotiation stays legible in the feature space.
Link Params — synchronising settings
Enable "Link Params" so that every instance in a given Link Slot shares the same force settings — the first 8 bars: Intensity, Separation, Alignment, Cohesion, Pan Spread, Reactivity, Crest and Crest Spread. (Bias is not among them; see below.) When you change a setting on one instance, all the others in the same group inherit it. This is handy when you want to steer the whole swarm from a single window, without opening every instance.
Pin Center, Bypass and Link Slot stay local to each instance, even when Link Params is on.
BYPASS ALL (top right, next to BYPASS) is the exception: it is a group switch like Link Params. Clicking it on any instance bypasses every instance sharing that Link Slot, and clicking it again brings them all back. It works whether or not the other windows are open, and it crossfades rather than switching hard, so you can flip it mid‑playback without a click on every track.
Use it to answer "what is the swarm actually doing to my mix?" — the per‑instance BYPASS next to it only silences the processing on the one track you are looking at. Bypassed instances stay members of the swarm: they keep feeding their own analysis to the others, they just stop applying the swarm's moves to themselves.
Link Params is a group switch. Clicking it on any instance turns it on — or off — for the whole Link Slot at once. You do not need to enable it on each instance, and you cannot have some instances linked and others not within the same slot.
Turn it off when you want per-track control. Intensity is one of the shared settings, so while Link Params is on, every track yields to the swarm by exactly the same amount. That makes it impossible to give one track priority over another — see the next section.
Setting priority — which track wins
Swarm has no leader. No instance is in charge, and none of them negotiates on behalf of the others. So how do you tell it that the kick matters more than the bass?
You set priority with Intensity, per instance.
Intensity scales the forces applied to that instance only. What an instance publishes to the swarm — where it sits in the spectrum, its level, its pan, its crest — does not depend on its own Intensity at all. So an instance at low Intensity yields less, while still pushing everyone else exactly as hard.
Take that to the limit and you get an anchor:
Intensity at 0% on the kick makes it a pure anchor. The swarm never moves it, and it still moves everything else. Keep the instance loaded — that is what feeds the kick's position into the swarm.
That is the whole mechanism. There is no leader flag because you do not need one: priority is simply who yields. Give the tracks that must stay put a low Intensity, and the tracks that can move a high one.
Remember that Intensity is shared when Link Params is on. Turn Link Params off before setting priority, otherwise every track gets the same value and nothing can take precedence.
Bias — choosing the direction
Intensity decides who yields. Bias decides which way.
By default Separation works purely on position: whichever instance sits higher in the spectrum than the rest of the swarm gets pushed brighter, whichever sits lower gets pushed darker. Nothing knows that one of them is a guitar. So when two sources genuinely occupy the same range — a guitar and a synth in the same register is the classic case — the force is at its strongest and the direction is decided for you.
Bias is how you overrule that. It is the ninth bar, to the right of the force bars, and it is per instance:
| Bias | Meaning |
|---|---|
| Centre (0%) | Position decides. The default, and how every version before 1.2.0 behaved. |
| Positive | "I take the highs." This track claims the top of any clash it is in. |
| Negative | "I take the lows." It yields the top and takes the bottom. |
Set the guitar to -40% and the synth to +40% and the split stops being arbitrary: the synth gets the air, the guitar keeps the body, and they still separate by exactly as much as they actually overlap.
Two things worth knowing:
- Bias changes direction, not amount. How hard two tracks separate still comes from how much they really overlap. A bias between two tracks that never share a range does nothing at all, because there was no force to steer.
- Bias is never shared. It is the one bar Link Params leaves alone — which is why it sits outside the orange halo. A bias every instance had in common would cancel out and mean nothing; the whole point is that instances disagree about who gets the top.
For a pair, biasing one of them is usually enough. Push both in opposite directions only when you want the split to be emphatic.
Recipe: kick and bass
This is the hardest pair in any mix, because the two genuinely overlap exactly where Separation pushes hardest.
| Track | Intensity | Bias | Pin Center | Why |
|---|---|---|---|---|
| Kick | 0–30% | -30% | On | Stays put, keeps the low end anchored, and claims the bottom |
| Bass | 100%+ | +30% | Off | Does the moving, and moves upward out of the kick's way |
The Bias column is what stops the pair separating the wrong way round. Kick and bass sit close enough in centroid that, left to position alone, which of them brightens on any given bar depends on the arrangement. Two small opposite biases make it consistent: the kick keeps the sub, the bass finds the room above it.
If it still sounds busy, lower Reactivity on the bass. Lower is slower. Most of what people hear as two tracks "fighting" is simply the two of them moving at each other faster than the music does.
And if you would rather they never interact at all, put them in different Link Slots.
The interface — what you see
Swarm's interface is designed to be readable at a glance, even while you are mixing.
The feature space (the big central area)
This is Swarm's signature. Each instance is drawn as a glowing dot in a graph. The horizontal axis shows where the track sits in the spectrum (left = lows, right = highs). The vertical axis shows its level (higher = louder).
- The orange dot is you (the instance you have open).
- The other markers are the other instances in the swarm. Each one has its own colour and its own shape — circle, square, triangle or diamond. The shape is there so you can still tell instances apart if the colours are hard to distinguish; the flock legend uses the same pairing.
- The dashed orange line is the swarm's centre of gravity.
- The trails behind the markers show their trajectories.
- The arrow on each marker is the correction being applied to that track right now. Read it as: the marker is where the track is, the arrow is where the swarm is pushing it.
That distinction matters, so it is worth being precise about it.
The markers show the input. Swarm measures each track before it processes it — deliberately, because an instance has to keep its place in the swarm even while it is bypassed. So a marker does not move because Swarm corrected something; it moves because the music moved.
The arrows show the output. The vertical part of an arrow is the level correction, in dB, read directly off the same dB scale as the axis. The horizontal part is the tilt EQ, converted to a distance using a fixed convention: 6 dB of tilt is drawn as one octave of apparent brightness. It is a legible convention, not a measurement — a tilt EQ does not literally move a track's spectral centroid.
So: markers spreading apart on their own is the music. Arrows pointing apart is Separation. Arrows pointing up or down toward the rest of the flock is Alignment. When nothing is playing, or when the flock is bypassed, the arrows shrink to nothing and disappear.
Earlier versions of this manual said that a dot rising to join the others was Alignment at work. That was wrong: the dots never showed the corrections at all. The arrows, added in 1.2.0, are what fixes it.
The force bars
In front of the feature space you will see 9 coloured horizontal lines. Each one is a control. Click and drag vertically to adjust the value. Double-click to reset to the default. Use the mouse wheel for fine adjustment.
When "Link Params" is on, an orange halo surrounds the first 8 — those are the ones shared across the group. Bias, the ninth, sits deliberately outside the glow: it is local to this instance and is never shared. If the halo is on, anything inside it belongs to the swarm and anything outside it is yours alone.
The flock legend
To the right of Pin Center / Link Slot / Link Params you will find one row per instance in your swarm, each carrying the colour and shape of that instance's marker in the feature space. It answers the question the graph alone cannot: which marker is which track?
Hover a row and that instance's marker gets a ring in the feature space, while the panel below shows exactly what the swarm is applying to it. The rows never move, so there is nothing to chase with the mouse.
Naming your instances
Under the Swarm title, each instance shows its name — this is what the other instances display for it in the legend and in the feature space.
Double-click the name to change it — the small pencil beside it is there to mark it as editable. Type whatever identifies the track to you; it is saved with the project.
On VST3 the name starts as the host's track name, so in most cases there is nothing to do. On AU and CLAP the host does not give us the track name, so instances start as "Swarm #1", "Swarm #2" and so on, and renaming them by hand is worth the thirty seconds — a legend full of numbers tells you nothing.
The action panel — what the swarm is actually doing
Just below the three buttons, four bars show the corrections being applied right now:
| Bar | What it shows |
|---|---|
| EQ | The 3-band tilt, in dB. Positive lifts the highs, negative lifts the lows. |
| GAIN | The level correction from Alignment, in dB. |
| PAN | The stereo displacement from Pan Spread. |
| TRAN | The transient shaping from Crest, in dB. |
Each bar fills from the centre, and takes the colour of the force that produces it — the same colour that force has in the bars above. The label on the left is always the reliable way to read the panel; the colour is only there to tie the row back to its force.
On colour. Up to 1.1.2 Separation was red and Alignment was green, stacked directly on top of each other: the one pairing that disappears for anyone with red-green colour vision deficiency, which is roughly one man in twelve. 1.2.0 moves the whole force palette to a colourblind-safe one, and no part of the interface now depends on telling two hues apart — every bar is labelled, and instance markers carry a shape as well as a colour.
By default the panel shows your track, with an orange strip down its left edge. Hover a row in the flock legend and it switches to that instance, the strip taking the colour of its dot. This is how you check what Swarm is doing to a track without opening its window.
When nothing is playing every bar sits at zero: silent tracks leave the swarm, and a swarm with nothing to arrange applies nothing.
Presets
The preset selector at the top right offers 5 ready-made settings:
- Init — everything at default, a neutral starting point.
- Subtle — the swarm works gently, almost invisibly. Ideal for a mix that is already good and just needs finishing.
- Wild — the swarm off the leash: intensity at 220%, fast reaction, wide spectrum. For an obvious effect.
- Spectral Only — only spectral separation and tonal cohesion are active. Alignment and Pan at zero.
- Spatial Only — only Pan Spread is active. For widening a mix without touching the spectrum.
You can save your own presets, compare them (A/B), and undo/redo your changes (20 levels).
The meter bar (at the bottom)
Five small horizontal meters give you a technical overview: IN (input level), OUT (output level), GR (gain reduction applied by the swarm), Crest (the track's dynamic range), and LUFS (perceived level, BS.1770 standard, over 3 seconds).
The help bar (right at the bottom)
Hover any control with the mouse and an explanation appears at the bottom of the window. It tells you what that control does, in plain language.
Licensing and demo mode
Swarm runs in demo mode until you activate it. In demo mode the sound is muted for 5 seconds every 60 seconds (with fades, to avoid clicks). Everything else works normally: you can try every feature and save your settings.
Every demo instance mutes at the same moment, so the mix drops out as a whole and comes back as a whole. That way you can still judge how the swarm balances your tracks against each other — which is the whole point of trying it. Offline bounces are unaffected by this and keep the usual cadence.
To activate Swarm:
- Click the "DEMO" badge at the top right.
- Enter your license key (format
XENI-XXXXXXXX-XXXXXXXX, or a Gumroad key). - Click "Activate".
You can also paste your key with the "Paste" button or the keyboard shortcut (Ctrl+V / Cmd+V).
Once activated, the DEMO badge disappears and the sound is no longer muted.
Mixing tips with Swarm
- Start light. Set Intensity to 50% and work your way up. Swarm is subtle by nature — you may not notice it working until you switch it off and the mix falls apart.
- Fewer instances is sometimes better. Swarm speaks more clearly with 4 to 8 instances than with 20. If the mix sounds confused, reduce the number of tracks in the swarm.
- Bypass and compare. BYPASS at the top right does this one instance; BYPASS ALL next to it does the whole group in one click, from any window, so you can hear what the swarm is doing to the mix as a whole. Both crossfade, so it is safe to flip during playback.
- Pin your centre elements. Drums, bass, kick: enable "Pin Center" so they stay in the middle of the stereo image.
- Anchor what must not move. Drop Intensity to 0% on your kick and it becomes a fixed reference the rest of the swarm arranges itself around. See "Setting priority" above.
- Crest needs air. If a track is already heavily compressed, leave Crest at 0 — the knob greys out anyway.
- Link Params to audition, not to mix. Turning it on lets you dial the whole swarm from one window, which is ideal for finding a starting point. Turn it back off to give individual tracks priority — while it is on, every track yields by the same amount.
- Watch the action panel when in doubt. If you are not sure Swarm is doing anything, hover the tracks in the flock legend and read the four bars. It is faster than soloing.
- Save your settings. Find a sound you like, save it as a preset, and compare it against other configurations.
Supported formats
- VST3 — Windows, Linux, macOS
- CLAP — Windows, Linux, macOS
- AU (Audio Unit) — macOS only (Logic Pro, GarageBand, etc.)
On macOS the plugin is universal: it runs on both Intel Macs and Apple Silicon Macs (M1, M2, M3...).
Known limitations
- Reaper (Windows, VST3): window resizing does not work in Reaper with the VST3 build. Use the CLAP version instead.
- Cubase and Nuendo (Windows): the resize grip in the bottom-right corner does nothing, and the window size is not remembered between editor openings. Resize with the host's own plugin-window frame. Asking Cubase to resize us from our own interface thread is what crashed it before 1.2.1, so the request is no longer sent at all.
- Stereo only. Swarm works in stereo (2 in, 2 out). There is no mono or surround mode.
- LUFS over 3 seconds. The LUFS meter shows the average perceived level over a 3-second sliding window (BS.1770 short-term standard). It is not the integrated LUFS of the whole track.
- 64 instances, 16 slots. Beyond 64 instances in a session, further instances still process audio normally but stay solo — they do not join a swarm.
- Bias steers direction, not amount. It cannot make two tracks that do not overlap separate, and it cannot force a bigger move than the overlap justifies. See "Bias — choosing the direction".
- Track names are VST3 only. Instances take their name from the host track where the host provides it, which VST3 hosts do. On AU and CLAP the default stays "Swarm #N" — rename by hand (double-click the name).
- Mixing versions. Instances of different Swarm versions in the same session do not see each other, and form separate swarms without warning. Update every instance together.
Support
Website: https://xeni-audio.com
Swarm v1.2.1 — Copyright 2026 Xeni Audio. All rights reserved.
Something unclear, or missing from this manual? Write to support@xeni-audio.com.