mono mode (ideally, multiple oscillators playing the same note a little off-tune for fatness)
portamento/glide (with constant rate rather than constant time, like a Minimoog!)
vibrato depth controlled by mod wheel.
Noisemaker gets close, but I can’t control vibrato with mod wheel.
I want something that sounds roughly like the Moog solo in Lucky Man, but with mod-wheel vibrato. It’s the most basic lead patch I’ve used on countless synths over the decades, but lately every softsynth designer seems to think that constant-time glide is “more musical” than constant rate. Having used both, constant rate is WAY more musical, so I can have a nice glide for big intervals but not pure mush when playing chromatic notes.
Here’s one: Surge XT — the clean fit, and it’s on Zynthian. Portamento has a right-click Constant rate toggle [verified-now, Surge XT manual]: with it on, the Portamento slider sets time-per-octave and a two-octave glide takes twice as long as one — exactly your ask, by name; default off is the constant-time behavior you’ve been fighting. Mono play modes with last/high/low/legacy priority plus Fingered Portamento so glide only applies on overlapping notes [verified-now]. Fatness via Unison voices with detune plus Osc Drift [verified-now]. Mod-wheel vibrato through the mod matrix: a sine LFO routed to pitch, with Mod Wheel (CC1) assigned to that LFO’s amplitude [from-memory, high confidence]. It exists on Zynthian as LV2 — there’s an official zynthian-surge.lv2 bundle and an engine page [verified-now]. Caveats [verified-now]: it’s been carried as an “experimental” engine and availability depends on your image/branch; and Surge’s giant factory-preset library isn’t auto-exposed in Zynthian’s selector without LV2-preset generation — which barely matters here since you’re building one lead from scratch and saving it.
The only downside is sometimes it can be a bit of a resource hog - best to give it an RPi5!
Yikes – I can’t figure it out at all. I loaded Leads/A.Live/LetLifeGiveLimes and it’s close to what I want. But all the parameters are zero so I can’t figure out how it even makes any sound. And it has hundreds of parameters …
Aha … there’s a bug: the preset values aren’t appearing in the UI. Sigh. Oh well, I’ll have to read the preset file.
And sadly, I don’t see a parameter to set the portamento mode.
Here’s the basic flow you’d have to follow to get Surge working as you want:
Access Surge’s native GUI over VNC on Zynthian - you can find instructions in the wiki and lots times in this forum, but it is an ‘advanced function’ so let us know if you get stuck.
Set Portamento to taste, then right-click the Portamento control and enable Constant rate (if right-click is awkward over VNC, focus the control and press Shift+F10 — same menu). Add the mono mode and the mod-wheel->LFO->pitch vibrato while you’re there.
Save it as a user patch (.fxp) and drop it where Zynthian loads Surge patches. Loading it on the box then puts the whole state — constant-rate included — into Surge’s engine, even though the box knobs will still read zero. Sound right, knobs lying. That’s as good as Surge-on-Zynthian gets today.
I’m going to pursue an alternative using MiMi-d - which doesn’t currently support the constant rate glide you want, but I think could be made to and I think it’s builder-author @ricard would be interested.
The real Portamento control is up in the scene controls, in the little strip of scene-wide sliders — it sits between Pitch and Osc Drift. Right-click that slider (or focus it and press Shift+F10) and the popup will look completely different — it’ll list Constant rate, Glissando, Retrigger at scale degrees, and Curve options. Enable Constant rate there. With it on, the Portamento slider’s value becomes “time to glide one octave,” so wider leaps take proportionally longer — the thing you’re after.
Yeah, It’s a beast of a synth, but well worth it. MiMi-d is also a beast in its own way, but much better integrated with Zynthian, so if @ricard decides to add constant rate glide to it this will get a lot easier.
OK, another dumb question, probably about Zynth and not Surge XT.
I can easily do this using ssh. But is there a way within Zynthian UI to do this?
PS: Actually, it’s not simple from ssh. First, the Surge UI saves it as a ttl file, containing binary data. Second, the list of presets is another file, /zynthian/config/jalv/presets_Surge_XT.json .
Anyway, that’s probably an issue for a different post. Thanks again for your help!
Right – In addition to not being easy to add the preset using SSH, the changes aren’t saved when saving the snapshot. It’s probably related the fact that it doesn’t show CC settings in the Zynthian UI.
BTW - I wouldn’t hold my breath either, but I think ‘freebies’ and open source projects in general have at least as good, and sometimes-arguably a better chance that they will actually implement a requested change compared to paid-proprietary software. Try getting Cadence or Altium to make a change versus KiCad! Of course, as always, each individual product and request is unique and has many influences.
@jofemodo says it’s now in Vangelis, but after updating, I don’t see a Portamento Mode control.
Also, in mono (or AutoP) mode, there’s always a click when transitioning to a new note. It’s unrelated to envelope, because I can control that with legato playing but the click happens anyway. I get the impression that it’s related to note stealing, though “Memory” is on. Anyway, this makes it useless as a mono synth.
I love the control layout and simplicity. Personally, if I were to implement a synth, I’d probably have envelopes and have different destinations have selectors to control routing. But while there are minor disadvantages to your approach (e.g., using the exact same envelope for two different things is more fiddly because the settings have to be duplicated), the resulting clarity and simplicity is lovely. Also, while in the analog world there is no way to duplicate settings, but in the digital world it’s easy enough.