Metadata-Version: 2.4
Name: pyclef
Version: 1.0.2
Summary: Desktop OMR tool for turning sheet music into annotations, audio, MIDI, and synchronized video.
Author: Vinicius Fernandes
Project-URL: Homepage, https://viniciusfs14.github.io/PyClef/
Project-URL: Repository, https://github.com/viniciusfs14/PyClef
Keywords: omr,sheet-music,music,midi,computer-vision
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Win32 (MS Windows)
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Sound/Audio
Classifier: Topic :: Scientific/Engineering :: Image Recognition
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: PySide6>=6.6
Requires-Dist: numpy>=1.24
Requires-Dist: opencv-python>=4.8
Requires-Dist: Pillow>=10
Requires-Dist: pydub>=0.25
Requires-Dist: pdf2image>=1.17
Requires-Dist: mido>=1.3
Requires-Dist: moviepy>=1.0
Requires-Dist: ultralytics>=8.3

# PyClef

PyClef is a desktop Optical Music Recognition workflow for turning sheet music
into annotated pages, audio, MIDI, and synchronized video.

## Usage

```python
from pyclef import Pyclef

Pyclef()
```

Or from the terminal:

```bash
pyclef
```

## Model file

The YOLO model is not included in the PyPI package because it is larger than the
default file limits for GitHub and PyPI.

On first processing, PyClef looks for the model in this order:

1. `PYCLEF_MODEL_PATH`, if set.
2. The user cache at `~/.pyclef/models/best.pt`.
3. Automatic download from `PYCLEF_MODEL_URL`.

By default, `PYCLEF_MODEL_URL` points to the PyClef GitHub Release asset:

```text
https://github.com/viniciusfs14/PyClef/releases/download/model-v1.0.0/best.pt.zip
```

Create that release and attach `best.pt.zip` to make the download automatic for
users.

On Windows, you can create the release asset with:

```powershell
Compress-Archive -Path .\pyclef_app\model\best.pt -DestinationPath .\best.pt.zip -Force
```

For manual setup, place `best.pt` here:

```text
~/.pyclef/models/best.pt
```

Or set `PYCLEF_MODEL_PATH` to the full path of the model file before starting
PyClef.

## External requirements

PDF input uses Poppler through `pdf2image`. On Windows, install Poppler and make
sure the path configured in `pyclef_app/config.py` is available on your machine.
