The Easter eggs have hatched: Ornaments & Crimes

Apologies for cross-posting here from the MW DIY forum, but Mutabilistas might be interested in this, because this new firmware for the excellent Ornament & Crime DIY module designed by mxmxmx incorporates quite a lot of code re-purposed from Mutable Instruments modules, including Easter egg and otherwise hidden code. Here is the announcement:

Ornaments+Crimes extended firmware v.1.0.0 beta can now be found here:

It runs on the (almost) eponymous module:

The extended firmware has been a collaborative effort between Patrick Dowling (pld), Max Stadler (mxmxmx) and Tim Churches (BennelongBicyclist), with all the programming heavy lifting and kick-arse coding by Patrick, who did amazing things like rewriting the OLED display drivers from scratch to achieve remarkable speed increases, and taking Max’s original firmware framework and making it jump through hoops backwards, as well as coding up the majority of the apps and their screensavers.

Everything is, of course, open source and there’s even a little schematic (NB: drawn post-hoc in KiCAD; the PCB was originally laid out using Fritzing, which doesn’t do schematics very well).

Special thanks must also go to the ever-generous Olivier Gillet, on whose code much of this new functionality builds (and the hardware, too, which gradually gravitated towards being fairly MI-esque). But not so much the user interface, which does everything the one-knob-per-function doctrine decries: textual displays, menus, encoders … the payoff is that you get a polymorphic module that can serve several functions somewhat more transparently than the average eurorack module, cheat-sheets not required (we hope!).

There is still a (improved and enhanced) quantising ASR (analogue shift register) function in Ornaments & Crimes, now named CopierMaschine, but several other “apps” have been added. These “apps” are selectable on-the-fly, without having to reboot the module or power-cycle.

The apps currently available in Ornaments & Crimes are:

  • CopierMaschine - an enhanced version of the original quantising digital emulation of a four stage [analogue shift register (ASR).
  • Harrington 1200 - provides basic neo-Riemannian Tonnetz transformations of triadic chords, triggered by the digital (gate/trigger) inputs.
  • Automatonnetz - combines Tonnetz transforms with a “vector” sequencer - it can be both a chord sequencer and a melody sequencer, but not of the usual kind.
  • Quantermain - is a quad pitch quantiser for external voltages, with editable preset scales, even fully editable user-scales incl. microtonal tunings, etc; it can do clocked (trigger-driven) quantising, or continuous quantising, with a latency of under 100 microseconds; it also features quad Turing Machines and/or May-Verhulst logistic maps as optional, semi-random, internally generated CV sources.
  • Quadraturia - is a wavetable quadrature LFO, based on the Easter egg in the Mutable Instruments Frames module.
  • Low-rents - is a dual Lorenz and Rössler (strange attractor) modulation generator, partially based on the Easter egg in the Mutable Instruments Streams module.
  • Piqued - is a quad voltage-controlled envelope generator, based on envelope generator code from the Mutable Instruments Peaks module, but extending it with voltage control, additional envelope types, including re-triggering (looping) envelopes, additional segment shapes, adjustable trigger delays, and a unique Euclidean “trigger filter” which turns the app into a Euclidean rhythm generator which can output envelopes, not just gate or trigger pulses.
  • Dialectic Ping Pong - is a quad bouncing ball envelope generator, based on a hidden mode of the Mutable Instruments Peaks module.
  • Viznutcracker, sweet! - is a quad “byte beat” generator, which can be used as an audio source to generate curious but often interesting 8-bit noises and tunes, or which can be clocked by an external source to produce “byte beat” control voltage sequences.
  • References - is a simple utility app that outputs specific reference voltages on each channel to help tune or calibrate VCOs and other modules.

You can read the full rundown here:

The hardware is still the same as the original Ornament & Crime module, which was released over a year ago, but the hardware is now pretty much maxed out (pun intended) - (the main limitation being the lack of multiple SPI ports on the Teensy MK20 dev board used by the module). Hardware specs in brief are:

  • teensy 3.1 / 3.2 dev board (Freescale MK20DX256 / 32-bit ARM Cortex M4).
  • 4x precision CV outputs, 16-bit (TI DAC8565), output range -3V to +6V, “in-the-loop” compensated, for best DC accuracy, with 9 calibration points at 1V intervals between -3V to +6V, per channel, settable in firmware to ensure excellent linearity ( +/- 1mV accuracy across a 9 octave pitch CV range is readily achievable).
  • 4x CV inputs, -3.5V / +6.5V, 12bit, 100k input impedance.
  • 4x trigger/gate inputs, threshold ~ 2.5v, 100k input impedance.
  • two rotary encoders, with built-in push switches.
  • two push buttons.
  • 128 x 64 pixel 1.3" OLED display (with an SPI interface and SH1106 driver chip - see the build instructions).
  • trigger-to-quantised-output latency < 100 microseconds
  • apps use a 16.7kHz internal timer (CPU overclocked to 120MHz), therefore the DAC update (sample) rate is 16.7kHz on each of the 4 channels.
  • ADCs are also read at 16.7kHz but in many of the “apps” running on O+C, 16 values are averaged to remove noise, meaning that the effective sample rate for CV inputs is about 1 kHz. Digital (gate/trigger) inputs are read at 16.7 KHz - this ensures very low latency.
  • +/-12V power only, ca. 85mA power draw on +12V bus, much less on -12V bus.

For your amusement, we made a little video, showing off the “apps”, or at least providing a glimpse:

We are currently looking into options re panels and making PCBs available in a somewhat less haphazard fashion. In the meantime, … enjoy, if you’ve already built one. Anyone interested in building one should contact Max (mxmxmx), via the thread in the MW DIY forum. If you are not in a position to build one yourself, there are people who may be willing to build one for you (for a fee) - ask in the MW thread.

1 Like

Good work, BennelongBicyclist and pld! I’ve been following your progress on this for a while.
Time I got around to ordering the remaining components for my O+C, and flexing my (minimal) SMT-soldering skills, I think…


Nice. Some amazing sounding features on there! Good work.

Some people here may remember Frank Daniel’s (fcd72) “vector sequencer” idea. Well, we implemented it (actually, Patrick Dowling did, I just watched…), with lots of twists, as the Automatonnetz app in O+C - see (and see the “Tips” section for an explanation of how to use it as a melody vector sequencer as fcd72 envisaged, albeit without 25 knobs on it).

Here’s a little teaser for an enhancement to the Quantermain quad quantiser app in O+C - I have added a novel form of melody generation to it, and it works quite well, I think - this will appear in the Ornaments & Crimes firmware v1.1 in due course. This track is recorded live, in a single take, with O+C generating three tracks of pitch CVs for three Mutable Braids. No pre-programmed sequences, it just made it all up as it went.

A blog post and accompanying video on one aspect of O&C by Joe at Voltage Control Lab in LA - he accurately describes O&C as a veritable melange, a potpourri even, of Mutable code, inter alia.

Euclidean rhythms with Ornament & Crime

A further demonstration by Joe at Voltage Control Lab in LA of voltage-controlled Euclidean trigger filters in the Piqued app (which is based on the Peaks envelope generator code) in O&C:

I finished my O+C last night, I’ll calibrate it tonight.

I’ve had a poke about the apps and menus and it seems great! Great work guys, I’ll defiantly be building at least one more.

Jolly good! have a look also at Temps utile (TU) - it’s the polyrhythmic sister module to O&C. TU firmware is now getting the same enhancement treatment that the O&C firmware got over the last 8 or 9 months.

Oh Joy. That thing is a work horse

Perhaps a single panel behind which O+C and TU could cohabitate and scheme would be useful.

Another nicely made expository video on O&C by Joe at Voltage Control Labs in LA, this time on the Harrington 1200 app.

And a follow-up video from Voltage Control Lab, using the Harrington 1200 app in O&C:

I found these videos quite useful indeed. BTW, I’ve been very productive since getting O+C, so thanks again for all your help! It really is a dream module for me.

Thanks bakemono. Joe at VCL tells me yet more videos are in the works. Feedback, critiques and suggestions for O+C, for its polyrhythmic sister module Temps Utile, or for modules to come after, them are always welcome.

Speaking of which, Max Stadler (aka mxmxmx) is talking about and demonstrating O+C in Berlin on Thursday 21st July 2016 - see - highly recommended for anyone in the vicinity - Max is sure to pepper his talk with fascinatingly erudite references to the history of science, technology and design.

Butterflies hatching from Easter eggs…

Lorenz attractors XORed with themselves feeding Braids…

Another little demo, this time of the Quadraturia LFO app (derived from the Frames Easter egg) in one O&C feeding voltages into the CopierMaschine ASR app in another O&C, which in turn is driving three Braids, with Grids and Peaks providing triggers and percussion etc. Detailed patch notes in the YT video.

The Frames Easter egg as you’ve never seen it before, as revealed by Joe at Voltage Control Lab in LA:

Blog post

Mutable code (both original and hacked/repurposed) in action: