Karaoke Anytime
Overview
Word-by-word synced lyrics from lrclib over any music page, with romaji for Japanese/Korean and instant vocal removal. No API key.
Karaoke Anytime puts time-synced lyrics on top of whatever you are already listening to, and can take the lead vocal out of the song so you can sing over the instrumental instead. Press play on any page that plays music — a video site, a streaming service, a web player, or a plain audio element on a blog — and the extension works out which track it is by itself: it reads the metadata the player publishes (navigator.mediaSession), then 14 site-specific adapters, then generic page metadata (og:title, JSON-LD, the page title). The lyrics come from the community database lrclib.net and appear over the player, with the colour sweeping through the line as the song is sung, one character at a time. No searching, no copying titles, no second tab. MAIN FEATURES • It finds the song for you. mediaSession metadata first, the 14 site-specific adapters next (one service may take up two of them), generic metadata last. Traditional and Simplified Chinese are matched against the database both ways (a bundled character map converts either direction), and decorated video titles such as "Artist【Song】Official MV" are split into ranked candidates instead of being searched literally. • A noisy title is not a dead end. When the first round of queries finds nothing, the search is retried with a reduced title: version brackets, "feat." credits, upload noise such as 歌詞付き or 高音質, trailing junk, the longest CJK stretch. When the page reports an artist as a Chinese + Latin pair (for example 馮允謙 Jay Fung), the retry drops the artist name first, because that combined string is not how the database stores artists. No retry happens when the problem is the server (busy, rate-limited, offline) rather than the query. • Adverts are never mistaken for a song. During an ad break on a video page nothing is reported, so the lyrics already on screen stay where they are and pick up again when the music returns. • Karaoke wipe. The colour fills the line as it is sung: per character, whole line, or no wipe at all. Slow / normal / fast pacing retimes the whole document on the fly. Where the database carries real per-character timing it is used directly; otherwise the colour is spread across the line instead of finishing seconds early or crawling through an instrumental break. • Next line early, karaoke style. The line on screen can switch to the next sentence 0.25 / 0.50 / 0.75 / 1.00 seconds ahead (off is also available; 0.50 s out of the box) so you can read it before you have to sing it. The colour wipe keeps its original timing, so the line being sung still finishes its sweep. • It looks the way you want. Six positions (top, centre, below centre — the draggable one —, lower centre, above bottom, bottom), 1 / 2 / 3 / 5 / 7 / 9 visible lines, five levels of shrink for the neighbouring lines, 18–200 px type, three typefaces, opacity, background (none, dim gradient, frosted glass), text outline, and independent colours for sung and unsung text. • Long lines are never cut off. The lyric box grows to the real height of the current line, so a sentence that wraps onto two or three rows is shown in full — in single-line mode too. • Japanese and Korean readings. Turn a whole line into romaji (kanji included, no kanji left on screen, one string per karaoke token so the timing never shifts; hangul syllable by syllable), or keep the original text and put small romaji above each word. Inside those labels each syllable is aligned over its own character, as close as the neighbouring syllables allow and never overlapping; syllables are separated by a thin space to help you follow the beat; long romaji runs break at word boundaries rather than mid-word; and the small labels colour themselves letter by letter, with the original characters following them. Japanese readings are computed in your browser from a bundled offline dictionary (46,350 words plus 10,100 single-character fallbacks, about 1.1 MB): no service, no LLM, and the lyrics never leave your machine. Korean needs no dictionary at all, because hangul spells its own pronunciation (Revised Romanization, sound changes included: 안녕하세요 becomes annyeonghaseyo, 한국어 becomes hangugeo). • Vocal removal, on the fly. Centre-channel cancellation (L−R) with the low end restored from (L+R)/2, plus four tunable parameters (strength, bass retention, crossover, original bleed), processed locally in an offscreen document with Web Audio. One switch turns the player into a karaoke backing track. The audio never leaves your computer. • Keyboard first. Alt+L shows or hides the overlay, Alt+V toggles vocal removal, [ and ] nudge the lyric offset by 0.1 s (\ resets it), - and = change the type size, Shift+Up / Shift+Down cycle the lyric position, Shift+Left / Shift+Right cycle the wipe pacing. The shortcuts are ignored while you are typing in a text field. • It keeps up with you. When the database holds several versions of a song (TV size, full version, a different recording) the entry whose duration is closest to what is playing is chosen automatically, gated by title and artist so it never swaps in a different song. The lyric offset survives the whole song and is reset only when the song changes or when you load another set of lyrics yourself — not by the extension's own mid-song updates and not by changing a display setting. The song name is announced once, then the overlay shows nothing but lyrics. • Fullscreen-aware and page-safe. The overlay lives in a Shadow DOM layer, so the page's CSS cannot break it and it cannot break the page, and it re-attaches itself when you go fullscreen. • Settings sync, and the interface speaks five languages: English (the default on a fresh install), 繁體中文, 简体中文, 日本語 and 한국어. Switching language rewrites the panel and the on-page overlay immediately, including values already on screen, and even the search field's example song name follows the interface language. PRIVACY • No account, no API key, no subscription, no adverts, no telemetry. • The only network request the extension makes is the lyric lookup on lrclib.net. • Audio is processed inside your browser by a Web Audio graph; nothing is uploaded, and there is no server to upload it to. HONEST LIMITS • The lyrics come from lrclib.net, a community-maintained open database: an obscure song may simply not be in it. An entry that exists only as plain text is still displayed, but it cannot be colour-wiped. • Vocal removal is phase cancellation, not AI source separation. Harmonies, layered takes and heavily reverberated mixes will still contain some vocal, and the stereo image narrows — that is the trade-off. A mono source cannot be separated at all, and the extension says so rather than playing silence. A DRM-protected stream (some web players) may only yield silence when captured. • Japanese readings are guessed offline from a dictionary word table, so there are known misses: a lone 空 can read kara, not sora, and a name like 米津玄師 is guessed character by character. • Korean romaji is computed algorithmically per syllable, so it never fails to find a character — the cost is that compound boundaries (신문로 becomes sinmullo; the official form is Sinmunno) and the noun/verb distinction (묵호 becomes muko) are not visible to it. • Browsers do not allow any extension to draw on a Picture-in-Picture window. That is a platform limit. • The known misses and their causes are listed in the project README rather than hidden. LYRICS SOURCE AND REQUIRED NOTICES Lyrics are served by lrclib.net, a free community lyrics database with no API key and no registration (its server source code is MIT-licensed and its Lyricsfile format is CC0). This extension implements the API requirements that service asks for: it identifies itself on every request (Lrclib-Client and X-User-Agent headers, plus a User-Agent set through declarativeNetRequest, since browser JavaScript cannot set that header), sends requests sequentially with a 250 ms gap, honours 429 Retry-After instead of retrying immediately, does not bulk-download the library, and caches results locally for seven days only. Lyrics in the database are contributed by users and remain the copyright of the respective songwriters and rights holders; lrclib does not relicense them. This extension hosts, copies and redistributes no lyrics: it displays whatever lrclib returns for the track that is playing, claims no rights over that content, and bundles no lyrics at all. Rights-holder removal requests for lyric content belong to lrclib, where the content is stored and served. Karaoke Anytime is not affiliated with lrclib.net or with any of the music services whose pages it can read. Japanese readings use the JMdict/EDICT and KANJIDIC2 dictionary files. These files are the property of the Electronic Dictionary Research and Development Group (EDRDG, https://www.edrdg.org/) and are used in conformance with the Group's licence (https://www.edrdg.org/edrdg/licence.html). No copyright is claimed over that dictionary material. The data file derived from those files and shipped with this extension (src/data/jp-reading.txt) is distributed under the same Creative Commons Attribution-ShareAlike 4.0 licence; the full licence text, the sources and the update procedure are included with the extension. The ShareAlike condition applies to that data file only, not to this extension's code. The EDRDG offers no warranty of accuracy. Traditional/Simplified character tables come from OpenCC (Apache License 2.0). Karaoke Anytime's own code, name and icons: © 2026 MGJ. All rights reserved.
0 out of 5No ratings
Details
- Version1.9.3
- UpdatedOctober 12, 2026
- Offered byMGJ
- Size626KiB
- Languages5 languages
- Developer
Email
android.mgj@gmail.com - Non-traderThis developer has not identified itself as a trader. For consumers in the European Union, please note that consumer rights do not apply to contracts between you and this developer.
Privacy
This developer declares that your data is
- Not being sold to third parties, outside of the approved use cases
- Not being used or transferred for purposes that are unrelated to the item's core functionality
- Not being used or transferred to determine creditworthiness or for lending purposes