Skip to main content

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
  • Run a MIDI-GPT API server via a HTTP 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, safetensors
train PyTorch Lightning, HuggingFace datasets, pyarrow, python-dotenv, wandb
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 key signature, pitch range, silence, note duration, note density (bar), polyphony (bar), pitch class set, nomml, genre 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 and supports switchable velocity/microtiming controls.


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 checkpoint (.safetensors or .pt bundle)
engine = InferenceEngine.from_checkpoint("path/to/model.safetensors")

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 .safetensors 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 (.safetensors or .pt)
midigpt-http --ckpt checkpoints/run_001/model_final.safetensors --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.

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.3.1.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.3.1-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows x86-64

midigpt-0.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (812.0 kB view details)

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

midigpt-0.3.1-cp312-cp312-macosx_11_0_arm64.whl (590.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

midigpt-0.3.1-cp312-cp312-macosx_10_15_x86_64.whl (677.7 kB view details)

Uploaded CPython 3.12macOS 10.15+ x86-64

midigpt-0.3.1-cp311-cp311-win_amd64.whl (783.6 kB view details)

Uploaded CPython 3.11Windows x86-64

midigpt-0.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (810.9 kB view details)

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

midigpt-0.3.1-cp311-cp311-macosx_11_0_arm64.whl (588.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

midigpt-0.3.1-cp311-cp311-macosx_10_15_x86_64.whl (673.8 kB view details)

Uploaded CPython 3.11macOS 10.15+ x86-64

midigpt-0.3.1-cp310-cp310-win_amd64.whl (458.7 kB view details)

Uploaded CPython 3.10Windows x86-64

midigpt-0.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (810.3 kB view details)

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

midigpt-0.3.1-cp310-cp310-macosx_11_0_arm64.whl (586.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

midigpt-0.3.1-cp310-cp310-macosx_10_15_x86_64.whl (672.4 kB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: midigpt-0.3.1.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.3.1.tar.gz
Algorithm Hash digest
SHA256 171436b734798280639942f6e5f6727ba33005bd9e03c50ab26eec5cadb1b647
MD5 5567e80f3bba501edb84ad24aca58c85
BLAKE2b-256 fe929343016766043098346f02fea3e71f3834435518fb5fcc666b91e5d628d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.3.1.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.3.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: midigpt-0.3.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.1 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.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 acac2595db9b6f7972a617a89db4b86002b62b4b3fee87af7716b3a578e9298c
MD5 3f45453c5242e421efc2a693ccb96cce
BLAKE2b-256 c6c10f6f8d67f5140d2cc4d643aaacb15a12f18b28f6205c0e26e22023887300

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.3.1-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.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for midigpt-0.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9bf94a2e7ee9106511851efb926cedf31b2b159844a3753871f1e7a4033d4f31
MD5 125617d34de4bb2a70b683bb26e83242
BLAKE2b-256 edf8a28606ea99d94ef3fdc364bb0c20838de09176fe69c0c96a659219b62587

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.3.1-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.3.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for midigpt-0.3.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e055769216bc660462b0b7d018a3576e902f32a1ab990211d4c7ec75bd45935c
MD5 ff8d00c01a1e276066641fa6164153f0
BLAKE2b-256 bfd66991102776a8427793d2205441c1aee330c91c34cf222f67b6cabef3a273

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.3.1-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.3.1-cp312-cp312-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for midigpt-0.3.1-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 b5d920aeb675db5bbe4522bc6930e6c37a8b134b51ee2793d215fc31b90709b9
MD5 b2ea80107fca16d030bd4bc2b9beeaf1
BLAKE2b-256 cbb77a22e7b796d44f75d2f0dc1aa620bef76dd70bd5deac3cb50cf3ef9e8f1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.3.1-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.3.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: midigpt-0.3.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 783.6 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.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4edb8ca0959ef9859346324993d3b5eb1d74dbb2743ffb40204186bcde3adbdd
MD5 3c69526acc9c001b4d9d0716a4e0690d
BLAKE2b-256 a95701ad8e3f1757d87b91829ec42249ff9e6340ff05a83f990184fa958863f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.3.1-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.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for midigpt-0.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 46843ebe65e8e73bd83cb93aefcdba02487b33e5c92ecb04f3e5bf2e132cdca6
MD5 ed874f52e19c86e3c4779fda80060081
BLAKE2b-256 fdaccf3210dc1463cee87cc4be3d584d41d47d0f8faa36716cd3122ecba0758c

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.3.1-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.3.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for midigpt-0.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8ef58ea23e9338b3ba8b0d8f4189865cf9600540e081858eaba60e8ef9177e88
MD5 da489f2e0e3377629ae1a6bd1f721ee7
BLAKE2b-256 aa7e9f51ab69e29bf0389893026fd698799fd2c1a7c383a2d44d0f0ab0248edf

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.3.1-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.3.1-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for midigpt-0.3.1-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 7a945dabc06858074a4c99fedfea4974aba3d94c4106bf31981865b8c94cdd50
MD5 30bcdd794d68352351a0ef01e765e3a0
BLAKE2b-256 a69ad1593b462b86fb48285eea497608874b9ba03654dfcc53229da9a4845160

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.3.1-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.3.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: midigpt-0.3.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 458.7 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.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cd52b2e07e9e47f716d2c0fe90a6c998ddd09801beb3c4dd3e508bbfbc7750b9
MD5 0a2e091f512039127825fc3ae02d795c
BLAKE2b-256 9005cf395c0b8bcd3ac4a669bbce6be8a9ec40c442fb86fe17766d9163cd3867

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.3.1-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.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for midigpt-0.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4f3157537631a8bfa5c8f6a2de2c140581bce2cde493a2b5e077217186fa93b0
MD5 cf76a93c94bcd18a9586e7f6ca9fbd54
BLAKE2b-256 3355c6d1a30c47a6e4a88ea910b9372b8bb23195d155803c5b59eb63d311ae11

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.3.1-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.3.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for midigpt-0.3.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98f415ad87d4cdb2bbd22907e01f42e35fc0648e0bdf223b9c497d9ee1becee8
MD5 7469e72c42e2889b1d8b44345ea96e28
BLAKE2b-256 baa44e87637a95c642395738f1eb70e215b031b3588390fb56d0262562c275a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.3.1-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.3.1-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for midigpt-0.3.1-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 58f62de017632d6746c6f0cd1e88d098862602b73127f7eec2eaf9f8b5d2a462
MD5 e37f7b4192a5a7b13381f2971261d947
BLAKE2b-256 55e44adc4d27dc2314621462b678c912f8210476d30807ee60d99fd3a9827e76

See more details on using hashes here.

Provenance

The following attestation bundles were made for midigpt-0.3.1-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