Phage

Phage is four pages for your faderbank, enabling huge control surfaces for the ER-301
…Pages remember fader values
… …Values pick up from where you left them (aka soft pick-up)

Required ingredients:

  • crow (beta firmware #78 or onwards)
  • faderbank (16n, F8R, Sweet Sixteen, etc.) in follower mode
  • ER-301
  • two gate signals, ideally a 2-bit binary encoding of your page number (hello Teletype)

Phage is configured to however many faders are on your device and sends values to SC.CV ports 1 through (4 * num_faders), usually 64 or 32.
E.g. for an 8 fader device: Fader 1, page 1 = port 1. Fader 1, page 2 = port 9. Fader 3, page 2 = port 11. Fader 8, page 4 = port 32.

Pages are accessed by providing a combination of HIGH/LOW gates to crow inputs 1 & 2. This should be a binary representation of your desired page form 1 to 4 (input 1 = LSB). Sound tricky? Here’s a cheat sheet:

  • Both inputs LOW = Page 1
  • Only Input 1 HIGH = Page 2
  • Only Input 2 HIGH = Page 3
  • Input 1 & 2 HIGH = Page 4

Issues:
This can send a lot of I2C messages and I have witnessed both my TXi and JF choke while on the same bus. You might want to split your I2C into several buses!
I have only tested this with a Michigan Synth Works F8R module. Compatibility with other devices (i.e. 16 fader faderbanks) has not been verified.
I’m still on beta firmware for crow, but I had some weird off-by-one issues for the ii.faders.get functions. YMMV.

Downloads:
For 16 faders phages16x4v1.lua (2.1 KB)
For 8 faders phages8x4v1.lua (2.1 KB)

Roadmap:

  • (Optional workflow) Replace 2-bit page encoding with analog CV breakpoints on Input 1. Use input 2 to zero out current page values.
  • Troubleshoot I2C stability.
  • Do something fun with crow outputs.
  • Publish companion Teletype and ER-301 scripts.
11 Likes

Here’s a Teletype script for sending a 2-bit encoding of the param knob to TR 1 and 2:

I:
M 40
PARAM.SCALE 0 3

M:
TR 1 BGET PRM 0
TR 2 BGET PRM 1