Connect-OPZ: using USB audio with norns

Forgive my ignorance but are there any docs on how to do this?

1 Like

This file is installed on norns at /etc/systemd/system. Thi is what’s called a “systemd unit file”, which specifies how to start a specific service, in this case the Jack audio server, which lets software speak to audio hardware.

Line 11, that starts with ExecStart is the shell command that launches Jack, which norns then connects to. The argument -d hw:0 tells jack to use the soundcard called hw:0, which is the built-in one. If you plug a USB sound card in, it will most likely be called hw:1. So you can change line 11 to say -d hw:1, and norns will use that when it starts up. This will require a reboot or using systemctl to restart all the required services. From a quick glance, it looks like you might be able to just run systemctl restart norns.target for it to take effect.

2 Likes

Amazing, much appreciated I’ll give this a shot.

1 Like

That’s exactly the procedure :slight_smile:

That looks right. On restarting the service I think You will also get a prompt from the system about reloading the systemd daemon or something.

As far as settings, for USB I’d suggest starting with a very large buffer size and two periods: -n 1024 -p 2

If that works well you can then decrease the buffer size, but probably shouldn’t expect to go below 256.

same story different protagonist…

M8 into norns pedalboard:
https://www.instagram.com/p/CTdMnpqpqOz/

FWIW - I did the install per the plug-n-play github instructions (with a bunch of modifications for the different device). It didn’t want to work properly when I moved the system unit into /etc/systemd/system

8 Likes

i was speculating with someone a while back on the m8 discord about whether such a thing seemed possible, super excited to see that it is indeed!

2 Likes

Just wanted to close the loops on this and I got it to work with both op-z and my focusrite audio interface! Thanks @rvense and @zebra for the support! I edited norns-jack.service via terminal and got it working keeping the default buffer size and periods -n 3 -p 128 but I’ll play around with your recommendation.

I’ll keep my eye on connect-opz because having usb audio + norns in/outs simultaneously comes in super clutch! Thanks @xmacex!

3 Likes

Just changed line 11 of /etc/systemd/system/norns-jack.service to hw:1 and it works great with my op-1. Thank you for this information @zebra and @xmacex, gamechanger!

Now on to figuring out using the norns outs with the op-1 ins… and yes, it crashes Norns to pull the op-1 out.

1 Like

combining the inputs from one device with the outputs of another device is the motivation for the project that is the original topic of this thread. you do need something like alsa_in for this, and there is unavoidable overhead/complexity because e.g. devices may be at different sample rates etc etc.

since i was seeing people on this thread who don’t have that need and simply want to use a USB interface (e.g. bypassing the unsourceable codec IC in a DIY build), i thought i should point out an IMO better solution for that use case in particular.

2 Likes

Sure, thanks for clarifying. Should i move my post elsewhere?

Does anyone use connect-opz successfully with digitakt? I tried some time ago but gave up because of errors. Has anything changed in this regard? Does the mod system affect audio over usb issues?

1 Like

yes but i recall some persistent inexplicable errors too…i can’t remember how i solved the problem

dm me and i’d be happy to try helping but, no, i don’t think there’s a blanket solution

the autojack mod is not bi-directional and excludes midi data iirc

if all you want is to sample DT audio via norns usb input…then autojack > connect-opz for the task

2 Likes

Thanks for your answers!

I’m mostly interested in passing audio from norns to DT with digital audio.

the short answer is, not really. mods offer a cleaner way for user-managed lua code to affect the whole norns system (isntead of functionality being confined to a single “script”.) the “autojack” mod uses the same solution under the hood as “connect-opz” - installing the alsa-in virtual audio device and routing jack connections through it.

whether you use one of those solutinos, or change the JACK configuration as i’ve suggested, the first step of troubleshooting your device is understanding how it appears to the ALSA low-level linux audio layer. a quick search suggests that the digitakt implements a class-compliant usb audio device when the appropriate mode is selected, so it should be usable.

but e.g. a first step would be plugging it into norns and issuing aplay -l on the norns command line.

1 Like

How to edit the file? tried using bitvise SFTP but get access denied when trying to save the edted file

The file /etc/systemd/system/norns-jack.service is part of the operating system, and the user we doesn’t have the rights to edit it, hence access is denied. You will need to edit it as a system administrator, as a superuser.

Login over ssh rather than sftp, and edit with command sudo vi /etc/systemd/system/norns-jack.service. The prefix command sudo runs the rest of the command as superuser, using that editor vi.

Norns is a full-on GNU/Linux computer, that’s why messing with/messing up the systems is possible in the first place :slight_smile: Learning GNU/Linux system management and command line basics, including a file editor like vi above is a powerful, useful and dangerous adventure.

2 Likes

Would you mind posting your M8 mods for connect? The noise while using the M8 as both a midi controller over usb and sending or receiving audio over the audio in/outs is rough.

would you explain how did you use this script with the Digitone?

1 Like

Just wanted to chime in and say thank you for connect-opz. It is now connect-es8. The goal I had in mind was to avoid buying a dedicated output/headphones module for monitoring and recording my modular system. So I changed line 60 from 2367:000c to 20b1:308d for the Expert Sleepers ES-8 and from CARD=OPZ to ES8. Voilá, audio from ES8 input 1/2 into Norns via usb, so I can monitor what I am doing on the modular and at the same time record on the Norns tape.

I hear quite lots of crackles when monitoring, but they are not present in the file saved when recording on the Norns tape. Do you know how to improve the quality of the monitoring? I have tried to set both 44100 and 48000 sample rate with no difference. Nonetheless amazing. I might buy a Pico Output anyway for when I don’t have the Norns with me.

2 Likes