The 362 clichés we filter from every lyric.
Every lyric SongForgeAI generates is scanned against this list before delivery. Three tiers: hard-ban terms that never ship, defense-required terms that survive only when the writing room states a reason, and watch-list terms tracked for overuse. Published under CC BY 4.0 so anyone building lyric tools can fork it.
Why a public banned list?
AI lyric generators converge on the same vocabulary under the hood. Neon, echo, shatter, tapestry, kaleidoscope, weave, whisper-of, shadow-of — these are the eight signatures that show up in roughly 60% of unfiltered AI lyrics. The full list covers 362 terms across four categories (AI cliché, overworn imagery, filler, purple prose).
Filtering them out at generation time is necessary but not sufficient. Surfacing the LIST publicly lets other tools audit themselves against it AND lets buyers verify what we’re actually filtering — the same way the Lyric Scoring Standard makes the 12-metric rubric verifiable instead of just claimed.
The license is CC BY 4.0. Use it, fork it, ratchet it. If you ship a tool that uses this list, attribution with a link back to this page is appreciated.
Get the list
The file exports BANNED_TERMS: BannedTerm[] plus helpers for filtering by tier + category. Add attribution in a comment header when you fork. For corrections or term additions, open an issue or email todd@songforgeai.com.
Tier 1 · Hard ban — auto-rejected
247 terms
These never appear in a SongForgeAI-delivered lyric. The forge generates, the scanner catches, the writing room rewrites. No defense, no exception.
porch light
AI default for nostalgia/home
porchlight
AI default for nostalgia/home
shatter
AI default for emotional impact
shattered
AI default for emotional impact
unravel
AI default for things falling apart
unraveling
AI default for things falling apart
tapestry
AI default metaphor for complexity
kaleidoscope
AI default for visual variety
labyrinth
AI default for confusion/complexity
juxtaposition
AI essay word, not song word
visceral
AI loves this word, listeners never say it
ethereal
AI atmosphere default
catharsis
AI essay word forced into lyrics
cathartic
AI essay word forced into lyrics
raw and real
AI filler phrase for authenticity
heart
Overused emotional shorthand — show the feeling without naming the organ
soul
Overused spiritual shorthand — be specific about what the narrator actually feels
shadows
AI default atmosphere word — use specific darkness instead
fading
AI default for loss/endings — show the disappearance without naming it
fades
AI default for loss/endings — show the disappearance without naming it
fade
AI default for loss/endings — show the disappearance without naming it
dancing in the rain
Most cliché lyric image
dance in the rain
Most cliché lyric image
tears like rain
Dead metaphor
ocean of
AI default scale metaphor
sea of
AI default scale metaphor
drowning in
AI default overwhelm metaphor
castle walls
AI emotional defense cliché
walls come down
AI emotional vulnerability cliché
crashing waves
AI default nature metaphor
weight of the world
Dead cliché
light in the darkness
AI hope cliché
through the storm
AI perseverance cliché
ashes to
AI rebirth cliché
rise from the
AI rebirth cliché
stars align
AI destiny cliché
whisper in the wind
Dead cliché
intertwine
AI connection cliché
intertwined
AI connection cliché
resilience
AI motivational default
resilient
AI motivational default
remnants
AI memory/loss default
facade
AI mask metaphor default
dichotomy
AI essay word, not song word
transcend
AI elevation cliché
transcendent
AI elevation cliché
i'm still here
AI resilience cliché
hold you close
AI intimacy default
broken open
AI vulnerability cliché
scar tissue
AI metaphor overuse
silent cry
AI pain cliché
golden hour
AI nostalgia default
safe harbor
AI comfort metaphor
safe harbour
AI comfort metaphor
picking up the pieces
Dead recovery cliché
scars tell stories
AI wisdom cliché
wear my scars
AI strength cliché
beneath the surface
AI depth cliché
burning bridge
Dead metaphor
burning bridges
Dead metaphor
wildfire
AI intensity default
constellation
AI cosmic cliché
constellations
AI cosmic cliché
compass
AI direction/purpose cliché
anchor
AI stability cliché
tidal wave
AI overwhelm cliché
chapter
AI life-as-book cliché
chapters
AI life-as-book cliché
rebirth
AI transformation cliché
in this moment
Time-filler that adds nothing
at the end of the day
Spoken cliché, not lyric
when all is said and done
Empty filler phrase
truth be told
AI transition filler
once upon a time
AI storytelling crutch
deep inside
AI depth filler
from the depths
AI depth filler
standing tall
AI strength filler
against all odds
Dead motivation cliché
gossamer
AI purple prose default
luminescent
AI purple prose default
incandescent
AI purple prose default
resplendent
AI purple prose default
ephemeral
AI purple prose default
iridescent
AI purple prose default
effervescent
AI purple prose default
crystalline
AI purple prose default
luminous
AI purple prose default
cascading
AI purple prose default
reverberating
AI purple prose default
reverberate
AI purple prose default
celestial
AI purple prose default
mellifluous
AI purple prose default
dulcet
AI purple prose default
sonorous
AI purple prose default
cacophony
AI purple prose default
symphony of
AI metaphor cliché
velvet
AI favorite texture word
haunting
AI emotional default
haunted
AI emotional default
tender
AI intimacy default
woven
AI connection metaphor
weave
AI connection metaphor
fractured
AI damage word
fracture
AI damage word
unspoken
AI mystery/intimacy default
hollow
AI emptiness default
surrender
AI vulnerability default
silhouette
AI visual cliché
aching
AI pain word #1
tangled
AI complexity default
canyon
AI distance/gap metaphor
chasm
AI distance/gap metaphor
aftermath
AI consequence word
3 AM
AI default lonely/vulnerable time
3AM
AI default lonely/vulnerable time
three a.m.
AI default lonely/vulnerable time
3 a.m.
AI default lonely/vulnerable time
2 AM
AI clock-time shortcut
4 AM
AI clock-time shortcut
2:47
AI fake-specific timestamp
3:47
AI fake-specific timestamp
4:30
AI fake-specific timestamp
11:43
AI fake-specific timestamp
forty-seven
AI fake-specific number — B2443. Spelled-out form has no song-craft use; if a specific count matters, use a different number or write "I called you" without the count.
twenty-three
AI fake-specific number — B2443. Same shape as forty-seven; the count adds nothing.
thirty-seven
AI fake-specific number — B2443. Less-frequent variant of the same pattern.
forty-two
AI fake-specific number — B2443. Hitchhiker default; almost always a tell.
embers
AI default for dying passion/hope
cinders
AI synonym rotation for embers
tethered
AI connection/constraint default
untethered
AI freedom default
uncharted
AI adventure/uncertainty default
reckon with
AI confrontation phrase
reckoning
AI confrontation default
chrysalis
AI transformation metaphor
metamorphosis
AI transformation metaphor
in the wreckage
AI aftermath phrase
wreckage of
AI aftermath phrase
carry the weight
AI burden cliché
wearing thin
AI patience/endurance cliché
paper thin
AI fragility default
razor's edge
AI danger/balance cliché
come undone
AI emotional collapse default
came undone
AI emotional collapse default
let it burn
AI destruction/release default
taste of
AI sensory metaphor overuse
threadbare
AI synonym rotation for worn/thin
unmoored
AI lost/adrift default
cathedral
AI sacred/grand space default
bones of
AI structure/essence metaphor
marrow
AI depth/essence default
quicksand
AI trapped/sinking default
sovereign
AI empowerment purple prose
kaleidoscopic
AI visual variety default
trembling
AI vulnerability/fear default
wraith
AI ghost/haunting synonym
phantom
AI memory/ghost default
refrain from
AI formal register leak
precipice
AI edge/cliff synonym
the void
AI emptiness/nothingness default
coffee
AI default domestic/morning prop — extremely overused
coffee rings
AI default nostalgia prop — overused trend
coffee-stained
AI default nostalgia prop — overused trend
coffee mug
AI #1 domestic nostalgia prop
coffee cup
AI domestic nostalgia prop
tea
AI domestic comfort prop — same crutch as coffee
teacup
AI domestic/delicate prop
tea cup
AI domestic/delicate prop
kettle
AI domestic atmosphere prop — too cozy/predictable
whiskey
AI replacement crutch for coffee/tea — equally overused
whisky
AI replacement crutch for coffee/tea — equally overused
bourbon
AI default drink prop — same crutch as whiskey/coffee
copper
AI default color/material word — overused trend
broke me open
Batch overuse — appeared in 36% of songs as lazy synonym for emotional impact
broke me
Batch overuse — soft romanticism of emotional damage
break free
Batch overuse — generic liberation cliché
breaking through
Batch overuse — generic breakthrough cliché
grease
Batch overuse — AI working-class authenticity prop (grease-as-baptism appeared in 16% of songs)
built for this
Batch overuse — appeared in 28% of songs as identity-as-predetermined cliché
built for
Batch overuse — identity-as-predetermined framing
built different
Batch overuse — identical to built-for-this pattern
fire escape
Batch overuse — appeared in 20% of songs as awakening/awareness symbol
cold pizza
Batch overuse — exact phrase repeated in 12% of songs as domesticity prop
static
AI default electronic atmosphere — use specific sounds instead
frequencies
AI default tech-mysticism word
frequency
AI default tech-mysticism word
fluorescent
AI default lighting word — be specific about the light source
electric
AI default intensity/atmosphere modifier
glowing
AI default atmosphere word — show what emits the light
digital
AI default tech-atmosphere word
signal
AI default connection/communication metaphor
signals
AI default connection/communication metaphor
transmission
AI default communication metaphor
wavelength
AI default connection metaphor
metallic
AI default sensory word for urban/tech settings
vertigo
AI default disorientation word
graveyard
AI default dark atmosphere word
trigger warning
AI internet-speak leaking into lyrics
bleeding through
AI default transition/atmosphere phrase
tuesday
AI fake-specificity weekday — sounds random, not earned
tuesdays
AI fake-specificity weekday — sounds random, not earned
wednesday
AI fake-specificity weekday — sounds random, not earned
thursday
AI fake-specificity weekday — sounds random, not earned
radiator
AI fake-specificity prop — overused domestic object for artificial grounding
refrigerator
AI fake-specificity prop — overused domestic object for artificial grounding
broken pieces
LLC-6 flagged — AI fragmentation cliché
walls I've built
LLC-6 flagged — AI emotional defense cliché
fading light
LLC-6 flagged — AI loss/endings cliché
pieces of me
LLC-6 flagged — AI fragmentation/vulnerability cliché
anima
Italian cliché equivalent of English "soul" — overused spiritual shorthand
cuore
Italian cliché equivalent of English "heart" — overused emotional shorthand
destino
Italian cliché — destiny/fate as default poetic abstraction
eternità
Italian cliché — purple-prose default for "forever"
sublime
Italian cliché — operatic-essay word, not lyric word
infinito
Italian cliché — purple-prose default for "endless"
lacrime di
Italian cliché — "tears of" default emotional intensifier
silenzio eterno
Italian cliché — "eternal silence" purple prose
oscurità
Italian cliché — "darkness" as default atmospheric noun
tempesta del cuore
Italian cliché — "storm of the heart" dead metaphor
tra le mie mani
Italian cliché — "between my hands" overused gesture frame
corazón roto
Spanish cliché — "broken heart" dead phrase
alma mía
Spanish cliché — "my soul" overused diminutive
lágrimas de
Spanish cliché — "tears of" default emotional intensifier
eternamente
Spanish cliché — purple-prose "eternally"
destino cruel
Spanish cliché — "cruel fate" dead pairing
noche oscura
Spanish cliché — "dark night" generic atmosphere
mi amor
Spanish cliché — too generic without grounding
sin ti
Spanish cliché — "without you" most overused chorus phrase
para siempre
Spanish cliché — "forever" default romantic claim
mon cœur
French cliché — "my heart" overused
mon âme
French cliché — "my soul" overused
à jamais
French cliché — "forever" default lyric phrase
pour toujours
French cliché — "always" default lyric phrase
larmes de
French cliché — "tears of" default emotional intensifier
au fond de
French cliché — "at the bottom of" generic depth metaphor
dans tes bras
French cliché — "in your arms" most overused phrase
comme un rêve
French cliché — "like a dream" dead simile
lacrimae mundi
Latin cliché — "tears of the world" purple-prose pseudo-liturgy
tenebrae cordis
Latin cliché — "darkness of the heart" pseudo-liturgical atmosphere
umbra mortis
Latin cliché — "shadow of death" pseudo-liturgical default
silentium aeternum
Latin cliché — "eternal silence" pseudo-liturgical purple prose
liminal
2025-26 AI default — "liminal space" essay-word leaking into lyrics
kintsugi
2025-26 AI default — "kintsugi" repair metaphor essay-word
ineffable
AI essay-word default — purple prose for "indescribable"
architecture of
2025-26 AI default — "architecture of grief" / "architecture of love" essay framing
topography of
2025-26 AI default — "topography of memory" essay framing
cartography of
2025-26 AI default — "cartography of loss" essay framing
Tier 2 · Defense required
96 terms
These can be used brilliantly but are usually lazy. The writing room must state the reason in its notes when it wants to keep one. Undefended uses are auto-rewritten.
neon
AI default atmosphere word — defend if specific (what neon, what it says)
echo
AI default for repetition/memory
echoes
AI default for repetition/memory
echoing
AI default for repetition/memory
I didn't notice
SongForgeAI confession-frame tic — defend if scene-specific
I practiced
SongForgeAI confession-frame tic — defend with what was practiced + when
I forgot how to
SongForgeAI confession-frame tic — defend with the forgotten skill's specifics
I'm learning to
SongForgeAI confession-frame tic — defend with the lesson and its cost
I'm learning how
SongForgeAI confession-frame tic — defend with the lesson and its cost
I used to
SongForgeAI confession-frame tic — defend with the specific past behavior
hospital light
SongForgeAI imagery tic — defend if the hospital is named/located
kitchen window
SongForgeAI imagery tic — defend with what's seen through it
kitchen light
SongForgeAI imagery tic — defend with quality (fluorescent? amber? cold?)
her shoulder
SongForgeAI imagery tic — too generic; defend with what's on/about it
his shoulder
SongForgeAI imagery tic — too generic; defend with what's on/about it
shoulder blade
SongForgeAI imagery tic — defend with the specific gesture/touch
the doorway
SongForgeAI imagery tic — defend with what's on either side of it
in the doorway
SongForgeAI imagery tic — defend with the specific motion through it
empty room
SongForgeAI imagery tic — empty of WHAT? defend with what was there
her name
SongForgeAI imagery tic — defend by NAMING her, not naming the naming
his name
SongForgeAI imagery tic — defend by NAMING him, not naming the naming
your name
SongForgeAI imagery tic — defend by NAMING the person, not naming the naming
I carried
SongForgeAI verb tic — what's being carried, and how (in pocket / in chest / in hand)?
I swallowed
SongForgeAI verb tic — defend with what was swallowed (words / pride / tears) AND why now
I held
SongForgeAI verb tic — held WHAT, and for how long?
she held
SongForgeAI verb tic — held WHAT, and the gesture's specifics
he held
SongForgeAI verb tic — held WHAT, and the gesture's specifics
something in my chest
SongForgeAI body-anatomy tic (#1 audit motif) — defend with the specific physical sensation + scene
chest is opening
SongForgeAI emotional-release tic — defend with the trigger + setting
chest holds
SongForgeAI body-container tic — defend with what the chest holds, literally
between my ribs
SongForgeAI body-cavity tic — defend with the specific pain locus, not the abstraction
ribs breaking
SongForgeAI body-anatomy tic — too generic; defend with the sound or sensation
my ribs know
SongForgeAI body-anthropomorphism tic — ribs don't know things; the speaker does
throat closing
SongForgeAI inability-to-speak tic — defend with what the speaker is trying to say
words die in my throat
SongForgeAI inability-to-speak tic — defend with the words themselves
spine straightening
SongForgeAI empowerment tic — defend with the external action that requires it
spine remembers
SongForgeAI body-anthropomorphism tic — spines don't remember
find my voice
SongForgeAI identity-search tic — too abstract; defend with what speaking specifically means here
my voice is getting louder
SongForgeAI empowerment tic — defend with what the voice is SAYING
voice has weight
SongForgeAI weight-as-virtue tic — defend with the specific gravitas, not the metaphor
finding my voice
SongForgeAI identity-search tic — too abstract; defend with the song's specific stake
rationing my breath
SongForgeAI breath-scarcity tic — defend with what the breath is being saved for
rationing breath
SongForgeAI breath-scarcity tic — defend with the constraint that requires it
breath returns
SongForgeAI resolution tic — defend with what triggered the return
holding my breath
SongForgeAI tension tic — defend with what the speaker is waiting for
the silence says
SongForgeAI personified-silence tic — silence doesn't say things; defend with what FILLED the silence
silence costs
SongForgeAI silence-as-currency tic — too abstract; defend with the concrete price
maybe this is what
SongForgeAI resolution-pivot tic — defend with the specific revelation, not the abstraction
maybe i'm not
SongForgeAI self-acceptance pivot — defend with what the speaker IS instead
maybe i am
SongForgeAI self-acceptance pivot — too vague; defend with the concrete identity
this is what healing looks like
SongForgeAI therapy-pivot tic — defend with the actual scene of healing
this is what surviving looks like
SongForgeAI therapy-pivot tic — defend with the survival's specifics
take up space
SongForgeAI therapy-speak tic — defend with the specific act of taking
taking up space
SongForgeAI therapy-speak tic — defend with the specific act
showing up
SongForgeAI therapy-speak tic — defend with WHERE/FOR WHOM the speaker showed up
sit with
SongForgeAI therapy-speak tic — defend with what is being sat with, concretely
choose me
SongForgeAI self-empowerment tic — defend with the choice's specific cost
choose myself
SongForgeAI self-empowerment tic — defend with the specific act of choosing
i can trust my own voice
SongForgeAI self-trust tic — defend with what the voice is saying
in aeternum
Latin cliché — "forever/eternally" default closer; defend with theological specificity
Netflix
Nashville furniture (B2075/Brett) — generic 2020s tech reference, flagged as easy/tired
Spotify
Nashville furniture (B2075/Brett) — generic 2020s tech reference
Goodwill
Nashville furniture (B2075/Brett) — generic returned-stuff symbol
GPS
Nashville furniture (B2075/Brett) — generic 2010s-2020s navigation cliche
DM'd
Nashville furniture (B2075/Brett) — generic social-media interaction
DMs
Nashville furniture (B2075/Brett) — generic social-media interaction
iPhone
Nashville furniture (B2075/Brett) — branded device drops the line into a specific era badly
Facetime
Nashville furniture (B2075/Brett) — generic video-call reference
TikTok
Nashville furniture (B2075/Brett) — generic social platform reference
Nashville furniture (B2075/Brett) — generic social platform reference
Marcus
AI-default name (B2086/operator) — reappeared across unrelated forges as a lazy fill-in. Use only when the user prompt names the character explicitly.
Elena
AI-default name (B2086) — over-represented in LLM-generated lyrics. Use only when explicitly specified.
Eleanor
AI-default name (B2086) — over-represented in LLM output. Use only when explicitly specified.
Sebastian
AI-default name (B2086) — over-represented in LLM output. Use only when explicitly specified.
Aurelia
AI-default name (B2086) — literary AI fill-in. Use only when explicitly specified.
Mariana
AI-default name (B2086) — literary AI fill-in. Use only when explicitly specified.
Cassius
AI-default name (B2086) — literary AI fill-in. Use only when explicitly specified.
Octavia
AI-default name (B2086) — literary AI fill-in. Use only when explicitly specified.
the sound of
Thesis-line construct (B3408 cross-AI WAR ROOM). Reads as commentary-on-the-song instead of lived lyric. Show the moment, not the thesis.
this is the sound
Thesis-line construct (B3408). Same family as "the sound of" — explicit meta-commentary.
this is where
Thesis-line construct (B3408). The "this is where I [meta-verb]" pattern that the cross-AI feedback called out. Use the action, not the frame around the action.
the shape of
Thesis-line construct (B3408). Abstract noun + meta concept — "the shape of grief," "the shape of leaving." Name the specific object that has the shape.
the language of
Thesis-line construct (B3408). Abstract noun + meta concept — "the language of silence," "the language of being." Show the language being spoken, not the meta frame.
the architecture of
Thesis-line construct (B3408). Same family. Name the rooms, not the architecture.
the geography of
Thesis-line construct (B3408). Same family. Name the place, not the geography.
what if this is
Thesis-line construct (B3412 WAR ROOM §2.1). Bridge-as-thesis pattern from "What if this is everything" — generic emotional-stakes opener. Name what specifically she is afraid of / hoping for / about to lose.
this is everything
Thesis-line construct (B3412 WAR ROOM §2.1). Closer abstraction that summarizes the song. Name the specific moment/object/scene that makes it everything.
couldn't make me
Thesis-line construct (B3412 WAR ROOM §2.1). "Every reason that I had / Couldn't make me understand" — abstract failure-to-comprehend. Show the moment of misunderstanding, not the summary of it.
i'm done rehearsing
Thesis-line construct (B3412 WAR ROOM §2.1). Performative declaration about a meta-state ("rehearsing being ready") rather than an observed scene. Name what the speaker stops doing in a specific moment.
rationing my
Told-not-shown construct (B3412 WAR ROOM §2.2). "Rationing my happiness like it might run out" — direct abstract explanation of a psychological state. Show the rationing in action (one cookie a day, the unwon lottery ticket folded in the wallet) instead of naming it.
more than remember
Told-not-shown construct (B3412 WAR ROOM §2.2). "I need to breathe more than remember" — abstract trade-off between two stative verbs. Show the breathing AND the not-remembering as separate observed actions.
more than remembering
Told-not-shown construct (B3412 WAR ROOM §2.2). Same family — abstract trade-off pattern.
instead of remember
Told-not-shown construct (B3412 WAR ROOM §2.2). "I choose to breathe instead of remember" — declarative emotional choice between abstract verbs. Show the choice through action/object, not as a thesis statement.
instead of remembering
Told-not-shown construct (B3412 WAR ROOM §2.2). Same family.
the bruise you
Mixed-metaphor construct (B3412 WAR ROOM §2.3). "The bruise you called my name" sounds right but fails close reading — a bruise isn't called a name; the abusive name LEAVES a bruise. The phrasing prioritizes sonic surface over felt meaning.
survival over
Mixed-metaphor construct (B3412 WAR ROOM §2.3). "Survival over shelter" — abstract X-over-Y pair where the shelter is also fuzzy. Such constructions sound profound but don't bear weight.
Tier 3 · Watch list — overuse tracking
19 terms
Tracked across the last N delivered songs. Not banned, but flagged when the writing room reaches for them too often. Used to detect drift toward stylistic convergence.
unread texts
Nashville furniture (B2075/Brett) — phone-dependency cluster cliche
last seen
Nashville furniture (B2075/Brett) — read-receipt cluster cliche
amber
SongForgeAI dialect (B3367) — "amber light/glow/evening" lighting epidemic. Describe the TEXTURE of the light, not just the color.
holds
SongForgeAI dialect (B3367) — "the [object] holds what I cannot say" construct repeats across the corpus. Vary the verb of inheritance.
holding
SongForgeAI dialect (B3367) — same family as "holds." Watch for clustering.
still
SongForgeAI dialect (B3367) — recurred 53x across the 100-song corpus, often as "still [verb]ing" padding. Prefer active simple tense.
voice
SongForgeAI dialect (B3367) — recurred 43x across the corpus, often as "the voice catches" / "the voice held." Watch for clustering.
hands
SongForgeAI dialect (B3367 / B3391) — recurred 39x across the corpus as body-as-witness shorthand. Do NOT substitute another anatomy word (clavicle / shins / jawline became their own cluster). Name the SCENE the body is in, not the body part.
clavicle
SongForgeAI dialect (B3391) — surfaced as overused in operator-reported feedback after being listed as an alternative to "hands" in B3367. Body-part-as-witness shorthand. Name the scene the body is in.
shins
SongForgeAI dialect (B3391) — same B3367 alternative-cluster as clavicle. Body-part-as-witness shorthand.
jawline
SongForgeAI dialect (B3391) — same B3367 alternative-cluster as clavicle. Body-part-as-witness shorthand.
fingers
SongForgeAI dialect (B3367) — same body-as-witness family as "hands." Watch for clustering across songs.
breath
SongForgeAI dialect (B3367) — recurred 24x across the corpus. Often used as emotional shorthand without scene-anchoring.
breathing
SongForgeAI dialect (B3367) — same family as "breath." Watch for clustering.
silence
SongForgeAI dialect (B3367) — recurred 26x across the corpus, often as "the silence holds." Vary the texture of quiet.
weight
SongForgeAI dialect (B3367) — recurred 27x across the corpus, often as "the weight of." Prefer naming the specific gravity.
learning
SongForgeAI dialect (B3367) — recurred 24x across the corpus, often as "I am learning to [verb]." Prefer the simpler tense.
grain
SongForgeAI dialect (B3367) — "wood grain holds" pattern flagged by reviewers as repeating across multiple songs.
ordinary
SongForgeAI dialect (B3367) — flagged by reviewers as too soft / abstract for the corpus actual specificity strength.