Forums > Gen

[sharing is rungling] stepped havoc in gen~

July 16, 2013 | 12:16 pm

So there’s this Dutch modular synth builder who showed me a device that he named the rungler. It makes use of a CMOS shift register and is driven by two oscillators. The greatest feature of the rungler are the chaotic patterns it generates. Listen for yourself.

<code>

– Pasted Max Patch, click to expand. –

</code>

(read more at http://www.jvkr.nl)


July 16, 2013 | 12:53 pm

This would be the that International Man Of Mystery Rob Hordijk, the Nord Whisperer? Awesome!


July 16, 2013 | 12:55 pm

Yeah, Rob Hordijk is a legend. Looking sooo forward to digging into this! Sharing is great karma, jvkr.


July 16, 2013 | 1:30 pm

oh man, had a good play with it just now… :) Lovely lovely! :)

I’m gonna mess some more with it, see if I can’t add just a few more controls and make it a little fun-time instrument for those low-inspiration days.


July 16, 2013 | 2:07 pm

jvkr, just visited your blog post about it – if you ever find it in your heart to share that bigger rungler patch, please let me know. (if it makes you feel better I’d immediately buy mira for it)


July 16, 2013 | 2:58 pm

like like!

I met mr Hordijk once and he talked so passionately about the Forbidden Planet soundtrack and self-destructing synths built for it that made me thinking how poetry can actually be expressed in the way a tool(synth in this case) is built.
That’s what I like about Jitter too: it’s poetic piece of software that can be used to make poetic pieces of art.


July 16, 2013 | 4:02 pm

i met rob many years ago when he was THE nord modular wizzard and he continues to amaze me every time we meet.
in 2008 i was one of the guest editors for the leonardo music journal and asked rob to write an article about the blippoo box, which somehow became its "unofficial missing manual". for those having access, here is the reference:
The Blippoo Box: A Chaotic Electronic Music Instrument, Bent by Design
Rob Hordijk
Leonardo Music Journal, December 2009, Vol. -, No. , Pages 35-43

just recently, the institute where i am teaching bought a very nice hordijk modular system and i have the luxury to toy around with that as a job :-)

http://musikundmedien.net/en/studies/studios/experimentallabor/

very nice patch, jvkr! thanks so much for sharing.
the blippoo has 2 amazing filters too…
(btw alberto de campo made a supercollider version of the blippoo some years ago.)


July 17, 2013 | 8:14 am

hey kochhw, that looks so cool! …I think, at least; any chance of some bigger pictures? I can’t really see it there.


July 17, 2013 | 9:05 am

oh yeah, sorry, we are working on making enlarged versions available (photos + website is handled by a different department…) the synth is in the topmost photo on the left.
its all quite new :-)


July 17, 2013 | 9:22 am

just found a bigger pic on my computer.
look at it on your own risk :-)

(i hope the attachment comes thru)

Attachments:
  1. RSH_system

July 17, 2013 | 12:11 pm

Thanks for the enthusiastic feedback.

@wetterberg: eventually I will make the code available, I need to clean it up a little, make it shareable. Give me a bit of time. And I don’t have any shares in Mira or Cycling :). If you want to start expanding it yourself, what I did is combine it with the bandlimited oscillators gen~ example, and add moog style filters.

@kochhw: yes, the filters, he explained what he did, but I couldn’t quite follow. Enjoy your summer!


July 18, 2013 | 8:04 am

we all have shares in cycling74 :) just not, you know, real ones.


July 19, 2013 | 8:52 pm

I don’t know what it is, but I know I like it!

:-D


July 19, 2013 | 9:32 pm

For M4L users here’s a version that let’s you rungle(?) incoming audio in Live.

There might be a better way to do that but I was having some quick and dirty fun with it.

EDIT: .amxd file not allowed for security reasons…? :-/

Here’s the code then (not much to it really):

<code>

– Pasted Max Patch, click to expand. –

</code>


July 19, 2013 | 10:31 pm

Very cool. Thanks for sharing guys. It’s pretty hard to understand what the code is doing at first glance, but I’m guessing it’s shifting memory? Kind of like those old school insane algorithms for calculating square roots kind of like http://en.wikipedia.org/wiki/Fast_inverse_square_root? Or am I totally missing it?


July 19, 2013 | 11:51 pm

A shift register is indeed at the heart of the rungler. The hardware version makes use of the 4021. The incoming oscillator signal is reduced to a single bit, and three stored bits are used to generate an 8 stage control signal. Here is more background: http://electro-music.com/forum/viewtopic.php?t=38081


July 25, 2013 | 8:53 am

So I put an application online. If you are interested in the code, it is embedded for copy/paste. You can download it from my website jvkr.nl. Any feedback more than welcome.


July 26, 2013 | 8:51 am

I’m curious to try this out with a sigmoid function in place of the comparator. I’ve had good results with this in another shift register based process.


July 26, 2013 | 10:49 am

hey jvkr thanks for sharing – will have a look soon.


July 27, 2013 | 11:18 pm

What do you mean embedded in copy/paste? I’ve found the gen code in the actual package, but I’m on Windows and I’m only seeing the actual gen patch, but not the overall patch. Any way I can use the full patch on Windows, or am I going to have to recreate the interface?


August 16, 2013 | 6:53 am

Hi johntre, couldn’t answer earlier. Well, in building the interface I use a set of my own abstractions, also it’s quite messy and moreover there are Mira objects used as well. Including the ui might therefor raise just too many questions. That being said, really everything is in the gen code, so that is most meaningful. Sorry to provide you with the incomplete package. Almost all parameters are in the 0-1 range, and it should be quite straightforward to connect them to dials or sliders of your choice. Happy rungling.

For those who can’t open a mac app, I will include the code here.

– Pasted Max Patch, click to expand. –

August 16, 2013 | 6:56 am

@PeterMcCulloch how did that work out with the sigmoid?


September 10, 2013 | 2:05 am

Was recently working on a gen~ version of another hardware device that works off a shift register so I tried using the simpler rungler example as a jumping off point (poke/peek, clocking). This was causing errors, and after a little troubleshooting I found that there may be problems with the original SimpleRungler patch.

The main issue I found is that I believe the DA converter is reading in reverse. When I viewed the output of each tap individually the bits move from right to left. Changing the math from [+ 1] to [+ 3] before each [wrap] makes the bits move from left to right. If it was correct the first way, please let me know as I’m a "learn as you go" person and could definitely be wrong here but wanted to bring it to your attention.

I’ve documented each of these changes in the following patch. Very slow speeds are of course required to view the bits accurately. Also, I felt the input may have been changing while waiting to move to the next write position so I’ve added a [sah] before the [poke] so it is only updated at the start of each transition. Adjusted the length to 8 steps as well. Made the input an xor with the last bit but I see that was added in a more recent version. (I’m working off the original)

As said previously I may be way off base here. This is my first attempt at working with gen~ and might have gotten in over my head. I just wanted to find out for sure since no one has caught this yet.


September 10, 2013 | 7:24 am

What you describe in terms of right to left order is correct, and it is intended. The leftmost loop provides a counter for writing values. The +1 creates a pointer, for reading values, to the address right of the one that is being written to and that will be overwritten with the next increment. It represents the value that has been longest in memory.
The reason I did it like this is that by changing the arguments of the wrap object, I can experiment with different sizes of the shift register. Changing the order of the values could also be achieved by modifying the expression object.
If you take a look at the patch three posts above, you will find code for a patch that uses the variable size shift register.


September 10, 2013 | 3:06 pm

Thanks for the clarification and original patch. It’s very educational.


September 15, 2013 | 6:02 pm

Not much luck with the sigmoid yet. Haven’t poked around with it quite enough yet, though.

Have had good results with using non binary values in an implementation of a Klee sequencer in gen~.


Viewing 26 posts - 1 through 26 (of 26 total)