Thank you! I’ll check that out.
Yes you can send anywhere - this is done either by Locals bus or Globals bus. Here’s how to create a global chain Global Chains - docs @ O|D Personally I use “locals” source to share the same cv / audio within a patch just like a multiple in modular land.
For example I would add 1 internal random module modulating 1 parameter then share that same random unit around the patch. I do this by going to another parameter I want to modulate and selecting “local” and then selecting the same random unit that I already inserted previously. You can do the same with Audio. I generally insert a Mix unit first then route the audio inside the Mix unit. A Mix unit is basically 1 fader on a mixer.
What’s not really explained so much for the er301 is the framework and architecture of making a patch on 1 channel of an er301.
The key to that is the Mix unit.
When making a patch I build the framework (mixer) first before inserting any sound stuff. This saves you a world of hassle later when it comes to routing.
So for example, say I am making a drum machine with 4 voices - I would first create a master mixer and inside that, 4 channels on that mixer.
On a blank mono channel. Insert Mix - Rename it “drum machine” open “drum machine” and Insert 4 more Mix units inside it. Rename those BD, SD, HH,
Noise. Once I have that framework first it is only then I then start building a patch and populating each Mix unit channel with audio stuff. I would then goto the top of the patch Mix channel called “drum machine” and save it as a preset and also save to a quicksave.
A couple of things that are worth learning first to save you a lot of time.
- Learn how to load and save to a quicksave slot. It’s saves a snapshot of everything loaded on every channel and also what’s on the locals and globals bus chains.
- once you have done that - in the admin settings (flick the switch) there is an option to “autoload last quicksave on start up”. Very handy for playing live also as it will autoload your set when switched on.
- CPU load - there is also another handy option in the admin settings -
“does bypassing a unit also disable it”
i have this on Yes. It means when you bypass for example a Mix unit - it will also cut the CPU load of everything inside that Mix channel.
I typically bypass a Mix unit before saving to a quicksave - that way it saves quicker and loads quicker. Once the quicksave loads - I unbypass it. Also in the Admin settings is “CPU load” I check this often when building larger patches. I use Sample Rate = 48 and Frame Size = 128 as my default audio settings in Admin. - Learn how to copy and paste units - this saves so much time. You could have a big patch inside 1 mix unit and easily copy or cut and paste it to another Mix unit and modify the copy. I do this a lot with variable speed players loaded with samples and modulation.
- also learn how to install packages - these are extra add-on units that will appear in your main menu - you can download them here - https://er301-hub.netlify.app/ - I highly recommend Accents, Lojik, Filter Delays and Strike especially as a great base to start from. There are others not on there and can be found on the forum. Packages like Trash Tape / Trash Echo / Reels / Ultraviolet / Shatttr / Dattorro Reverb Topics tagged custom-unit Those add ons give you a wide variety of handy stuff - things like random gates. random cv, low pass gates, sidechain compressors, reverbs / extra filters and oscillators - Formant Osc is one I use a lot. Logic things like Chance / Probability / Turing Machine / Euclidean generators.
- Extra things - if you want microtonal stuff - you can load scala scale files into the scale quantizer unit - Any scala (*.scl) files located in ER-301/scales folder will be automatically added to the list of available scales. - here’s 5100 scales
https://www.huygens-fokker.org/docs/scales.zip. NB just choose a dozen of your favourites and drop in the folder - not all of them otherwise the unit would take forever to load. Other things - you can use the Grid Quantizer unit as a bit crusher. You can use the S+H unit as a sample rate reducer. Also there’s a 12 channel multitrack recorder that records to the SD card found in Admin settings…
- er301 is great for cybernetics / feedback patching - Vink type stuff because you have everything - sine oscillators/ tape loopers / delays / bp filters / pitch shifters (grain delay) / ring modulators / limiters and it’s easy to route audio back through submixers. Very few people are doing feedback patches with it.
a few great tips in here that i’ve overlooked, thank you for the detailed list! good reminder to hit refresh and try things out a little differently to broaden the workflow
Thank you so much for the detailed response! Lots of info here, greatly appreciated
May I ask how things are connected? Is earthsea just going directly to the Er301?
I’m using earthsea module so just using 2 physical outs - gate and cv cables to the er301 A1 B1. Faderfox is connected to Teletype and faders sent via i2c cv to er301 - it’s 3 lines of code in Teletype to setup. Teletype accepts a lot of different midi controllers now, not just faderfox.
If you use Ansible Earthsea - you can select er301 from Ansible Kria leader/follower page first then switch to Ansible earthsea. That way you can i2c directly from Ansible Earthsea to er301.
I use Earthsea module because you have longer pattern recording memory plus the additional shapes and outs but Ansible Earthsea works fine if you don’t need that additional stuff.
Thanks for the rundown. It’s quite easy to become obsessed with i2c connections. I have to admit I didn’t even consider that this setup uses the in and output jacks on the modules.
Could someone please quickly point me to the actual i2c messages (in terms of bytes) that correspond to SC.CV and SC.TR?
And by all means point me at the documentation that I’ve clearly failed to find for myself!
I’m pretty sure there is no documentation aside from the thread on the od forum. My knowledge on this is limited and just from some firmware hacking I did for my 16n, but as far as i know, the address the er-301 listens to by default is 0x31 (but can be changed in the settings) and the command for sending a value (i.e. addressing the device sc.cv on the er-301) is 0x11, followed by the port (0-100 is the range the er-301 accepts), followed by the two bytes of the value you want to send. Hope that helps. Maybe someone with more teletype knowledge can help further.
Thanks, that’s what I was after.
What I’d like to do is convert MIDI note on/off to ER-301 i2c. Is that a matter of using command 0x11 for the pitch CV, and 0x00 for the gate, on different (probably adjacent) outputs?
I guess I don’t really know what an ‘output’ is. Is it some kind of virtual channel, so the two commands would need the same output number to associate them somehow?
Where are you sending ii from?
Off the top of my head, I think it could be just to implement SC.CV 1 (V/oct (Midi In))
conversion in the leader and pair it with a TR or another CV to trigger an envelope or vca in 301.
I guess I don’t really know what an ‘output’ is. Is it some kind of virtual channel, so the two commands would need the same output number to associate them somehow?
Virtual CV or gate in, then it depends how you attach them in 301.
There are two separate devices on the ER-301 that output the received i2c messages, one for gates and one for cv. Each instance of these devices can be set to output the messages received on one of 100 channels or outputs or however you want to call them. Since the devices are separate and there are 100 outputs for each, there’s technically no need to send both gates and cv values on the same channel/output - they’re not connected in any way.
However, it would probably be less confusing for your users if the two were transmitted on the same output, just so they can select the same output on both devices.
Thanks, that makes sense.
I’m prototyping some code to convert MIDI to I2C on the disting EX. If anyone’s interested you can track it (and probably get beta firmware) here:
Nice! Do you plan to enable Disting as a leader in an i2c network?
Yes.
Apparently I can’t just answer ‘yes’ so I’m padding out my reply to exceed the required length, which seems like a waste of everybody’s time.
20 characters of why don’t you just tell us how you really feel?
Here’s a crosspost of an emulation of the nearness module. It’s very simple .pkg but could gets more interesting when modulating the panning.
It does look sick as hell, makes it look like one complete module