dessertplanet.co

BYO_Benjolin

Music Thing ModularWS ComputerChaosRP2040Firmware

The ingredients you need to build a benjolin, when combined with oscillators and a filter. Also pure, glorious chaos

BYO_Benjolin (affectionately BYOB) is a card for the Music Thing Modular Workshop System all about chaos turbulent systems. I was learning the difference between chaos and randomness, and I was also learning the theory behind how a Music Thing Modular Turing Machine works under the hood (the working title for BYOB was “Turbulence Machine” which I ultimately decided would be too confusing). I was also doing a lot of reading about the work of Rob Hordijk, specifically runglers and the Benjolin.

The basic idea is that a Benjolin includes a few basic ingredients- a clock, an oscillator, a filter, and a rungler. As is, the Workshop System had almost all of these elements in its analog section, what was missing was the rungler- which was doable in the Computer section and very similar to a Turing Machine. All I had to do was normal noise to the input to get normal Turing Machine behavior and allow the player to replace the input with an oscillator tuned by the output and voilà, a Benjolin (kind of!).

Once I had this pieced together I had at that point been listening to Turing Machine sounds for several hours and I realized that I had started to get the “voice” of the Turing Machine in my ear… I started to think maybe it was repeating itself. So I started doing the math and figured out that with the Turing machine’s design for any state that it is in there are only two possible next states. The equivalent of that on piano for example would be any time you play middle C, afterwards you would only have only two possible next notes to play, for example the D right above it, or the A below it and that’s it. Then each of those next keys would have only two more options… And on and on. So that is what gives the Turing Machine its voice (I love it!). Once I figured this out, I became obsessed with giving BYOB its own distinct voice.

I achieved this ultimately by increasing the amount of data that the digital shift register (array) is passing around. I made it 2 bits instead of 1, so each state had a few more additional destinations to choose from on the next change. This also caused some issues with how the UX for a Turing Machine because the left side of the main knob that would normally “always” flip the rotated bit, causing a nice double-length sequence no longer does that because it is effectively taking a 2-bit sample of the input. That’s why if you check out the code you will see theIllusionOfStability in there, where I force the expected Turing behavior right at that far left position.

Top