Orca - alternative firmware for white whale


#161

So if a clock was applied to track one from a TT trigger input, for example, then track one would be driven by whatever divider of the internal clock was chosen AND whatever was applied to the TT input? So Two clocks per track if we want external clocking and we still want to use rotate, etc? And this combination of clocks would be what was applied to that track’s weight and what would go to the Orca trigger outs, if chosen?


#162

basically, you can see it this way: from a track’s point of view it’s like both the master and the individual clock are coming from the same source. when a clock trigger comes in (regardless of where it came from) - the track will advance (and CVs/triggers will get updated appropriately if needed).

when i use individual clocks from TT i usually disable the master clock by inserting a dummy cable into the clock input. i thought of adding the ability to disable the master clock for individual tracks, but didn’t really like the idea, as it might be confusing if you forgot you did that, and you’d need TT to re-enable it.

but you’re right, the rotate sequencers depend on the master clock. what you can do (if you disable it) is use the rotate remote command and sequence it from TT pattern, or something like that - this also gives you more flexibility compared to the Orca’s own rotate sequencer! (didn’t do it for mutate because you essentially have full control over track parameters via TT, so you can implement your own version of mutation!)


#163

I’ve been playing away here trying to get Orca and Meadowphysics to be friends…
One thing that I wasn’t expecting it seems is that when the MP clock is input as Master Clock, then the rotate sequencers still run. I like this. TT control is more precise but I like the interface of the rotate pages for messing with patterns and then re-setting.
The other thing is, and I guess I don’t know what I was expecting here, is that when clocked externally - say Track 1 is diving by 4, then it will output IIII0000, etc and it will also divide any incoming clock by 4, so if the same clock going to CLOCK IN was sent to Track 1 with these settings then this would be the result IIII000I.
Once I get my head around this, I think it could be fun…


#164

yeah, the rotate/mutate sequencers and the global reset will work with either internal or external master clock.

if you have the divisor on a track set to 4 the track will be xxxxooooxxxxoooo… regardless of which clocks are used. but what happens is - it will advance on both the master clock or the individual clock, so if you have the same trigger used for both then it’ll just look like it advances by 2 positions each time when it receives the trigger (at least in theory, it’s possible that there is some weird race condition when both the master and the track clocks happen at the same time).

one thing you could try - DELAY the individual track clock by a bit which should make the effect a bit more clear.


#165

So it doesn’t OR combine the two clocks, it actually reads both of them even if simultaneous?


#166

yeah, kinda a weird case. it’s OR combined unless they happen at the same time.

just tried it and yeah, if i use the same trigger for both it advances by 2.


#167

time for a new version of orca - several features, and some i think are really exciting. big thanks to @michael_matos and @lloydcole for suggestions and help!

  • better support for non vb grids
  • octave range increased from 3 octaves to 5
  • 16 user defined scales that can be shared between presets
  • USB stick support! no more losing your presets when updating firmware…

some things you can do now:

should be easier to see what’s going on and edit on non vb grids…

octave selection is different now! instead of ‘scrolling’ through octaves you can now go up and down by holding the note and then pressing the button above / to the right for octave up, below / to the left for octave down - i think this is more intuitive and quicker…

you had the luxury of having 16 scales for each preset but there was no way to copy them before - now you have 16 user defined scales that are shared between all presets. they work very similarly to the predefined scales but you can copy your own scale or one of the predefined ones into it, and they are shared by all presets. so could be used for copying or simply as your own scale presets.

USB storage! excited about this one, and big thanks to @tehn for implementing it on TT first as i wouldn’t dare to try it first myself. it expects FAT32 formatted USB stick, just like teletype. if you power up with a USB stick inserted it will load from flash, then save to USB as orca_s0…9.txt (it’ll increment on each save and then will just continue overwriting orca_s9.txt) and if there is orca.txt it will load it. but also you can save at any point by inserting a USB stick and holding the front panel button - this will save to both flash and USB. it might slow down a bit while it saves. and give it a bit of time when you power it up (mine takes about ~30sec) - there is quite a bit to save/load - you don’t realize just how many parameters control orca…

oh - and one thing you can do with saved presets now? the predefined sets of values for arcs were just that, predefined in code. but now you can define your own as they are are also saved / loaded from USB.

grab it here:

i’ve updated the docs:



still need to add a section explaining the file format - should have it this week, but it’s pretty self explanatory!


#168

actually, here is an example of saved file - in case somebody wants to manually create a preset file before updating the firmware as you will lose your presets after updating as always…

orca v2.4

shared scale  1: 0, 2, 4, 5, 7, 9, 11, 12, 14, 16, 17, 19, 21, 23, 24, 26
shared scale  2: 0, 2, 3, 5, 7, 9, 10, 12, 14, 15, 17, 19, 21, 22, 24, 26
shared scale  3: 0, 1, 3, 5, 7, 8, 10, 12, 13, 15, 17, 19, 20, 22, 24, 25
shared scale  4: 0, 2, 4, 6, 7, 9, 11, 12, 14, 16, 18, 19, 21, 23, 24, 26
shared scale  5: 0, 2, 4, 5, 7, 9, 10, 12, 14, 16, 17, 19, 21, 22, 24, 26
shared scale  6: 0, 2, 4, 5, 7, 9, 10, 12, 14, 16, 17, 19, 21, 22, 24, 26
shared scale  7: 0, 1, 3, 5, 6, 8, 10, 12, 13, 15, 17, 18, 20, 22, 24, 25
shared scale  8: 0, 2, 3, 6, 7, 9, 10, 12, 14, 15, 18, 19, 21, 22, 24, 26
shared scale  9: 0, 1, 4, 5, 6, 8, 11, 12, 13, 16, 17, 18, 20, 23, 24, 25
shared scale 10: 9, 11, 12, 15, 16, 17, 19, 21, 23, 24, 27, 28, 29, 31, 33, 35
shared scale 11: 7, 8, 11, 13, 15, 17, 18, 19, 20, 23, 25, 27, 29, 30, 31, 32
shared scale 12: 0, 1, 4, 5, 7, 8, 10, 12, 13, 16, 17, 19, 20, 22, 24, 25
shared scale 13: 0, 1, 4, 6, 8, 10, 12, 13, 16, 18, 20, 22, 24, 25, 28, 30
shared scale 14: 0, 2, 4, 6, 7, 9, 10, 12, 14, 16, 18, 19, 21, 22, 24, 26
shared scale 15: 0, 1, 3, 4, 6, 8, 10, 12, 13, 15, 16, 18, 20, 22, 24, 25
shared scale 16: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

arc div sets  1: 1, 2, 3, 4
arc div sets  2: 1, 2, 4, 8
arc div sets  3: 2, 4, 8, 16
arc div sets  4: 2, 3, 4, 5
arc div sets  5: 2, 3, 5, 7
arc div sets  6: 2, 3, 5, 8
arc div sets  7: 3, 5, 7, 9
arc div sets  8: 3, 6, 9, 12
arc div sets  9: 12, 9, 6, 3
arc div sets 10: 9, 7, 5, 3
arc div sets 11: 8, 5, 3, 2
arc div sets 12: 7, 5, 3, 2
arc div sets 13: 5, 4, 3, 2
arc div sets 14: 16, 8, 4, 2
arc div sets 15: 8, 4, 2, 1
arc div sets 16: 4, 3, 2, 1

arc phase sets  1: 0, 0, 0, 0
arc phase sets  2: 0, 1, 2, 3
arc phase sets  3: 1, 2, 3, 4
arc phase sets  4: 2, 3, 4, 5
arc phase sets  5: 0, 2, 4, 8
arc phase sets  6: 0, 3, 6, 9
arc phase sets  7: 0, 1, 3, 5
arc phase sets  8: 0, 2, 3, 5
arc phase sets  9: 5, 3, 2, 0
arc phase sets 10: 5, 3, 1, 0
arc phase sets 11: 9, 6, 3, 0
arc phase sets 12: 8, 4, 2, 0
arc phase sets 13: 5, 4, 3, 2
arc phase sets 14: 4, 3, 2, 1
arc phase sets 15: 3, 2, 1, 0
arc phase sets 16: 1, 1, 1, 1

arc cv sets  1: 0111, 1000
arc cv sets  2: 1011, 0100
arc cv sets  3: 1101, 0010
arc cv sets  4: 1110, 0001
arc cv sets  5: 0101, 1010
arc cv sets  6: 1010, 0101
arc cv sets  7: 1001, 0110
arc cv sets  8: 0110, 1001
arc cv sets  9: 0111, 1110
arc cv sets 10: 1110, 0111
arc cv sets 11: 1101, 1011
arc cv sets 12: 1011, 1101
arc cv sets 13: 1111, 1100
arc cv sets 14: 1111, 0110
arc cv sets 15: 1111, 0011
arc cv sets 16: 1111, 1001

current bank: 1
bank: 1
	current preset: 1
	preset: 1
		arc div set: 16
		arc phase set: 10
		arc cv set: 16
		div: 1, 2, 3, 4
		phase: 1, 2, 3, 4
		reset: 1, 2, 3, 4
		chance: 1, 2, 3, 4
		weight: 1, 2, 3, 4
		gate type: 0, 0, 0, 0
		gate muted: 0, 0, 0, 0
		gate and/or: 0, 0, 0, 0
		gate not: 0, 0, 0, 0
		gate tracks: 1000, 0100, 0010, 0001
		selected scale: 1
		scale  1: 12, 13, 26, 15, 13, 14, 15, 16, 14, 27, 28, 17, 15, 16, 17, 18
		scale  2: 0, 2, 3, 5, 7, 9, 10, 12, 14, 15, 17, 19, 21, 22, 24, 26
		scale  3: 0, 1, 3, 5, 7, 8, 10, 12, 13, 15, 17, 19, 20, 22, 24, 25
		scale  4: 0, 2, 4, 6, 7, 9, 11, 12, 14, 16, 18, 19, 21, 23, 24, 26
		scale  5: 0, 2, 4, 5, 7, 9, 10, 12, 14, 16, 17, 19, 21, 22, 24, 26
		scale  6: 0, 2, 4, 5, 7, 9, 10, 12, 14, 16, 17, 19, 21, 22, 24, 26
		scale  7: 0, 1, 3, 5, 6, 8, 10, 12, 13, 15, 17, 18, 20, 22, 24, 25
		scale  8: 0, 2, 3, 6, 7, 9, 10, 12, 14, 15, 18, 19, 21, 22, 24, 26
		scale  9: 0, 1, 4, 5, 6, 8, 11, 12, 13, 16, 17, 18, 20, 23, 24, 25
		scale 10: 9, 11, 12, 15, 16, 17, 19, 21, 23, 24, 27, 28, 29, 31, 33, 35
		scale 11: 7, 8, 11, 13, 15, 17, 18, 19, 20, 23, 25, 27, 29, 30, 31, 32
		scale 12: 0, 1, 4, 5, 7, 8, 10, 12, 13, 16, 17, 19, 20, 22, 24, 25
		scale 13: 0, 1, 4, 6, 8, 10, 12, 13, 16, 18, 20, 22, 24, 25, 28, 30
		scale 14: 0, 2, 4, 6, 7, 9, 10, 12, 14, 16, 18, 19, 21, 22, 24, 26
		scale 15: 0, 1, 3, 4, 6, 8, 10, 12, 13, 15, 16, 18, 20, 22, 24, 25
		scale 16: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
		tracks for CV A: 1000
		tracks for CV B: 0100
		on for CV A: 0000
		on for CV B: 0000
		rotate scale: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
		rotate weights: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
		mutate: 00000000, 00000000, 00000000, 00000000, 00000000, 00000000, 00000000, 00000000
		global reset: 1

#169

Yes! Yes! Yes! Yes! Yes!


#170

Woah! Crazy cool update! Many thanks for your work! Can’t wait to try the usb support.


#171

amazing work @scanner!


#172

thanks, cheers!

another change i’m thinking of is being able to use a different scale for CV B. i think i found a way to do that without overcomplicating the interface. this would necessitate a change in how scale is selected, however.

for grids i can just use another row on the scale selection page for CV B. for arcs it’s a bit more complicated, since the only way to select a scale when you have arc connected is by using the module knob. i’m thinking of changing it so that turning a knob doesn’t select a scale but simply switches to the scale selection mode (which will have a distinct look) and then you just use 2 arc encoders to select a scale for CV A and CV B. does this sound like a good solution?

both CV A and CV B scales will be selected from the same 16 user scales, so it will be easy to set both to the same scale to replicate the existing behaviour.


#173

This would improve Orca 1000% IMHO. Especially as there would be no need to use the feature if you were happy as is… Slight variations of scales plaing against each other could make zupermusik, I think.


#174

well, i think i came up with a good way to have individual scales.

for grids when you press and hold the scale page button the rows are now arranged like this:

  • scale presets
  • shared scales
  • selected scale for CV A
  • selected scale for CV B

selection works same as before, but you can now select CV A and CV B scales individually. since there are 2 scales now when you go to the scale edit page it will open the last selected scale. the area where you select tracks for each CV will help you remember which one you’re editing (it will hide the one that is not being edited, but you can simply press there to switch to the other one).

for arcs you will need to use the front panel button to switch between pages - same as before but you will also get a new page for scale selection - it’ll be easy to see as it uses inverted brightness, so quite different from other pages. i’ve disabled the knob selection completely now.

so thinking about how this will be used i also added a couple of other things. first, you can now copy between user scales same as copying into the shared scales, just press and hold the source scale and then the destination scale. also, you can now transpose a row of notes by a semitone or an octave. to do so just press anywhere in the row and hold it, and then press a button above/to the right to go up, or below/to the left to go down a semitone. if you press not the next button but the 2nd button from the one you’re holding it’ll change it by an octave. basically, what you can do now - select different scales for CV A and B, copy scale A to B and then transpose scale B or edit it however you like.

to my surprise i liked having separate scales more than i thought, which would explain an hour i lost yesterday just playing with it… would love to hear feedback on this - it felt natural, so i think it didn’t complicate the interface too much. should also mention that both USB storage and Teletype remote scale selection command support separate scales. i’ve update the docs as well.

the release is here: https://github.com/scanner-darkly/monome-mods/releases/tag/v2.5


#175

if anybody wants to check out orca in person i’ll be demoing it this sunday the 17th at the seattle’s synth meetup. i’ll also have the teletype and meadowphysics. https://www.facebook.com/events/1513016495693932

should have a new version of the manual some time this week which will properly describe all the latest features.


#176

Hi,
I am running v.2.5 of this amazing firmware and I am pretty sure the “NOT” button is not working. When I enable the “NOT” mode, nothing changes in the behavior of the triggers/gates.

Any advice would be highly appreciated.
Thanks!


#177

what trigger type are you using? the behavior is a bit different when outputting triggers vs gates.

let me confirm the behavior tonight and see if i can replicate the issue.


#178

found and fixed the issue (it was applying the ‘not’ setting from the first trigger to all 4), i’ll post it tonight or tomorrow, just want to test this whole area a bit more first!


#179

@ilya_n - fixed! i’ve updated the hex file in the release: https://github.com/scanner-darkly/monome-mods/releases/tag/v2.5


#180

@scanner_darkly Wow, that was quick! Thanks a lot for the prompt response!