LRC format parser for JavaScript/TypeScript.
- Typescript support
- Browser & Node.js support
npm i clrc --save
import { parse } from 'clrc';
const lrc = `
[ar:张叶蕾]
invalid line
[00:54.04]每一辆飞车彻夜向前开
[00:58.22]飞到了路崖边永不回来
`;
console.log(parse(lrc));
The output is:
{
"metadatas": [
{
"lineNumber": 1,
"key": "ar",
"value": "张叶蕾",
"raw": "[ar:张叶蕾]"
}
],
"metadata": {
"ar": "张叶蕾"
},
"lyrics": [
{
"lineNumber": 3,
"startMillisecond": 54040,
"content": "每一辆飞车彻夜向前开",
"raw": "[00:54.04]每一辆飞车彻夜向前开"
},
{
"lineNumber": 4,
"startMillisecond": 58220,
"content": "飞到了路崖边永不回来",
"raw": "[00:58.22]飞到了路崖边永不回来"
}
],
"invalidLines": [
{
"lineNumber": 0,
"raw": ""
},
{
"lineNumber": 2,
"raw": "invalid line"
},
{
"lineNumber": 5,
"raw": ""
}
]
}
parse
used for parsing lrc string to object.
sortByStartTime
whether to sort lyrics by start time, defaultfalse
trimStart
whether to remove start spaces, defaulttrue
trimEnd
whether to remove end spaces, defaultfalse
parse<'ar' | 'by'>(lrc);
// metadata is { ar?: string, by?: string }
import { LrcLine, MetadataLine, LyricLine, ParseOptions } from 'clrc';