Polyamorous Sequencer
  • So here's something I've been working on on and off since Audulus 3 came out. Although it's unfinished, I think it's at a point to share and maybe get some feedback. It is essentially is two sequencers that are connected and synced together in such a way to create polymeters and polyrhythms. This was inspired by my friend Jeff Fineberg's excellent book "Polymetric Puzzles", which my son uses for piano:

    http://polymetricpuzzles.com/

    I still have a lot of work to do to clean it up, and to be perfectly honest, my untrained ear is not 100% that the polymeter part is working quite as it should. Inside the "reset / Re-Sync" sub-patch, I need it to reset the clocks for both sequencers after it has played (meterA * meterB) steps.

    Another thing I'm not sure about is why I get the z's on a couple of the inputs. I know it has something to do with a "feedback delay", which I just don't understand the concept altogether. If someone could help explain, it would be greatly appreciated.

    Ultimately, I'll work this whole patch into a sub-patch that can be used for larger projects. Of course, I'd have it play more interesting synths than the simple single oscillators I'm using now just for development and testing. I also plan to allow for different inputs to the sequencers besides my "arpeggio LFO".

    EDIT: I added buttons to mute the individual sequencers and reuploaded the patch after clearing the history.
    Polyamorous Sequencer.audulus
    425K
  • Also, special thanks to @JDRaoul for the rising one shot. That was a hurdle I couldn't get over without his help.

    http://forum.audulus.com/discussion/968/how-to-generate-a-one-shot-rising-edge-crossing-zero-to-re-sync-an-oscillator#Item_4
  • @WeirdoLoudpants the z's on the input mean you're getting feedback. One easy way to see is that in Audulus the signal flow goes from left to right so if you get a connection that is going from right to left, it means you have created a feedback loop. If you disconnect the parts of the patch in the feedback loop, the z in the input will go away. This is a way to figure out where your feedback is coming from.
    image.png
    2048 x 1536 - 508K
  • Feedback delays occur because a signal cannot be processed before it's been calculated (it would be like time travel, or prognostication). And so there's a little delay at some point in the feedback loop that allows the loop to exist.

    You don't have this delay in analog electronics because electrons move near the speed of light, and so information is transferred more quickly than the calculations of a processor can match.

    The feedback delay node allows you to put the feedback explicitly where you want it - it often doesn't matter where it goes, but sometimes, if the feedback point changes, it will break functionality (like in my Delta module, which is at the heart of the CSLooper, which I'm going to reupload today - I forgot to add a feedback delay and when Audulus updated, it put the feedback delay in a different part of the node chain and broke it).

    Also, 1/-1 is the maximum for audio output - try using 0.5 for the amplitude, or having a level node between the synth and the output. It's probably something to do with the way the anti-aliasing works, but an amplitude of 1 will actually produce values slightly over 1 for brief moments, causing clipping distortion.

    All that said, dang, this is a great sequencer! I love the almost Steve-Reich-like phasing that goes on in it. Thanks for sharing! :)