find all info here now: http://ornament-and-cri.me/
original post:
edit. fixed typo, update schematic, update infomxmxmx wrote:
.... ok, here we go.
though my contribution was fairly slim, i was chosen to have the pleasure to announce (or, well, fully leak) the
ornaments+crimes extended firmware
it can now be found here: https://github.com/mxmxmx/O_C . and it runs on the (almost) eponymous module:
huge props go to pld and bennelong.bicyclist who've basically rewritten the firmware from scratch and mutated the thing beyond recognition, both in terms of functionality and performance.
everything is, of course, open source and we've even made a little schematic for you (NB: post-hoc). speaking of: special thanks must also go to the ever-generous olivier gillet, on whose code some of this new functionality builds. (and the hardware, too, gradually gravitated towards being fairly MI-esque). not so much the user interface, which does everything the one-knob-per-function doctrine interdicts: displays, menus, encoders ... the payoff is that you get a polymorphic module that can serve several functions somewhat more transparently:
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: is 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" equation 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 rundown in full here: https://github.com/mxmxmx/O_C/wiki/Orna ... d-firmware
the hardware is still the same, of course, if pretty much maxed out now (the main limitation being the lack of multiple SPI ports on the MK20 dev board.) in brief:
- 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 / +6v, "in-the-loop" compensated, for best DC accuracy, with 9 calibration points at -3v to +6V per channel settable in firmware to ensure excellent linearity (+/- 1mV accuracy across a 9 octave pitch CV range is 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).