Max MorrishBack to projects

soundclone

Give it a recording of a synth sound and it returns a Vital preset that makes that sound.

Working on my Mac. Measured on seven test sounds (five synthesized, two macOS alerts), not yet checked by ear.

4 of 6 random presets where a blind test got the pitch right

Target and match spectrograms for five test sounds made outside Vital, the target on the left and the match on the right of each row.
Target on the left, match on the right, for five sounds made outside Vital.
Where
Personal project
Role
Design and build
Built with
Python, a headless build of Vital (open source, GPLv3), CMA-ES

What I made

Matching a sound by ear is slow, and you never know how close you got. The tools that do it are Windows-only, tied to one paid synth, or research code you train first.

I built Vital from source with a small patch so it renders presets with no window open, about 50 ms each, 13 at once. The tool trims and levels the recording, finds its pitch, then searches 48 settings for the closest preset.

48synth settings searched per sound

50 msto render one preset, 13 at once

What came out of it

Splitting the search

The first version searched everything at once and barely beat random guesses. Splitting the on/off choices from the continuous knobs, then tuning each in turn, cut the pluck's loss from 1.08 to 0.63.

Loss after the reworked search, by test sound

Kick0.17Pad0.56Pluck0.63Acid bass0.64FM bell0.97

FM bell: Partials roughly right, the shimmer missing.

Loss after the reworked search, by test sound
LabelValue
Kick0.17
Pad0.56
Pluck0.63
Acid bass0.64
FM bell0.97
Loss is a spectral distance between the target and the match. Lower is closer.

Where it lands

The kick, pluck, pad and bass look close on the spectrograms. In a blind test on six random presets, pitch came out right on four.

Where it's going

The complete version builds the oscillator's wavetable from the target's own harmonics instead of searching a fixed set, and every match is checked by ear as well as on a chart.

  1. NowA fixed searchTwo oscillators, noise, a filter, envelopes and effects, 48 settings.
  2. Wavetables from the targetThe oscillator is built from the recording's own harmonics.
  3. Checked by earEach match is listened to against the target, not only measured.