SkillAgentSearch skills...

OP1Kenobi

A Teenage Engineering OP1 Companion Device

Install / Use

/learn @jgoergen/OP1Kenobi
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

OP1Kenobi

A full featured Companion for the Teenage Engineering OP1 Keyboard written in Python 2.7

Front View

While I adore my OP1, there are some things I would love to augment a bit to improve the workflow, plus more features = more better.

Video walkthrough of the hardware build

Coming Soon...

Current developement progress:

| Progress | Description
| ------------- |:-------------: | 80% | Setup hardware | | Done! | Setup Linux environment | | 90% | Complete v1.0, MVP features | | 90% | Put together github for everything. | | 0% | Put together tutorial video on initial build, initial code, key learnings and demonstration. | | 0% | Complete V2.0, Expand feature set to less essential features | | 0% | 3d printable case |

The linux distro is typical raspbian lite. Upon booting it automatically runs the python script. The usb soundcard has been soldered directly to one of the usb ports on the usb hub and set as the default for the os and the controls + display auto start on boot as well. You'll notice that I used a Raspberry Pi Zero instead of a Zero W. This was because I wanted to be able to omit the wifi adapter when I didn't need wifi ( easier on the battery, primarily. ) You could totally sub in a Zero W instead and have wireless connectivity all the time.

The hardware consists of:

  1. A Raspberry Pi Zero Amazon Link
  2. Screen + Controls 'hat' Amazon Link
  3. 4 Port USB Hub Amazon Link
  4. USB Soundcard Amazon Link
  5. LIPO Battery Charge controller [TBD]
  6. LIPO Battery [TBD]
  7. LIPO BATTERY 5v Boost Convertor [TBD]
  8. Teenage Engineering OP1 Amazon Link

Front View

Front View

The actual application code is all written in Python 3.x using Pygame as the core.

Current Features

4 buttons + d pad controls

Color oled screen

3 extra USB ports

Permanent USB Soundcard

A sound librarian ( wav and mp3 playback ) for building new drum kits and loading ( recording ) them or loading ( recording ) sampler synth sounds

A patch librarian for copying synth and drumkit patches to / from the OP1 with renaming ability

A complete backup / restore system supporting as many different 'snapshots' as you can store.

Auto routing any other USB MIDI devices to the OP1

SAMBA file sharing over Wifi

Auto starting the Python app on boot

Features I want figured out for V1.0

A more complete file editor system ( create folders, rename things, multi select, etc. )

A rechargeable battery

A 3d printable case

A menu feature to get latest from github and restart

Long term goals that would rule:

Wifi Access Point editing

AIF preview for sampler patches and drum kits

A system for running effects on sounds and generating new sounds.

Some simple sound generation features like single cycle sounds, sweeps, noise, glitchy noises, etc.

Actual drum kit editor of some sort ( screen is kinda small so that's a limiting factor )

Some kind of midi recording / playback system with quantizing, so you can play something into it, quantize that, then play it back into the OP!. The scope on this could go on forever, adding chord / arp effects that could be ran on top, adding a step editor, etc.

Loading midi files, choosing a start / stop point and track and playing the data out to the OP1. ( I want this for remixing video game music )

A case that attaches to the OP1 ( plugging directly into the ports on the right ) as if it were an actual OP1 addon.

Hardware setup information

Coming soon

Required Python Libraries

pyusb - ( pip install pyusb ) RPi.GPIO - ( pip install RPi.GPIO )

View on GitHub
GitHub Stars8
CategoryDevelopment
Updated3y ago
Forks1

Languages

Python

Security Score

70/100

Audited on Jun 21, 2022

No findings