Skip to main content

OpenDSP

A headless-first real-time operating system for low-latency audio and video digital signal processing on embedded devices like the Raspberry Pi, or repurposed x86 PCs.

Imagine: A dedicated hardware box running your favorite synths, effects, DJ setup, or custom video processing rig. No mouse, no keyboard, no monitor needed. Controlled entirely via MIDI or OSC.

Inspired by dedicated hardware like the Muse Receptor, but completely free, open-source, and affordable to build, OpenDSP transforms your old PC or Raspberry Pi into a standalone DSP powerhouse.

OpenDSP modular rig


Key Features

  • Headless operation — control entirely via MIDI and OSC, no screen/keyboard/mouse needed
  • Optimized low-latency kernel — CPU power goes to audio/video, not background bloat
  • Deeply customizable — create custom processing environments ("mods") with simple text configs
  • Read-only root filesystem — safely power off by unplugging, no corruption
  • Network file access — Samba share (\\OPENDSP) for samples, presets, configs from any OS
  • Optional GUI — access a virtual desktop via web browser (http://opendsp) or VNC
  • Built-in WiFi hotspot — plug in a USB dongle, access point "OpenDSP" appears automatically
  • Dedicated video output — HDMI/DVI free for projection, manage system without disrupting visuals

Download

PlatformLink
Raspberry Pi 2/3opendsp_0.11.0-raspberry_pi2_3.zip
LiveOS (Intel/x86-64)GitHub Releases

Latest version: 0.11 — see Changelog


Installation

Extract

unzip opendsp_0.11.0-raspberry_pi2_3.zip

This produces a .img file.

Write to SD Card

Windows: Etcher or Win32DiskImager

macOS: Etcher or Apple Pi Baker

Linux:

sudo dd bs=1M if=opendsp_0.11.0-raspberry_pi2_3.img of=/dev/sdX status=progress

Replace /dev/sdX with your SD card device.

note

OpenDSP is built on Arch Linux — the SD card partition is EXT4 (not visible on Windows). The card appears smaller than its full capacity. All data is accessible over the network.


First Boot & Configuration

Connect via SSH, VNC, or native display.

Resize User Data Partition

The user data partition is 256 MB by default. Resize it to fill your SD card:

sudo resizesd

Follow the prompts and reboot.

Change Default Password

All services (VNC, SSH, Samba) share the same password:

sudo changepassword

Default credentials: username opendsp, password opendspd.


Understanding MODs

MODs are the core unit of DSP in OpenDSP — pre-defined configurations that launch and interconnect multiple applications to act as a single, cohesive system.

  • A MOD defines how apps start, connect (audio, MIDI, OSC), and respond to control signals
  • Load different MODs, manage projects, and save sessions — all via MIDI or OSC
  • Creating your own MOD requires only a few lines of text configuration

Example MODs

MODDescription
modular-ingenGeneric modular environment — virtual eurorack
dsp-processingInteractive visuals using Processing
daw-qtractorProfessional mixing and mastering
tracker-sunvoxPower tracker for composing and live electronic music
djing-mixxxProfessional DJ mixing
looper-lupppReal-time 8-track performance audio looper
audio-vlcMIDI/OSC automated audio player

MOD Configuration Format

A MOD is defined by a simple INI file:

[app1]
name: sunvox-lofi
path: /projects/sunvox/
project: Transient - Can It Be Beautiful.sunvox
display: virtual
midi_input: "opendsp:1"
audio_output: "opendsp:1, opendsp:2"

[app2]
name: lebiniou
path: /projects/lebiniou/
args: -x 640 -y 480
display: native
audio_input: "sunvox:1, sunvox:2"

[app3]
name: input2midi
path: /projects/input2midi/
project: inputtomidi.json
midi_output: "opendsp:1"

Copy MOD directories into /mods/ on the user data partition to make them available.


MIDI Mapping

Control OpenDSP via MIDI on Channel 16.

ActionMessage
Load MOD by valueCC 79
Select MOD (knob)CC 85
Change MOD (button)CC 86
Load project by Program ChangeProgram Change
Load project by valueCC 87
Select project (knob)CC 89
Change project (button)CC 90
Restart systemCC 83
Force displayCC 80 (0–41: off, 42–84: native, 85–127: virtual)

Modules use channels 1–15 for their own parameters.


OSC Mapping

Control OpenDSP via OSC on UDP port 8000.

ActionOSC Path
Load MOD/opendsp/mod/load [module_id] [module_bank]
Load project/opendsp/project/load [project_id] [project_bank]
Restart system/opendsp/system/restart
Force display`/opendsp/display/force_screen ['native'
Manage display`/opendsp/display/force_on ['native'

Display Options

Native Display

HDMI/DVI output — ideal for video projection. OpenDSP boots with native display on by default. Disable in config if not needed to save CPU.

Virtual Display (VNC)

Access the full desktop remotely. Use any VNC client:

  • Address: opendsp:5900
  • Web browser: http://opendsp (noVNC integrated)

GPU Drivers

For Raspberry Pi, 3 driver options are available:

DriverProcessingLebiniouOmxplayer
Legacy (default)Fast P2D/P3DNo accelerationPerfect
Fake KMSSlowSmooth + OpenGLPerfect
Full KMSTexture/Shader supportBuggyNo image

Configure via OpenDSP settings.


Audio System

OpenDSP uses Jack1 for audio routing. The Raspberry Pi onboard sound can work with low-latency tuning, but an external USB soundcard (Hifiberry, Behringer UCA202, etc.) is recommended for professional results.


Network Access

Ethernet

OpenDSP tries DHCP on boot. Falls back to 192.168.2.100/16 if no DHCP server is found.

Hostname

If your network supports DDNS, ping opendsp:

ping opendsp

Otherwise, check the IP on the top bar of the native display.

SSH

ssh opendsp@opendsp

VNC

WiFi Hotspot

Plug in a compatible USB WiFi dongle — OpenDSP automatically creates an access point:

  • SSID: OpenDSP
  • Password: opendspd

Samba File Share

Access the user data partition over the network:

  • Windows: \\OPENDSP in File Explorer
  • macOS: Finder → Go → Connect to Server → smb://opendsp
  • Linux: smb://opendsp in file manager

User Data

All user data is stored on a separate partition at /home/opendsp/data/. This includes samples, projects, synth configs, videos, and MOD directories.

SFTP Access

  • Protocol: SFTP
  • Address: opendsp or your OpenDSP IP
  • Username: opendsp
  • Password: opendspd (default)
  • Path: /home/opendsp/data/

Recommended clients: WinSCP (Windows), Cyberduck (macOS).


Available Applications

OpenDSP includes a curated set of open-source DSP applications:

CategoryApplications
Loopersgiada, luppp
DJingmixxx, wxax
DAW / Sequencerlmms, hydrogen, qtractor, non-daw, non-mixer, non-sequencer
Trackerssunvox, milkytracker, klystrack
Modular Synthesiscarla, carla-rack, ingen
Videolebiniou, omxplayer, vlc
DSP Programmingpuredata, processing
Audio Plugins410+ audio plugins (effects, classic synth emulations)

Building from Source

Advanced users can build OpenDSP using Docker and the official Yocto development image:

git clone https://github.com/midilab/opendsp.git
cd opendsp
git submodule update --init --recursive

docker run --rm -it -v ./:/workdir crops/poky --workdir=/workdir
TEMPLATECONF=/workdir/meta-opendsp/conf source poky/oe-init-build-env
bitbake opendsp-base-image

Dependencies

  • openembedded-core
  • meta-openembedded (meta-oe, meta-python, meta-multimedia, meta-networking)

OpenDSP Daemon

All ecosystem logic is handled by opendspd, the daemon that manages MOD loading, MIDI/OSC routing, project switching, and system control. The OS distribution is a convenience layer — the real focus is the daemon.

Support