Skip to content
⌂ Home

Lyrics And MV Matching

Lyrics and MV lookup are candidate-matching features. ECHO NEXT uses the current track title, artist, album, duration, tags, and online sources to find likely results, then tries to pick a good candidate.

The goal is convenience, not perfect certainty. When lyrics or MV results are wrong, out of sync, or unavailable, inspect the candidate and diagnostics first. Do not treat every mismatch as a broken library, audio output, or player.

There is no universal source of truth for every track version. The same song may exist as:

CaseResult
Original, live, edit, remix, instrumentalThe timeline and MV may differ completely
Single version and album versionLyrics may drift over time
Titles with feat., with, translated names, romanization, aliasesSearch can return mixed candidates
Non-standard video titlesMV results can include fan edits, stages, clips, or reuploads
Recompressed or trimmed uploadsVideo and local audio will not naturally align
Changing platform result orderToday’s first candidate may not stay the same

Automatic matching can save time, but it cannot replace judging the exact version.

Recommended confidence order:

  1. Local LRC or lyrics you saved yourself.
  2. Embedded lyrics.
  3. Online lyrics candidates.
  4. Manually selected candidates.
  5. Per-track offset or manual correction.

When lyrics are wrong, classify the problem first:

SymptomLikely CauseFirst Step
Completely different songWrong candidatePick another candidate
Whole song is early or lateCandidate has a global offsetAdjust per-track offset
Starts right, drifts laterDifferent version or durationUse lyrics for the same version
Only a few lines are wrongPoor lyric timeline qualityPick another candidate or edit manually
Translation does not alignTranslation and main lyrics differDisable translation or pick another candidate

Do not use the global offset to fix one song. Global offset is only for cases where every song is consistently early or late on your setup.

MV matching is even less likely to be perfect, especially when the MV source is Bilibili.

Bilibili is a video platform, not a one-to-one official MV database for your local audio files. A result may be an official MV, live stage, subtitled upload, fan edit, clip, reupload, interpolated version, recompressed version, concert segment, or regional version. The video title, description, tags, uploader, and view count are clues, not proof that the video is the exact MV for the audio file you are playing.

Also, the audio inside a Bilibili video is usually not the same file ECHO is playing locally. Even if it is the same song, it can contain:

  1. Intro cards, outro cards, black frames, or subtitles.
  2. Trimmed intros or endings.
  3. Recompressed audio.
  4. Live audio instead of studio audio.
  5. MV and album versions with different durations.
  6. Display delay from frame rate, browser decoding, or buffering.

For that reason, MV cannot promise exact audio sync. ECHO NEXT can find candidates, try alignment, restart audio when requested, and accept custom URLs, but it cannot turn a third-party video source into an official millisecond-synced asset for your local audio.

Use this order:

  1. Check candidate title, uploader, duration, and visible content.
  2. Prefer the official MV or the closest official-looking version.
  3. If the automatic result is wrong, pick another candidate manually.
  4. If you already know the correct video, use a custom URL.
  5. If the audio and video are different versions, changing video is better than tuning sync.
  6. If the issue is a small whole-video offset, try sync settings.
  7. If mismatches are frequent, raise the auto-match threshold.

Do not treat MV mismatch as an audio-output problem. If audio playback is fine and lyrics work, focus on candidates, source, version, and video state.

MV playback depends on network access, platform availability, account or cookie state, stream parsing, browser decoding, and rendering. Any of those can cause black video, failed loading, no visible frame, or external-player-only behavior.

Check:

  1. Whether your network can access the platform.
  2. Whether proxy settings affect Bilibili, YouTube, or other sources.
  3. Whether account login or cookies expired.
  4. Whether the video requires login, region access, paid access, or passes platform risk checks.
  5. Whether the chosen quality is too demanding, such as HEVC, HDR, Dolby Vision, or 4K 60fps.
  6. Whether immersive MV background, video wallpaper, or real-time effects are too heavy.
  7. Whether an external player can open the same URL.

If MV does not open, stays black, fails to load, plays audio without visible video, or has candidates but cannot play them, enable MV diagnostics report. It generates a copyable local Markdown report with MV state, candidates, source information, error clues, and page visibility details.

When reporting the issue, include the MV diagnostics report, a screenshot, ECHO NEXT version, operating system version, current track, and the video URL or candidate title. Saying only “MV does not open” is usually not enough to tell whether the cause is network, platform, login, encoding, candidate selection, or rendering.

GoalSuggestion
Reduce wrong matchesRaise the MV auto-match threshold
Slow network or UI lagDisable MV auto-preload and lower max quality
Video stuttersDisable 60fps and test 720p or 1080p first
Lyrics are hard to read over videoEnable MV lyrics readability or darken the background
Candidates are often not official MVsPick candidates manually or use a custom URL
Debug video not openingEnable MV diagnostics report and copy the report

These usually do not fix lyrics or MV issues and can make debugging harder:

  1. Do not delete the database first.
  2. Do not clear the whole library.
  3. Do not keep switching audio output modes.
  4. Do not change proxy, account, quality, source order, and sync mode all at once.
  5. Do not send only a black-screen screenshot without the diagnostics report.

Keep the current track, candidate, settings, and diagnostics report available. That gives enough context to see where the chain failed.