Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
- QUICK START
- TRACK PARAMETERS
- CV A | CV B
- TRIGGERS | WEIGHTS
- MUTATE | RANDOMIZE
- ROTATE | MUTATE SEQUENCERS
- ROTATE SCALE SEQUENCER
- ROTATE WEIGHTS SEQUENCER
- MUTATE SEQUENCER
- GLOBAL RESET
- USING ARCS
- TELETYPE INTEGRATION
- USB STORAGE
- MODULE CONTROLS
- TIPS AND TRICKS
- UPDATING FIRMWARE
Orca is an open source alternative firmware for the monome white whale module. Technically, it's a polyrhythmic CV and trigger generator, but it might just be easier to describe what it's capable of:
It's great for "happy accident" sequences. You can easily manipulate and mutate them, all live, and then come back to the original sequence just as easily. A lot of consideration went into making it very performance oriented and easy to use live.
You could do the opposite - use it as an automatic sequence generator in your chosen scale that will produce multiple interrelated (almost never repeating, if needed) sequences that can slowly mutate over time.
You can also use it as a plain multitrack sequencer with up to 16 steps. You can define up to 1024 sequences which can be easily assigned to either CV output at any point without stopping the clock. These sequences can be stored in flash memory (or on a USB stick) so you won't lose them when the module is powered down.
There are also 4 triggers or gates generated that are great for triggering drums and/or envelopes.
When first used Orca can look confusing. Let's start with some basic principles that will help you navigate it with ease. These principles always apply, no matter what page you're on or what the current settings are. Along the way I'll also introduce the 3 main terms used throughout this manual: scales, tracks and weights.
Orca is a note sequencer, it outputs quantized voltage meant to drive 1V/oct oscillator inputs (it also does triggers but let's leave them aside for now). No matter what you do each CV output will only play notes from a set of 16 notes, preselected from a 5 octave range. These sets are referred to as "scales". Until you edit a scale it will always contain the same 16 notes. The only thing that changes is the order in which the notes are played. Tracks is what determines this order.
Tracks are kinda like sequences that switch between "on" and "off". There are 4 of them in total - that's what you see moving to the right in the top 4 rows when you have a grid connected. Each track has a weight assigned to it. All the tracks that are currently "on" get their weights added together, and that is the number of the note that gets played. That's it - this is the main principle on which Orca operates.
You can also select which tracks to use for each CV, so the rest is ignored when calculating a note number. Let's use an example. Let's say our tracks T1, T2, T3 and T4 have weights of 1, 2, 3 and 4 respectively, and on the current step tracks T1 and T2 are on and T3 and T4 are off. If we select all 4 tracks for CV A it will play note 1+2+0+0 (the weights of T1 and T2, we don't add T3 and T4 since they're off) which gives us note #3. For CV B we only have T2 and T3 selected, so it will play note #2 (2+0).
How do you control tracks? They switch between "on" and "off" by dividing the main clock (internal or external). You can choose the divisor, and you can also shift them ahead or behind and reset them after a given number of steps. Essentially, the tracks are the polyrhythmic heart of Orca. You probably wouldn't want to try and figure out how to set the tracks for a specific sequence of notes you have in mind (although it might be a fun thing to try), instead just choose notes for your scale and then play with track parameters - this is a super fast way to try many different sequences.
This should be enough to get you started! Before we dive into further details let's make sure you're comfortable navigating the grid layout. It's split into 2 main parts - the top 4 rows display the same information no matter what page you're on, and the bottom 4 rows are used for the currently selected page, this is where you edit all the parameters. There are 12 pages in total.
The top 4 rows are divided into 3 parts. The first 3 columns is where you select one of the 12 pages, with the button for the currently selected page highlighted. The columns on the right is where you select which tracks are active for each CV output. The rest is used for visualizing the 4 tracks - pressing here won't have any effect.
The 12 pages could be split into 3 groups, with the page selection buttons reflecting this (see the diagram below) - the first column is the 4 buttons for the track parameter pages, the second column selects pages for editing scales, triggers and weights as well as mutating/randomizing and presets, and the third group selects the pages where you can make Orca modify sequences on its own by using the rotate/mutate sequencers.
Also check out Linear Sequencer section in Tips and Tricks - it's a good starting point where you can use Orca as a traditional linear sequencer before trying more advanced features.
The tracks are the polyrhythmic engine of Orca. They are kinda like switches that switch between "on" and "off" based on the incoming clock (on each tick or a division of it). Essentially they are clock dividers that can also be shifted ahead or behind and reset after a number of steps. Normally all 4 tracks run off the main clock (internal or external) but by using Teletype you can also clock them individually (see the clocking section for more info). Tracks determine which notes get played as described in the quick start section. It's absolutely possible to use Orca without knowing how tracks operate, but if you want to take advantage of the polyrhythmic nature of Orca please read on.
The top 4 rows display the 4 tracks (in the area not taken by the page and CV select buttons), so it's easy to see what's going on and how your changes affect the tracks. The current step is on the right. Each track is completely controlled by the 4 parameters: divisor, phase, reset and chance. There is a separate page to control each one of these parameters, one page per parameter. Each page displays and allows you to edit the selected parameter for all of the four tracks, individually. Simply press to set the value. Pressing the current value resets it to zero for those parameters that can be set to zero.
Let's see how different parameters affect tracks. The divisor as the name implies controls how the incoming clock is divided. To edit it press the top row button in the leftmost column. Divisor can be set to a value between 1 to 16. Let's set it to 4: (the examples in this section show only one track, with the current step on the right to match how it's displayed on the grid):
Further variation can be added by using the track phase (2nd row from the top in the leftmost column). Phase shifts a track behind the master clock by a specified amount. Using the example above and setting the phase to 2 we get this (note how the track is now behind, shifted to the left):
The tracks continue running without resetting (even if you change divisors or phase - Orca will recalculate its internal counters to keep everything running smoothly). The 3rd parameter - reset (3rd row from the top in the leftmost column) - can be useful for creating variations or locking in shorter sequences. Let's set it to 5:
This allows creating sequences that wouldn't be possible with a simple clock divider - you can see in the example above it's "on" for 2 ticks and "off" for 3. Let's change the phase to 3. We get a track that is "on" for 3 ticks and "off" for 2:
The remaining track parameter is chance (4th row from the top in the leftmost column). It randomly deactivates tracks, higher value making it happen more often. This is a good way to add non destructive variation.
What happens if the divisor is greater than the reset? The track will never be "on" - it just doesn't have the time to reach the "on" state as it resets before it happens. Some combinations of the parameters might result in these "dead" tracks and this is where the phase parameter comes in handy. Let's set the divisor to 4, phase and reset to zero. This will generate the following sequence:
Now let's change the reset to 3. The sequence becomes:
We've got a dead track. Let's set the phase to 1 to 'revive' it:
Playing with divisors, phase and reset is a great way to try different variations. Small changes can have drastic results. And since you can set parameters for each track individually this is a very quick and intuitive way to try different polyrhythms. And remember, you can also clock each track individually via Teletype, so you could drive it with something like Meadowphysics, Zorlon Cannon, Triggerman, Grids, Knit Rider etc.
Video tutorial: https://www.youtube.com/watch?v=gG1ZEigm99A
CV A | CV B
As described in the quick start section the 4 tracks determine which notes get played. You can choose which tracks participate in the note selection for each CV individually - this is yet another way to add variation. Also if you use the same scale for both CVs you can create 2 interrelated but different sequences by choosing different tracks for CV A and CV B.
The 2 rightmost columns in the top 4 rows is where you select which tracks are active for each CV. Simply press to select/deselect a track. If you want a track to always be treated as "on" (so its weight always gets added regardless of what state it's actually in) double press the corresponding button. To go back to normal operation press the button again.
You can assign a different scale to each CV. When you are on the scale edit page CV track selection is only shown for the CV whose scale is being edited - this is to make it clear which sequence is being edited. See the following section for more details.
Video tutorial: https://www.youtube.com/watch?v=gG1ZEigm99A
A scale is a set of 16 notes selected from a 5 octave range. Regardless of how your tracks are set up Orca will only use notes from the selected scale. You can define 16 scales per each preset - these are user scales. You can assign one of these 16 scales to each CV independently (which includes setting them both to use the same scale).
You also get 16 scale presets and 16 shared scales that are shared between all Orca presets. The difference is: the scale presets are fixed, and the shared scales can be edited. The shared scales will also be stored to flash and/or USB stick.
The 16 scale presets are:
- 1 Ionian
- 2 Dorian
- 3 Phrygian
- 4 Lydian
- 5 Mixolydian
- 6 Aeolian
- 7 Locrian
- 8 Ukrainian Dorian
- 9 Persian
- 10 Hungarian
- 11 Enigmatic
- 12 Phrygian dominant
- 13 Tritone
- 14 Acoustic
- 15 Altered
- 16 Chromatic
To select scales press and hold the scale page button. While it's held the 4 bottom rows will show:
- the 16 scale presets
- the 16 shared scales
- currently selected scale for CV A
- currently selected scale for CV B
While still holding the scale page button:
To select a scale for CV A or B simply press on the desired scale in the bottom 2 rows (the bottom row for CV B and the one above for CV A). The highlighted button shows which scale is currently selected, with the last selected scale a bit brighter. If you press on any of the scale presets or shared scales it will get copied into the last selected user scale.
The shared scales cannot be directly edited, instead you have to edit one of the user scales and copy it into a shared scale. To do so press on the source scale and then the destination shared scale. You can also copy between user scales in the same manner, as well as copying from a scale preset into a shared scale.
Once you release the scale page button you enter the scale editing page.
When you open the scale edit page it always opens the last selected scale. To make it clear which CV's scale is being edited the CV track selection area (the 2 rightmost columns in the top 4 rows, as described in the CV A | CV B section) will only show the CV whose scale is being edited. You can use it to select which CV's scale you want to edit (and you can still change the CV track assignment while on this page).
The 4x4 block on the bottom left represents the 16 notes. The area on the right is like a vertical piano roll where you can edit 4 notes at a time. By pressing in the 4x4 block you can select rows of 4 notes for editing. Orca will highlight the note that is currently played in both areas, so it's easy to see which note you need to edit.
The 12x4 area to the right of the note block is where you edit the 4 notes in the currently selected row. To transpose a note an octave up or down press it and, while holding, press a button next to it - to the right or up to go an octave up, to the left or down to go an octave down:
You can also transpose a whole row in the 4x4 note block. Similar idea, press anywhere in the block and while holding it press a button next to it to transpose by a semitone, or one over to transpose by an octave:
One typical use for this would be to define a scale, then copy it to another and transpose each row. Now you can transpose the whole sequence simply by switching between the 2 scales!
Starting with v2.6 you can also shift (rotate) the whole scale up or down by pressing on any button in the 4x4 block and then pressing the button to the right and up to shift it up, or to the left and down to shift it down. This is similar to what the rotate scale sequencer does.
The sequence will continue playing as you edit notes, so you can edit it live without interruption. There is also the CV Preview mode which makes it easier to edit note by note. Press the scale page button to switch between regular and CV preview modes (it will blink when in CV preview mode).
When in CV preview mode all triggers will follow the main clock (trigger mute will still be in effect), and both CVs will output the note that is being edited (which makes this mode also useful for tuning oscillators connected to different CV outputs to the same note). You can still edit notes exactly as described above, the only difference is that instead of playing the sequence it just plays the currently selected note.
Scale editing page is also a surprisingly immediate way to see how Orca steps through a sequence, and how track parameters and CV settings affect that, as you can see how it steps through the sequence in the 4x4 note block.
Scales can also be affected by the rotate scale sequencer. When in the CV preview mode rotate scale and rotate weights sequencers are temporarily disabled.
Video tutorial: https://www.youtube.com/watch?v=PVY6RuhU1mE
TRIGGERS | WEIGHTS
In addition to CVs Orca generates 4 triggers/gates. Triggers are generated based on the tracks, so if you want to understand how to control them take a look at the track parameters section.
Each trigger can be set to follow either one of the 4 tracks, or several tracks combined using logic. By default each trigger follows the corresponding track (so trigger output 1 will follow track 1 etc). To configure triggers select the trigger | weights page (2nd button from the left in the 2nd row from the top). It's also used to set the track weights, described below.
The left 8 columns in the bottom 4 rows is where you configure triggers. Each trigger gets a row where you can select which tracks are used for that trigger and how they are combined. Press in the first column to mute/unmute a trigger.
The second column is where you select trigger/gate type. Pressing here will cycle through the following options:
- generate a trigger whenever the selected track switches to either "on" or "off"
- generate a trigger whenever the selected track switches from "off" to "on" only
- generate a gate that follows the selected track (high when the track is on, low when it's off)
You can select more than one track for each trigger. The third column controls how multiple tracks are combined. You can choose between the "or" logic (button unlit) and the "and" logic (button lit). Using the "or" logic gives you the following for each trigger type described above:
- generate a trigger whenever either one of the selected tracks switches to either "on" or "off"
- generate a trigger whenever either one of the selected tracks switches to "on"
- generate a gate that is high whenever either one of the tracks is "on"
If you select the "and" logic it will change to the following:
- generate a trigger only when all of the selected tracks switch to either "on" or "off"
- generate a trigger only when all of the tracks change to "on"
- generate a gate that is high only when all of the tracks are "on"
The 4th column inverses the logic. The remaining 4 columns is where you select which tracks to use. Tip: if you want a trigger to fire whenever a note changes select the same tracks for the trigger and for CV, and use the first trigger type and the "or" logic.
The track selection area is highlighted when the corresponding track is on. Also, the mute and trig/gate type buttons are highlighted when the corresponding trigger is fired (or when the gate is high).
The right 8 columns in the 4 bottom rows is where you set the track weights, one row for each weight. You can select any value between 1 and 8. Don't treat this as some obscure setting - making changes here can produce very interesting results, different from changing the track parameters. Try changing one weight at a time, it can produce interesting variations and can be very playable. Essentially, treat this page as your performance tool.
Track weights can also be affected by the rotate weights sequencer.
Video tutorial: https://www.youtube.com/watch?v=CYQZPdLxnpo
MUTATE | RANDOMIZE
You probably realize by now that changing the track parameters can produce a lot of variations. Mutate | Randomize page (3rd button from the top, 2nd column from the left) lets you quickly try different combinations by "mutating" the track parameters.
To mutate tracks select this page and press anywhere in the bottom 4 rows. This will randomize several track parameters. The horizontal position determines the range of possible values between 1 and 16. Tip: the higher range will not necessarily provide more interesting results - often the opposite is true. Some combinations of parameters can result in "dead" tracks - this is usually when a track has a divisor that is greater than the track's reset (or the global reset). If this happens Orca will try to come up with a different combination. The vertical position determines how many track parameters are changed - it will randomly select between 1 and 4 divisors/phase/resets to change.
All other parameters (scale notes, CV, weight and trigger settings) are not changed. If you want something completely random double press the Mutate | Randomize page button. This will generate a preset where every single parameter is selected randomly (including scale notes). In this particular case Orca will not try and redo "dead" tracks. Surprisingly, more often than not the results of complete randomization are not that interesting but this could be a good starting point - especially if you apply mutations on top of that.
The entire state of Orca, including all of the track parameters, CV and trigger settings, track weights, rotate and mutate sequencers and the global reset - everything can be stored in a preset. To save or load a preset switch to the preset page (4th row, 2nd column from the left).
There are 8 banks of 8 presets available, so 64 presets in total. The first 2 rows in the editing area show 8 banks (they look kinda like folders) with the currently selected bank highlighted. The bottom 2 rows show 8 squares representing the 8 presets in the current bank. To switch between presets or banks simply press on the bank or preset you want to switch to. Display will update immediately while CVs and triggers will get updated at the next clock. Switching between presets is instantaneous which means you can use them as a performance tool.
Any changes you make get recorded into the preset, so if you switch to a different preset and then go back your changes will still be there (you still have to store to flash or USB drive if you want the changes to remain while the module is off). You can also switch between different banks and presets without losing your work, and when you switch between banks it will even remember the currently selected preset for each bank. What if you don't like or don't want to save changes? Simply reload a preset or a bank by double pressing its button. This will reload whatever was stored to flash memory previously.
This is also important if you use rotate/mutate sequencers - they modify scales/weights or track parameters, so if you store to flash it will store whatever the current values are at the moment, potentially including some changes you do not want to store, so be careful when storing all 8 banks at once. It might be a good idea to copy your good preset to another one before experimenting, or you could reload just reload a preset by double pressing it to go back to what is stored in the flash memory.
To copy a preset press the source and while holding the button press the destination. You can copy to more than one preset at once, just press whichever presets you want to copy to while holding the button on the source preset. Same technique applies to copying banks.
To save an individual preset or a bank press and hold the preset page button and then press the preset or the bank you want to save. To store all of the 8 banks press and hold the front button on the module (the grid will display a floppy disk icon to confirm the save). Stored presets will be automatically loaded next time you power up the module, and it will remember which bank and preset you were on. If you have a USB stick inserted it will also store it there - see this section for more info. Please note that it only stores to USB when using the front button!
ROTATE | MUTATE SEQUENCERS
It's easy to build sequences with Orca just by editing scales and modifying track parameters. Since notes are selected by combining track weights, and tracks can run on any division of the clock between 1 and 16 it's possible to create sequences that don't repeat exactly for a very long time (especially if you use primary numbers for track divisors).
But there are other ways to make more complex or slowly evolving sequences. This is what the rotate / mutate sequencers are for. These sequencers modify scales, track weights or track parameters for you (you can still change any of the parameters manually at any moment).
ROTATE SCALE SEQUENCER
The rotate scale sequencer creates variations in a sequence by shifting the scale (or scales if different scales are selected for CV A and B). It runs on its own 16 step sequence where each step indicates the rotation amount between -2 and 2. Press to select a value or press it again to remove it (if it's not highlighted it doesn't rotate on this step).
This might sound just like one more parameter to FSU but in reality it sounds really interesting and distinct from every other parameter or variation Orca provides. What happens is that instead of changing how it steps through the notes it's the notes themselves that change.
To see the effect just switch to the scale edit page - the scale page button is directly to the left from the rotate scale sequencer button, so it's easy to remember. Also, whenever a scale is rotated the rotate scale button will blink to remind you the sequencer is applying rotation. So if your scale all of a sudden shifts while you're trying to edit it see if you have the rotate scale sequencer active! (scale rotation is temporarily disabled if you are editing a scale in CV preview mode).
To remove all steps at once double press the rotate scale page button. Global reset also applies to this sequencer.
Video tutorial: https://www.youtube.com/watch?v=4UcspYInGkE
ROTATE WEIGHTS SEQUENCER
Rotate weights works similarly to rotate scale - you have a 16 step sequencer where you can select values between -2 and 2, but instead of rotating the scale the active step will rotate the track weights (since there are only 4 tracks the values of -2 and 2 have the same effect).
To see the effect just press the button to the left from the rotate weights page button - that's the settings page which will show you the track weights.
To remove all steps at once double press the rotate weights page button. Global reset also applies to this sequencer.
Video tutorial: https://www.youtube.com/watch?v=4UcspYInGkE
Mutate feature is a 64 step sequencer where each step can be on or off. When a step is on it triggers a mutation, which changes one randomly selected track parameter (divisor | phase | reset) by 1, either up or down.
Mutate is another good feature for creating long slowly evolving sequences. Sometimes changes can result in "dead" tracks when a track is constantly off or on. Orca will actually make sure to avoid such changes as much as it can. It'll try up to 40 times, if it still can't mutate it will skip it but will try again next time.
To remove all steps double press the mutate page button. Global reset also applies to this sequencer.
Video tutorial: https://www.youtube.com/watch?v=4UcspYInGkE
By default Orca is free running. You can reset individual track counters by using track resets, but you also have the global reset available which can be anywhere between 1 and 64. This is useful if you want to take advantage of the polyrhythmic nature of Orca while still having a repeatable pattern. It's even more interesting when used together with the individual track resets.
Global reset will also reset the sequencers for rotate and mutate features.
To return to free running mode just press the selected value again. Double pressing the global reset page button resets all counters to 0.
Video tutorial: https://www.youtube.com/watch?v=4UcspYInGkE
While grids allow for much more control over Orca you can still do a lot of things using arcs as well. You can't edit individual track parameters or CV track assignments, instead there are predefined sets of values for some of the parameters. There are 16 predefined sets for track divisors, track phases and CV track assignments. When you select one of them with an encoder it updates that parameter for all 4 tracks (or in case of CV track assignments, for both CVs).
There are several pages that control different things, to switch between them press the front panel button. The pages are different between arc2 and arc4 (some pages are only available for arc4).
arc2: there are 3 pages. The encoders have the same functions on the first 2 pages, the only difference is - the first page shows tracks 1&2, and the 2nd page shows tracks 3&4. Encoder #1 selects a track phase set when turned clockwise, or a track divisor set when turned CCW. Encoder #2 selects a preset when turned CW or CV track assignment set when turned CCW. When you select a different set or preset it will be shown briefly and then it will switch back to showing the tracks. The 3rd page is scale selection for CV A and B.
arc4: there are 4 pages. The encoders have the same functions on the first 2 pages, the only difference is what is displayed. The 1st page represents the 4 tracks, so you can see how your changes affect them (the selected set/preset is briefly shown and then it switches to showing the tracks again). The 2nd page shows the currently selected sets / preset - this can be easier, especially for presets since you have 64 to choose from. Encoder #1 selects a track divisor set, encoder #2 - a track phase set, encoder #3 - a CV track assignment set, and encoder #4 - a preset.
The 3rd page is for scale editing. The first 2 encoders select a scale for CV A and B, with the last selected scale shown brighter. Encoder #3 shows and lets you select one of the 16 notes from the last selected scale. Orca will highlight notes here as they are played so it's easy to see which notes you are editing. Even if you have the same scale selected for both CVs they might use a different sequence (if their track assignment is different) so it does matter which scale was selected last. If you want to switch between CV A and B scale just nudge encoder #1 or #2 a little - it will select it without changing what scale is selected. Edit the last selected scale with encoders #3 and #4 - select the note to edit with encoder #3 and then select the pitch from a 5 octave range with encoder #4.
The 4th page on arc4 is for manipulating sequences further. Encoder #1 rotates the scales (for both CV A and B) - see the Rotate Scale Sequencer section for more details. Encoder #2 rotates the track weights - see the Rotate Weights section. The position shown is for reference so you can easily return to the original position. This is especially important when you rotate the track weights since there is no other way to change them when using arcs! Encoder #3 mutates the sequence by randomizing track parameters (the visual representation here is meant more as an eye candy but it does reflect the current track parameters). Finally, encoder #4 lets you set or remove the global reset.
To store to the flash memory and/or USB press and hold the front panel button. All 64 presets are always stored - you can't store individual banks or presets like you can with a grid. Any changes made to existing presets with an arc will be stored when you save.
You can use Orca with both a grid and an arc and you can swap them at any time without interrupting playback. For instance, you could use a grid to define your presets, swap it for an arc (so you could use the grid with a different module) and then use the arc to switch between presets or to create variations.
The predefined sets for track divisors / phase / CV track assignments are fixed but there is a way to change them to what works best for you - you can define your own in a text file and load it from a USB stick - see the USB storage section for more details. If you select set #1 for the track divisors, track phase and CV track assignment (basically, make sure the first set is selected on encoders 1-3) this will make Orca act like a typical linear sequencer, stepping through notes 1-16 consecutively for both CVs. This, together with scale editing allows you to use Orca controlled by an arc as a typical sequencer. If you change track parameters or CV track assignments with a grid and then switch to an arc the current values might not match any of the predefined sets - in this case Orca doesn't highlight the current set until you select one.
Video tutorial: https://www.youtube.com/watch?v=4LIOVdtqgQg
If you have your White Whale connected to a Teletype module you can control Orca from Teletype scripts (Orca support is included in the official Teletype firmware). There are still things you can do with a grid only, but Teletype will let you do stuff you wouldn't be able to achieve by using Orca alone. Please note that you should be able to have 2 White Whales connected to the same Teletype at the same time, one running the original White Whale firmware and another one running Orca, and both should work and respond to their respective commands.
The main feature that TT integration brings is the ability to individually clock each track, so now you are free to run them on completely independent triggers instead of just having divisions of the master clock. The master clock (external or internal) will still advance all four tracks, so you can use it in addition to individual clocks to create even more complex sequences. If you don't want that simply insert a dummy patch cable into the clock input and set the clock div/mult to 1. Please note that the master clock is needed for the rotate and mutate sequencers and the global reset.
Another difference - certain changes affect the outputs immediately when done through the Teletype, as opposed to the grid/arc where they are applied at the next master clock. The idea is that when using a controller quantizing to the clock helps to avoid abrupt changes to make for a smoother performance, and with Teletype it's more likely to be tightly synced with the rest of a patch. So if you don't want it quantized when performing this is one way to achieve that - connect your Walk or Pressure Points or some other manual gate generator to a Teletype and use Orca remote commands.
As with normal Orca operation any changes made by the remote commands will get stored if you save to the flash memory. You can reload a preset, a complete bank or all 8 banks from the flash memory with the OR.RELOAD command - this is a good candidate for your Initial script so that any changes from the remote commands can be reset by simply reloading the scene.
All values are wrapped automatically, unless specified otherwise. For instance, the valid range for OR.PRESET is 1..8 so if you specify 9 it'll simply select preset 0, 10 will select preset 1 etc etc. This allows you to re-use other variables without scaling them. You can even use 0 or negative values, but those are wrapped in the opposite direction: 0 will select preset 2, -1 will select preset 3 etc. This can be used to an interesting effect if you, say, do a loop from a negative number to a positive. So, basically, any value is okay to use, and the ranges specified below are simply to show what the normal range is for that particular command. [note: there is a bug in TT right now where negative values don't get passed properly, you can still use them but they won't work as expected]
II OR.CLK [track 1..4] - track clock, advance specified track
II OR.RST [track 1..4] - reset specified track
II OR.GRST [any number] - reset all tracks (parameter doesn't matter but needs to be provided)
II OR.TRK [track # 1..4] - select track to be modified by the following commands
II OR.DIV [value 1..16] - set the divisor for selected track
II OR.PHASE [value 0..16] - set the phase for selected track
II OR.WGT [value 1..8] - set the weight for selected track
II OR.MUTE [0 to unmute, any other value to mute] - mute | unmute selected trigger
II OR.SCALE [value 1..1616] - select scale, value between 1 and 16 selects that scale for both CVs, to select individual scales combine them into one number: 105 will select scale 1 for CV A and scale 5 for CV B. don't pad CV A scale with leading 0s!
II OR.BANK [value 1..8] - select bank
II OR.PRESET [value 1..8] - select preset
II OR.RELOAD [0 - current preset, 1 - current bank, 2 - all banks] - reload preset or bank
II OR.ROTS [value -15..15] - rotate scale by specified amount, positive values rotate up, negative values rotate down [please note there is a bug in TT right now so negative values won't work, just add 16 to your negative value and use that instead]
II OR.ROTW [value -3..3] - rotate weight by specified amount, positive values rotate up, negative values rotate down [please note there is a bug in TT right now so negative values won't work, just add 4 to your negative value and use that instead]
II OR.CVA [value] - select tracks for CV A, see note below
II OR.CVB [value] - select tracks for CV B, see note below
For CV selection positive numbers are converted to binary with each bit specifying a track, so, for instance, 12 gets converted to binary 1100 so tracks 1&2 are included and tracks 3&4 are excluded. Negative numbers are actually treated kinda like binary representation, so using the example above you could alternatively specify it as -1100. Negative numbers also give you the ability to specify when a track is constantly on - just use 2 instead of 1, so if you use do II OR.CVA -2001 CVA will be affected by track 4 and will act as if track 1 is always on, and tracks 2&3 will not be used. [please note there is a bug in TT right now so negative numbers won't work].
Video demo: https://www.youtube.com/watch?v=XQZmCL5YxgE
In addition to being able to store all the presets to the flash memory you can also store to a USB stick. There are several ways to do so. If you insert a USB stick into the USB port before powering up here is what will happen when you turn it on:
- Orca will load the content of flash memory
- Orca will save it to a file on USB stick
- if there is a file called orca.txt it will load it, otherwise it will use whatever was in the flash. Orca won't start until reading/writing is done which can take 30-60 seconds - it helps to have a USB stick with LED indicating activity.
You can also store to a USB stick at any time by inserting it and then pressing and holding the front panel button - this will save to both the flash memory and the USB stick. You can do this at any time. Orca might slow down a bit while it's saving. The grid will display a floppy drive icon to confirm the save.
Orca saves everything - all 64 presets as well as the predefined arc sets and the 16 shared scales. USB stick is expected to be FAT32 formatted (same requirements as Teletype). It will store to files named orca_s0.txt all the way up to orca_s9.txt. If you continue saving after that it will just keep overwriting orca_s9.txt, so if you expect to save more often make sure to move your files from USB stick to a hard drive. For loading it will look for a file named orca.txt, so just copy one of the saved files with that name and it will load it.
It's also easy to edit it or create your own file as it's a text format which can be edited with a notepad (it doesn't use Windows style line endings, so if it looks like one line try opening it in something like notepad++). The file format is pretty self explanatory:
- all spaces and tabs are ignored, even within words or numbers
- any unrecognized keywords are ignored as well
- the parameter and the value must be separated by a colon
- sets must be separated by commas
- any values below the normal range will be given the smallest possible value (or the largest if above)
- values for parameters like track or gate selection must be 0 padded binary numbers where the digits from the left to the right represent tracks 1-4 (so 0011 means tracks 1&2 are not selected, tracks 3&4 are)
- rotate weights and rotate scales should have 16 comma separated values in the -2...2 range
- scales are represented using numbers covering 5 octaves (0..59) where 0 translates into 0V output
- bank and preset parameters simply tell Orca which preset is being described
- you don't have to specify all 64 presets, it will simply update whichever ones are included
- when saving it will always save all 64 presets
Here is an example:
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
current 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 A: 1
selected scale B: 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
The front panel button does different things depending on how it's pressed and what is connected. When using arcs a single press switches between different arc pages (see the arc section for more info). With a grid a single press shows the current counters. Pressing and holding the button saves all 64 presets to flash (and USB stick if one is inserted).
The top knob does nothing. The bottom knob controls the clock rate (when using the internal clock) or clock multiplication / division when using an external clock.
Orca can be clocked either internally or externally. If nothing is plugged into the clock input the internal clock is active. In this case the clock knob on the module controls the clock speed.
To use an external clock plug it into the clock input. When an external clock is plugged in the clock knob controls the division or multiplication of the external clock. You can divide or multiply by an integer number between 1 and 8. The division or multiplication will be displayed on the grid/arc while you change it (left for division, right for multiplication). Since Orca has to calculate the period when using multiplication it can only reliably follow a stable clock (division should be okay with any clock), so something with a swing might not work as expected (but could be fun to try...). For most reliable results, especially when using swing, set the div/mult to 1 - in this case Orca simply follows the external clock.
Teletype integration opens up some possibilities not available in standalone Orca - using Teletype you can clock each track individually! Use the
II OR.CLK # command (where
# is the track number) to advance the specified track (track parameters still apply, including the divisor). The main Orca clock (external or internal) is still enabled in this case, you can use it for some interesting effects especially if you run it on a different rate. If you just want to control Orca with Teletype alone simply insert a dummy cable into the clock input and set the clock division to 1. You have to have the internal or external clock enabled if you are planning to use the rotate / mutate sequencers or the global reset!
TIPS AND TRICKS
You can use Orca as a basic linear sequencer with up to 16 steps. This can be a good starting point - consider storing it into one of the presets so you can come back to it easily. Here is what you need to do.
leftmost column - track parameters
- [row 1 | divisors] set to 1, 2, 4, 8
- [row 2 | phase] set all to 0
- [row 3 | reset] set all to 0
- [row 4 | chance] set all to 0
second column from the left
- [row 2 | triggers and weights] select this page, the right 8 columns in the bottom 4 rows are track weights, set them to 1, 2, 4, 8
third column from the left
- [row 1 | rotate scale seq] double press to clear the rotate scale sequencer
- [row 2 | rotate scale seq] double press to clear the rotate weights sequencer
- [row 3 | mutate seq] double press to clear the mutate sequencer
- [row 4 | global reset] double press, this will reset all internal counters to 0, not really needed but do it just in case, and set global reset to 16 - again not strictly needed but this will allow you to use rotate/mutate sequencers later
At this point it should step through notes 1-16 consecutively. You also want to make sure your CVs use all 16 notes - this is done by selecting all 4 tracks for each CV in the 2 rightmost columns, top 4 rows
Now whatever scales you have selected for CV A and B become your sequences. Let's talk a bit about scale editing. The scale edit page button is [col 2, row 1]. One thing to remember - single press on the scale page button turns the CV preview mode on and off. CV preview mode is where it just keeps playing the current note (sometimes it's easier to edit this way), so if that's what you're hearing instead of a full sequence just press it again.
On the scale edit page in the 4x4 note block on the left you should now see it stepping through all 16 notes. Now you can edit your sequence, it's like a vertical piano roll with 4 notes available for editing at any given moment. Switch between the groups of 4 notes using the 4x4 note block.
Since you have 16 scales available per each preset, this means that you have 16 sequences which you can assign to either CV (or both)! There are 64 presets, so you can have up to 64x16 = 1024 sequences in total, all storable to flash or USB drive. To select a scale press the scale edit button and while holding it select a scale in the bottom 2 rows, the bottom row is the scale for CV B and the one above the scale for CV A.
Once you are comfortable with the above try some fun things:
- If you only select tracks 1, 2 and 3 for a CV it will only step through notes 1-8. If you double press track 4 in the CV track selection it will now step through notes 9-16 instead (press it again to deselect). If you only select tracks 1 and 2 it will only step through notes 1-4.
- You can also use global reset to shorten the sequence to any number of steps between 1 and 16.
- Remember you can easily copy and transpose scales. So you could create a sequence, copy that scale to another, transpose it and assign it to CV B. Now CV B plays the same sequence as CV A but transposed. You can also copy to another preset and then transpose, so now you can easily shift the whole sequence up and down by simply choosing a preset. This is a good way to use it as an arpeggiator (especially if you use teletype to switch between presets).
- Try changing track weights and see how it affects the sequence.
Video tutorial: https://www.youtube.com/watch?v=o-ufRr0S4hw
..more will be added
Download the latest Orca release from here: https://github.com/scanner-darkly/monome-mods/releases
I strongly suggest trying to upload the official white whale firmware first to make sure you are familiar with the procedure and everything is set up properly. Follow the official instructions located here: http://monome.org/docs/modular/update/
IMPORTANT: if you're upgrading from an older version of Orca you will lose all your presets. If you have v.2.4 or higher you can save your presets to a USB stick and then restore them after upgrading the firmware (see this section for details).
Once you are able to upload the official firmware you can try and upload Orca. Download
orca-2.5.zip (the number in the name will match the actual version number) from the release page, unpack it into some temporary folder and follow the official instructions, with one exception: on Windows use the following commands instead:
dfu-programmer at32uc3b0256 erase
dfu-programmer at32uc3b0256 flash orca.hex --suppress-bootloader-mem
dfu-programmer at32uc3b0256 start
If you get the message "dfu-programmer: no device present" it is likely due to the module not being recognized as a USB device. Try repeating the cycle - power down the module, press and hold the front button and power it on. If that doesn't help try other suggestions listed here: http://monome.org/docs/modular/update/.
If you tried executing the included flash.command and got an error message about insufficient privileges it might be due to the OS not wanting to run a script that was downloaded. In this case just use a simple text editor to create and save flash.command file with the content copied from here: https://github.com/scanner-darkly/monome-mods/blob/master/orca/flash.command
Once the firmware is uploaded simply restart the module (power it down and back up again). Orca should be running at this point.