尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Free, private lyric prompter for singers. Tap to time your lyrics, then sing along to your instrumental with vocal-phrasing cues: stress, pitch arrows, breath marks. One HTML file, runs offline in any browser.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A free, private lyric prompter for singers, built around vocal-phrasing notes.
Load your song's full mix, its instrumental and your lyrics. Tap once through the song to time it, then sing along to the instrumental while each line lights up on cue. Stress marks, pitch arrows, breath marks and performance notes are all shown in place.
More pictures: Screenshots
▶ Try it: https://greenguy27.github.io/phrasecue/
→ ↗ ↘ pitch arrows, // breath marks and (performance directions) from your phrasing notes, not just plain lyrics..timing.json file, or exports as a standard .lrc that other karaoke apps can read.| Duets: each singer has their own color and side | ⏱ Time mode: tap Space as each blue line starts |
| 📝 Lyrics editor: song title, version and one-click tags | Welcome screen: a checklist shows what's still missing |
| 🎬 Video export: shape, style, duet layout and singer names | Share a line: a PNG card made from your cover art |
Vertical video frames: dark style with the duet layout, then two poster colors.
The pictures use the sample song examples/example-suno-duet.txt ("Lantern Road") and examples/example-phrasing.txt ("Paper Boats").
index.html in your browser by double-clicking it, or use the hosted link above..txt, .md or .lrc).timing.json file next to your song. Next time, or on another computer, drag it in with the other files.No lyrics file? Click 📝 Lyrics to paste or type them. The welcome checklist shows what's loaded and what's still missing.
Want to see the lyric formats? Load the files in examples/ along with any audio file. example-suno-duet.txt shows Suno-style tags and a duet.
Song Title
(Verse 1)
First line of the verse
Second line of the verse
(Chorus)
...
The first line is the title. Lines in ( ) or [ ] are section headers, and every other line is a lyric line.
# SONG TITLE
*Genre · Voice · ~84 BPM*
## [VERSE 1]
*(Soft and close to the mic.)*
→ We folded **PA-per** / ↘ on the kitchen floor,
→ wrote our names / on the **SAILS——** ↘
//
| Markup | Shown as |
|---|---|
# Title | Song title (first heading) |
## [SECTION] | Section header |
*(direction)* | Performance note in italics |
**WORD** | Stressed word, highlighted |
// | Breath mark |
--- | Ignored (spacing only) |
| Any other line | Lyric line that gets timed |
[Style: Dark Americana, Blues Rock]
[Verse 1]
[Male vocal, low and close]
First line of the verse
Second line (echo)
[Instrumental Break]
[Chorus]
...
PhraseCue reads these the way they're written for Suno:
[Intro], [Verse 1], [Pre-Chorus], [Chorus], [Post-Chorus], [Hook], [Bridge], [Final Chorus], [Outro] and so on become section headers.[Instrumental Break], [Interlude], [Guitar Solo], [Breakdown], or variations like [Short Instrumental] and [Soft Guitar Solo], names the instrumental break.[Male vocal, soft] show as performance notes, and a combined tag like [Chorus, both vocals] gives a header plus a note.[Style: …] shows as a small line under the title.( ) shows smaller and isn't timed. A (word) inside a lyric line is shown dimmer.Lines are colored by singer. A small color key appears under the title, the timeline markers match, and exported videos show the singer's name whenever it changes. The part is set by:
[Male vocal], [Female vocal], [Both vocals] (also duet, choir, together), in any lyrics format[Part: Lila], or a bracket tag that's just a name, like [Elyra]Wren: I left the light on…. The name is removed from the sung text.A part lasts until the next one is set. Songs with only one singer aren't colored.
Duet layout: by default, the first singer's lines sit on the left, the second singer's on the right, and Both lines are centered, in the app and in exported videos. Switch it with Timing ▾ → 👥 Duet layout (app) or Duet layout in the video panel.
Singer names in videos: the video panel can show the singer's name above every line (good for vertical TikTok, Shorts and Reels), only when the singer changes, or not at all. Names come from the singer tags, so they're never counted as lyric lines and never need timing.
Standard [mm:ss.xx] lyric files load already timed.
During an instrumental break, the last line dims and a ♪ Instrumental bar counts down to the next line.
Enter the moment the singing stops, then keep tapping Space when it comes back. Backspace undoes the mark, Shift+Enter removes it, and on the timeline you can drag the blue break marker.## [SHORT INSTRUMENTAL], gives the break its name..lrc as an empty timestamp, which is the standard way to show "no lyrics here".📝 Lyrics (or paste / type your lyrics on the welcome screen) opens a text box. Paste or type lyrics in any supported format, fill in the Song title (and an optional Version, like Phrasing or Duet), and click Use these lyrics (Ctrl+Enter).
↑ / ↓ or by clicking them. Load the MP3s whenever they're ready to time the song.🎬 Video turns the timed lyrics into a video file, with no other software needed.
Shift+L, then export.L loops the current line, Shift+L loops the current section, and A / B set your own start and end. Press L again or click the gold loop button to stop., and .) plays at 50–110%. Pitch stays the same.Shift to skip snapping), scroll to zoom, drag to pan, and double-click to zoom back out.R to start and stop. Recording starts from where you are, or from the loop start, and stops at the loop end. Wear headphones. Open 🎙 Takes (T) to play takes back, adjust Voice timing if you sound early or late, and download Voice (webm/m4a) or Mix (WAV, takes recorded at 100% speed). Takes aren't saved after you close the tab.
Ctrl+Z, or ⋯ → Undo.| Key | Action |
|---|---|
Space | Play / pause (in timing mode: stamp the blue line) |
P | Play / pause in any mode |
S | Switch 🎤 Sing ↔ ⏱ Time |
V | Vocals ↔ Karaoke |
← → | Seek 5 seconds |
↑ ↓ | Previous / next line |
[ ] | Move the current line 0.1 s earlier / later |
Shift + [ ] | Move all lines 0.1 s earlier / later |
Ctrl+Z | Undo the last timing change or lyrics edit |
Backspace | Timing mode: undo the last stamp (or break mark) |
Enter / Shift+Enter | Mark / remove an instrumental break after the current line |
+ − | Text size |
F | Full screen |
Home (Mac: Fn+←) | Back to the start |
L / Shift+L | Loop current line / section (again = stop) |
A B | Set loop start / end |
, . | Slower / faster |
R | Record / stop |
T | Show takes |
? | Help |
Click any line to jump to it. The Read-ahead slider lights each line up a moment early so you can see what's coming.
Shift+[ a few times.main / root) and link to https://greenguy27.github.io/phrasecue/ (already live for this repo).index.html to any web host. It's fully self-contained.<iframe src="https://greenguy27.github.io/phrasecue/" style="width:100%;height:85vh;border:0" allow="fullscreen"></iframe>. Some site builders limit iframes, so a link or button is the most reliable option.PhraseCue makes no network requests. Files you load and anything you record are processed locally by your browser. Timings are stored in your browser's local storage and in any files you choose to download. Clearing your browser data erases the browser copy, so keep your .timing.json files.
MIT © 2026 Chris Ross · CRBooks.ink
The sample song in examples/ was written for this project and may be used freely along with the code.