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

Uploaded CPython 3.12Windows x86-64

midigpt-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (807.8 kB view details)

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

midigpt-0.3.0-cp312-cp312-macosx_11_0_arm64.whl (585.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

midigpt-0.3.0-cp312-cp312-macosx_10_15_x86_64.whl (673.4 kB view details)

Uploaded CPython 3.12macOS 10.15+ x86-64

midigpt-0.3.0-cp311-cp311-win_amd64.whl (779.3 kB view details)

Uploaded CPython 3.11Windows x86-64

midigpt-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (806.6 kB view details)

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

midigpt-0.3.0-cp311-cp311-macosx_11_0_arm64.whl (584.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

midigpt-0.3.0-cp311-cp311-macosx_10_15_x86_64.whl (669.6 kB view details)

Uploaded CPython 3.11macOS 10.15+ x86-64

midigpt-0.3.0-cp310-cp310-win_amd64.whl (454.4 kB view details)

Uploaded CPython 3.10Windows x86-64

midigpt-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (806.0 kB view details)

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

midigpt-0.3.0-cp310-cp310-macosx_11_0_arm64.whl (582.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

midigpt-0.3.0-cp310-cp310-macosx_10_15_x86_64.whl (668.1 kB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: midigpt-0.3.0.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.0.tar.gz
Algorithm Hash digest
SHA256 da862c2fc7587987bb59e199584977ce806bc8864cc5bb80688f9a1376026b6e
MD5 69ec6402dfbcbabf69cb20088e42ce43
BLAKE2b-256 a8d7e299e0a91232715d8aa6d37f56aa48c88180cb8d664f2153cae998a49ba4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: midigpt-0.3.0-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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 02582fb1db17f97f260d0a393a4cbeb01aef87e1e4e37471889cebe0406646f9
MD5 7cad25b096bcc179315e253298f2f5e7
BLAKE2b-256 84ad54d1d6e14edc8cb78d62874a2a3e159645a3db791fb6cf11c0a25bb25b68

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for midigpt-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f65aa49300a7183697a4bf56bec0916200f6c0f2fa98d72ab3e609ab6c155676
MD5 fc6861e5baa598a16239e9d56b840633
BLAKE2b-256 d0a430a293149cf9110b191982f8f5b37cb6087d48d58a65bc51e35a9f8cfca2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for midigpt-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 26295b5d3c50acf841da4d69daac34ee82c975677771dc1d6d1eff6a18b025c4
MD5 167b69fde20d1a6cdd308b613ea35ab9
BLAKE2b-256 144b7f67c23327ceeac915d0878cef35323de4db32916ad6f4f4282e8e1e1bc3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for midigpt-0.3.0-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ee593c50dc902b548457e8dc9a83d62d94d1e7b78535a716d8a466ed5f292d83
MD5 bc8f286ca93c3a37d94b36683dc7c7db
BLAKE2b-256 ac290e98c63ef49e3fa1dfc44b0b66e92aaac1e4fd19db5d80349613b61d40ee

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: midigpt-0.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 779.3 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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 801d3a579b64cd290a5ae2430acd8f1d36faa403bdee8640ef670fe868fb2b95
MD5 3e95ffa9a6b23b61dec11ec1c500f591
BLAKE2b-256 04e5994800b7d170cf917e71747d2c80977fa06792ab04ca7a2ddba09a79dc42

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for midigpt-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f623eacf244cdcf2058ba892769014765b6d5fbc5ba8e2b7bb33c73622368c45
MD5 380110d53ec857bd0a2a35daf8d623a5
BLAKE2b-256 fc9ae272c0d21e9bfb5fb4d9e8f501bafd18be8759f88c4d7b4fe725a5581efe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for midigpt-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5001ff2fb0d3d2f38d71430ebcba586317115f465260376e6dabcaef65b84d7
MD5 fb2d20b9565b72f4f1723833dd0074c4
BLAKE2b-256 e89c57bfc045863e991cc0d2fab9362ded25d7bbbcd33633717feca728efb180

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for midigpt-0.3.0-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a6482d19931e5a2e2ef78b561d89fc480215d10dc5a9da7d311a25dd17535647
MD5 ee1eea471067d9243b4d516b0b5e55bc
BLAKE2b-256 f2f31d4eea92ddbd3c74432246fcc015677036443dea2d945963073b89efff1a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: midigpt-0.3.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 454.4 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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0cc7aa5e10aa5e8df0910cca8abedfbebb5dae9cb4619c813e83374090137dfd
MD5 ca9b293bf2094873da957f21b80e4aa8
BLAKE2b-256 698036d1aff9e9f758ad9963f54d690be5f1b3d1a56d9824f27e7a5fcae1bce2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for midigpt-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e1337d67f311224afde4a2cfd29dfc78c8c15f90e8a2c80cda4fecf2bf30fbc3
MD5 accd1350317cd0fd50c66d999b0a5478
BLAKE2b-256 b343a931e39b2097b449ff95428ed227cbf0f818ebd1fed33bc1c170ebb21320

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for midigpt-0.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bba50a724797c4089a286e195065f59a15e97aa6461fd6f6e9c5a380bbe53dc2
MD5 4a32e43beac2d8caaadcd709c5aeaef5
BLAKE2b-256 3f3fbbfc4da3e724c8f04fd68ba152c2eee4546663657a5e0208efe0eb83b36a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for midigpt-0.3.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 b256f4ae8ead195b2103de10a01a964fa2c23e9940e8bad174c6412214d7b943
MD5 4a02b4457780c61fe575bee980968400
BLAKE2b-256 fc7aed8ef300250a6bbbd8edbc51ba0e78b754b6a42920b7a99131ddd53a7eb9

See more details on using hashes here.

Provenance

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