Polyphonic earthsea for trilogy/ansible and er-301/just friends/txo


After testing more, am wondering:

Is there a way to record longer presses when using an external clock? I don’t know if I like what happens to the pattern when synced externally cos it loses its ‘swing’ somehow.

Would there be a way to extract the clock from poly-es to use to clock other modules?

And is there a way to sync the second, third, forth pattern to the Master pattern during recording?


with external clock connected it just follows that (a new note or chord is played whenever a trigger is received). preserving your timing at the same time is not possible. something could be implemented but then it’s a much bigger feature with a lot of questions - how would your original timing work in this case, would it preserve the relationship to the clock somehow? or time stretch? etc etc.

one thing you could do if you’re using ansible - the 2nd gate input works as a pattern reset. so you could use your ext clock to just trigger/reset your pattern which will keep its original timing. you can also enter rests - when recording press the top right button.

re: extracting the clock - you can route each note start (or pattern start) to any gate output. see this page for details (i’ll do a video soon too).

you can only use the leader pattern to reset playback of other currently playing patterns. you can’t use it to sync during recording. what you could do is start playback of your leader pattern, then switch to the one you want to record, arm recording, then wait for the leader to start and record whatever you want, and wait for the leader pattern to finish, then stop recording. now your recorded pattern is slightly longer than the leader one, so you could play it and have the leader restart it. hope this makes sense!


The updates with MIDI connectivity are great — it really expands the possibilities of all the various modules!

It’s possible that this is already being considered, but I was wondering about two things:

  1. would it be possible to have a mode where MIDI channels could correspond to a particular CV/gate? (similar to allocation style 3: multi from ansible’s MIDI mode)
  2. when connecting a MIDI keyboard, 0V seems to be set to a really low MIDI note, would it be possible to move it up 1-2 octaves or make the octave shift variable? (I can get around it by using the octave shift function on different keyboards for the moment.)

I’ve had success connecting some different USB MIDI keyboards and sequencers like my OP-Z, and having these features or something similar would help out a lot.


Sorry-confused! Does this version work without i2c, just Ansibe? @scanner_darkly


likely not - the MIDI implementation here is not meant as a MIDI-to-CV function but rather as part of polyearthsea itself, so it has to use the existing mechanism for voice allocation. i could consider adding a way to enable something where each MIDI channel corresponds to a pattern and uses whatever voices are assigned to that pattern. could you describe the use case you had in mind in more details?

noticed that too, will fix in the next version.

you only need to use i2c if you are planning to connect it to er-301 or just friends or telexo. if you just want to use the cv and gate outputs on ansible you don’t need it.


Having different voice allocation possibilities per pattern seems like it would make things more complex, but I think it would be really interesting addition to an already game-changing firmware!

My specific use case is to use an OP-Z where I can assign particular tracks (mono or 2-4 voice poly depending on track settings in the OP-Z) to separate MIDI channels with a mixture of sequenced material on some tracks, and live input and/or mangling of sequenced material on the active track. Right now it seems like polyearthsea reads MIDI from all channels and assigns them as a combined whole, but it would be great if MIDI channels could be allocated separately somehow. That way I could have more control over how material gets routed when using MIDI instead of the grid.

My guess is that this might mean: multiple patterns would need to be able to receive MIDI data at the same time, and there would also need to be the possibility for different patterns with different voice allocations, either setup beforehand by the grid or be automatically assigned when a MIDI device is connected…?


what i meant was just having a switch that would work like this:

  • one mode will send all MIDI notes to the current pattern
  • another mode will send MIDI notes from channel 1 to pattern 1, MIDI notes from channel 2 to pattern 2 etc.

then you would need to set up your patterns so that pattern 1 only uses voice 1, pattern 2 only uses voice 2 etc, and map your voices so that voice 1 is mapped to output 1, voice 2 mapped to output 2 etc.

adding the ability to freely map MIDI channels to voices i’m afraid wouldn’t be feasible - it would complicate the UI further (and i already heard comments it’s very complex as is). this really sounds like a job for some standalone MIDI to CV firmware.

edit: btw there is a bug right now where MIDI will use all voices available, not just the ones the current pattern uses, i’ll fix this in the next version.


Ah ok! I understand the UI problems with freely mapping MIDI channels; a mode with channel 1 to pattern 1, channel 2 to pattern 2, etc. would be more than enough—sorry for being unclear…

Now I’m getting the potential of per-pattern voice allocation, really powerful! :open_mouth:


i am having some issues getting the txo oscillators to work right. it works only if i a do a TO.INIT command on tt and though to oscillators sound, wave transpose and octave works the pitch is always on and the envelope functions have no effect. i also have to do the INIT command every time i add a new voice. Perhaps i need to update the firmware on the txo?

more importantly though, thank you @scanner_darkly for all your work on this!!!


Wanted to report a working setup:

  • teletype with i2c busboard running kbd test firmware (3.0 with a few updates)
  • txo (not plus, I think 0.21 beta?)
  • txi (I think 0.21 beta?)
  • white whale (poly es nov 14)
  • just friends (I think 3.0.5?)
  • er-301 (0.3.25, teletype address set to 0xB1)

I can communicate from all (aside from white whale, haven’t figure out how using teletype).

poly es responds when a grid is plugged into ww usb port from offworld-1 (powered by an iphone usb adapter).

now to actually explore poly earthsea!


yeah there is a bug with txo initialization, i’ll fix in next beta. for now the workaround is:

pick a voice and map it to all 4 (or 8 if you’re using 2 txos) txo cv/gate outputs, then play a note, this should stop any sound from txo. then change it back to how you had it set up, and it should work fine after that. this will basically force polyes to reinitialize txo properly.


assuming your case provides sufficient power (make sure it does!) you can plug grid directly into white whale (offworld might help in case you get grid noise though).

for ww/polyes to control txo/jf/er you don’t need to do anything on teletype, but you do need to enable i2c and map voices: https://github.com/scanner-darkly/polyearthsea/wiki/i2c-control-and-voice-assignment


assuming your case provides sufficient power (make sure it does!) you can plug grid directly into white whale (offworld might help in case you get grid noise though).

The way i have things set up it’s actually easier to switch the cable plugged into teletype between it and white whale (which is going through offworld)

I have not tried grid directly into white whale with my ij 7u. With the 4u plugging directly had a high pitched tone, pretty audible especially when a lot of lights were on the grid (assuming that’s what it was)


Also i2c question. If I have ww (poly es) controlling jf and txo, and say teletype sending commands to er-301 and grabbing knob position from txi, can that cause issues if they are on the same bus?

Just wondering if the issue is the “pipe getting clogged” or “writing to the same destination causes confusion”


i had both successful and unsuccessful results with this scenario. possible that some commands will get dropped, also possible it could cause tt to freeze.


Wow this is a lot of fun! Played around with using the white whale’s cv/gate to sequence mangrove -> three sisters. Playing around with just type now. At first I was gonna say, it was maybe a little strange that it doesn’t cycle through the voices in round-robin fashion, but I actually ended up using that to its advantage.

The notes in just type seem to progressively be effected by FM more the farther they go to the right, so playing the two and three note “chords” here have a more full timbre than notes played out of the first channel.

One thing that could be cool is being able to output a gate as an “end of pattern”. My thought was that you could use that for something like er-301’s pedal looper, or multiply the signal to create clocks in sync with the pattern’s length.


this sounds wonderful!

re: pattern end - you can already do that. on the voice assignment page select pattern start as the source, select a pattern and assign it to any outputs, and it will send a trigger on each pattern start (you can send multiple triggers to the same output btw). if you assign it to a mod bus it will select a new random value for that bus on each pattern start - good for adding variations.


Ah awesome, thanks! 20 chars


Trying to configure an actual Earthsea module…I realize I don’t even know the right question to ask! I’ll keep poking around before I come back with a question that makes sense…:man_facepalming:t2:


saw the question, it’s a good question actually - polyearthsea will utilize whatever outputs are available on the module. so if you run it on earthsea it will map first 4 voices pitch to the 4 CV outputs, and the 1st voice gate to the only gate output - this is not very usable if you want to have 4 independent voices (unless you use it for drones where you don’t care about the gates), but can be useful for chords, where they could all share the same gate.

alternatively a useful set up for earthsea could be using it with one voice and using 3 other voices as modulation (by assigning their key or x/y coordinates to CV outputs), so then you could record a mono line and have additional 3 CVs for modulating filter cutoff or something like that (and since they are still just regular voices, you’re just not using pitch but key/x/y instead, you can record your modulation in a pattern too!).