Skip to content
timchurches edited this page Feb 13, 2015 · 37 revisions

Ideas for possible hacks and enhancements to Mutable Instruments open-source eurorack synthesiser modules.

Braids/Bees-in-the-Trees

Ideas for version 4, perhaps?

  • Some of the parameters in Bees-in-the-Trees have ranges of 0 to 250, and some 0 to 127. I did have some vague plans to rationalise that and make them all 0 to 127, or all 0 to 250, at least in the user interface. However, some use steps of 5, others use steps of 1, in order to provide very fine resolution. Those steps may need to be tweaked to minimise the need for encoder twisting, while retaining adequately fine control over critical parameters (pitch modulation and LFO rates in particular).

  • It would be great to add a constrain-to-scales scales capability, similar to the one in Yarns or in the Shruthi and Ambika, to the pitch quantisation facility. However, such a feature requires various look-up tables, and there is just not enough flash storage space remaining - the firmware is almost at maximum size as it is.

  • NOT FEASIBLE: Alternatively, it might be possible to add a simple step sequencer to Braids, like the ones in the Anushri and in Yarns. However, there may not be enough room, and I am very reluctant to remove any more features or oscillator models from Bees-in-the-Trees to accomodate it. Braids-with-built-in-sequencer might need to be a separate set of modifications resulting in different firmware yet again. NOTE: have already added a meta-sequencer, but a full step sequencer would be nifty, subsuming the meta-sequencer.

  • The meta-sequencer in Bees-in-the-Trees is quite useful, but currently only permits a sequence of 2 parameters: the oscillator model and the step length (in trigger pulses). What if each step in the meta-sequence comprised the entire set of parameters? Then each step would effectually be a "preset" for all Bees-in-Trees settings, and could be used as such, as well as as a step in the meta-sequencer. It would make sense to add pitch to the parameters, turning it into a fully-fledged sequencer. And each set of settings could contain a different sequence, so that effectively sequencers would be chained. All this would require using the entire 1024 byte page set aside for multiple copies of the settings. A downside would be that there would be more writes to the same location, and thus more flash "wear". But this could be counteracted by making saves to flash explicit, rather than automatic whenever you return from the WAVE menu.

  • I am intrigued by comments made by Olivier, somewhere or other, that an STM32F4 chip, as used in Clouds, Elements and Streams, could run at least two instances of a naïve port of the existing integer maths Braids code, and that four or more instances might be possible if the oscillator code were converted to floating point in order to take advantage of the Cortex M4 FPU. A collaborative effort to create such a HyperBraids would be an interesting and fun project. My rudimentary knowledge of electronics and electrical engineering is insufficient to design the hardware required for such a beast, but I could contribute to the overall design and to re-writing the firmware code. One way to really understand how some body of code works – such as Olivier’s code for the various oscillator models in Braids – is to try to re-write it. If anyone is interested in collaborating on such a project – purely on an open-source, non-commercial and relaxed-timeframe basis – please drop me a line. Maybe it could be called Plaît?


Frames

An idea from pwranml on the MI forum - see http://mutable-instruments.net/forum/discussion/6533/frames-seq-switch-as-matrix-sequencer-firmware-suggestion

I’ve been using frames paired with an a-151 to act as a 4x4 (16 step) matrix sequencer recently. eg: http://instagram.com/p/xfG3zrAHpj/

This is done by sending the 4 outs from frames into the switch and putting frames in “sequencer mode” with the +10v on. Sending the output of the switch into a quantizer the switch trigger becomes (in rene terms) the x input. I then make 4 different frames and “frame” input becomes the y input.

I’m planning a performance case where this will be my main sequencer: http://cdn.modulargrid.de/img/racks/modulargrid_143041.jpg

It seems to me like one of the best options regarding small hp footprint, navigable interface, and functionality. It can obviously turn into a 4x8 matrix (or 4x64 though 256 steps is kinda ridiculous). Also it gets pretty great when sending lfos, egs, random voltages or whatever into one or two of the frame channels then attenuating them differently per step. Especially when using the disting quantizer where the B output becomes a sort of combined x+y gate for eg & vca.

ANYWAY the only thing I’m not totally hype on yet is the fact that it gets pretty tricky to change the sequence once you’re in sequencer mode. When I hear one note that I’d like to be different, I can see exactly where it is but it’s hard to get to it to change it. I usually exit out of sequencer mode and change it real quick but I often fuck up somehow or another and change a different note in the process.

I’d love it if whatever frame it was currently at in the sequence correlated to the knobs (obviously only changing when touched though). That way I could just turn the modulation knob down so that it stops changing and then fine tune those four notes.

Someone also made a sweet video with their version of the patch: https://www.youtube.com/watch?v=yGtCkb_dFIk&x-yt-ts=1422579428&x-yt-cl=85114404


An idea from Steven Crichton:

The other Frames thing I had had in mind now I have one and can play with it was a poor man’s harmonic oscillator.. Like the Verbos one (that I so close to getting)

As we know v/oct control is already kinda there and so is an ability to have the separate outs for oscillation. So maybe have the Pots as a harmonic offsets, the main dial a simple wave shaper. The pots could have stepping through the throw to constrain to set intervals.

Then as per the verbos sweep an lfo would be able to be used to sweep the levels of the harmonics across the grid. Maybe the 2 buttons could be octave shifts against the root?

Tim Churches' thoughts on that:

That's not a bad idea! However, the I/O on Frame is quite limited. I am pretty sure that the Frame CV input is electrically part of the same circuit as the big knob pot, so that is only one input. In the current LFO mode, the Frame CV input isn't exactly 1V/oct, so some sort of calibration facility would be needed in software - might be doable. If the LFO mode can then be made to cover more of the audio spectrum, then I'd be very happy with just that - it is actually a very interesting wave shaper oscillator. But it may also be possible to take, say, the extended wavetables from Sheep, and load them into Frames, but have it run four instances of them (like the WTx4 mode in Braids). So the big knob/frame CV would control pitch at 1V/oct, the first three knobs in the top row control wavetable position and wave shaping, and the last knobs controls the chord played as it does in WTx4 mode in Braids. The main difference from WTx4 mode in Braids and from Sheep would be that is that you would have separate outputs for each of the 4 oscillators in the chord. However, it may be that the DAC can't keep up with that, or the CPU can't send data fast enough to the DAC, since Frames wasn't really designed for audio rates. The bandwidth to the DAC would need to be 4 times greater than it is in Braids or Tides. That may be why the existing LFO quadrature mode in Frames is limited to low audio rates. So the first step would be to try to lift its range into the more of the audio spectrum, to check that the hardware can cope.


Another idea from Tim Churches:

The other idea I had was a Shepard-Risset (barber pole) tone generator. May not be very useful, but could be fun.

Of course, you can do Shepard tones now with a pair of Frames and four oscillators, if you can get the Frames to sync their LFO mode frequencies exactly. Hmmm, must try that.


C14ru5 on the MI Forum asks:

Looking at Frames, it has four inputs and a mix output… that gives me a thought:

Would it be possible to use Frames as a vector mixer, where the mixed signal remains more or less at a constant perceived amplitude compared to each individual input signal, and where panning can be done across two axes?

I guess that with the channel response curves set to exponential and not linear, and with some careful amplitude settings for each input on every keyframe, it should at least be possible to manually approximate a typical vector mixer swirl pattern that we know from synths like the Prophet VS and Wavestation. Correct? But I fear that it could be a bit complicated to set up, and maybe it would be a better idea to save some more cash for a Planar…

BennelongBicyclist muses:

Do you mean that you have 4 separate signal sources, that notionally lie at the corners of a square. Each signal is fed into a Frames input. As the Frame knob.CV is advanced, the four signals are mixed down to one signal in a manner that simulates what someone following an arbitrary path across that square plane? So the path could be a circle, and advancing the Frames knob would progress the listener around that circle? With three inputs, the path would be a triangle, and with two inputs, just a line, which is just stereo panning. Of course, other more complex paths would be possible. Is that the idea? If so, that could be done in the Frames software. Is it a useful technique? Can you point to any handy examples of what you are thinking of on YouTube or SoundCloud?


Peaks

Only about half the flash storage space is currently used...

  • expand the Easter egg so it plays back from a much larger WAV file? The WAV file would still be static, though.
  • port the Grids code to Peaks, so that it implements 2 of the 3 channels in Grids (maybe selectable), but instead of outputting triggers, as Grids does, output actual drum/percussion sounds. It may even be possible to multiplex all three channels of Grids into the two channels on Peaks.

Ideas for Peaks from Steven Crichton on the MI forum:

one thing I had thought about was a swinging clock. There seems to be little in the eurorack way to introduce a swing to a clock without a lot of work. Currently I use an iphone app or an external sequencer.

The trigger could be used to translate a swing, then you could also have a hold and scale intervals into it in 4 pot mode.

1: swing +- (sensible amounts like +- 15)

2: pulse rests, as in scale the rest into the detected gate length: — — — — > – – – – (great for hats from envelope less modules like tides etc)

3: proportion of every 1/4th gate against the 4 1:1 > 4 un-proportional in the swing.

4: clock division. ( I use a channel on maths for this as it seems like clock dividers are very expensive in relative terms ) This super secret mode would mean both outs are controlled by the one 4 channel mode. so you can get boom chika chika chicka boom with a peaks and 2 vco’s.

Actually now I think about it this plus 3 more simple things utilising the 2 outs as a single master strip … Memory wise, possible? Peaks isn’t at breaking point like braids in terms of the footprint left is it?

If not, BennelongBicyclist .. I think I have a plan as to what to start playing with.

Peaks mode other.

1: swing clock mode 2: dual noise which can be quanta clocked or random with a pseudo filter for the random. 3: fighting clocks. master clock mode. (why use a VCO as a clock!) think a digital wogglebug of sorts nice clean output and 1 with influence against it by the 2 triggers. 4: dual clock divider. uses 1 in. second can be used to POP a division up and down to to the secondary value set to create a weird rhythmical messes.

I’d be happy to loose the sample and the morse code gen for these. Mainly because I could then remove theanalog solutions lfo I have for nothing other than a master clock at last.


Tim Churches thoughts on this:

Watch this video carefully and implement as many of it's features as is possible given the Peaks hardware.