Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Scans lyrics for pronunciation risks and prevents Suno mispronunciations. Use when writing lyrics with proper nouns, technical terms, homographs, or non-English words.
.claude/skills/bitwize-music-studio-pronunciation-specialist/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 113% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 148% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 151% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 91% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 179% | 0% |
Input: $ARGUMENTS
When invoked with a track file path, first check the track's frontmatter for instrumental: true or the Track Details table for **Instrumental** | Yes. If the track is instrumental:
Based on the argument provided:
Scan lyrics for pronunciation risks, suggest phonetic spellings, prevent Suno mispronunciations.
The problem: Suno AI guesses pronunciation. Wrong guess = wrong song = wasted generation.
One wrong word ruins the take.
Always invoke between lyric-writer and lyric-reviewer:
lyric-writer (WRITES + SUNO PROMPT) → pronunciation-specialist (RESOLVES) → lyric-reviewer (VERIFIES) → pre-generation-check
|
Scan, resolve, fix risky wordsYour role — RESOLVE:
See word-lists.md for complete tables. Summary:
Same spelling, different pronunciation. ALWAYS require clarification. (Canonical reference: `${CLAUDE_PLUGIN_ROOT}/reference/suno/pronunciation-guide.md`. Keep this summary in sync.)
| Word | Options | Fix | |------|---------|-----| | live | LYVE (verb) / LIV (adjective) | "lyve" or "liv" | | read | REED (present) / RED (past) | "reed" or "red" | | lead | LEED (guide) / LED (metal) | "leed" or "led" | | wind | WYND (air) / WINED (coil) | "wynd" or "wined" | | tear | TEER (cry) / TARE (rip) | "teer" or "tare" | | bass | BAYSS (music) / BASS (fish) | "bayss" or "bass" |
Suno often mispronounces tech words:
Non-English names need phonetic spelling:
3-letter acronyms → spell out with hyphens (FBI → F-B-I) Word-like acronyms → phonetic (RICO → Ree-koh, NASA → Nah-sah)
You reference TWO pronunciation guides:
${CLAUDE_PLUGIN_ROOT}/reference/suno/pronunciation-guide.mdCheck for custom pronunciation entries:
load_override("pronunciation-guide.md") — returns override content if found (auto-resolves path from config){overrides}/pronunciation-guide.md:
markdown# Pronunciation Guide (Override) ## Artist Names | Name | Pronunciation | Notes | |------|---------------|-------| | Ramos | Rah-mohs | Character name | ## Album-Specific Terms | Term | Pronunciation | Notes | |------|---------------|-------| | Sinaloa | Sin-ah-lo-ah | Location |
extract_section(album_slug, track_slug, "lyrics")check_homographs(lyrics_text) — returns found homographs with line numbers, pronunciation optionsscan_artist_names(style_text) — catch blocklisted namesAfter fixes are applied:
check_pronunciation_enforcement(album_slug, track_slug) — confirms all pronunciation table entries appear in lyricsFrom MCP results and manual scan:
For each flagged word, provide:
Example output:
PRONUNCIATION RISKS FOUND (3):
Line V1:3 -> "We live in darknet spaces"
Risk: "live" is homograph
Options: "lyve" (verb) or "liv" (adjective)
-> Needs clarification
Line C:1 -> "SQL injection in the code"
Risk: "SQL" is tech acronym
Fix: "S-Q-L" or "sequel"
-> Auto-fix: "S-Q-L injection in the code"
Line V2:5 -> "Reading Linux logs at 3AM"
Risk: "Linux" commonly mispronounced
Fix: "Lin-ucks"
-> Auto-fix: "Reading Lin-ucks logs at 3 A-M"For ambiguous words (like "live"): Ask user which pronunciation For clear fixes (tech terms): Auto-fix
If given a track file, update these sections:
Pronunciation Notes (add table):
markdown| Word/Phrase | Phonetic | Notes | |-------------|----------|-------| | Jose Diaz | Ho-say Dee-ahz | Spanish name | | live | lyve | Verb form (to reside) | | SQL | S-Q-L | Spell out |
Lyrics Box (apply fixes): Replace standard spelling with phonetic in the Suno lyrics section.
PRONUNCIATION SCAN COMPLETE
===========================
File: [path or "direct input"]
Risks found: X
Auto-fixed: Y
Needs user input: Z
FIXES APPLIED:
- "SQL" → "S-Q-L" (line V1:3)
- "Linux" → "Lin-ucks" (line V2:5)
NEEDS USER INPUT:
- "live" (line C:1) - lyve or liv?
CLEAN LYRICS:
[Full lyrics with all fixes applied]When you discover new pronunciation issues specific to the user's content:
Add to OVERRIDE guide ({overrides}/pronunciation-guide.md):
paths.overrides location{overrides}/pronunciation-guide.mdExample entry:
markdown| Larocca | larocca | Luh-rock-uh | Character in "sample-album" album |
DO NOT edit the base guide (${CLAUDE_PLUGIN_ROOT}/reference/suno/pronunciation-guide.md) - plugin updates will overwrite it.
When to add:
This keeps discoveries version-controlled with the music content in the overrides directory.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 10,828 | 8,731 | -19% | 1 | 1 | 0% | 1,878 | 4,003 | +113% | 0 | 0 | — |
case-02 | fail→fail | 4,708 | 6,673 | +42% | 1 | 1 | 0% | 275 | 2,826 | +928% | 0 | 0 | — |
case-03 | fail→pass | 8,897 | 7,165 | -19% | 1 | 1 | 0% | 1,502 | 3,725 | +148% | 0 | 0 | — |
case-04 | pass→pass | 6,024 | 1,515 | -75% | 1 | 1 | 0% | 939 | 2,633 | +180% | 0 | 0 | — |
case-05 | pass→pass | 4,630 | 1,602 | -65% | 1 | 1 | 0% | 703 | 2,634 | +275% | 0 | 0 | — |
case-06 | fail→pass | 10,768 | 11,313 | +5% | 1 | 1 | 0% | 1,751 | 4,388 | +151% | 0 | 0 | — |
case-07 | fail→pass | 10,122 | 5,115 | -49% | 1 | 1 | 0% | 1,781 | 3,394 | +91% | 0 | 0 | — |
case-08 | fail→fail | 8,930 | 5,894 | -34% | 1 | 1 | 0% | 1,509 | 3,410 | +126% | 0 | 0 | — |
case-09 | pass→pass | 5,289 | 4,530 | -14% | 1 | 1 | 0% | 885 | 3,020 | +241% | 0 | 0 | — |
case-10 | pass→pass | 10,525 | 4,763 | -55% | 1 | 1 | 0% | 1,537 | 3,175 | +107% | 0 | 0 | — |
case-11 | pass→pass | 3,571 | 3,152 | -12% | 1 | 1 | 0% | 531 | 2,874 | +441% | 0 | 0 | — |
case-12 | fail→pass | 7,143 | 4,183 | -41% | 1 | 1 | 0% | 1,119 | 3,121 | +179% | 0 | 0 | — |
case-13 | fail→pass | 9,382 | 3,098 | -67% | 1 | 1 | 0% | 1,473 | 2,902 | +97% | 0 | 0 | — |
case-14 | fail→pass | 7,540 | 2,012 | -73% | 1 | 1 | 0% | 1,292 | 2,747 | +113% | 0 | 0 | — |
case-15 | fail→pass | 7,886 | 1,736 | -78% | 1 | 1 | 0% | 1,322 | 2,607 | +97% | 0 | 0 | — |
case-16 | fail→fail | 13,536 | 4,996 | -63% | 1 | 1 | 0% | 2,099 | 3,304 | +57% | 0 | 0 | — |
case-17 | fail→fail | 12,861 | 2,720 | -79% | 1 | 1 | 0% | 2,000 | 2,835 | +42% | 0 | 0 | — |
case-18 | fail→fail | 9,314 | 4,728 | -49% | 1 | 1 | 0% | 1,500 | 3,183 | +112% | 0 | 0 | — |
case-19 | pass→pass | 9,494 | 4,524 | -52% | 1 | 1 | 0% | 1,448 | 3,131 | +116% | 0 | 0 | — |
case-20 | fail→fail | 14,546 | 7,773 | -47% | 1 | 1 | 0% | 2,691 | 3,773 | +40% | 0 | 0 | — |
case-21 | pass→fail | 7,360 | 9,506 | +29% | 1 | 1 | 0% | 1,217 | 4,042 | +232% | 0 | 0 | — |
case-22 | pass→pass | 15,918 | 12,417 | -22% | 1 | 1 | 0% | 2,326 | 4,174 | +79% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +32 percentage points is the difference between those two pass rates over the 21 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.