Orca - alternative firmware for white whale


#1

So I took advantage of the fact that the skeleton library does have support for arc. I’d like to introduce Orca, a polyrhythmic probabilistic cv and trigger generator / melody generator / arpeggiator. It’s an alternative firmware for the white whale module that works with a varibright arc.

Here is how it works:

  • It generates two 1V/Oct and 4 triggers.

  • There are 4 rings that represent 4 sequencers, all moving at different divisions of the main clock.

  • There are 16 different division presets (a preset determines division values for all of the 4 rings) which can be selected by the encoder #2.

  • No matter what the divisions are they do not get reset every 64 steps, they will continue with the same division. So you will see it redrawing its path as it goes.

  • Every time the cursor crosses a boundary a trigger is generated on the corresponding output.

  • Encoder #1 controls phase which goes from 0 to 32. The phase is multiplied by 2 and 3 for the rings 3 and 4 (basically, ring 1 - no shift, ring 2 - shifted by phase, ring 3 - shifted by phase2, ring 4 - shifted by phase3)

  • Encoder #3 controls chance - at the maximum only approximately half of the triggers will make it through.

  • There are 2 CV outputs - each one outputs a quantized 1V/Oct CV in the scale set by the param knob.

How CV is determined is a bit convoluted.

  • Each ring represents a bit in a 4 bit number. If the cursor is in the active zone the bit is 1. This number represents index within the currently selected scale’s 16 note array.
  • CV A is affected by the chance parameter, CV B isn’t.
  • Encoder #4 selects mixer preset. Mixer preset determines which voltage bits are used to determine CV A and CV B. Different combinations will produce 2 melody lines that will compliment each other in different ways.
  • It can get pretty interesting if you hook up 2 oscillators that are tuned to each other (you can see/hear it in the demo). Every encoder can completely change the pattern.
  • When you change any parameters the current value will be displayed for a few moments.

Currently selected scale is also shown on the encoder 1. You can see it in the video where the knob sits right on the border and there is some jitter due to the noise on the input, so it keeps displaying scale (and it sounds strange in places although maybe in a good way)

Hold the front panel button to save all current encoder values - they will be restored the next time it’s powered on. I might be forgetting a couple of things though, will add more later (and a proper video/documentation).

Orca download: https://github.com/scanner-darkly/monome-mods/releases/tag/v1.3
manual: https://github.com/scanner-darkly/monome-mods/wiki/Orca
tutorial video: https://www.youtube.com/watch?v=y4wsSWVYdYk
pls make sure you can update your module with the official white whale firmware before you try this.

…really makes me wish for a monome module with some CV inputs.


Make noise Rene algorithm for monome
#2

excellent!

i started reading the explanation but my brain started hurting!

i’ve been on the verge of attempting an alternate firmware or 2 (for the white whale and the meadow physics). any traps to watch out for?


#3

that looks fantastic! great work.


#4

um…. anyone out there selling a 2nd gen arc 4?!?!?!?


#5

excellent stuff!

wish I had an arc4 to try it (arc2 owner). although, this very much gets me pushed into having another look at the firmware… and it already inspired some ideas I’m about to prototype in node. thanks for sharing!

(cv input, oh yeah)


#6

the demo is absolutely magical
staggering what this is capable of!


#7

Whoa! Okay. Now I believe in modular.


#8

Thank you for this!

Thrilled to see the Arc4 support within the monome line!
Makes me think I should get another White Whale!

Also makes me think that perhaps I should look at the firmware code mangling :smile:


#9

again makes me want an all aluminium arc to match the latest 128 to sit in front of my modular


#10

Possibly important questions:

What is the power consumption of the Arc4?

Is it being powere just from the module itself, or like grid does it require the external 5V?

Do you have Arc4 and grid running at the same time?

etc. etc. am just wondering how does the Arc4 figure in the context of the very specific power requirements for grids…


#11

sorry, had to head to bed right after posting due to severe lack of sleep in the last few days - will reply in a bit!


#12

wow!! fantastic work. how did you like working with the code framework?


#13

it has similar power draw to the grids. should work with a good power supply, but also would be good to use switch or ext5v.


#14

Would be good to know exactly what the draw is.
I am definitely going to pursue this further, just somewhat apprehensive about adding another power brick to the setup.
Although, I suppose, I could be toggling interfaces used switching between arc and gridas needed…


#15

power: in this set up i’m just using 4ms row power 40 which provides enough juice (I assumed arc would draw similarly to grid or less) but yeah i absolutely made sure it wouldn’t be underpowered. for my other case i still use ext5v, but really wanted this case to be as portable as possible so replaced uzeus with row power 40. i don’t think it would provide enough to power a grid and an arc at the same time though, so if i planned to do that i’d add Switch or ext5v.


#16

re: framework and firmware hacking - i’ll start a separate thread for tips/tricks.

but yeah, found it to be very easy to use - everything made sense and worked as expected, and additional stuff like timers is very useful!


#17

here’s a somewhat simpler description of what it does:

  • it creates 2 melody lines and 4 triggers
  • melodies are created by an algorithm selecting notes from a chosen scale, scale is selected by the module knob
  • the algorithm is based on several factors which are controlled by the encoders
  • first 2 encoders affect the rhythms
  • 3rd encoder makes it less repeatable by making things more random (but still synced to the clock)
  • 4th encoder changes how the notes are selected for CV A and CV B

should mention, it should work with arc2, just won’t be able to change all the parameters, and it won’t use all the notes.


#18

rad

so with an arc2 does it default to controlling the rhythm of triggers?


#19

yep, the first 2 encoders control phase and divisions.

thinking about it some more though - with arc2 it will only use 2 rings to select which notes get played, so the output will be less varied, but there is no reason it shouldn’t use all 4 rings even with arc2, the other 2 rings will be just “virtual” so to say. i’ll fix that.


#20

i’ve used two grids on one row power 40. arc draws less than a grid.