All Projects → xmacex → connect-opz

xmacex / connect-opz

Licence: GPL-3.0 license
Connect OP-Z as an audio device on norns.

Programming Languages

lua
6591 projects
shell
77523 projects

Projects that are alternatives of or similar to connect-opz

z-po-project
Z-PO Project
Stars: ✭ 63 (+117.24%)
Mutual labels:  teenage-engineering, op-z
norns.online
online norns with norns.online
Stars: ✭ 32 (+10.34%)
Mutual labels:  monome, norns
orca
Lua port of @neauoire orca for monome norns
Stars: ✭ 75 (+158.62%)
Mutual labels:  monome, norns
demuxusb
A program and toolset to analyze iDevice USB sessions
Stars: ✭ 25 (-13.79%)
Mutual labels:  usb
EspNowFloodingMesh
Arduino EspNow managed flooding mesh network with mqtt
Stars: ✭ 55 (+89.66%)
Mutual labels:  usb
DfuBootloader
STM32 USB device bootloader using DFU class interface
Stars: ✭ 79 (+172.41%)
Mutual labels:  usb
ES-Timer
A USB timer powered by Digispark ATtiny85 according to 🍅 pomodoro time management technique
Stars: ✭ 45 (+55.17%)
Mutual labels:  usb
Qtusb
A cross-platform USB Module for Qt.
Stars: ✭ 245 (+744.83%)
Mutual labels:  usb
tutorial
Norns tutorial with source files.
Stars: ✭ 40 (+37.93%)
Mutual labels:  norns
f1usb
Einfaches Beispiel für die Entwicklung eines USB FullSpeed Device auf Basis des STM32F103 ohne die Verwendung externer Bibliotheken
Stars: ✭ 27 (-6.9%)
Mutual labels:  usb
libusb
Go bindings for the C libusb library.
Stars: ✭ 74 (+155.17%)
Mutual labels:  usb
Windows-to-Android-Internet-with-USB-Cable-Reverse-tethering-setup-for-Windows
One click windows to android internet connection (Opposite of Android USB Tethering)
Stars: ✭ 34 (+17.24%)
Mutual labels:  usb
python-hid-parser
Typed pure Python library to parse HID report descriptors
Stars: ✭ 31 (+6.9%)
Mutual labels:  usb
CH552
L1 R1:WCH 24MHz MCS-51 USB MCU (CH552T/CH552P/CH552E/CH552G/CH551G)
Stars: ✭ 32 (+10.34%)
Mutual labels:  usb
node-beagle-boot
A node.js USB bootloader server for BeagleBone for booting it into mass storage mode
Stars: ✭ 17 (-41.38%)
Mutual labels:  usb
CH330 Hardware
CH330 breakout board
Stars: ✭ 24 (-17.24%)
Mutual labels:  usb
jaylink
A Rust library for talking to J-Link USB devices
Stars: ✭ 28 (-3.45%)
Mutual labels:  usb
arduino-midi-footswitch
USB MIDI Pedal built with Arduino
Stars: ✭ 24 (-17.24%)
Mutual labels:  usb
MultiOS-USB
Boot operating systems directly from ISO files
Stars: ✭ 106 (+265.52%)
Mutual labels:  usb
EspTinyUSB
ESP32S2 native USB library. Implemented few common classes, like MIDI, CDC, HID or DFU (update).
Stars: ✭ 375 (+1193.1%)
Mutual labels:  usb

Connect OP-Z

Connect OP-Z as an audio device on norns.

This norns program has a single purpose, namely to connect monone norns to teenage engineering OP-Z audio over USB for both input and output.

I hope to improve my setup in the following regards:

  1. Audio signal from OP-Z headphones to norns input is weak and loses in quality when driving OP-Z at full volume. USB audio has more umph
  2. OP-Z reserves the audio in jack of norns shield.
  3. Less is more.

WARNING: Do not disconnect or turn off the OP-Z when it has been connected as an audio device with this program. This will leave processes running wild on the norns, and will produce loud digital noise.

https://llllllll.co/t/using-usb-audio-with-norns-case-op-z/

Requirements

  • norns
  • teenage engineering OP-Z

Purpose

The following storyline illustrates the ambition, and success of this program.

Original setup in which I have monome norns shield running on a Raspberry Pi 3+ powered by a battery pack. Etymōtic ER2XR headphones are connected to norns output, and OP-Z is connected both with a USB cable for MIDI and with an audio cable for audio from OP-Z to norns.

In a simplified setup the USB cable which I'll use anyway also transport audio both ways, removing the audio cable from the setup and also adding sound from norns to OP-Z.

An extended setup, now that the norns audio input is free for using with a PO-28 Robot, PO-16 Factory or smartphone running YouTube, SoundCloud, browser, Spotify, software synths like nanoloop and Caustic, messaging apps etc. fun sound sources.

Function

The way this program works is that is runs alsa_in and alsa_out for the connected OP-Z, and routes them softcut and crone in jack. This manipulates the audio stack under norns, which remains ignorant of these changes.

Enabling input from OP-Z to norns and output from norns to OP-Z are controlled separately.

Further ideas

It would make sense to do this at system level rather than a norns program. This would be done by adding udev rule in /etc/udev/rules.d plus writing a program which starts alsa_in and alsa_out when the OP-Z is plugged in and adds the jack routes, and tears this setup down when the OP-Z is disconnected from USB.

Another idea would be to amend the norns systemd service norns-jackd which is defined in file /etc/systemd/system/norns-jack.service.

It might be worth looking at alternatives to alsa_in and alsa_out, Jack 2 might have something for this.

Last idea would be to get a hardware mixer, rather then user norns as my mixer.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].