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 ofprintand IFrame elements - v0.4: Refactored
stylers.py. Added adarkmode 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.
Release files for midi-player 0.5.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| midi_player-0.5.2.tar.gz | 7.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| midi_player-0.5.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.1 kB
Release files / midi_player-0.5.2.tar.gz
| Download URL | midi_player-0.5.2.tar.gz |
|---|---|
| Size | 7.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3c0d554ff3fca76126b1659488ad04280a0d23e584e265d610d6f367715d4086
|
|
BLAKE2b-256 checksum How to use checksums |
dc932557cba1d2464b46b40c7666d1edb6be5beabb89da476575558425357dbe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.9
|
Release files / midi_player-0.5.2-py3-none-any.whl
| Download URL | midi_player-0.5.2-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5de960e415ac127a7fa25539c2c334e21648fdce3cce9a7b29aed070dfcea0e7
|
|
BLAKE2b-256 checksum How to use checksums |
b58c5564e0439308dfb08bcef25386961f357cf0bfa0d4a0e6dcd6541fed3f58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.9
|