Algorithms for Music Analysis and Data Science (AMADS)
This repository represents the very earliest stages of an attempt to collect and organise algorithms for music analysis and data science. If you are interested in participating, please get in touch with Mark Gotham or Roger Dannenberg.
Much functionality in this package still remains to be tested/implemented/documented. Use at your own risk!
For more on the ...
- ... package in general, see the documentation website
- ... motivation and background, see the draft paper
- ... the wider context, see 'Keeping Score: Computational Methods for the Analysis of Encoded ("Symbolic") Musical Scores
Installation
To use AMADS we recommend cloning the repository and installing it in editable mode. So:
cd ~/Documents # or wherever you want to put the package
git clone https://github.com/music-computing/amads.git
pip install -e amads
Design principles
- We opt to create one repository, in one langauge, rather than attempting to list / direct to others.
- It makes sense to have a single reference language for interoperability, comparison and more.
- The sources are far-flung, in many code languages, and not interoperable.
- That said, we do use AMADS as a kind of meta-package to connect to external well maintained libraries (including those not in Python), reimplementaing funationality anew here only if there is no practical, existing source to connect to.
- The language is Python, for all the usual reasons, chief among them being it popularity.
- some designers of computer languages programming languages may find that a rather shallow reason,
- but commitment to access and interoperability makes a language's existing popularity critically important.
- e.g., we have in mind the student of music who gets that computing will open things up for them, but who also wants the time they invest in learning the ropes to be transferable in case they ever want or need to move away from music computing (imagine!).
- Algorithms are:
- linked to a credible publication or other demonstrable take-up by the community.
- implemented here as exactly as reference to the source allows (usually from scratch), or with clear commentary on any changes
- open-source, well documented, etc.
Uses
We welcome all and any use cases. Among them, those we have had in mind during the development include:
- researchers using existing algorithms "off the shelf" for specific tasks, including comparison with a new approach
- students learning a standard algorithm by implementing is from scratch and comparing the output with a reference implementation.
- those considering entry into the field to browse all this casually.
Contributions
... are welcome!
Please pitch in relevant material, making sure to include any relevant citation. Equally, please feel free to add issues (or write directly) to propose algorithms you'd like to see us implement and include here.
Metadata
Release files for amads 1.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| amads-1.4.0.tar.gz | 461.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| amads-1.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 916.2 kB
Release files / amads-1.4.0.tar.gz
| Download URL | amads-1.4.0.tar.gz |
|---|---|
| Size | 461.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ebbe3cb1c5e7bf9ed7565bd5be1421472bc63a8a2fdc7f141bf692e0b584e786
|
|
BLAKE2b-256 checksum How to use checksums |
f15fdfb89ebbd0b3afd316d46898f6637719b93be48496b867eae830487efc17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 6, 2026.
Transparency logRelease files / amads-1.4.0-py3-none-any.whl
| Download URL | amads-1.4.0-py3-none-any.whl |
|---|---|
| Size | 455.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
52c45a79b95c27c7291d215060e2b6504a145082ab33e272e8db8a4efc3d2d04
|
|
BLAKE2b-256 checksum How to use checksums |
5cf60ece745ae6e4194434934bafa89589751899a840dc2a5c135dcf81ec7a81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 6, 2026.
Transparency log