Skip to main content

GPT-2 transformer for symbolic music generation

Project description

Metacreation Lab

midigpt

PyPI Python CI Docs License: MIT arXiv HuggingFace

A transformer model for computer-assisted multitrack music composition.

  • Fill in missing bars while preserving your existing arrangement
  • Generate new tracks from scratch, conditioned on musical attributes
  • Steer the output by controlling note density, polyphony, and note duration — globally or per bar
  • Integrate with your DAW via a real-time OSC server
  • One-line setup — load pretrained models from HuggingFace Hub, no compiler needed

Installation

pip install "midigpt[inference]"

Pre-built wheels for CPython 3.10–3.12 on Linux (x86_64), macOS (x86_64 + arm64), and Windows (AMD64). No compiler needed.

Extra What it adds
inference torch>=2.0, tqdm, huggingface_hub
train PyTorch Lightning, HuggingFace datasets, pyarrow, python-dotenv
realtime python-osc, Flask, Flask-SocketIO
http FastAPI, uvicorn
dev pytest, ruff, mypy
all realtime + train

Quick start

Load a pretrained model from HuggingFace Hub and generate music in four lines:

from midigpt import Score, Track, Bar
from midigpt.inference import InferenceEngine, GenerationRequest, InferenceConfig, TrackPrompt

engine = InferenceEngine.from_pretrained("yellow")

# 4-bar score with one empty melodic track
score = Score(tracks=[Track(bars=[Bar() for _ in range(4)])])

result = engine.session(
    score,
    GenerationRequest(
        tracks=[TrackPrompt(id=0, bars=[0, 1, 2, 3])],
        config=InferenceConfig(model_dim=4, mask_mode="attention"),
    ),
).run()

total = sum(len(b.notes) for t in result.tracks for b in t.bars)
print(f"Generated {total} notes")
result.to_midi("output.mid")

The model is downloaded once and cached by huggingface_hub in ~/.cache/huggingface/hub/.


Models

Name num_bars_map Infill Attributes Download
yellow 4, 8 yes note density, polyphony (min/max), note duration (min/max) yellow.pt
ghost 4, 8, 12, 16 yes note density, polyphony (min/max), note duration (min/max) coming soon
expressive 4, 8 yes note density, polyphony (min/max), note duration (min/max) coming soon

model_dim in InferenceConfig is the context window in bars, not a vocabulary dimension — pass a value from the model's num_bars_map. expressive additionally encodes sub-grid timing via delta tokens.


Inference API

Load a model

# By name (downloads from Metacreation/MIDI-GPT on HuggingFace Hub)
engine = InferenceEngine.from_pretrained("yellow")   # or "ghost", "expressive"

# From a local .pt bundle
engine = InferenceEngine.from_checkpoint("path/to/model.pt")

Infill existing bars

score = Score.from_midi("my_song.mid")

request = GenerationRequest(
    tracks=[
        TrackPrompt(id=0, bars=[4, 5, 6, 7]),   # bars to regenerate
        TrackPrompt(id=1, bars=[], ignore=True), # leave track 1 unchanged
    ],
    config=InferenceConfig(temperature=1.0, top_p=0.95, model_dim=8),
)

result = engine.session(score, request).run()
result.to_midi("output.mid")

Autoregressive generation from scratch

request = GenerationRequest(
    tracks=[
        TrackPrompt(
            id=0,
            bars=[],
            autoregressive=True,
            attributes={"max_polyphony": 3},      # quantized attribute level
            controls={"time_signature": 0},        # index into encoder TS list
        ),
    ],
    config=InferenceConfig(temperature=1.0, model_dim=8, polyphony_hard_limit=4),
)
result = engine.session(score, request).run()

Key types

Class Module Purpose
InferenceEngine midigpt.inference Top-level loader and session factory
GenerationRequest midigpt.inference Bundle of per-track prompts and config
TrackPrompt midigpt.inference Per-track bars, mode, attributes, controls
InferenceConfig midigpt.inference Temperature, sampling filters, step planner
SamplingSession midigpt.inference Token-level sampling loop (returned by session())

TrackPrompt fields

Field Type Default Meaning
id int Track index in the score
bars list[int] Bars to generate
autoregressive bool False Generate from scratch (no per-bar prompt)
ignore bool False Omit this track from the token stream
mask_bars list[int] [] Bars hidden with MASK_BAR (disjoint from bars)
attributes dict[str,int] {} Quantized attribute overrides
controls dict[str,Any] {} Token locks e.g. {"time_signature": 0}
bar_attributes dict[int,dict] {} Per-bar attribute overrides (absolute bar index)
bar_controls dict[int,dict] {} Per-bar control overrides (absolute bar index)

Sampling filters

InferenceConfig exposes a four-stage logit-filtering pipeline (top_ktop_pmask_kmask_p):

Field Default Meaning
top_k 0 (off) Keep top-k highest-probability tokens
top_p 1.0 (off) Nucleus: keep the smallest set summing to ≥ top_p
mask_k 0 (off) Remove the top-k most-likely tokens (novelty pressure)
mask_p 0.0 (off) Anti-nucleus: remove tokens summing to ≥ mask_p from the top

A small mask_k=1 or mask_p=0.3 pushes the model off its most-confident picks — useful for getting diverse outputs when novelty_check=True.

Mask modes

Control how future bars appear in the context window:

Mode Behaviour
"token" Encoder emits a MaskBar token (requires vocab support)
"attention" Future bars zeroed in the KV cache via exact span masking
"attention_approx" Single prefill mask + KV surgery; cheaper than "attention"
"attention_skip" Future tokens filtered from input; position_ids passed explicitly
"remove" Future bars omitted entirely from the token stream

Set via InferenceConfig(mask_mode="attention"). "attention" works on all encoders; "token" requires the encoder vocab to include a MaskBar domain.

Attribute controls

Introspect available controls at runtime:

engine._analyzer.attribute_sizes()         # {"note_density": 10, "min_polyphony": 10, ...}
engine._analyzer.attribute_value_labels()  # {"note_density": ["very sparse", ...], ...}
engine._analyzer.attribute_track_types()   # {"note_density": "melodic", ...}

Pass quantized levels (integers in [0, size)) in TrackPrompt.attributes.


Training

1. Preprocess parquet shards

python -m midigpt.training.preprocess \
    --parquet /data/train/*.parquet \
    --checkpoint models/yellow.pt

Builds a valid-index cache so dataset initialization is instant on subsequent runs. Cached in ~/.midigpt/ (override with MIDIGPT_CACHE).

2. Launch training

python -m midigpt.training.trainer \
    --config     models/train_config.json \
    --train-data /data/train/*.parquet \
    --eval-data  /data/valid/*.parquet \
    --output-dir checkpoints/run_001

3. Python API

from midigpt.training.trainer import TrainConfig, train

config = TrainConfig.from_file("models/train_config.json")
train(config, train_path="/data/train/00000.parquet", eval_path="/data/valid/00000.parquet")

train() uses PyTorch Lightning and writes a packed .pt bundle at the end of training containing weights, architecture config, and encoder config.

Key TrainConfig fields

Field Default Notes
n_embd / n_layer / n_head 512 / 6 / 8 Model architecture
max_seq_len 2048 Token sequence cap
infill_probability 0.75 Fraction of samples trained with FillIn tokens
mask_apply_probability 0.5 Fraction of samples with MASK_BAR applied
precision "fp16" "fp16", "bf16", or "fp32"
logger "none" "tensorboard", "wandb", or "none"
num_workers 0 Must be 0 — the C++ MIDI parser is not fork-safe

HTTP server

pip install "midigpt[http]"

# From a local checkpoint
midigpt-http --ckpt models/yellow.pt --port 8000

# From HuggingFace Hub (by name or repo ID)
midigpt-http --pretrained yellow --port 8000
midigpt-http --pretrained Metacreation/MIDI-GPT --hf-filename yellow.pt --port 8000

A stateless REST API — every request carries the full score and generation parameters. The interactive API docs are available at http://localhost:8000/docs.

Endpoint Description
GET /health Liveness probe
GET /info Model capabilities and attribute sizes
POST /generate {score, request}{score, timing}
# Score: 1 melodic track, 4 empty bars — generate all 4 from scratch
curl -s -X POST http://localhost:8000/generate \
  -H "Content-Type: application/json" \
  -d '{
    "score": {
      "resolution": 480, "tempo": 500000,
      "tracks": [{
        "instrument": 0, "track_type": "melodic",
        "bars": [
          {"ts_numerator": 4, "ts_denominator": 4, "notes": []},
          {"ts_numerator": 4, "ts_denominator": 4, "notes": []},
          {"ts_numerator": 4, "ts_denominator": 4, "notes": []},
          {"ts_numerator": 4, "ts_denominator": 4, "notes": []}
        ]
      }]
    },
    "request": {
      "tracks": [{"id": 0, "bars": [0, 1, 2, 3]}],
      "config": {"model_dim": 4}
    }
  }' | jq .score

Use --device cuda, --device mps, or --device auto (default) to select the compute device.


Real-time OSC server

pip install "midigpt[realtime]"
midigpt-server --ckpt models/yellow.pt --port 7400

Listens for OSC messages on a UDP port and streams generated notes back in real time. Generation is triggered bar-by-bar via /midigpt/bar/end on a background thread.

Selected OSC addresses:

Address Direction Description
/midigpt/session/init in Start a new session
/midigpt/track/create in Register a track
/midigpt/note in Push an incoming note
/midigpt/bar/end in Signal bar end (triggers generation)
/midigpt/param/set in Adjust sampling parameters at runtime
/midigpt/attr/set in Set attribute overrides
/midigpt/generated/note out Emit a generated note
/midigpt/generated/features out Per-bar statistics
/midigpt/capabilities out Attribute support for the loaded checkpoint

Development

Setup

git clone https://github.com/Metacreation-Lab/MIDI-GPT.git
cd MIDI-GPT
pip install -e ".[inference,dev]"   # compiles the C++ extension in-place

Prerequisites: Python 3.10+, CMake 3.21+, a C++20 compiler.

Tests

# Python
pytest tests/python/
pytest tests/python -m "not slow and not inference"   # CI subset (no model needed)

# C++
cmake -S . -B build_cpp -DCMAKE_BUILD_TYPE=Release
cmake --build build_cpp -j
ctest --test-dir build_cpp --output-on-failure

Linting

ruff check src/ tests/    # lint
ruff format src/ tests/   # format

pre-commit runs both automatically on commit:

pip install pre-commit && pre-commit install

Release

Tag a commit vX.Y.Z.github/workflows/wheels.yml builds wheels on Linux / macOS / Windows × Python 3.10–3.12, drafts a GitHub Release, and publishes to PyPI via OIDC Trusted Publishing.

Logging

Set MIDIGPT_LOG_LEVEL=DEBUG (or a numeric level) before importing. Accepts both string names (DEBUG, INFO, WARNING) and integers.


Citation

@misc{pasquier2025midigptcontrollablegenerativemodel,
      title={MIDI-GPT: A Controllable Generative Model for Computer-Assisted Multitrack Music Composition},
      author={Philippe Pasquier and Jeff Ens and Nathan Fradet and Paul Triana and Davide Rizzotti and Jean-Baptiste Rolland and Maryam Safi},
      year={2025},
      eprint={2501.17011},
      archivePrefix={arXiv},
      primaryClass={cs.SD},
      url={https://arxiv.org/abs/2501.17011},
}

License

MIT License — Copyright (c) 2026 Metacreation Lab. See LICENSE.

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

midigpt-0.2.4.tar.gz (2.4 MB view details)

Uploaded Source

Built Distributions

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

midigpt-0.2.4-cp312-cp312-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.12Windows x86-64

midigpt-0.2.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (761.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

midigpt-0.2.4-cp312-cp312-macosx_11_0_arm64.whl (571.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

midigpt-0.2.4-cp312-cp312-macosx_10_15_x86_64.whl (636.0 kB view details)

Uploaded CPython 3.12macOS 10.15+ x86-64

midigpt-0.2.4-cp311-cp311-win_amd64.whl (702.5 kB view details)

Uploaded CPython 3.11Windows x86-64

midigpt-0.2.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (761.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

midigpt-0.2.4-cp311-cp311-macosx_11_0_arm64.whl (571.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

midigpt-0.2.4-cp311-cp311-macosx_10_15_x86_64.whl (633.3 kB view details)

Uploaded CPython 3.11macOS 10.15+ x86-64

midigpt-0.2.4-cp310-cp310-win_amd64.whl (405.1 kB view details)

Uploaded CPython 3.10Windows x86-64

midigpt-0.2.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (760.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

midigpt-0.2.4-cp310-cp310-macosx_11_0_arm64.whl (569.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

midigpt-0.2.4-cp310-cp310-macosx_10_15_x86_64.whl (631.8 kB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

File details

Details for the file midigpt-0.2.4.tar.gz.

File metadata

  • Download URL: midigpt-0.2.4.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for midigpt-0.2.4.tar.gz
Algorithm Hash digest
SHA256 3c4b7ef8f3e0a8ca61736ab3e0128be6a9d5853eccaa19164840852fc4365f1d
MD5 63a4edc95ba7acf1d994fc897ff0e984
BLAKE2b-256 e15bbdfdcaa3bb9ee368cfe97040afaa583902131b63f438ee78f4cc91ec4fd1

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.2.4.tar.gz:

Publisher: wheels.yml on Metacreation-Lab/MIDI-GPT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file midigpt-0.2.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: midigpt-0.2.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for midigpt-0.2.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d436b8ad189ae67d8a6b2dc0cc596feba2b11dd5588218714aa6ecaf53ee6c02
MD5 d9813215d5af1fc94e5643ea9232dea4
BLAKE2b-256 8407904d3916721fe391d321054b376364d98171f79a2625a04e8b796f1e8c8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.2.4-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on Metacreation-Lab/MIDI-GPT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file midigpt-0.2.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for midigpt-0.2.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 790ef3892869dab82c15cc7ca034530daf76682f5d31929029da7e893ff4e5f5
MD5 63952d4398d4027ad96397a243acf4b6
BLAKE2b-256 8babbc0344d041743616e9cb9a0f7f1a0b3f3e956894d9b75c3fd90b7878d4da

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.2.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on Metacreation-Lab/MIDI-GPT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file midigpt-0.2.4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for midigpt-0.2.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8aab503ae067664a7d68f5256f69c20fccb28c95f1a7f8da8bd4efc5f2e1b21d
MD5 be7f7dc08d69b9ed6a434dcf4b8a0572
BLAKE2b-256 85440580596f39d4b626c1433553a331800ff800e59fdd1c8833ac980f985337

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.2.4-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: wheels.yml on Metacreation-Lab/MIDI-GPT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file midigpt-0.2.4-cp312-cp312-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for midigpt-0.2.4-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 f5f4ead4b221fec85d05f8afe8aedd17e079ede2ae72833f74b7755b1ae64e4c
MD5 2a4f2ea8c8f38581312267f4f89d25fe
BLAKE2b-256 3137fa503f37637aebe0cb88a57c99f5924cebcb8b7731e87fc8a516af407f51

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.2.4-cp312-cp312-macosx_10_15_x86_64.whl:

Publisher: wheels.yml on Metacreation-Lab/MIDI-GPT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file midigpt-0.2.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: midigpt-0.2.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 702.5 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for midigpt-0.2.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a332dce83aa5e025d562874d6cea178847fc18436e1e9d57f22d6989b3a5b926
MD5 cdf41a0b77c8d4492bc031f176b60540
BLAKE2b-256 630fbbd20eb6647897bca55f77b593e766f433aa6dd2e138446ec02a50b8d580

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.2.4-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on Metacreation-Lab/MIDI-GPT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file midigpt-0.2.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for midigpt-0.2.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fd46e68f26f3725533c08c1abe05405c412b143fbb1792ef7dde83ccae1aafb4
MD5 6dbb42945c900c2e8b7abffd1f5703f8
BLAKE2b-256 4c82804ee80fdc8658311a322a00d003bc825ebdaa147a7ae9978bcc78b8bc2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.2.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on Metacreation-Lab/MIDI-GPT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file midigpt-0.2.4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for midigpt-0.2.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc331fbe3ed0c894e99352e1ab64702ca862e0343722c2d13cb3cbe2e112141d
MD5 8e5b4c2f97c52c6edae06e3d52079958
BLAKE2b-256 e7f48058929c68003c81b78c8e698acfe7e9e4be1a049c8dbdd36af3c5e91bfb

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.2.4-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheels.yml on Metacreation-Lab/MIDI-GPT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file midigpt-0.2.4-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for midigpt-0.2.4-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 b91b1d9290360b2f9aa7d5a9088cb365f4e3dcfe0bf388143fed3d890814837c
MD5 4f0f009965b9f73ce64223f99153e806
BLAKE2b-256 4d888da4f7ee0bac82107ce41d583d23880d0a65df85206b41b987b11ed07b9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.2.4-cp311-cp311-macosx_10_15_x86_64.whl:

Publisher: wheels.yml on Metacreation-Lab/MIDI-GPT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file midigpt-0.2.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: midigpt-0.2.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 405.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for midigpt-0.2.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3879af9362f8975ebae2ad2b26dc8df5059dc465ca8559a2cae067ef56dec2df
MD5 86f6b7f6225fd9a687406a9b8bb8b219
BLAKE2b-256 5aec243c3889218628700c0b37860d416206edb126e6f15803930cb0d32c1386

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.2.4-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on Metacreation-Lab/MIDI-GPT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file midigpt-0.2.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for midigpt-0.2.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 54489f688dd5a6ec2b69b9f2c2a695f573598d87b72685b37ace530e0c575594
MD5 d22268e293c3039b6ebb2467b77c6a3b
BLAKE2b-256 e8dda423f150611e5499e0f9dcbe66aad5bf980b8a44af58033ad77be19cf3f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.2.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on Metacreation-Lab/MIDI-GPT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file midigpt-0.2.4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for midigpt-0.2.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2e44409e85b5690418f77c9d9d9d9541a8116b6985f2e01d1774a1d56f22c6e1
MD5 f70e4048ff2bf9f4bf222febb5bf778f
BLAKE2b-256 d8dbfd66a18e73b3fddd5a9ff933c956408a5d77cb4c03121daca345ce43436f

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.2.4-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: wheels.yml on Metacreation-Lab/MIDI-GPT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file midigpt-0.2.4-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for midigpt-0.2.4-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c5a61972ab2ef285cc34bd1389e658f40fcf31e52fa69e2e8b2ea783150e88b3
MD5 4b499f56d509bd4617a516d826db4563
BLAKE2b-256 86e173ddd314d6df0fe8b4ac1c469ce262be15ef0ac8c355b9916ea57db9fab2

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.2.4-cp310-cp310-macosx_10_15_x86_64.whl:

Publisher: wheels.yml on Metacreation-Lab/MIDI-GPT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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