Skip to main content

Tools for working with SMW Music

Project description

Bandit status Lint status MYPY status Unit test status Code Coverage PyPI - Package Version PyPI - Python Version Documentation Status PyPI - Status REUSE Status PyPI - License python-style

Library and utilities for generating AddMusicK-compatible MML files from MusicXML.

The tooling has only been tested with exported MusicXML files from MuseScore 3.6.2, but it should work with outputs from other music notation software. Output files are tested against AddMusicK 1.0.8.

The software (and especially the libraries) are pre-alpha. APIs may change at any time for any/no reason.

Webserver

MusicXML files (compressed or uncompressed) can be converted to MML files using a simple webapp, contact the maintainer for its address. Navigate to that site and you should see something similar to

Example webtool image

Click Choose File and select the .mxl or .musicxml file to upload, enable the options you’d like, then click Submit. If Download file is enabled, you’ll be prompted for a file download. If not, the converted MML will be displayed in the browser.

The server runs the latest development version of the software, please report any bugs or unexpected behavior/output as an issue.

MuseScore Plugin

A MuseScore plugin that communicates with the server is also available. Download that file and save it into your MuseScore’s plugins directory, then in MuseScore select Plugins -> Plugin Manager -> Reload Plugins, and enable mml. Then hit OK and select Plugins -> MML to enable the plugin. You should see something similar to

Example plugin image

Enter the server address, click MML Output File to select the file you’d like to save into, and enable the options you’d like, then click Convert. You should get a popup confirming a successful conversion, or reporting an error.

Local Installation

Use pip to install smw_music:

pip install smw_music

Or install from source using poetry:

pip install poetry
git clone https://github.com/com-posers-pit/smw_music
cd smw_music
poetry install --no-dev

Usage

After installing the tools, convert a MusicXML file song.mxl to an AddMusicK MML file song.txt by running the following command:

smw_music_xml_to_amk  song.xml song.txt

See Examples in the official documentation for more detailed examples and a feature list.

Contributing

Pull requests are welcome. See our Contributor Guide for information.

License

The SMW Music Python Project Copyright (C) 2021 The SMW Music Python Project Authors

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.

A copy of the AGPL v3.0 is available here

Acknowledgements

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

smw_music-0.2.0.tar.gz (32.4 kB view hashes)

Uploaded Source

Built Distribution

smw_music-0.2.0-py3-none-any.whl (54.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page