potatoslicer

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
numpyYesSample generation
sounddeviceOptionalAudio output
pygame-ceApp onlySequencer UI
python-rtmidiOptionalReal-time MIDI I/O
libportaudio2OptionalSystem 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.