From 41e98d5783dc8502259773e3a7ac5da29d239a8e Mon Sep 17 00:00:00 2001 From: Psychotoxical Date: Fri, 10 Apr 2026 15:13:35 +0200 Subject: [PATCH] fix(lyrics): strip Netease metadata lines from LRC output MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Filter lines matching 作词/作曲/编曲/制作人/etc. that Netease embeds as timestamped LRC entries at the start of the song. Co-Authored-By: Claude Sonnet 4.6 --- src/hooks/useLyrics.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/hooks/useLyrics.ts b/src/hooks/useLyrics.ts index 702984b5..7b3e8984 100644 --- a/src/hooks/useLyrics.ts +++ b/src/hooks/useLyrics.ts @@ -144,11 +144,12 @@ export function useLyrics(currentTrack: Track | null): UseLyricsResult { } }; + const NETEASE_META = /^(作词|作曲|编曲|制作人|出版|发行|MV导演|录音|混音|监制)/; const fetchNetease = async (): Promise => { try { const lrc = await fetchNeteaselyrics(currentTrack.artist ?? '', currentTrack.title); if (!lrc) return false; - const lines = parseLrc(lrc); + const lines = parseLrc(lrc).filter(l => !NETEASE_META.test(l.text)); const synced = lines.length > 0 ? lines : null; if (!synced) return false; store({ syncedLines: synced, plainLyrics: null, source: 'netease', notFound: false });