39 lines
2 KiB
Markdown
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.
|