lrclib-api is a TypeScript-based wrapper for the lrclib.net API, designed to fetch song lyrics and metadata. It supports both plain and synchronized lyrics, providing a simple and type-safe interface for integration with your music applications.
Install the package via npm:
npm install lrclib-api
const { findLyrics, getSynced, getUnsynced } = require("lrclib-api");
(async() => {
const query = {
track_name: "The Chain",
artist_name: "Fleetwood Mac",
};
const lyrics = await findLyrics(query);
console.log("Metadata:", lyrics);
const unsyncedLyrics = await getUnsynced(query);
console.log("Unsynced Lyrics:", unsyncedLyrics);
const syncedLyrics = await getSynced(query);
console.log("Synced Lyrics:", syncedLyrics);
})();
import { findLyrics, getSynced, getUnsynced } from "lrclib-api";
const query = {
track_name: "The Chain",
artist_name: "Fleetwood Mac",
};
const lyrics = await findLyrics(query);
console.log("Metadata:", lyrics);
const unsyncedLyrics = await getUnsynced(query);
console.log("Unsynced Lyrics:", unsyncedLyrics);
const syncedLyrics = await getSynced(query);
console.log("Synced Lyrics:", syncedLyrics);
findLyrics
Response{
"id": 151738,
"name": "The Chain",
"trackName": "The Chain",
"artistName": "Fleetwood Mac",
"albumName": "Rumours",
"duration": 271,
"instrumental": false,
"plainLyrics": "Listen to the wind blow\nWatch the sun rise...",
"syncedLyrics": "[00:27.93] Listen to the wind blow\n[00:30.88] Watch the sun rise..."
}
[
{ "text": "Listen to the wind blow" },
{ "text": "Watch the sun rise" }
]
[
{ "text": "Listen to the wind blow", "startTime": 27930 },
{ "text": "Watch the sun rise", "startTime": 30880 }
]
To run the test suite:
Clone the repository:
git clone https://github.com/igorwastaken/lrclib-api.git
cd lrclib-api
Install dependencies:
npm install
Run tests:
npm test
Contributions are welcome! Here's how you can help:
git checkout -b my-feature
git commit -m "Add my feature"
git push origin my-feature
This project is licensed under the ISC License.