byte2jam is a new, human-friendly way of encoding data based around unique, memorable musical sequences. In the same sense that a QR code encodes a byte string into a machine-readable image format, byte2jam encodes a byte string into a so-called "byte jam" - a unique, musically consistent and ear-pleasing sequence of notes that can be read back into its original byte string.
byte2jam is written in Python 3 and supports encoding any Python type that can be read as a bytearray (near everything,) storing data in a schema class with MIDI export/import and more to come.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
For now, all you need to run byte2jam is a working Python 3 installation. This project is packaged via setuptools and is intended to be hosted on pip once some more core features are ironed out.
In order to install the package, all you have to do is run the setup.py script with Python and pass an install flag. For local installation:
python setup.py install --user
Or for a system-wide installation:
python setup.py install
Lastly, you can run the test suite locally:
python setup.py test
- Python 3 - Don't know what I'd do without it :')
- python-midi - Used to export and import MIDI files
- Mark Snidal - Design, implementation, and testing - msnidal
- Arielle Evans - Design, testing, and deployment - arevans3
- Alex FL - Design and testing - Cyberunner23
This project is licensed under the LGPL License - see the LICENSE.md file for details.
- In memory of Sheila Naftel, whose dedication and thoughtful passion for piano and musical theory education enabled this small project to exist.