Skip to main content

Training data synthesizer for OMR

Project description

License Apache 2.0 PyPI version Downloads Python Version





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

Getting started

To quickly learn how to start using Smashcima for your project, start with the tutorials:

  1. Producing music notation images
  2. Changing background texture
  3. Using custom glyphs

How it works

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
  • ...

If you feel like improving the library, take a look at the TODO List.

After cloning

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]

Checklists

Acknowledgement

There's a publication being written. Until then, you can cite the original Mashcima paper:

Jiří Mayer and Pavel Pecina. Synthesizing Training Data for Handwritten Music Recognition. 16th International Conference on Document Analysis and Recognition, ICDAR 2021. Lausanne, September 8-10, pp. 626-641, 2021.

Contact

Developed and maintained by Jiří Mayer (mayer@ufal.mff.cuni.cz) as part of the Prague Music Computing Group lead by Jan Hajič jr. (hajicj@ufal.mff.cuni.cz).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smashcima-0.2.0.tar.gz (94.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smashcima-0.2.0-py3-none-any.whl (146.0 kB view details)

Uploaded Python 3

File details

Details for the file smashcima-0.2.0.tar.gz.

File metadata

  • Download URL: smashcima-0.2.0.tar.gz
  • Upload date:
  • Size: 94.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for smashcima-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4be1672e6946821fc97ea81a6310a723b9a8cad359a8ba2b9f52cd94c363b0c3
MD5 62d75b29c5bea8da84e197b57d5b225b
BLAKE2b-256 c8b83072db55470e5694b45e42da114c3dacb46ecb9344ff2d5a76a84ea2c340

See more details on using hashes here.

File details

Details for the file smashcima-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: smashcima-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 146.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for smashcima-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3b6a7a6a8e1386d0ffb2d3f2d961c3c3f1b71344358d218659c71b005c5b1050
MD5 1756992ebecbb57eb6b99098004e2873
BLAKE2b-256 90ec2d3a0d5bda73b45176832d69f7fadb060250ae93a04d591ef46d8d0ff790

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page