A library and a framework for synthesizing images containing handwritten music, intended for the creation of training data for OMR models.
Try out the demo on 🤗 Huggingface Spaces right now!
Example output with MUSCIMA++ writer no. 28 style:
Install from pypi with:
pip install smashcima
To quickly learn how to start using Smashcima for your project, start with the tutorials:
- Producing music notation images
- Changing image background
- Using custom glyphs
Smashcima is primarily a framework and a set of crafted interfaces for building custom visual-data related synthesizers.
- Introduction
- Models and service orchestration
- Scene
- Scene objects
- Affine spaces and rendering
- Semantic music scene objects
- Visual music scene objects
- Synthesis
- Synthesizer interfaces
- Glyphs
- Style control
- Asset bundles
- ...
Create a virtual environment and install dependencies:
python3 -m venv .venv
.venv/bin/pip3 install -e .
# to run jupyter notebooks:
.venv/bin/pip3 install -e .[jupyter]
# to run the gradio demo:
.venv/bin/pip3 install -e .[gradio]
Production PyPI at: https://pypi.org/
Testing PyPI at: https://test.pypi.org/
- Update the version in
smashcima/__init__.py
. - Build the package
make build
. - Upload to PyPI
make push-prod
or TestPyPImake push-test
. - When asked, use
__token__
for username and paste in the access token for the password (with thepypi-
prefix). - Check the version has been uploaded and try its installation.
- Submit the version commit and create a release on GitHub.
Note: Don't forget keeping the version at
X.Y.Zdev
when developing versionX.Y.Z
. See thesmashcima/__init__.py
file.
Note: to install from the test pypi, use:
pip3 install --index-url https://test.pypi.org/simple/ --no-deps smashcima
. More info here.
- Read this: https://packaging.python.org/en/latest/tutorials/packaging-projects/
- Package configuration inspired by this: https://github.com/vega/altair/blob/main/pyproject.toml
- For development setup inspiration check out: https://altair-viz.github.io/getting_started/installation.html#development-installation
- jupyter notebooks in git: https://mg.readthedocs.io/git-jupyter.html
- deploying voila: https://voila.readthedocs.io/en/stable/deploy.html