My 303 emulation attempt


#25

I did some reading on the Devilfish and added momentary buttons for manual accent and slide, and dials to control accent decay and filter tracking.

On the DF it is possible to take the VCA output and use it to modulate the filter frequency. Is that possible in Axoloti?


#26

Come on guys, everybody knows the measure of a synth is "can it sound like a 303" wink

So here's the latest version in action: https://youtu.be/5X1QGPHi9bU

At the moment the momentary buttons will start and stop their effect immediately but they should wait for a trig to do that. That's up next to fix, and the amp section is a mess too but it works.

I guess the filter frequency can't be modulated by s-rate?

Here's the patches if anyone wants to have a look. This time with a little neater layout and text comments all around.

303v5.axp (47.8 KB) 303FEGv6.axs (10.8 KB)
inverter.axs (3.1 KB)


#27

Sorry, no s-rate modulatable filter objects yet.


#28

When I make this into a sub-patch and try to run more than one instance, it fails to compile because of an SRAM overflow. Is there something obvious in the patch that is causing this, or is it just too big?


#29

I have same issue with some bigger patches; I have made some subpatches in the main patch and then I create a new "instrument" which I want to compile into a subpatch. It works when not compiled into a subpatch. When I compile it into a subpatch, I get SRAM overflow too.

DSP load is around 33%.


#30

#31

I read that about resources. I have already set modulation sources and preset to zero. There are no objects in the patch that I know of that could use SDRAM instead. No delay or reverb, and they are monophonic.


#32

I removed the distortion and now I can run two instances.


#33

Here my version of 303.2p10 The sequence section is updated ... i was not satisfied with the accent.....maybe u take a look at it , cleaned your layout but maybe messed some parameters up/down. I would appreciate if u could fine tune it.
303v2p10.axp (33.6 KB) or303v2p7.axp (31.2 KB)

yo another question i had been working on is how to get midi sync....with is possible by sending 32th notes but how to shuffle that thing?
I am really impressed how u worked out that slide/gate thing

i just loaded version 5 and the accent does nothing again take a look at my patch ...

cheers

Big Up!

i had to change
control numbers....

here version 5 edit by philoop better sequencer.... accent still not really good303v5p.axp (51.8 KB)


#34

I'll check it out later. I realised the filter envelope is quite fundamentally wrong. This may be part of the reason why accents don't have that "wow".

Thanks for showing interest!

edit: about shuffle, I tried it out by just routing a little bit of the square LFO back into itself. This is not very good since it will raise the tempo as well. I'm thinking you could maybe use a counter that goes to two, and on the first (or second, I haven't tried and can't predict) step it would delay the master pulse.

Or just modulate the square by itself but then you'd have to work out how to make the ratios of positive and negative modulation be just right so the tempo won't change.

If you want to slave to a MIDI sequencer you could for example replace the square LFO with a MIDI input that only takes a certain note. If your external gear has swing that's the easiest way I can think of.


#35

yes that would be the correct way to do it; just delay every second pulse.

However, there is not a k-rate delay (yet?), so I came up with this hack to create a shuffle. It works if the envelope time is smaller than the pulse time.


#36

I can't tell from the picture what exactly is happening and I'm away from my Axoloti until Sunday evening cry

But i was thinking maybe the delayed pulse object would work, I forget its exact name.


#37

you're right, using the the delayed pulse makes more sense.

As subpatch: https://raw.githubusercontent.com/allox/axoloti_library/master/shuffle.axs

It would probably be even better to use the DeayedpulseDurtionM , so with some math the amount of shuffle could be set as a percentage of a 16th note. Also this module has a modulation input for pulse length.


#38

I looked at this last night. Good work with the sequencer, octave selection is something I was planning to do but didn't yet get to. I changed some things: the basic note selection needs to be +-12 semitones, and there shouldn't be rounding after the tune dial.

I also changed the filter to be 3 vcf3's in series with resonance on all of them. I'm still not sure if this is the right way but it sounded better to me and naturally cut the bass as reso went up (which seems to suggest this design is closer to how it should be) so I got to remove the high pass filters.

I'm not sold on the crossfader before the filter because of phase issues if you have it at anything except the extreme left or right.

The accent needs to get better for sure but it's doing stuff in the right ballpark at least: it shortens the FEG decay to minimum, and depending on the amount on the dial it will increase amplitude and FEG depth. Depending on the amount of resonance, accented steps will have a longer attack on the FEG as well. Needs fine tuning but first the FEG needs a rebuild, then we'll see where we're at with the accent (and filter in general).

I'll post the updated patch based on your v5 changes tonight.


#39

Not sure if you've already seen this, but there's tons of info here http://www.kvraudio.com/forum/viewtopic.php?f=33&t=262829 , including filter design and such.


#40

Thanks, I had not seen this thread! 20+ pages into it and it seems like a goldmine of information, even if they are talking about programming (I think) and I am trying to do this with the objects that are available. I recognize antto and rv0 from the x0xb0x circles and I know they have a lot of knowledge on this.

I only wish I'd seen this before I stated working on my patch smile I think I'll take a break from it now and do some more reading. Also I have a big work commitment starting tomorrow so I won't have the time to think about patching for quite some time.


#41

please post ur last patch anyway please grinning


#42

Here it is, with the said changes.

303v5pJ.axp (50.2 KB)

At the moment I have no clue what to do with the filter. I have done some reading on resonant filters and they seem to work by having a feedback loop which introduces the peak at the cutoff frequency. I think (I may be wrong) the 303 has a HPF in this loop and this is what makes the bass disappear when the resonance is increased. I don't know how to emulate that with the objects we have.

I think the sequencer is the best bit of this patch. Everything else is nominally right (or at least in the right direction) but if it is to be closer to the authentic sound, work needs to be done on the oscillators, filter and the FEG.

After reading some of the thread alex linked I made a quick version of the square osc (from how I understood what antto wrote in there) using two phasor saw waves, one of them inverted, which were then summed and put through a high pass filter, and the result looks more like the 303 square than before. The filter, like I said, I don't know what to do about it. The FEG has to be bipolar so that increasing the depth also makes it go lower on the decay but I don't know how to build this, though I suspect it can be done with some thinking.

I'm pretty proud of this patch anyway, it sounds wack in it's own right. Especially the filter tracking across a sequence that has notes from a few octaves is nice and can lead to unpredictable results. I was hoping to make it a support for my x0xb0x since I can't afford another one and I guess it is usable for that as it is. It's a different flavor but pretty acid.


#44

I am new to axoloti and axoloti-patches and can't get your 303v5pJ.axp to work. What am i missing?

/Volumes/Data/Git/axoloti/build/xpatch.cpp:5774:6: error: 'net95' was not declared in this scope


#45

No idea. @johannes maybe knows. Or @thetechnobear