/playtronica-tools

Tools for augmenting user experience with Playtronica devices

Primary LanguagePython

Background

I recieved the Playtron as a gift and quickly fell in love with the device. I noticed that the out-of-the-box MIDI synth solutions offered by the manufacturers were missing an option to quantize the device's MIDI signals, often resulting in laggy, awkward beats when trying to play on tempo.

I decided to have a crack at building a simple tool for loading samples and playing within quantized guardrails.

Features to come

I will be adding an option to quickly package audio files into a new sample pack.

Quantizer

This class enables the user to apply (albeit rough) quantization to the signals received from their Playtronica "Playtron" device. The Player class receives the following arguments:

tempo             # tempo in BPM (60 is passed by default)
metronome         # Boolean value indicating whether to play a metronome click at the start of every measure (True by default)
sample_pack_path  # If no sample pack is chosen via "Load Sample Pack", the default will be a folder called "samples" in the main directory
quantize          # Boolean value indicating whether to quantize or not

The user should place 16 samples in the samples folder. The names are irrelevant, as long as the file types are .mp3 or .wav.

The samples will be loaded from the "bottom up", starting with the connection marked C1 and upward. Currently there is no support for specifying which connection will play a particular sample.

Hit space at any time to end session.

How to Use

Check requirements

This has been tested on Windows 10 and Mac OS 10.12.6 using Python 3.9.2 but should work for other recent versions.

As for modules, you will need:

pygame
keyboard
PyQt5

Which can all be installed via pip.

Download or clone this repository

Either clone using Git or download .zip folder to your system.

Run main.py

Navigate to the host directory and run using python main.py (You can do this by opening command prompt and entering python C:\path\to\host\directory\main.py). You should see the interface below.

NOTE that on Mac you may need to run as administrator using sudo python3 main.py. A better idea would be to check if you are a member of the audio group: grep audio /etc/group and if not, add your USER to it: sudo adduser USER audio.

Interface

Load Sample Pack

Click the "SAMPLES" button and navigate to a folder with 16 audio files (that end with .mp3 or .wav). At the moment it needs to be 16 files, but if you have fewer than that just copy and paste them until you have 16. Ha.

Tempo

Select your tempo in BPM.

Options

Quantize and Metronome are selected by default. If you are inclined to go unquantized, the metronome will also be turned off (at the moment).

Play

Hit PLAYTRON. When you're done be sure to hit 'space' confidently. :)

The app itself is incomplete, but should be enough to get you going. Please contact me with any issues.

Demo Video

IMAGE ALT TEXT HERE