Getting Started
Get Potatoslicer running on your machine in under a minute.
Requirements
- - Python 3.11+
- - Linux (Ubuntu/Debian recommended). macOS may work with portaudio installed.
- - Audio output — speakers or headphones. The app needs a working audio device.
Install & Run
bash +
# install from pip
$ pip install potatoslicer
# launch the sequencer
$ python -m sequencer_app Installs potatoslicer-client, pygame-ce, numpy, and sounddevice as dependencies.
Using the Client Library
To use just the audio engine in your own project (without the sequencer UI):
bash +
$ pip install potatoslicer-client Then in your code:
python +
from potatoslicer.player import PotatoslicerPlayer
player = PotatoslicerPlayer()
player.start()
player.load_file("songs/chrome.json")
player.play()
# ... your app runs ...
player.shutdown() Choosing a Songs Directory
By default the app loads the bundled demo songs. Point it at your own folder of .json song files in one of four ways:
bash +
# 1. CLI flag (highest precedence)
$ python -m sequencer_app --songs-dir ~/my-songs
# 2. environment variable
$ export POTATOSLICER_SONGS_DIR=~/my-songs
$ python -m sequencer_app
# 3. click the DIR button in the song browser (persists
# to ~/.config/potatoslicer/settings.json)
# 4. fallback: bundled demo songs The DIR button opens an in-app directory browser with UP / HOME / SELECT / CANCEL buttons and remembers your choice across launches.
Optional Dependencies
| Package | Required | Purpose |
|---|---|---|
| numpy | Yes | Sample generation |
| sounddevice | Optional | Audio output |
| pygame-ce | App only | Sequencer UI |
| python-rtmidi | Optional | Real-time MIDI I/O |
| libportaudio2 | Optional | System lib for sounddevice |
Audio is gracefully disabled if sounddevice/portaudio are missing. MIDI features require python-rtmidi.
Ready to Compose
Explore the features or dive into the full documentation.