Surge XT

So you can actually do that with the mixer and the mod matrix today if you just use a single input. Plumb your stereo to IN1, plumb the output. Then turn the gain on In1 to -Inf then use the CV to modulate it up to 0db from input 1, and add modulators on input 2 and 3 for velocity and tremolo

Basically you can think of the mixer as a 3-source modulatable VCA with noise and ring modulators also.

(I actually just fixed a bug in the mixer around mis-scaling the decibels so you will get a better result doing that in the nightly in about an hour; it will work now but the scale for the modulations is wrongly linear on one spot, and the display of the decibels isn’t right but there’s a PR in to fix that).

3 Likes

Thanks!

Proteus is fixed now (v2.2.1) and won’t crash any longer. Very sorry about that. Can I come back to the party now?

8 Likes

MixerAsVCA.vcv (3.0 KB) MixerAsVCADrums.vcv (2.4 KB)

Here’s a couple of my test patches for the mixer as VCA that I’ve put together over the dev period. Hope that helps!

2 Likes

Thanks! I think these will help.

Nothing like a dozen plugins releasing simultaneously along with my own to raise my anxiety level. We all take our turns in the pit occasionally, whether we deserve that or not :wink:

1 Like

So I am trying some wavetables from https://waveeditonline.com/ and they say ā€œOneShotā€ and they don’t work right. Is there something I have to do to make these work?

I really need to get to the manual

Surges wavetable uses tags in the wav file to determine frames and absent tagging assumes it is a one shot which plays through on trigger. We read tags like wav loop markers but also read a bunch of tags from synths like serum hive and more.

Waveedit makes un tagged waves. I actually looked at fixing this but it uses libsndfile which doesn’t let you add riff blocks

But what it means is if you want to use those as wave tables today you need to tag them, we have tools that let you do this

We keep talking about making this easier but haven’t written that code yet.

3 Likes

Ok thank you!

Actually I’ve been meaning to implement the ā€œreinterpret one shot as N-sample wavetableā€ function for a while and this might be a good testbed for that. So stay tuned… I’m actually pretty close in my branch now.

1 Like

Ahhh you can’t post animated gifs to this forum

Anyway if you could I was going to show you a screenshot of loading a wave online wavetable, getting a one shot, then hitting a menu to convert it to a 256 element wavetable and having it work.

which is nifty.

2 Likes

awesome! thank you for all your work!

no problem

won’t make it in today but should have reasonable better options by the end o the week (including I’m thinking a default way to interpret an untagged file which will be one shot, 256-wide (wave edit) or 2048 wide (serum) style.

1 Like

:pray:

OK so here’s what I did for now (and what I might roll to library for first version with - but stay tuned).

In the next nightly, in about an hour, you will see three menu items in the wavetable menu. Load Wavetable File does the standard surge wavetable load, assuming untagged files are one shots. ā€œLoad WaveEdit Wavetableā€ loads a wav file assuming the frame size is 256. And then there’s a submenu for untagged files which lets you pick any power of 2 frame size from 64 to 4096. Fine.

With this I can load wave edit wave tables directly into the oscillators and they work fine

The problem with this is that if you add a bunch of wavetables to your user area from wave edit they will all show up as one shots when you browse the list with jog or menu, since the default behavior is the same as load wave edit wavetable.

I’m considering adding an option which is something like ā€œassume untagged user tables have size Xā€ and storing it, but that has some complexity across the code base. I’m not sure I want to add it this late in the cycle, but am still considering it. I may ship then do it as a 1.1 release with a few of the other bigger requests I’ve pushed off. It’s not super easy since there are some wav files in the library but I think they are all tagged, but also that loading happens way deeper inside surge so it’s a bit fiddly for a variety of reasons

But as of the next nightly you can at least directly load a wave edit wavetable into the wavetable and window oscillators using the menu, and it will save in your patch etc… properly.

5 Likes

It works now! Thanks again!

2 Likes

While Paul’s suggestion of using the mixer certainly does work for a stereo VCA which can do velocity and tremolo etc - it’s not ideal as an end of line module due to the 3 separate inputs, noise and ring mod.

We had a chat about it and came up with the idea of an EG x VCA module that can be either an ADSR envelope (using a gate input) or a DAHD (using a trigger) - this would work much better as a module to place after the Filter for example.

As in the VST, each envelope type has both an Analog and a Digital version. The segment curves are fixed in the Analog version but in the Digital version you can select between 3 different curves for each segment (where appropriate).

And of course with the mod matrix allowing up to 4 separate CVs targeting the Level, it would handle all your velocity and tremolo needs.

Something like this:

This won’t appear in the initial Surge XT release as the modules are locked down for that, but should appear fairly soon afterwards. You can follow progress on this module on Github.

17 Likes

Yeah that’s gonna be a useful module.

Just a note on workflow for folks new to the surge space. We are really open with our issues milestone and team. Basically everything we are working on is usually in a GitHub issue somewhere. But we are also purposefully chill about deadlines.

Right now we are in a bit of a sprint since I want to get this thing into the library queue before thanksgiving, and the response here makes it clear it’s worth still working on these modules which is awesome.

But this all works when people give us great feedback and great bug reports - like you all have here and elsewhere - and also kinda don’t ask the question ā€œwhen will it be doneā€. It will be done when someone does it. If you want to do it, welcome to the surge team! :slight_smile:

But wow what an overwhelmingly positive response we’ve had, thanks all!

13 Likes

Something I’m curious about, and thought I’d raise as a minor possible issue, is this label on the 2X button on the String VCO (Version:2.0.beta.0-nightly-c13ac1d).

I presume it’s just missing a label, but the #42 is also intriguing!

(see area in red circle, mouse cursor is invisible unfortunately)

Congratulations! - we didn’t expect this to be discovered so soon… you have found the answer to life, the universe and everything :wink:

14 Likes