iArt.ai
AI motion graphics software — the After Effects alternative anyone can use. Create animations and explainer videos from a text prompt in minutes.
PhraseCue — a free, private lyric prompter for singers. Tap once to time your lyrics, then sing along to your instrumental with phrasing cues.
MediaHTMLGitHub @greenguy27OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
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.
Taken from the repository README
Loading the full README.
Read the full 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.