WIP blog - MAKENOISE 0COAST
  • Hi everybody,
    long story not-so-short: I'm a absolute beginner at modular patching but it is something I've always been on and off with near 0 results due to wrong or "out of my range" concepts most of the times. So, with a learn-by-doing state of mind, I'm trying to clone the functionalities and workflow of some random real modules. So I choose the 0coast to begin with and here I'm reporting my progress and stops I'll find along the way.

    SESSION 1
    I'm building it from the line out to the OSCs and inputs and placing dummy inputs and outputs where the CV and audio outputs are since with Audulus I won't need 'em as long as I don't box it further.
    I'm using the 0COAST manual(http://www.makenoisemusic.com/manuals/0-coast_manual.pdf)as reference and some other bits and pieces around the net about the modules inside the 0C(like the DYNAMICS are a buchla 292 LPF+VCA clone).
    I'm not really interested in quality output right now so patching the line out, the DYNMC(with some curve shaping) and the CNTR but for the EndONset gate out(this Gate OUTput goes high after the Onset portion of the CONTOUR is finished, and goes low after the Decay portion is finished). I'm kind of stuck at a logical level on how to make it go high AFTER it reached the max amp.
    And now I'm at a wall with the slope module. It is a loopable AR or LFO and I don't know either how to make a AR at all and then make it cycle at the push of a button nor make an adjustable shape LFO do a single cycle when triggered.
    I'll keep you updated and any help will be much appreciated.
    MAKENOISE-0COAST.audulus
    4M
  • Nice! Let me know if you need any help figuring out how to do stuff - I know Taylor said eventually we'll have normalized inputs - this has those, doesn't it?
  • Yes I know it does, even if I don't know what those are(do they normalize the input voltage?)
    And right now I don't know how to:
    -build the EndofONset. As far as I have understood is a delayed unipolar gate which goes high when the onset/attack ramp has finished[I'm trying to figure how to build a gate once it reaches 1 and stay there until the envelope sets back to 0]
    -build the core oscillation for the SLOPE module which is a loopable Attack-Release kind-of-thing and then being able to switch between a single cycle operation and a LFO-like behavior[for this I've thought of two possible ways: one is looping a AR envelope, which seems harder, or using 2 opposite phasors((x/pi)-1 and -((x/pi)-1)) and with some conditionals and sync/retrig being able to switch from lfo A to lfo B, cycling at different rates, when A reaches 1 and viceversa when lfo B goes 0. Right now I'm struggling with the fact that the phasor ranges like 0
    I'll keep building the other blocks but not being able to make the SLOPE module work correctly will be a bottleneck for the operativity of the whole patch. So I'm crossing fingers and pro-actively waiting/searching for a solution.

  • Normalled inputs could be made by having the expression 'input?input:normal' and plugging the input into the input and whatever signal you want normal-ed into the normal input.

    A normal is an internal connection to the jack which only caries signal when there is nothing plugged into the jack, but once a cable is plugged in, it breaks the "normal" and inserts the signal from the patch to the same point in the circuit.

    I'll patch an AD envelope with loop and a normal example for you and post here in a moment

    image
    input normal example.audulus
    135K
    image.png
    2732 x 2048 - 259K
  • Yeah, that works for most situations for sure!
  • Not perfect yet but here's a looping envelope with variable curve
    cyclingEnvelopeCurve.audulus
    1M
    image.png
    2732 x 2048 - 241K
  • @biminiroad I know there must be some things that would be a tiny bit funky if the input hits zero often, I was trying to see if there might be a way like an envelope follower slew filter to smooth out the input and use that as the selector, that might be the best way to go
  • @macromachines
    Many thanks for both the AD module and the normal expression and lesson

    BUT[there always has to be a but]

    I had gone a slightly different way with the Rise&Fall build up:
    At very first I was trying to sync up two phasors(one rising and the other falling) but it was too much complicated to be good; so I set up a single slew limiter with different rates for gate HI or LO. And it works definitely well but for: a) quite limited frequency range(0~50Hz instead of 0~1000Hz); b) I have no clue about how to adjust the slope curve; c) I don't know how to make the CYCLE function Gate dependent; d) I'm not able to make good use of the normaling expression: this module has to have a gate/pulse controlled S&H but for now on one hand I can't get the S&H to sample a 0 as soon as its trigger input zeros(I unplug the gate source) so I'm stuck with the last value sampled while OTOH (picture), since I'm using a 0-1 square wave to trigger the S&H, when it is cycling through the low portion it also switches to the un-sampled envelope.

    The patch attached is a clone of the MAKENOISE FUNCTION module(which is the core of MATHS and SLOPE section from 0COAST).

    MAKENOISE - FUNCTION.audulus
    49K
    image.png
    2732 x 2048 - 275K
  • UPDATE
    I managed to make a normaled input working also with zeros
    image.png
    2732 x 2048 - 238K
  • If you check out the internal of the cycling envelope I posted there is curve for up and down
  • @MacroMachines
    Thanks so much but unfortunately your curve module in my patch faces the same problem of my experiments: I cannot get my core signal, a basic slew limiter with its, back to a linear behavior so I would be able to actually "curve" it.

    Then I'm having some more issues managing external triggers but I will explain em better the next time.

    Thanks again everybody
  • @mschenkel
    Im not sure if I understand the issue you are having with the curve module? Could you explain a bit more on what you need specifically?

    I ended up making an integrator/ accumulator that is the actual equivalent to the circuit used inside the function, and I will post it soon. Its very simple and incredibly useful, and I believe it could work as the core of your 'function' with simple changes to the naming and look of the panel.

    If you have any specific questions, I will be at knob con in chicago this weekend and I will likely be hanging out with Tony Rolando, the owner and designer of Make Noise.
  • This is a slew limiter that @Drewyeah came up with - do you need it? It has two modes - one where there's equal time between each note transition, and one where larger intervals take longer to transition between.
    Slew Limiter.audulus
    35K
  • @macromachines
    My issue is that, with the little maths I know, I'm not able to obtain drastically different shapes out of my envelope but for a slightly less/more exponential while in the original it should range all the way from exponential to logarithmic thru linear.
    Thanks for the chance to ask directly to them but so far I haven't any question that can't be solved with the read of a manual

    @biminiroad
    Thanks. I was also thinking about a timer based approach so any example is more than welcome
    MAKENOISE - FUNCTION 0709.audulus
    100K
  • @mschenkel I was working on recreating some of the functionality of the Makenoise 0-Coast I'm posting a cycling function generator that sounds like what you were trying to make.
    Screen Shot 2017-02-01 at 7.28.43 PM.png
    1121 x 454 - 77K
    Function Generator.audulus
    45K
  • I modified the function generator so that it can also be used as an envelope with independant EXP-LOG parameters for rise and fall. That should make it more useful for anyone making percussive envelopes and is more similar to it's Makenoise progenitor.
    Screen Shot 2017-02-13 at 11.29.08 AM.png
    873 x 464 - 73K
    Function ENV.audulus
    303K
  • I reclassified this as "eurorack" even though it's not strictly Eurorack - just thought it would make it easy for other to find - hope that ok! Let me know if you want me to change it back (if you can't yourself :) )
  • I'm still totally baffled with how the 0-coast combines the triangle and square waves to create the overtone series.
    edit: this is the best guess from a youtube comment: "Rik MaxSpeed2 months ago
    OK, I think I'm getting there: the overtone knob mixes in the differential of the square wave. i.e.: the signal that gets sent to the wave-folder is (1-overtone)*sine + overtone*dSquare. And the square wave's phase is offset by pi/2 - something like that. It explains the shape of the spike signal which correlates well with the differential of the shape of the square wave which you showed in the first part of your video. Really helpful :)"
    edit 2: I asked Makenoise how the overtone worked in the 0-coast and they replied, "The 0-Coast Overtone section shapes the Triangle (odd harmonics) into an asymmetrical spike (even harmonics), the result of which is fed through the Multiplier. "
  • So I pieced together an audulus version of the 0-coast. Everything sounds "kinda" like my actual 0-coast, but the aliased waveforms really give it a different character, especially in the upper registers (which I have denoted as the red zone on the pitch knob). Also, the 0-coast has some unspecified magic on the linear fm input which I am pretty sure has a vactrol in it and has a rather unique effect on the pitch. There are likely a dozen or so such small differences, but I set up some parallel patches and they sounded pretty close.

    So without further ado, I present the RHS 0-Toast!
    Screen Shot 2017-03-18 at 1.04.28 PM.png
    1782 x 750 - 254K
    0-Toast.audulus
    2M
  • Wooaa
    Thank you very much for this work!
  • Wow Robert.
  • How do I get this onto my iPad? Dying to try it
  • Wow thanks Robert!
    This thing is awesome.
  • Posted this in the wrong topic before! Here it is:

  • You mentioned something about non-linear vactrols, and I saw you posted on this - but does it help?

    http://forum.audulus.com/discussion/comment/5113#Comment_5113
  • I just meant that the linear FM input responds like there is a vactrol on the input, there is some lag when a change comes in so it's not really as aggressive as typical FM in my experience. But the 0-Coast doesn't advertise as having a vactrol so it probably doesn't. I just put a little slew limiting on that input, and it sounds similar. The nice thing about Audulus is that you can open up the module and take that out if you don't like it!
  • there are no vactrols used in O-Coast.. watch this .. Tony from make noise says that he used transister cause they are very fast compared to vactrols ;)
    what a coincidence :D just watched this video today...

  • great patch Robert. That immediately has become my favourite synth patch in Audulus. Thank you very much.
  • Great work everyone! Quick question - on the youtube video comments makenoise said it wasn't strictly a clone, and mark said "That said, would you prefer if we made a version that sounded exactly like the real one?" - Could you really? Would it be very different from robert's original patch?
  • It would involve a lot of analysis of the non-linear aspects of the module - you'd need to have one on hand with test gear and some transistor modelling maths that are beyond me! @macromachines is probably the most talented non-linear designer here but it might even require some internal upsampling that we dont have yet...UAD plugins just go ahead and model the entire circuit component by component. To do something convincing you'd need to do something similar, at least for the audio path...
  • no, exact emulation/replication is not really possible in software. But it's a success if there is a software or patch that comes close to a hardware circuit.
  • https://youtu.be/246-Pt2305c
    I'd love to find a way to do this!
  • This is how I would go about it.
    0-Toast Puer Autem Krell Patch.audulus
    411K
  • That's cool!