musixmatch-inofficial/README.md
2024-08-18 18:25:03 +02:00

39 lines
2 KiB
Markdown

# musixmatch-inofficial
[![Current crates.io version](https://img.shields.io/crates/v/musixmatch-inofficial.svg)](https://crates.io/crates/musixmatch-inofficial)
[![License](https://img.shields.io/badge/License-MIT-blue.svg?style=flat)](http://opensource.org/licenses/MIT)
[![CI status](https://codeberg.org/ThetaDev/musixmatch-inofficial/actions/workflows/ci.yaml/badge.svg?style=flat&label=CI)](https://codeberg.org/ThetaDev/musixmatch-inofficial/actions/?workflow=ci.yaml)
This is an inofficial client for the Musixmatch API that uses the key embedded in the
Musixmatch Android app.
It allows you to obtain synchronized lyrics in different formats
([LRC](<https://en.wikipedia.org/wiki/LRC_(file_format)>),
[DFXP](https://www.w3.org/TR/ttml1/), JSON) for almost any song.
The Musixmatch API used to require a free account on <https://www.musixmatch.com> to be
used. However, as of 2024, this requirement was removed and the API can be used
anonymously. The client still allows you to supply credentials if Musixmatch decides to
close the API down again.
## ⚠️ Copyright disclaimer
Song lyrics are copyrighted works (just like books, poems and the songs themselves).
Musixmatch does allow its users to obtains song lyrics for private use (e.g. to enrich
their music collection). But it does not allow you to publish their lyrics or use them
commercially.
You will get in trouble if you use this client to create a public lyrics site/app. If
you want to use Musixmatch data for this purpose, you will have to give them money (see
their [commercial plans](https://developer.musixmatch.com/plans)) and use their
[official API](https://developer.musixmatch.com/documentation).
## Development info
The test suite reads Musixmatch credentials from the `MUSIXMATCH_EMAIL` and
`MUSIXMATCH_PASSWORD` environment variables.
To make local development easier, I have included `dotenvy` to read the credentials from
an `.env` file. Copy the `.env.example` file in the root directory, rename it to `.env`
and fill in your credentials.