Blog

Turn any sound into a Serum 2 preset

Upload a one-shot and Audial hands back a .SerumPreset you can open and edit in Xfer Serum 2. No plugin to install, and a similarity score on every run.

October 30, 2026 4 min readAudial

Sampling a sound gives you that sound. Resynthesising it gives you the instrument that made it. The difference shows up the moment you want the sound a fifth higher, a little brighter, or with a slower attack: a sample needs stretching and filtering, while a patch just needs a knob.

Audial's Resynth tool now does that for Serum 2. Upload a one-shot, pick Serum 2 as the target, and you get back a .SerumPreset file whose oscillators, filters, envelopes and effects are set to reproduce what you sent — a real preset, with nothing locked or baked in.

Nothing to install

There is no Audial plugin in the Serum path. The preset opens in Xfer's Serum 2 itself, so if you already own Serum 2 you have everything you need. Audial neither sells nor bundles Serum; the file speaks Serum 2's own format, and the synth loads it like any other patch. Serum 2.1 or newer, since .SerumPreset is Serum 2's format.

The Vital target is the one that comes with a free plugin — Audial Synth, a GPLv3 fork of Vital with a Resynth panel built in. The two sit side by side on the Resynth tab, Vital is the default, and the browser remembers whichever you used last.

What happens on a run

The engine takes one audio file of up to 20 seconds. It analyses the timbre, searches for a parameter set that reproduces it, renders the candidate patch, and scores that render against your original with CLAP similarity. The score is shown next to the download, so you can see how close a patch came before you open it. You also get a render of the patch, two keyboard renders an octave apart, and a JSON report.

Serum runs take about two and a half minutes. Serum 2 is driven under Wine on CPU workers that spin down when nobody is using them, so a first run of the hour can wait up to another two and a half minutes for a machine to start. The warm-up pill in the site header says when that is happening instead of leaving you guessing.

Where to put the file

The download is named after your source sample, because Serum 2 shows the file name as the preset name: send bell_c3.wav and you get bell_c3.SerumPreset.

Two ways to load it:

  • Drag the file onto the Serum 2 window. It loads straight away.
  • Or put it in Serum 2's user presets folder so it stays in the browser. Rather than guessing at a path, open Serum 2's preset browser and use the folder it points at — on macOS and Windows alike that location is configurable, and the browser is the authority on it. Rescan, and the preset appears with your other user patches.

What to feed it

Resynthesis is a timbre problem, so what works is a single clear sound, not a passage of music. Good: a held synth note, a pluck, a bell, a pad stab, a sound-design one-shot, a vocal "ahh". Poor: a full mix, a drum loop, anything with reverb longer than the note itself, anything with two instruments at once. If the sound you want is buried in a track, split the stems first and resynthesise one note of the stem.

Trim the silence off the front, and export it dry — the engine will faithfully model any reverb you leave in, and then you cannot turn it off.

Editing the result

The patch that comes back is an ordinary Serum 2 preset, which is the whole point. The oscillator pages show what the engine chose, the envelopes sit on their usual pages with their usual handles, and every modulation routing is visible and removable. So the edits you already know all work: slow the amp attack and a pluck becomes a pad; pull the filter envelope down and an aggressive source becomes a usable bass; detune a second voice to widen a mono source; throw out the effects chain entirely. Resynthesis hands you a sketch in the right ballpark; your edits make it an instrument.

From code

import audial

audial.config.set_api_key("your_api_key")
audial.config.set_user_id("your_user_id")

result = audial.sound2serum("clip.wav")
print(result["preset"])  # ...clip.SerumPreset
print(result["scores"]["huang_similarity"])

Over REST, send the clip inline as multipart form data:

curl -X POST "https://api.audialmusic.ai/api/functions/run/sound2serum" \
  -H "X-API-Key: your_api_key" -H "X-User-ID: your_user_id" \
  -F "userId=your_user_id" \
  -F "original=@/path/to/clip.wav"

That returns an execution id immediately. Poll GET /api/db/{userId}/execution/{exeId} until state is completed or failed; the finished execution carries the preset under preset.presetSerumPreset, synth: "serum2" on the record, and the renders under generated. Without an active subscription the call answers HTTP 402 with code SUBSCRIPTION_REQUIRED. The Audial MCP server exposes the same thing as the sound2serum tool, so "turn ~/samples/bell_c3.wav into a Serum 2 preset" is a complete instruction.

Try it on the Serum 2 preset generator, compare the two targets on the resynthesis page, and see the sound2serum function on the API reference.

resynthesissynthsserum