Skip to main content

MML (Music Macro Language) parser and player for Python

Project description

MML Parser and Player for Python

Python-based MML (Music Macro Language) parser and player.

Installation

pip install mmlparser

Examples

Examples, as well as simple songs written in MML, can be found in the directory mmlparser/examples, which can be played directly from a command line.

python -m mmlparser.examples.simple_player

To actually play the song, install pyrtmidi and make sure at least one MIDI output is available. The notes will be sent to the MIDI out device.

pip install rtmidi
python -m mmlparser.examples.simple_player

The code in examples/simple_player.py plays musical notes with MMLParser.play() method, which relies on the blocking time.sleep() function. The async version, MMLParser.aplay(), may be used to play music concurrently with other asyncio tasks. See examples/async_player.py for some examples.

python -m mmlparser.examples.async_player

Limitations

  • Triplets are not yet supported.
  • User event and repeat commands are not supported.

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

mmlparser-0.3.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

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

mmlparser-0.3.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mmlparser-0.3.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for mmlparser-0.3.0.tar.gz
Algorithm Hash digest
SHA256 21ee4538f12a362ebf3e4bb64f8a882b6215ddba8504ffe34377912258252d04
MD5 bd06191a43d01799ade47c90d8ffab68
BLAKE2b-256 b5b2440fd71c7ab5e5c102f58651b0ae1b6ea6e8e4746a8764fa3ece64149bdc

See more details on using hashes here.

File details

Details for the file mmlparser-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: mmlparser-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for mmlparser-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ebcc8d6409e1280c89ecb088d9d747f2c878e720b777e37130b485ae9e67eb19
MD5 e015b74ffd2b5f11e093c736984e7136
BLAKE2b-256 f1ebfd40b46c650e6deb80fba121750f1e6671e813037b297a6049bd414ddf54

See more details on using hashes here.

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