uPMop uModule PM operator
  • After playing around for a while with the Akime's Castle clone I built the other day I thought it would be nice to have a single operator uModule version. This is a single operator from the Sandcastle PM oscillator. It has a phasor input, a phase modulation input, a multiplier, waveform select, feedback level, feedback toggle and output level control. The phasor should be at 1/10 the desired frequency for the multiplier values to be correct. The feedback toggle selects either the external PM input or an internal feedback loop. I have included a phasor at 0.1 of the input frequency. The waveform order is the same as the Sandcastle.
    1- Sine
    2 - Half sine
    3- 'Abs' sine
    4- Pulse sine
    5- Alternating (even) sine
    6- "Camel" sine
    7- Square
    8- Logarithmic sawtooth
    This way you can wire any set of operators you like. I have included a demo similar to the Sandcastle demo showing it's usage.
    Screen Shot 2018-02-10 at 9.01.55 AM.png
    1314 x 1376 - 170K
    uPMop V1.audulus
    Screen Shot 2018-02-10 at 9.02.10 AM.png
    2520 x 2282 - 1M
    uPMop V1 demo.audulus
  • I humbly suggest an alternate name to PMop, as that sounds like something you find in a custodian's closet at a veterinary facility. Perhaps, uPhaseOp?
  • uPocket Operator?
  • What, you don’t like mops? I’m certainly open to a name change. How about uPop? I built a version using the harmonic morph instead of the Akimie wave set. It’s a bit more CPU intensive but it’s got a nice sound.
    New name = file replaced
    uPop Morph V1 demo.audulus
  • A suggestion: It might be good for the feedback to be exponentially scaled rather than attenuated since full noise is useful for percussion.
  • Good idea. I find myself using it sparingly but I haven’t done any percussion as yet. I’m also contemplating reducing the range of the multiplier to make it easier to set. I like the 0.1 increment but 14.1 might be too high. Thoughts? Also forgot to repost the original V1 after the name change
    uPop V1.audulus
  • Here’s some with exponential feedback
    uPop V1.1.audulus
    uPop Morph V1.1.audulus
  • ~Awesome! I can't wait to get home today and update the digitone algorithm experiment :)
  • FYI the phase modulation input is 0-1 for 360 degrees, not 0-2pi in keeping with the standard.
  • Oh and regarding the multiplier, you should include a 0 multiplier so that the carrier can be used as a wave folder/shaper (!)

    edit: added example
    0 multiplier wave shaper.audulus
  • I love the easy ones. BTW I had to restart Audulus on my iPad. It wasn’t locked up and no white cables of death, but the patch stopped responding and no output. Not sure why.
    uPop V1.2.audulus
    uPop Morph V1.2.audulus
  • I am finding that if I let my iPad enter sleep mode a couple times, the patch will lock and I have to restart. I think @taylor is aware of it.
  • That could be it
  • Here’s some lower ratios
    uPop Morph V1.2 demo.audulus
  • @stschoen There was something particularly beautiful in the Sine to Square to Bell Harmonic Morph that you posted in the Digitone thread. I'm trying to figure out what's changed the waveforms in the new PM version of that Morph module that's now at the core of the uPop – there only seem to be the top half of them.
  • Good catch! I made an error in the expression node that calculates the phase shift which resulted in half cycle waveforms. Here’s the corrected patch. Thanks for the help debugging!
    uPop Morph V1.3.audulus
    uPop Morph V1.3 demo.audulus
  • Also, as a side note, I really like the cascaded abstractions. First with a non-SVG version hidden inside the uModular skin and inside that a simplified patch with proper explanations. Only when you unlock the final level do you witness the exponential spaghetti. It should be really helpful for noobs.
  • @RobertSyrett, thanks for the compliment. I’m trying to do a better job documenting my patches. I know from personal experience how difficult it can be to figure out someone else’s work. (Or your own a few months down the line.) Encapsulation makes things easier for me to understand and also makes it easier to reuse the bits and pieces. I’m going to try to optimize the harmonic generator today to see if I can make the uPop Morph a bit less of a CPU hog.
  • @stshcoen As it turns out there was something nice in the distortion of the half-cycle waveforms in your V1.2 demo :-) It's great to have the purity of the new version as a starting point though. Beautiful on its own even without further modulation.
  • Probably why I didn't notice. Once you start modulating the carrier or using feedback it get hard to hear the original waveform. The original uPop has the waveform collection from Akimie's Castle which contains several half cycle variants and is also lighter on CPU. I intend to maintain both versions. I mainly created the version with the harmonic morph for those smooth waveform sweeps.
  • I've optimized the harmonic generator inside the harmonic morph and I've reduced the CPU usage of the uPop Morph by about 40%. Also replaced the waveform icon with one that was more appropriate. Otherwise it's about the same. Updated demo now runs on my iPad.
    uPop Morph V 1.4.audulus
    uPop Morph V1.4 demo.audulus
  • For the fun of it, here's the 1.4 demo shifted down a little and with an extra, faster line on the top – et voilà!, a strange kind of psuedo Bach.
    (Requires going into split-screen mode to work on the iPad though.)
    uPop Morph V1.4 (Bach) demo.audulus
  • Nice! That is very Bach-like. The harmonic morph is a bit of a CPU hog, but it sure sounds nice. Just out of curiosity I replaced all the uPop Morphs in your patch with the original uPop and it cut the CPU usage by about half. Still sounds pretty good.
    uPMop V1 demo.audulus
  • I decided to create one last PM operator. I created a linear morph between sine, triangle, saw and square waves. It doesn't have the progressive harmonic addition and anti-aliasing that the harmonic morph featured, but it is much less of a CPU hog. It reduced @Rudigier's pseudo-Bach patch from 33% to 16% on my iMac and it runs on my iPad Air 2 at 45%.
    uPop Morph Lite V 1.audulus
    uPop Morph Lite V1 (Bach) demo.audulus