My 303 emulation attempt


#1

First of all, sorry for the patch looking like a mess, it was made in a hurry. My video capture software also seems to have bad sync problems but you get the idea.

I currently have two questions:

1) I would like the filter envelope depth to not be able to go down to zero even if I turn the *c all the way down. I'd like to know a way to set a range for it like I have done for the resonance and cutoff dials for example. I can not figure out a way to achieve this, anyone got tips?

2) The accent... I got the resonance to add a little attack time on the FEG. I got the decay to be a set time when accent happens. But I would also like a better way to make the accent increase the FEG amount. As it is, the accent uses the set depth, and no accent uses a fraction of that but at low depths it doesn't seem right. I assume I have to build the whole FEG section again, ideally with one envelope?

Thoughts?

edit: I realized the filter has to be 4 pole so I chained two identical filters with shared cutoff and resonance controls, is that the right way to do it?


#2

Try this patch. I have a bit of hard time seeing the patch on this screen so I am not 100% sure this is what you are looking for. I used a constant to set the minimum value, so the envelops is always sending signal even if the Dial is at zero.
<Set lowest value env.axp (3.9 KB)

Edit: Sounds nice btw smile


#3

Of course that's the way.. Thanks!


#4

Here's an envelope generator I made to have an AD envelope with the ability to modulate the times. (Why is there no ADSR envelope with modulation inputs?)

It has a problem with very low attack times, it will never switch to the decay envelope, but for my purposes right now I think this is sufficient.

Since these are linear envelopes I think I still have to feed some of the envelopes back into the decay modulation input to make their shape better.

edit: I originally had a sub-patch there that inverted the other envelope but I laid it out like this so you can see it. The "+" object in there was left in by accident, its purpose in the sub-patch is to mix the two inlets (uni- and bipolar)

303FEGv2.axp (8.7 KB)


#5

I am also really interested in an ADSR envelope with modulation inputs for all steps. The envelopes with modulation input doesnt sound as nice as the ADSR envelope.

I have been thinking about making this my first custom object: to add the modulation input for all, A D S & R. Since there is one with modulation input, I am thinking it might be possible to copy from that one object to the ADSR.

But this is totally new territory to me. Going to take a little while to do this, I think. Need to learn some stuff on the way.


#6

ADSR m ... seems like we should have one of these, as most other forms have them
(better to put these 'requests' in a separate topic, completely by chance i saw it under 303 emulation wink)

btw, have you considered using the env/line2 and env/line3 these have modulation, can't remember if they have a sustain level though.

fyi: one issue we have is 'explosion' on variations of objects, which could become unmanageable over time...
an idea we are considering that would also solve this, and other requests is for all params to 'automatically' have an associated inlet... but as always time/effort/resources smile


#7

Yeah. That makes alot of sense to make inlet for all parameters. I would love that. Actually most of the time I end up adding a dial to control the parameters of for example the filter and resonance anyway, cause it gives me a little bit more control of how the names are displayed on a subpatch and also in which order they come.

Then next it would also make sense to add a new dial with frequency values to control the filters or oscillators through the inlet, instead of 1-127 or -64 to + 64. Then you will still be able to see which frequencies you are tweeking and not only steps form 1-127......... and that said, I understand what you mean about an explosion of objects smile If you make one, you maybe need another to make the first one more usable. But on the other side I got the Axoloti to go around limitations on for example G2s modules, so I am very hungry for new custom objects, hehe smile

But an ADSR with modulation inputs would be really great. Yes I tried the ones with modulation. First I made a sound with the ADSR env and then I realized I needed modulation. Then I tried one of the two with modulation, but it just sounded way different. Anyway. modulating the release is also pretty nice, but none of the envelopes has that option.

I think I will make the request for an ADSR with modulation. Making that one would kind of cover most peoples needs, since it covers all stages of a normal envelope AND modulating them.

Edit: Just read the stuff on GitHub, and see that the dial issue is mentioned there too.


#8

The env/line2 seems promising indeed, thanks for pointing it out. I did look at them yesterday but for some reason I didn't realize this is exactly what I need... Thanks again.


#9

you could use the modsource object to control adsr parameters, but dedicated inlets would be sweet


#10

The env/line2 works, though I didn't yet get the accent to sound right. Anyway.. I made some tweaks; obviously the filter envelope (or the two of them) was replaced, I added more filters for steeper slopes, enhanced the sequencer a bit, added accent amount dial, and now turning the osc crossfader to the middle detunes the saw wave for nice unison. And there's a button called BASS that disables the low cut that happens normally when resonance is turned up.

A video:

And the patch: 303v2.axp (33.6 KB)
And the FEG sub-patch: 303FEGv4.axs (9.9 KB)
And somthing more: inverter.axs (3.1 KB)


#11

ok cool...i tried to load patch but:
inverter not found...another subpatch?


#12

Oops sorry, I'm not always so organized smile

I edited the previous post to include that as well.


#13

thank you but there are still cables missing for the pitch...


#14

How would you set that up? Would be interested in trying smile


#15

Ahh damn.. connect them like this:

So the square gets its pitch from the glide and the saw gets pitch from the + that sums the glide and LFO.

Sorry for the mess.


#16

The inverter is a little subpatch, the idea is you can feed either bipolar or unipolar signal into it, it gets flipped and you get either of them out as well.

Here it is used in the FEG to increase the decay time as the EG output decreases.


#17

got it ... sunglasses sounds great!! but why did make a table for the square?


#18

You mean why is it built into a patcher?

The 303 square wave does not have the same pulse width over the range of notes. It gets a little narrower the higher you go. I want to get this behaviour but couldn't easily figure out the right values and thought "**** it, it's good enough to show" smile


#19

this is just a silly patch with 4 lfo's driving a, d , r and s using modsource objects. once the modsource is there you rightclick on the dial you want to control to attach it


#20

doesn't math/inv do this?

also just a reminder to people, currently modsource has a bug such that it won't work in polyphonic patches... so be careful using it as a solution to adsr modulation.
(fine if your using in main patch or mono sub-patch)