16n Faderbank: build help, dev suggestions


#62

Thanks! I didn’t know that “General CV” has a MIDI Out (I’m not interested in the General MIDI synth though.) I briefly looked at the manual and it seems like it can only convert one CV/Gate at a time (the other Ins are being used for other purposes.)

The CV/Gate to MIDI modules I found are Doepfer a-192-2 (two streams) and Entrospec Iungo.

I think I’m just looking for even more reasons to buy a Teletype. :wink:

I wouldn’t need more than one stream at a time. Would I still need a TXi? The Teletype product page isn’t clear about the number and types of IOs. Are there 8 Trigger Ins and only one CV In?


#63

General CV has a mode called Programmable Mode (page 52), it allows you to convert anything sent to the 9 inputs to either Notes On / Off or CC. You can use all the 9 inputs at a time. You’ll need a Midi expander (or if you have an Intellijel case, you can connect the midi header directly to the DIN outputs of the case)

Ornament and Crime can also do that using the Hemisphere alternative firmware but the USB output is behind the module (on the Teensy), not very handy but it works.

Other option : https://github.com/mxmxmx/CV2Midi

I’m not sure wether you need a TXi if you’re sending/converting only one stream at a time, you could use the “In” input of the Teletype for reading CV but the TXi has built-in quantizers, I think Teletype alone doesn’t have these “scale quantizers” operators but it has a QT operator, maybe you can create something using this, I never tried.

Yes, exactly


#64

yes, you can only convert one CV/gate pair with teletype. with telexi you could convert 4 more pairs. as for quantization it’s pretty simple to just calculate it (but yeah you could use the built in quantization ops as well).

since teletype has multiple trigger inputs you could also assign a note to each trigger and then use something like meadowphysics to generate MIDI notes.

i’m going to start a separate thread for this as it feels like it’s getting pretty off topic for this one.


#65

i’d like to add sysex functionality to the 16n firmware for controlling old hardware like the roland mks-50

i could just hack it in there - but i’m looking for suggestions on the best way to implement/integrate with respect to the existing firmware and keep things flexible so anyone could create new sysex mappings and swap them out easily.

for reference, here’s source for a custom mks-50 controller

https://bitbucket.org/loveaurell/roland-alpha-juno-mks-50-midi-controller/src/29828c0d5f412076fcd8610634ce5c85d20ba1eb/src/mks50_controller/?at=default


#66

That would be amazing with a Roland JD-990 as well


#67

I imagine that a solution could involve using midi reprogramming via a web browser. I have a naked boards controller that allows for parameter remapping this way. Does anybody know how this works?

Another solution could involve xml files with an agreed upon xml contract.

I’ll defer to the teensy experts at this point. :slight_smile:


#68

I started playing with browser-based webmidi and have some example teensy code for sysex, but haven’t really put them together yet. I’m still very far from getting “save your settings” type of functionality working


#69

a browser based editor would be amazing.
in the mean time, i’m 100% fine with customizing sysex stuff in the firmware.
just curious about how to best add that into the existing firmware in a clean and efficient manner.


#70

i could add something to allow for easy sysex modding. how would it work for your use case, sending sysex messages each time a fader is moved?


#71

that would be wonderful! yeah, sending new sysex with each fader update seems right.


#72

My rough, back-of-the-envelope guide would be:

  • optional things go behind DEFINEs.
  • it feels like all you’re doing is sending sysex messages at the same time you’d send a MIDI message, so that’s an easy part of the code to do something like #ifdef TRANSMIT_SYSEX
  • I’d put the sysex mapping itself in another file, eg sysex_mapping.h, which is irrelevant if the flag is off.

The feature flags, whilst not as nice as browser-based config, work well to tidy whole features away, I think.


#73

i just compiled the firmware from github to use the 16n as master, and it works as expected apart from the first (leftmost) fader: no value from this fader is transmitted either on i2c or via usb-midi (browser test page).
If i load the hex firmware v132, this first fader (as well as the others) works, so it is likely not a hardware issue. Any ideas ?


#74

@Nordseele @scanner_darkly I know you two were talking about having 16n as a bridge for MIDI to I2C. It’s that still in the works?

I’m super interested in the idea of sending MIDI from my laptop/controllers over the USB port on the 16n and then through to my ER-301 via I2C. :exploding_head:

Many thanks!


#75

Ha, just saw you two talking on the OD forum:

Exciting stuff!


#76

yep, i should hopefully have something soon. to summarize, here are the currently discussed options for 16n:

  • 16n in follower mode: the ability to send MIDI notes and poll CC values from teletype (already done, experimental firmwares posted here). notes will be sent via either minijack or USB MIDI, CCs can only be read from USB MIDI.

  • 16n in leader mode: the ability to convert MIDI notes and CCs to i2c. i did a quick test with just friends, working on adding er-301 support (need to implement voice allocation and adjust SC.CV / SC.TR mapping once it’s finalized).

for completeness sake, there are also these solutions for i2c-MIDI:


#77

20 characters of :fire:


#78

ok added support for sysex in this branch:

to enable sysex you need to uncomment TRANSMIT_SYSEX define in config.h. i copied the sysex from the repo you linked, but you probably want to set mks50Groups and mks50Params to something that makes sense.

i’ve structured it so that it’s easy to add more implementations in the future. instead of using hard coded data i went with functions in case some additional calculations/transformations will be needed. for now it will send to both minijack and USB MIDI, this could be split eventually. channels are controlled in config.h similar to how CC channels are determined.

can you give it a try? i don’t have mks-50 but i’ve tested with midi-ox and i can see sysex being sent properly.


#79

hello,

can I use the Faderbank USB Midi as an input for Teletype, in order to get an USB-Midi to I2C Bride?
Sorry if that has been already answered :slight_smile:


#80

i posted firmwares upthread that allow you to read USB MIDI CCs from teletype. for notes it’s not really suitable as teletype works as i2c leader, so you couldn’t, say, trigger scripts when a note is sent.


#81

yes! amazing. i was about to test this out but then i realized i need some sort of midi combiner to be able to send notes and 16n controls to the mks-50 at the same time. is there currently a way to forward incoming usb midi notes to the 16n din output?