Connect-OPZ: using USB audio with norns

Good job everyone extending this beyond my adversarial design which is bound to OP-Z, and helping each other do it :+1: Norns friendship can extend to any USB class compliant device, as accumulating evidence higher up the thread documents.

I get those “cannot allocate memory” errors sometimes too, meaning the script won’t engage OP-Z. I usually just restart norns and it’ll be fine after that.


does this work with the OP1 with the new update today?

1 Like

It can! If you scroll up a few posts you can see how to make it work :slight_smile:


20 characters of scrolling :nerd_face::face_with_monocle: thx…

1 Like

does this line have to match names of any other devices we use?
before updating the app i could connect anything as long as i used the proper device id

also what would it take to make this device agnostic? i’m willing to maintain a local version that doesn’t care which thing i connect and just works (is hotswapping a pipe dream?)


This would be amazing.

1 Like

Hello! Thanks for the script. It works great with my op-z. I tried it today with my op-1 and the new update, and it works there too for audio out over usb. I have been trying to figure out a way to record stereo output from my norns, without needing to buy a zoom or something. It seems that the audio out through usb from norns shield to op-1 comes out mono, and I’m wondering if this is a limitation of the op-1, or if something in this script could enable stereo out to the op-1.

I hope this question makes sense. Thanks.


The OP-1 sampler engine itself is mono, as far as I know (so anything you drop in via computer or record in will end up mono). same with the tape tracks (the final mix of those tape tracks can obv be stereo by panning etc).

On norns itself, you could use the ‘internal’ tape to capture what’s going on I’m pretty sure


@aaronweits is right

you don’t need a zoom recorder or any other external device…

the built-in TAPE function provides unlimited space for stereo recording of all sound passing thru or produced by norns

i use that feature daily!

1 Like

I’m constantly surprised by how much norns is not really an end (beginning is also a end) of chain device. It very much IS the chain.


Yeap same for me @jensu, and writing some disposable one-off connections or “patching” in almost modular synthesizer style is fun. Power, audio and MIDI flying left and right, and why not OSC too, custom serial data with micro:bit and Arduino, and some HTTP network traffic. Norns really is a¹ sound computer.

@glia Hot swapping is not a pipedream at all (I’ve got some sketches for this in the Readme and in code and will come back to it after July), but disconnecting the device (OP-Z for myself) leaves Jack in an unstable state if not brought down with grace. Reboot always helps. Device agnosticism isn’t hard, something simply needs to point the alsa_in and alsa_out processes to the correct USB device, that’s it.

¹ Turing complete


Worked for me too. However I am not able to disconnect once connected. Anyone else running into issues here? My Norns is freezing to the point of having to press the reset button underneath the case after trying to disconnect from the connect script.

Can this script be used somehow to allow norns shield to do audio out over usb for any connected device? I want to record video and audio with my phone (pixel 4a), it works great coming out of the op-z, but would be cool to record straight out of norns too.

1 Like

since your phone can connect to opz…tentatively i’d say yes
but might take configuration

i’m also curious, why record on the phone when you can record directly on norns? are you using some mobile fx on the phone or what?

I’ve tried to connect audio to my phone (OnePlus 6 Android device), but haven’t succeeded yet. I haven’t tried very hard in all honesty.

My use case is to stream directly from norns to internet, for 60 second private concerts/audio messages to my loved ones or friends on Signal, Telegram, WhatsApp &c, or microconcerts to our reading group &c or even surprise public streams, without making any recordings.


I like to make short videos for Instagram, and it’s very convenient to just record video and audio together and post it. I was using a usb sound card to bring the audio in, but they’re all mono. Then I switched to using the opz and my final stage because I can use the usb port there to get stereo audio out, for some panning. But the audio line in on opz (and op1) sum to mono, so any cool panning on norns is lost. If I can get usb audio out working on norns, I can use that and my final stage and it should all be gravy.

Basically doing anything I can to not have to buy a real audio recorder/mixer and learn how to edit videos :laughing:



this is slightly off topic but i didn’t know that

Been using this since I got Norns shield. Just wanted to pass along my gratitude!

Wanted to +1 for having this be device agnostic without having to change the script.

For selfish reasons and wishful thinking it would be amazing if Norns could act as a “mixer” to tape record 2 different USB audio devices. I understand that in its current form it’s already pretty CPU heavy but one can hope!


Wanted to bump this question and see if anyone else has tried a USB mic into norns (Yeti, Rode, Etc) I am wondering if this is possible using the same methods as the op-1 or op-z.

1 Like

There might be some exciting news that this script might soonish be deprecated in favour of a more generic solution for USB audio.

Meanwhile if someone wants to check out a plug-and-play version of this script, read on. It works by connecting audio from OP-Z in the background, without the need to load up the script. This functionality kind of replaces loading the script at all. I use connect-opz basically every day and this functionality streamlines the routine after each restart. The initial setup of this functionality is currently not automatic and requires running a few command in the terminal or Maiden. Be adviced that the plug-and-play functionality modifies the operating system configuration, which might be yield trouble later. Finally, always turn down the volume before disconnecting OP-Z from USB. The branch is called plug-and-play and you’ll find it in the GitHub repo. Fingers crossed it works for you too if you feel adventurous and want to try it out :green_circle::large_blue_circle::upside_down_face::red_circle:

For those who want to know about such things, an udev rule pick up the kernel event of a new audio device, and runs a user service with systemd, which starts the audio alsa_in audio routing process and patches it to jack. The service killalls (ygh how rude!) alsa_in when kernel reports that the OP-Z has been disconnected from USB.