- 部分源码由ai移植Lyricify-Lyrics-Helper而来,每一行代码已经本人审计
- 如果有歌曲无法命中,请在issue里面提出
- 封装了统一函数可以直接接收smtc信息进行歌词解析
- memchr予以的超高性能,无需预热或优化即可实现<1ms解析
- Spotify实装测试
- Spotify逐字同步部分
- 洛雪音乐
- AppleMusic 实装测试
- 硬编码测试参数到json文件中
- Spotify逐行测试
- Spotify totp逆向(已完成, 待接入)
- 汽水音乐试用区间测试
- 试听音乐区间捕获
- AppleMusic 逐字解析
- AppleMusic 防碰撞
- Providers — 网易云,QQ音乐,酷狗,汽水音乐,AppleMusic的 API 客户端
- Searchers — 弱智评分机制 + 神人匹配字符串,返回最佳匹配
- Parsers — µs级别解析网易云,汽水,QQ音乐,酷狗音乐,AppleMusic歌词,可解析逐字高亮歌词
- smtc_lyrics — 一键从smtc信息到歌词, 另有试用区间歌词捕获
cargo add lyrix
或
在 Cargo.toml 中添加:
[dependencies]
lyrix = { version = "26.6.1" }
tokio = { version = "1", features = ["full"] }use lyrix::parsers;
use lyrix::models;
use lyrix::helpers;| 播放器 | 枚举值 | appid | 歌词源 |
|---|---|---|---|
| 酷狗音乐 | MusicPlayer::Kugou |
kugou |
酷狗 API |
| 网易云音乐 | MusicPlayer::Netease |
cloudmusic.exe |
网易云 API(优先 YRC 逐字,回退 LRC) |
| QQ音乐 | MusicPlayer::QQMusic |
qqmusic.exe |
QQ音乐 API |
| 汽水音乐 | MusicPlayer::SodaMusic |
汽水音乐 |
汽水音乐 API |
| 汽水音乐 | MusicPlayer::AppleMusic |
AppleInc.AppleMusicWin_nzyj5cx40ttqa!App |
AppleMusic API |
src/
├── lib.rs
├── smtc_lyrics.rs
├── models/
│ ├── mod.rs
│ ├── file_info.rs
│ ├── line_info.rs
│ ├── lyrics_data.rs
│ ├── lyrics_types.rs
│ ├── sync_types.rs
│ └── track_metadata.rs
├── parsers/
│ ├── mod.rs
│ ├── applemusic.rs
│ ├── kugou.rs
│ ├── lrc.rs
│ ├── netease.rs
│ ├── qqmusic.rs
│ ├── soda_music.rs
│ ├── spotify.rs
│ ├── decrypt/
│ │ ├── mod.rs
│ │ ├── krc.rs
│ │ ├── netease.rs
│ │ └── qrc.rs
│ └── generate/
│ ├── mod.rs
│ └── spotify.rs
├── providers/
│ ├── mod.rs
│ ├── applemusic.rs
│ ├── base_api.rs
│ ├── kugou.rs
│ ├── netease.rs
│ ├── proxy.rs
│ ├── qqmusic.rs
│ ├── soda_music.rs
│ └── spotify.rs
└── searchers/
├── mod.rs
├── applemusic.rs
├── kugou.rs
├── netease.rs
├── qqmusic.rs
├── soda_music.rs
└── spotify.rs
use lyrix::providers::proxy;
use lyrix::providers::netease::NeteaseApi;
let client = proxy::create_proxy_client("127.0.0.1", 7890, None, None)?;
let api = NeteaseApi::with_client(client);Apache-2.0