Shrimp is a very new project, started on June 29, 2024. The end goal is to provide a simple and efficient framework for live coding music using Python for different protocols: MIDI, OSC, etc. I'm trying to keep as simple and lightweight as possible. Ideally, I'm striving to make easy to use. Shrimp uses Ableton Link for synchronisation with other softwares and devices. It comes with a timing system and several patterning notations. A documentation website already exists, currently kept private!
Features:
- Time : networked clock (Ableton Link) for synchronisation and sequencing in time.
- I/O : basic MIDI and OSC support. More protocols to come.
- Pattern notations:
- Vortex (renamed internally as Carousel)
- My own system, very very WIP, inspired by SC.
To install this package in dev mode, please run the following command (Unix/MacOS):
python -m pip install -e .
It should install the required dependencies (specified in pyproject.toml
). Please note that I am targetting Python 3.11+ for an eventual release. Make sure you have the required version of Python installed on your machine. Use pyenv or virtual environments if you know how to use them.
Shrimp
can be used both as a library and imported as a module:
from shrimp import *
: will import all__init__.py
without__main__.py
.python -m shrimp
: will import both consequently, start a new interpreter.
There are basic tutorials available for the framework itself in the tutorials/
folder. The tutorials are using Python Notebook as a convenient way to mingle text and code. You can run them using Jupyter Notebook or Jupyter Lab. You can also pre-visualize them on GitHub, how convenient!
The examples/
folder contains examples of using Shrimp as a library. You can run each example using your Python interpreter. The examples are meant to be simple and to the point. They are also meant to be easy to understand and to modify.
### Credits and License
This software is licensed under the GNU Affero General Public License v3.0. Please refer to the LICENSE
file for more information.
Many thanks to:
- @thegamecracks for maintaining the LinkPython-Extern dependency that I use for all my projects.
- The contributors of Vortex for their work, and other folks from the TOPLAP community.
Please report any issue you might encounter, I will be happy to help you out. I am also open to any suggestion or feature request. I am looking for contributors to work on this project 😄.
I am developing free and open source software on my own, without any financial support of help. Please consider supporting me on Ko-fi if you like my work. It will help me to keep going and to improve my projects. Thank you!