Skip to content

获取逐字歌词 ​

此接口的 yrc 字段即为逐字歌词 (可能有歌曲不包含逐字歌词)

接口信息 ​

项目值
接口地址/lyric/new
请求方式GET / POST
需要登录否
对应模块lyric_new
文档分类歌曲与播放

请求参数 ​

参数类型必填默认值说明
idstring✅-音乐 id

HTTP 示例 ​

bash
GET /lyric/new?id=1824020871

编程式调用 ​

ts
import { lyricNew } from 'hana-music-api';

const result = await lyricNew({
  id: '1824020871',
});

console.log(result.body);

返回内容 ​

每种歌词都是 { lyric },lyric 是歌词文本:

  • lrc:逐行歌词,一直都在;没有收录歌词时 lyric 是空串。lrc 和 lrc.lyric 是收紧字段。
  • tlyric、romalrc:逐行歌词的翻译和音译。
  • yrc:逐字歌词;ytlrc、yromalrc 是按逐字歌词的时间对齐的翻译和音译。

除 lrc 外的几种可能整个缺失,也可能在、但 lyric 是空串,两种都表示没有这种歌词;它们和 pureMusic 都是宽松字段。正文还声明了宽松的 klyric、lyricUser、transUser、qfy、sfy、sgc、needDesc、uncollected。结构定义和类型是 LyricNewBody,见 返回体结构。

补充说明 ​

说明 : 此接口的 yrc 字段即为逐字歌词 (可能有歌曲不包含逐字歌词)

必选参数 : id: 音乐 id

接口地址 : /lyric/new

调用例子 : /lyric/new?id=1824020871

相关讨论可见: Issue

歌词格式解析 :

当逐字歌词适用时,yrc的lyric字段包括形式如下的内容

  • (可能存在)JSON 歌曲元数据
json
{"t":0,"c":[{"tx":"作曲: "},{"tx":"柳重言","li":"http://p1.music.126.net/Icj0IcaOjH2ZZpyAM-QGoQ==/6665239487822533.jpg","or":"orpheus://nm/artist/home?id=228547&type=artist"}]}
{"t":5403,"c":[{"tx":"编曲: "},{"tx":"Alex San","li":"http://p1.music.126.net/pSbvYkrzZ1RFKqoh-fA9AQ==/109951166352922615.jpg","or":"orpheus://nm/artist/home?id=28984845&type=artist"}]}
{"t":10806,"c":[{"tx":"制作人: "},{"tx":"王菲","li":"http://p1.music.126.net/1KQVD6XWbs5IAV0xOj1ZIA==/18764265441342019.jpg","or":"orpheus://nm/artist/home?id=9621&type=artist"},{"tx":"/"},{"tx":"梁荣骏","li":"http://p1.music.126.net/QrD8drwrRcegfKLPoiiG2Q==/109951166288436155.jpg","or":"orpheus://nm/artist/home?id=189294&type=artist"}]}

该字段不一定出现;可能出现的数据意义有:

  • t : 数据显示开始时间戳 (毫秒)

  • c : 元数据list

  • tx: 文字段

  • li: 艺术家、歌手头像图url

  • or:云音乐app内路径;例中作用即打开艺术家主页

  • 逐字歌词

text
[16210,3460](16210,670,0)还(16880,410,0)没...
 ~~~~1 ~~~2  ~~~~3 ~~4 5 ~6 (...)

由标号解释:

  1. 歌词行显示开始时间戳 (毫秒)
  2. 歌词行显示总时长(毫秒)
  3. 逐字显示开始时间戳 (毫秒)
  4. 逐字显示时长 (厘秒/0.01s)
  5. 未知
  6. 文字

yrc的version字段貌似与lyric字段格式无关

Released under the MIT License.