[sharing is rungling] stepped havoc in gen~

Jul 16, 2013 at 12:16pm

[sharing is rungling] stepped havoc in gen~

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)

#256196
Jul 16, 2013 at 12:53pm

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

#256199
Jul 16, 2013 at 12:55pm

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

#256200
Jul 16, 2013 at 1:30pm

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.

#256208
Jul 16, 2013 at 2:07pm

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)

#256210
Jul 16, 2013 at 2:58pm

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.

#256221
Jul 16, 2013 at 4:02pm

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.)

#256232
Jul 17, 2013 at 8:14am

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

#256285
Jul 17, 2013 at 9:05am

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 :-)

#256294
Jul 17, 2013 at 9:22am

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
#256297
Jul 17, 2013 at 12:11pm

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!

#256306
Jul 18, 2013 at 8:04am

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

#256370
Jul 19, 2013 at 8:52pm

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

:-D

#256543
Jul 19, 2013 at 9:32pm

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>

#256544
Jul 19, 2013 at 10:31pm

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?

#256546
Jul 19, 2013 at 11:51pm

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

#256547
Jul 25, 2013 at 8:53am

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.

#257109
Jul 26, 2013 at 8:51am

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.

#257219
Jul 26, 2013 at 10:49am

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

#257230
Jul 27, 2013 at 11:18pm

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?

#257339
Aug 16, 2013 at 6:53am

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. –
#259071
Aug 16, 2013 at 6:56am

@PeterMcCulloch how did that work out with the sigmoid?

#259073
Sep 10, 2013 at 2:05am

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.

#264804
Sep 10, 2013 at 7:24am

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.

#264844
Sep 10, 2013 at 3:06pm

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

#264897
Sep 15, 2013 at 6:02pm

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~.

#265348

You must be logged in to reply to this topic.