Sonic XV Diode Ladder Filter
  • Screen Shot 2017-11-26 at 3.35.05 AM.png
    640 x 478 - 59K
    uFold and Diode Low Pass.audulus
  • I'm working on it. At the moment I'm still trying to make sense of @SansNom's design. No question that it's a lovely filter, but the design is a bit opaque. I'm back to the theoretical papers which are a bit beyond me as far as the math is concerned. It's hard to believe that I actually understood most of this stuff once. It's really true when they say "use it or lose it!". Wonder what he used for his design?
  • Nice! I tried to piece it apart myself, but just got lost in noodling.
  • Here's something to play with. I went back to the original thread and decided to build the ladder myself using the same references that @SansNom mentioned. My implementation should be essentially the same as his, although I probably have a few more expression nodes. I modularized the diode ladder and brought the main feed back loop out where you could insert the function of choice. @SansNom's implementation follows the App note and adds the tanh() saturation function ahead of the diode ladder. I've played with it in that location as well as using in the feedback loop. As the app note points out either location will result in aliasing since it is a non-linear function. I played around with the wave folder both in front of the filter as well as in the feedback loop and so far I'm not very happy with the results. I thought I would post my test-bed for others to play with. I still have a bell module to work on and I'm losing valuable Destiny2 play time as a result :)
    Screen Shot 2017-11-30 at 5.42.23 PM.png
    4344 x 2080 - 699K
    diode ladder.audulus
  • I finally watched the video and my results using the wave folder weren't actually that different from the video. A bit too much noise for my taste, but your mileage may vary! I'm thinking about a somewhat gentler wave folder in the feedback loop. BTW be cautious when inserting an arbitrary function in the feedback loop. The filter can become unstable at high resonance values. Not really a big problem so long as you have the volume down.
  • I love how well organized that filter is internally!

    So I caved in and ordered the AJH filter. Which means audio/video oscilloscope vivisection will be forthcoming.

    Now by all means get back to Destiny 2! Those MMOs don't play themselves.
  • So I wrote to Allan J Hall and inquired about the design of the wave folders in the Sonic XV filter and he kindly replied:

    "Without going into too much detail the Sonic XV wavefolder is a diode breakpoint based circuit, quite similar in function to the Serge, but rather different in actual design. The resonance waveshaping is different, more of a slew limiting distortion / overdrive circuit."

    That implies that the waveshaper could be modeled with a spline node.
  • Here is what the wave shaper does to a saw and triangle wave
    3264 x 2448 - 1M
    3264 x 2448 - 1M
  • Perhaps @jjthrash could lend a hand in making a wavetable out of a spline node to help model this highly irregular curve?
  • @RobertSyrett Happy to. Just need a way to model the curve in code, or starting from a WAV file of the actual output (not having much context for this situation).
  • Very cool guys! Interesting idea adding a waveshaper into the feedback loop - seems like something that could be adapted to other filter designs as well...
  • @jjthrash I would be happy to record a little wav file!
  • In one channel there is a ramp wave and in the other is a sweep of the wave shaping feature from one end and back again. I probably could get away with a spline of the first few seconds, but it might be fun to map the sweep across a few splines with a smoothstep function and then compare the two on the oscilloscope.
    Sonic XV Wave shaper
  • @RobertSyrett Here it is. Let me know if you have any suggestions. I took a sample of a more static section and chose the phase based on what was easy to edit.
    20171207 - Wave Shaped.audulus
    20171207 - Wave Shaped.audulus 2017-12-07 19-38-07.png
    1024 x 790 - 141K
  • This is like magic. This is already a super fun wave shaper, but for the modeling to work I need a phase adjustment. The zero crossing is probably ideal for every other purpose but I need it adjusted about .73. Thanks for making this happen :)
    Wave Shape phase adjustment.audulus
    Screen Shot 2017-12-07 at 5.27.36 PM.png
    1333 x 476 - 96K
  • Actually never mind! I can use the phase adjustment algorithm anywhere it would seem. This is why I love Audulus, best expr~ object in all the patchers. Check out the fold on the right of the image and compare it to the image off the oscilloscope. Very close!
    Screen Shot 2017-12-07 at 5.45.49 PM.png
    1822 x 749 - 138K
  • My pleasure! Yes, I love how tweakable everything is. If it really would be better shifted I can do that. Just harder to make sure things line up.
  • @jjthrash I uploaded a youtube comparison right now where I compare the two wave shapers on being fed different waveforms while being modulated by the same LFO. I think the results are pretty satisfactory. The maid difference is that the analog waveshaper is ever so slightly asymmetric a has a glitch at maximum modulation, but hey that's why we keep analog circuitry around :)

    Sonic Wave IN shaper.audulus
  • @robertsyrett - this is great! But which one are we hearing in the video?
  • It's a 50/50 blend. I tried to do left/right but the iRig on my iPhone is only a mono input. I need to up my youtube game for modular synthesis, that's for sure.
  • word! I mean visually they look the same minus some phase. Wonder if that can be corrected for?
  • The phase thing I'm pretty sure is just the ES-8 interface and matching the levels to make it a little more similar. Already I'm wondering if this approach could be used for adapting other wavefolders like STG or Topobrillo.

    Also, this wavefolder is going through a very special filter which doesn't have a true "open" setting so it's still being filtered a little. Here's what Allan Hall had to say about the filter:

    "The behaviour mentioned on the Sonic XV filter is correct and is documented in the user guide, it is due to the unusual behaviour of the vintage Diode Ladder filter core that we have used - it closes fully, but if extra control voltage is added then it will go "over centre" and start to open again. The Sonic XV isn't an "everything at 10 sounds better" type of module, it is just a matter of keeping the control voltages and filter cutoff knob at such a levels and settings that the filter is kept within the sweet spot. Driving it to open again with larger control voltages and control settings will not cause any damage to the module."