Passthrough

Passthrough

A library to pass midi between devices connected to Norns.

params1
params2

This is a tool I’m using as part of a live set I’m working on, and hopefully, it may be useful for others.

Passthrough aims to easily add the possibility to Norns scripts to control external synths with an attached MIDI device. A typical scenario is running a Keystep into Norns out to a synth via a Mio interface, whilst running some unrelated scripts. It is possible to send clock messages to the midi device from the interface, and the incoming notes can be quantized if desired.

It allows user event callbacks for defining specific routing within your scripts.

Requirements

Norns + two MIDI devices

Documentation

There are a couple of example scripts to run in the Github repo. For the basic functionality, all you need is to add at the top of a script:
local Passthrough = include("lib/passthrough")
If you add the library outside the current script’s directory, you’ll need to change the path. Then add Passthrough.init() in your script’s init function.

Download

v1.2 - Download

Github

33 Likes

This is great! I used it with MIDI USB-USB to share my 16n controller between my Norns and my iPad running AUM.

2 Likes

Could this be used to pass a 16n through from one norns to another norns?

Say I have one 16n and wish to have it control the global params of 2 norns. Would I be able to plug the 16n to norns A that is running passthrough and then connect norns B to Norns A to program PSETS there?

3 Likes

Thank you for this. Works great.

2 Likes

This is so great, thank you!

1 Like

Not certain on the specifics of connecting one norns to another - i saw the discussion on another thread which suggested OSC or separate wired connections from 16n to your Norns, both would make sense. You could make some changes to Passthrough - check the function Passthrough.device_event, line 51 filters for Midi CC messages. This would be a good place to add some OSC code for sending messages coming from 16n.

Anyone tried this with a Sensel Morph yet?

1 Like

I haven’t, but I’ve been quite curious to try out a Sensel Morph someday. Do you have one?

Not yet! But this would help influence my decision.

Given that I don’t have any devices that do MPE, I don’t know what those specific MIDI messages would look like. It may well require some changes to the script but I would be motivated to get that working.

Okie doke. Well, the fact that it has a Premiere Pro overlay as well sold me. Should be here this week. I’ll test it out and report back!

1 Like

If I added this to Timber Keys, could I sequence samples with Timber + OP-Z while also running midi through to Ansible?

I’m reading the Timber code now and still a little confused where each Passthrough thing goes.

Yeah you should be able to just import it like in the example - and then it appears as a menu item in Timber Keys script. It should only be two lines of code. How are you connecting to Ansible from Norns?

I hadn’t seen this script! I will try it because I was just searching for something to control the Hydrasynth with the Morph! Thank you!

1 Like

Report back if any issues encountered and I’ll try to get them sorted :slight_smile:

1 Like

So the process would be

and that’s it?

(thank you for your patience, this is the first script i have ever modified :sweat_smile:)

Yep - that should do it. I would take only this file and put it in timber/lib as I guess it could get messy having a repo with its own lib cloned within another script’s directory. Let me know if that doesn’t work and I’ll have a look!

it worked!!! thank you :slight_smile:

1 Like

well, the code worked, but for some reason norns doesn’t seem to recognize ansible as a midi device? edit: I see, both expect to be host and I’ll need something to mediate between them.

Since Norns are hosts, regardless of the passthrough script you’ll need an intermediate device to allow Norns to Norns midi communication. With that in place, I would assume that you could achieve what you’re looking to do.

For connecting host to host check out @okyeron 2Host or my own Prost or look across the interwebs for non-DIY solutions.

1 Like