Skip to main content

midi-player

Python launcher of the html-midi-player by @cifkao & @magenta

Works with local and web-hosted MIDI files in Jupyter, Colab, WandB,...probably other contexts.

Installation

pip install midi-player

Usage

Only tested with Jupyter Notebooks & Colab, but uses no IPython dependencies so it should work in other contexts.

from midi_player import MIDIPlayer
from midi_player.stylers import basic, cifka_advanced

midi_file_url = "https://magenta.github.io/magenta-js/music/demos/melody.mid"
midi_file = "data/test_midi.mid"

MIDIPlayer(midi_file_url, 400)  
MIDIPlayer(midi_file, 160, styler=cifka_advanced, title='My Player')

With wandb:

import wandb

wandb.login()
wandb.init(project="midi-player")
mp = MIDIPlayer(midi_file, 300, viz_type="waterfall")
wandb.log({'player':wandb.Html(mp.html)})
wandb.finish()

See examples/ for more.

Documentation

TO-DO. Particularly, people will want to know how to add/customize their own "stylers". See midi_player/*.py for now ;-).

Known Issues / Release Notes

  • Not sure why the staff view is putting out 32nd notes / how to tell it to do 8th notes instead.
  • v0.5.1: Lightened title text color in Dark Mode for better visibility on dark backgrounds
  • v0.5: Added title= kwarg, as workaround b/c Quarto mixes up ordering of print and IFrame elements
  • v0.4: Refactored stylers.py. Added a dark mode styler.
  • v0.3: Added an optional Download link! (Maybe you'll think it's ugly but it works.) Note: WandB disables usual opening-in-new tab browser behavior, so on WandB you'll need to Right-Click the download link and choose "Open in New Tab" to get the file.

Metadata

Release files for jupyter-midi-player 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jupyter-midi-player 0.6.0
File Size Uploaded
jupyter_midi_player-0.6.0.tar.gz 146.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jupyter-midi-player 0.6.0
File Interpreter ABI Platform
jupyter_midi_player-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 295.0 kB

Release files / jupyter_midi_player-0.6.0.tar.gz

Download URL jupyter_midi_player-0.6.0.tar.gz
Size 146.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c3b58f7db2967894018d5ab28b94a75051cd78e73c01b98929274494df74c135
BLAKE2b-256 checksum
How to use checksums
42ba73a39a8f04d419638587a4c1b5f9016e9616fddd2dcb674007ffcaf28867
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.4

Release files / jupyter_midi_player-0.6.0-py3-none-any.whl

Download URL jupyter_midi_player-0.6.0-py3-none-any.whl
Size 148.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
05b12de3f0f56be395fc36c139046b2081875377a876a6df7e33ea4ee900deca
BLAKE2b-256 checksum
How to use checksums
41f099ac39cbb6c5ddd3d3623706c3e9021cf5d15abdaed96482783ba70e91b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.4

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page