Module like Ornament and Crime?
  • Hello everyone! Was wondering if someone ever tried to make this module or something close to it? Any advice on how to achieve the same effect using current modules available?
  • That module has a lot of different functionalities - are you thinking of a particular one you'd like to see first, or just all of the functionalities in general?
  • @biminiroad - Was wondering if someone attempted to make clone of it with all or some of it's functionalities, it would make an interesting module i guess. Any advice on how to mimic some of it's functionality with existing modules? :)
  • Looks to me like even a reasonably complete emulation would be a massive undertaking. Since the O&C module is essentially digital in nature, you would have to attempt to re-create its programming in Audulus. Since the firmware seems to be in a constant state of evolution it would be a bit like hitting a moving target. I looked at the first application, the "CopierMaschine" and I think it would be possible to build it in Audulus, at least for the most part. It relies internally on a 256 stage analog shift register which could be a bit processor intensive. I might have a shot at creating the ASR and see how it goes. Even this one app has a great deal of additional functionality, including programmable quantization, several internal CV sources etc, some of which would be difficult without some form of data storage. It might have to wait until Audulus V4.
  • Thank you for the detailed response. When I was checking out demos, it did seem like a very comprehensive module. Judging from it's different modes, it does seem a bit complicated to create a clone. Was just curious. :) That particular module really appeals to me and find it very musical, especially the 'copier machine' mode.
  • Here's a first take on the "Copier Machine" function of the O&C module. Essentially it is a 64 stage analog shift register. It has a single input and 4 outputs. The freeze function and index mode have both an input and a toggle as controls. They are added internally, so if either is high the function is selected. When freeze is low, each clock captures the value present at the "o" input and shifts the previous value into the next register stage. The sixty-fourth value is shifted out and lost. The index knob controls which stages of the register are presented at the outputs. It has two modes of operation. When index mode is low, the output number is multipled by the index value to determine the offset into the register. An index of 1 outputs stages 1, 2, 3, 4. An index value of 4 selects stages 4, 8, 12 and 16. An index value of 8 selects 8, 16, 24, and 32 etc. When the index mode is high the index value selects the offset so an index of 1 selects 1, 2, 3, 4 and an index value of 6 selects 6, 7, 8, 9 etc.
    When freeze is high, the register stops acquiring new samples and recirculates the buffer. The buffer length is controlled by the length knob and ranges from 4 to 64.

    The original module also incorporates a very sophisticated scale quantizer with multiple scales, and a variety of internal sources for the input. One of the sources is a Turing machine linear digital shift register, so I chose to demo the module using an existing Audulus Turing machine. I used external scale quantizers to keep the module complexity down.
    I originally constructed a 256 stage register, but the CPU load was getting a bit out of hand. I later simplified the underlying shift register design quite a bit, so it would probably be possible to extend it to 128 or 256 if it seemed worthwhile.
    Thanks to @biminiroad for the saw oscillators and quantizers.
    Copier Maschine Lite.audulus
    Screen Shot 2017-09-06 at 6.11.15 PM.png
    1391 x 1017 - 188K
  • Amazing! I'm stuck at work right now, but this looks insane. I shall try this when I get home. Great work!
  • @stschoen Wow that looks like it was some intense patching. A very interesting concept as well. What are some out of the box usages that people have come up with for it?
  • I'm not really sure, to tell the truth. I saw @glasspipe's post and I was curious. The original module seems to be a bit of a "Swiss Army knife" digital signal processor, much of which would be difficult to re-create. I suppose it's a sequencer of sorts at least when the "freeze" is on.
  • I love you guys.
  • The demo does seem to generate some interesting chord progressions. I haven't tried it, but it might be cool to fill the buffer, freeze it and then modulate the length or index (or both). Changing the buffer length when frozen doesn't clear the unused buffer so by gradually increasing the buffer length you would get an evolving sequence. I chose to quantize the values after the module which is different than the original which quantizes them going in so each output can have a different quantization.
  • I tried doing that yesterday and the sequence seemed to stay 'frozen.' most probably I was doing something wrong since I'm just new to modular and I am also unable to view the svg icons since I'm on windows. I'll load it on my ipad and play with it more later. Great work again. It's just so nice to create a simple self playing patch and explore all the possibilities!!
  • I think its more likely that it's because of the way the register works. After thinking about it, I realized that the rest of the shift register continues to run even when it's frozen and the length is less than 64. Say you filled the register with values from 1 to 64, then froze the register at length four. 4 gets shifted into stage 1, 1 into 2 etc. so you would now have 4, 1, 2, 3, 4, 5, 6, ... 63. next would be 3, 4, 1, 2, 3, 4, 5, ... 62. Pretty soon the register would be full of a repeating pattern of 1, 2, 3, 4. So when you increase the size of the buffer, you won't see much difference. I'm not sure how easy it would be to stop the rest of the register from shifting. I'll give it some thought. I'm not sure from the documentation how the original behaves.
  • That's exactly the arena where conventional programing wins out over the visual node-based equivalent :/
  • Exactly right. I've been working on an implementation of the quantizer from the O&C unit and things that would be easy in a conventional program turn out to be quite difficult. Still, it's like a big puzzle and I enjoy the challenge.
  • @glasspipe, I've redesigned the shift register so that freezing the register stops all the stages above the length setting from indexing with the clock. Now, when the register is frozen, only the stages from 1 to length will cycle. This way you can fill the buffer, freeze it and modulate the length. As the length increases you will add additional register stages into the loop.
    Copier Maschine Lite V2.audulus
  • This is looking pretty crazy!
  • It also occurred to me that you could fill the buffer, then stop the clock. You could then modulate the index set to sequential mode to move forward and backwards through the buffer.
  • Nice!! I shall try this! Thanks again.
  • This is great!~