Born in a blizzard, grew to 6'2" tall.
Give me your bleeps, your bloops,
Your muddled beats yearning to breathe free,
The wretched debris of your sonic shore.
Born in a blizzard, grew to 6'2" tall.
Give me your bleeps, your bloops,
Your muddled beats yearning to breathe free,
The wretched debris of your sonic shore.
I made myself a little Web Audio sequencer and RNBO synth example. It is very simple but serves as a reference implementation for a couple of things, namely a complete RNBO Typescript app that loads multiple RNBO devices (2 instances of the same synth in this case).
If you are into Typescript/JavaScript, the code is here:
https://github.com/tablesandwaves/rnbo-typescript
A running example is here:
https://tablesandwaves.github.io/rnbo-typescript/
The RNBO synth is based on Cycling 74's RNBO JavaScript examples. The sequencer is based on a Mozilla Developer Network Web Audio example. More links and an overview of code structure are in the repo's README.
It is not super interesting as a Web Audio app, but the point is to keep it simple enough to illustrate how to wire all the pieces together.
Been awhile since I got down with a a Max tutorial. This is a fun one.
https://youtu.be/nqBeL5gS6fI?si=tBa5Bw1aF4NBQXl0
Here's an adaptation of the patch that doesn't use the spectral analysis of another sound, just many octaves of C minor sine waves.
Finally turned this into a Max abstraction with some tips from Jeremy @ Cycling 74 on the Max Discord server. A port of this JavaScript (Typescript):
https://github.com/tablesandwaves/tblswvs.js/blob/main/src/melody.ts#L169-L214
Typically the sequence starts 0 1, but it has the same structural self-similary if you spread out those numbers. If you treat the sequence as MIDI note number offsets (half steps where 0 is the root), using 0 3 or 0 4 as the sequence start, it begins with a western 12 tone minor or major interval. In this abstraction, that is the "seed" distance.
And the "offset" allows you to paginate thru the sequence in chunks. Because of the "binary trick" thing, this means it is very efficient to generate later parts of the sequence without needing to compute all sequence steps before them.
If you want to hear the sequence in action, I made a track a while back that has a bass line that alternates between 0 3 and 0 4 seeds:
https://tablesandwaves.bandcamp.com/track/infinitely-serious
And have more blathering about it here:
The new Max [array] objects are awesome. Using the map and reduce functional programming objects, I could generate the Infinity Series sequence pretty easily.
For reference, see: https://www.lawtonhall.com/blog/2019/9/9/per-nrgrds-infinity-series
This is something previously I could only do in text-based code, but now it doesn't hurt my brain to do it all with standard Max objects.