Bobby Collins Claude Opus 4.6 commited on
Commit
44b55ef
·
1 Parent(s): d75a55f

Expand KB with tag scope, sensitivity, conflict resolution, and pitfalls (v1.3.0)

Browse files

- Add 5 new reference sections: Tag Scope & Sensitivity, Tag Conflict
Resolution, Tag Pitfalls, Section-Level Overrides, Speculative Tags
- Unban stereo width (qualitative narrow/medium/wide now valid)
- Allow BPM in lyrics field for per-section tempo changes
- Reclassify mastering LUFS from banned to low-sensitivity/unreliable
- Add missing Punk subgenres (Anarcho-Punk, Queercore)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Files changed (2) hide show
  1. CHANGELOG.md +16 -0
  2. knowledge_base.py +76 -3
CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
  # Changelog
2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  ## [1.2.1] - 2026-02-18
4
 
5
  ### Added
 
1
  # Changelog
2
 
3
+ ## [1.3.0] - 2026-02-18
4
+
5
+ ### Added
6
+ - **Tag Scope & Sensitivity** section — documents which tags are HIGH/MEDIUM/LOW sensitivity and global vs. section vs. line scope
7
+ - **Tag Conflict Resolution** section — how Suno resolves conflicting tags (e.g., chords override key, section BPM overrides global)
8
+ - **Tag Pitfalls** section — 13 common mistakes that reduce output quality
9
+ - **Section-Level Overrides** section — per-section BPM and Key changes with examples
10
+ - **Speculative Tags** section — partially supported tags (KeyChange, FX, Repeat, ReferenceAudio, Extend) with confidence levels
11
+ - Stereo Width added to working production terms: narrow, medium, wide, extreme-wide
12
+ - Missing Punk subgenres added: Anarcho-Punk, Queercore
13
+
14
+ ### Changed
15
+ - **BPM now allowed in lyrics field** — enables per-section tempo changes (previously restricted to style prompt only)
16
+ - **Stereo unbanned** — qualitative stereo width descriptors (narrow/wide) are valid; only hard-panned L/R positioning remains unsupported
17
+ - **Mastering LUFS reclassified** — changed from outright banned to "low-sensitivity and unreliable" (Suno may approximate but can't guarantee exact values)
18
+
19
  ## [1.2.1] - 2026-02-18
20
 
21
  ### Added
knowledge_base.py CHANGED
@@ -17,9 +17,9 @@ Tag Weighting: Position 1 = ~50% influence, Position 2 = ~25%, Position 3 = ~12.
17
 
18
  Style Prompt: 200-400 chars optimal (sweet spot 250-350). Beyond 400 = dilution and ignored descriptors.
19
 
20
- Lyrics Field: Use structure tags on their own lines. Keep section-specific changes, performance cues, and actual lyrics here. Tempo and Key go in STYLE PROMPT ONLY, do NOT repeat in lyrics.
21
 
22
- BANNED (Suno ignores these): Frequency specs (40Hz, 2kHz), decibel specs (-6dB, -30dB), time-based specs (6-second decay), DAW terms (sidechain compression, transient shaping), stereo positioning (hard-panned L/R), mastering specs (-14 LUFS, -3 dBTP), bit depth (12-bit reduction).
23
 
24
  USE INSTEAD: Qualitative descriptors ("deep bass," "punchy kicks," "crisp hats"), texture words ("lo-fi," "tape saturation," "vinyl crackle," "analog," "warm," "bitcrushed"), instrument names ("808 drums," "Rhodes piano," "TR-808"), mood words, physical placement ("close-mic," "room reverb," "distant").
25
 
@@ -37,6 +37,7 @@ Strings/Orchestral: "strings legato," "strings staccato," "strings pizzicato," "
37
  Percussion: "hand percussion," "shakers," "cajon," "808 kick," "electronic percussion"
38
  Compression: "transparent compression," "glue compression," "pumpy compression"
39
  Tonal Balance: "bright top," "warm low-mids," "clean midrange," "bass-forward," "airy highs"
 
40
 
41
  === PERFORMANCE & HUMANIZATION ===
42
 
@@ -57,7 +58,7 @@ Arrangement:
57
  Electronic: House, Techno, Trance, Drum and Bass, Dubstep, Synthwave, Ambient, IDM, Glitch, Electro-Industrial
58
  Rock: Classic Rock, Hard Rock, Psychedelic Rock, Garage Rock, Post-Rock, Progressive Rock, Grunge, Alternative Rock, Indie Rock, Stoner Rock, Math Rock
59
  Metal: Heavy, Thrash, Death, Black, Doom, Sludge, Progressive, Symphonic, Nu-Metal, Metalcore, Industrial Metal
60
- Punk: Classic Punk, Hardcore, Post-Punk, Pop Punk, Garage Punk, Riot Grrrl, Crust, Horror Punk
61
  Hip-Hop/Rap: Boom Bap, Trap, Drill, Lo-Fi Hip Hop, Gangsta Rap, Alternative Hip Hop, Conscious Rap, Cloud Rap
62
  Pop: Mainstream Pop, Indie Pop, Synthpop, Electropop, Dance Pop, Bedroom Pop
63
  Jazz: Bebop, Cool Jazz, Free Jazz, Fusion, Swing, Latin Jazz, Avant-garde Jazz
@@ -154,6 +155,78 @@ Vocals when unwanted -> Add "instrumental, no vocals" explicitly
154
  Overproduced -> Limit to 2-3 core instruments, specify "sparse" arrangement
155
  Robotic feel -> Add humanization cues ("loose feel," "organic imperfections," "live-band energy")
156
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
157
  === BANNED LYRIC PHRASES ===
158
 
159
  NEVER use any of the following cliché phrases or close variants in generated lyrics. These are overused AI-isms that make lyrics feel generic and artificial. If you catch yourself reaching for one of these, find a more original way to express the idea.
 
17
 
18
  Style Prompt: 200-400 chars optimal (sweet spot 250-350). Beyond 400 = dilution and ignored descriptors.
19
 
20
+ Lyrics Field: Use structure tags on their own lines. Keep section-specific changes, performance cues, and actual lyrics here. BPM can appear in both style prompt AND lyrics (useful for per-section tempo changes like [BPM: 140] before [Chorus]). Key goes in STYLE PROMPT ONLY, do NOT repeat in lyrics.
21
 
22
+ BANNED (Suno ignores these): Frequency specs (40Hz, 2kHz), decibel specs (-6dB, -30dB), time-based specs (6-second decay), DAW terms (sidechain compression, transient shaping), bit depth (12-bit reduction). Mastering LUFS specs (-14 LUFS, -3 dBTP) are low-sensitivity and unreliable — Suno may approximate but cannot guarantee exact values.
23
 
24
  USE INSTEAD: Qualitative descriptors ("deep bass," "punchy kicks," "crisp hats"), texture words ("lo-fi," "tape saturation," "vinyl crackle," "analog," "warm," "bitcrushed"), instrument names ("808 drums," "Rhodes piano," "TR-808"), mood words, physical placement ("close-mic," "room reverb," "distant").
25
 
 
37
  Percussion: "hand percussion," "shakers," "cajon," "808 kick," "electronic percussion"
38
  Compression: "transparent compression," "glue compression," "pumpy compression"
39
  Tonal Balance: "bright top," "warm low-mids," "clean midrange," "bass-forward," "airy highs"
40
+ Stereo Width: "narrow," "medium," "wide," "extreme-wide" (qualitative width — do NOT use hard-panned L/R positioning)
41
 
42
  === PERFORMANCE & HUMANIZATION ===
43
 
 
58
  Electronic: House, Techno, Trance, Drum and Bass, Dubstep, Synthwave, Ambient, IDM, Glitch, Electro-Industrial
59
  Rock: Classic Rock, Hard Rock, Psychedelic Rock, Garage Rock, Post-Rock, Progressive Rock, Grunge, Alternative Rock, Indie Rock, Stoner Rock, Math Rock
60
  Metal: Heavy, Thrash, Death, Black, Doom, Sludge, Progressive, Symphonic, Nu-Metal, Metalcore, Industrial Metal
61
+ Punk: Classic Punk, Hardcore, Post-Punk, Anarcho-Punk, Pop Punk, Garage Punk, Queercore, Riot Grrrl, Crust, Horror Punk
62
  Hip-Hop/Rap: Boom Bap, Trap, Drill, Lo-Fi Hip Hop, Gangsta Rap, Alternative Hip Hop, Conscious Rap, Cloud Rap
63
  Pop: Mainstream Pop, Indie Pop, Synthpop, Electropop, Dance Pop, Bedroom Pop
64
  Jazz: Bebop, Cool Jazz, Free Jazz, Fusion, Swing, Latin Jazz, Avant-garde Jazz
 
155
  Overproduced -> Limit to 2-3 core instruments, specify "sparse" arrangement
156
  Robotic feel -> Add humanization cues ("loose feel," "organic imperfections," "live-band energy")
157
 
158
+ === TAG SCOPE & SENSITIVITY ===
159
+
160
+ Every Suno tag operates at a specific scope and has a sensitivity level that determines how strongly Suno responds to it.
161
+
162
+ Scope levels:
163
+ - Global: Affects the entire track. Place at top of style prompt or lyrics header.
164
+ - Section: Affects one section. Place immediately before the section tag.
165
+ - Line/Phrase: Affects a single lyric line or phrase. Place inline.
166
+
167
+ Sensitivity ratings (how reliably Suno honors the tag):
168
+ - HIGH: Genre, BPM, Key, Instruments, Vocal Register, Vocal Delivery, Groove Feel, Drum Style, Performance Energy, Language
169
+ - MEDIUM: Harmony Style, Time Signature, Arrangement Density, Vocal Effects, Vocal Articulation, Reverb, Delay, Compression, EQ/Tonal Balance, Stereo Width, Emotional Arc, Intensity Arc, Mood, LyricTone, Chords, Persona, Bar Counts, Layering
170
+ - LOW: Mastering/Loudness targets, Metadata tags, Licensing flags
171
+
172
+ Tags with HIGH sensitivity should be prioritized in the style prompt. Tags with LOW sensitivity may be approximated or ignored.
173
+
174
+ === TAG CONFLICT RESOLUTION ===
175
+
176
+ When tags conflict, Suno resolves them using these rules:
177
+
178
+ Genre: If conflicting genres present, the last high-priority genre wins. Fallback is default "Pop" semantics.
179
+ BPM: If multiple BPM tags exist, the one closest to the section (most local) overrides global. Uploaded audio tempo always takes precedence over BPM tags.
180
+ Key: Section-local key overrides global key. Explicit chord progressions override Key if incompatible.
181
+ Chords: Explicit [Chords: ...] overrides Key tag. If chords are invalid, Suno infers from Key/genre.
182
+ Performance cues: If contradictory cues present, the last cue nearest to the phrase wins.
183
+ Persona/Voice: If an unavailable Persona is requested, Suno substitutes the nearest-match voice.
184
+ Time signature: If incompatible with BPM or chords, Suno defaults to idiomatic 4/4.
185
+ Mood: If conflicting mood tags present, the last one parsed wins.
186
+ Arrangement density: Global "dense" may conflict with intimate requests (e.g., close-mic vocal). Be intentional.
187
+
188
+ === TAG PITFALLS ===
189
+
190
+ Common mistakes that reduce output quality:
191
+
192
+ - Stacking contradictory moods (e.g., "playful" + "melancholic") reduces coherence — pick ONE dominant mood
193
+ - Listing more than 6 instruments dilutes focus — keep to 3-6 core instruments
194
+ - Microtiming humanization values >50ms make the performance feel off-grid
195
+ - Zero or very high velocity variance removes intended dynamics or creates erratic output
196
+ - Heavy vocal processing can override subtle humanization cues
197
+ - "Energy: high" with "Tempo: slow" creates conflicting signals
198
+ - Very niche subgenres may be approximated to nearest mainstream subgenre
199
+ - Extreme stereo width can cause phase issues in mono playback
200
+ - "Production: lo-fi" + "Production: polished" are contradictory
201
+ - Too many emotional arc transitions reduce clarity — keep to 2-3 stages
202
+ - Rare time signatures (5/4, 7/8) may be approximated; test with explicit rhythmic examples
203
+ - Abstract adjectives like "emotional" are less actionable than "conversational" or "poetic"
204
+ - Avoid direct imitation of living regional artists; use descriptive cues instead
205
+
206
+ === SECTION-LEVEL OVERRIDES ===
207
+
208
+ BPM and Key can be set per-section, not just globally. Section-level tags override the global value for that section only.
209
+
210
+ Examples:
211
+ [BPM: 100] (global default)
212
+ [Verse]
213
+ ...
214
+ [BPM: 140] (override for chorus only)
215
+ [Chorus]
216
+ ...
217
+
218
+ This is useful for songs that speed up, slow down, or shift key at the bridge. Section-local tags always take priority over global ones.
219
+
220
+ === SPECULATIVE TAGS ===
221
+
222
+ These tags have partial or unverified support. Use with appropriate expectations — they may be approximated or ignored.
223
+
224
+ [KeyChange: to X at section] — Requests modulation (e.g., [KeyChange: D major at bridge]). LOW confidence. If unsupported, Suno keeps original key.
225
+ [FX: reverb=large, delay=200ms] — Mix-level effects via key=value pairs. LOW confidence. Reverb and delay keywords are partially recognized.
226
+ [Repeat: n] / [Vamps: n] — Request section repetition. LOW confidence. Studio-level loop controls are more reliable.
227
+ [ReferenceAudio: file_id] — Use uploaded audio as seed for style/voice. MEDIUM confidence for file usage; tag-in-lyrics is speculative. Use Studio UI for deterministic results.
228
+ [Extend] / [Loop: times] / [Replace] — Studio operation tags. MEDIUM confidence. Better used via Studio UI controls than in-lyrics tags.
229
+
230
  === BANNED LYRIC PHRASES ===
231
 
232
  NEVER use any of the following cliché phrases or close variants in generated lyrics. These are overused AI-isms that make lyrics feel generic and artificial. If you catch yourself reaching for one of these, find a more original way to express the idea.