Linear pedalboard constructor for mod-host with PySide6 GUI.
- 🎸 Linear signal chain: Inputs → Slot 1 → Slot 2 → ... → Slot 6 → Outputs
- 🔌 6 plugin slots with Guitarix LV2 effects
- 🎛️ Audio input/output port selection (JACK)
- 🎧 Stereo L/R support - multiple inputs and outputs with flexible routing
- 🔄 Automatic JSON generation in MOD-UI compatible format
- 📝 Real-time JSON preview
- 💾 Save pedalboard to file
- 🎯 Empty slots work as patch cords (signal passes through)
# Install dependencies
uv sync
# Run the GUI
uv run piboard
# Or directly with Python
uv run python -m piboard.pedalboard_gui- Select input and output JACK ports
- Enable Input R and Output R checkboxes for stereo (L/R channels)
- Choose plugins for each slot (or leave empty)
- JSON updates automatically
- Save to
pedalboard.json
from src.piboard.pedalboard_generator import PedalboardGenerator
gen = PedalboardGenerator()
# Mono mode
gen.set_input("system:capture_1")
gen.set_output("system:playback_1")
# Or stereo mode (L/R)
gen.set_inputs(["system:capture_1", "system:capture_2"])
gen.set_outputs(["system:playback_1", "system:playback_2"])
# Add effects
gen.set_slot(0, "GxOverdrive")
gen.set_slot(1, "GxReverb")
# Generate JSON
gen.save_to_file("my_pedalboard.json")- Overdrive, Distortion, Fuzz
- Echo/Delay, Reverb
- Chorus, Flanger, Phaser
- Compressor, Tremolo
- Auto Wah
- Boss DS-1 Style, Tube Screamer TS-9
PiBoard supports flexible stereo (L/R) routing:
- Mono mode: Single input → effects chain → single output
- Stereo mode: Multiple inputs (L+R) → effects chain (mono) → multiple outputs (L+R)
In stereo mode:
- Both L and R inputs connect to the first effect's mono input
- The effects chain processes in mono
- The last effect's mono output connects to both L and R outputs
This allows you to use mono effects while maintaining stereo input/output connectivity.
src/piboard/
├── pedalboard_gui.py - PySide6 GUI application
├── pedalboard_generator.py - JSON generator for MOD-UI format
└── plugins_config.py - Guitarix LV2 plugin configuration
Scripts:
├── example_usage.py - Programmatic usage example
├── mod_host_integration.py - mod-host TCP integration demo
└── test_stereo.py - Stereo functionality tests
- README.md - Main documentation
- QUICKSTART.md - Quick start guide with code examples