kb: add funk guitar pack

5 vamps (one-chord I9 with quality motion 9-13-9sus4, Dorian i7-IV7,
disco ii-V loop, I9-bVII9 figure, EWF smooth maj7 loop) x 2 plays:
Nolen 9th cycle, 7#9 grit, Chameleon pair, m11 barre, Le Freak grips,
top-4 shimmer. 16th-grid comping patterns documented (scratch, chika,
JB cell, Sex Machine, Rodgers selective). Sourced Cissy Strut lick.
Validator and build green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
vadimwit
2026-06-12 15:59:40 +01:00
parent de0071f7bf
commit ecfa7d0a65
5 changed files with 261 additions and 1 deletions
+1 -1
View File
@@ -16,7 +16,7 @@ The queue for the `/kb-expand` loop. One cell per session, top-to-bottom. Protoc
| 2 | Blues | done (2026-06-12, 5 progressions × 2 plays, validator ✓) | | 2 | Blues | done (2026-06-12, 5 progressions × 2 plays, validator ✓) |
| 3 | Rock | done (2026-06-12, 5 progressions × 2 plays, validator ✓) | | 3 | Rock | done (2026-06-12, 5 progressions × 2 plays, validator ✓) |
| 4 | Bossa Nova | done (2026-06-12, 5 progressions × 2 plays, validator ✓) | | 4 | Bossa Nova | done (2026-06-12, 5 progressions × 2 plays, validator ✓) |
| 5 | Funk | todo | | 5 | Funk | done (2026-06-12, 5 progressions × 2 plays, validator ✓) |
| 6 | Reggae | todo | | 6 | Reggae | todo |
| 7 | Country / Folk | todo | | 7 | Country / Folk | todo |
| 8 | R&B / Neo-soul | todo | | 8 | R&B / Neo-soul | todo |
+188
View File
@@ -0,0 +1,188 @@
// Funk guitar pack. Shapes verified by note-spelling against: justinguitar.com
// (E9 "the funk chord"), fundamental-changes.com (funk chords, JB E9-D9 accents),
// yourguitaracademy.com (Sex Machine pattern), musicradar.com (Nile Rodgers grips),
// ethanhein.com (Chameleon Dorian analysis), Wikipedia (Jimmy Nolen chicken scratch).
// 5th-string-root colour chords — the Nolen vocabulary.
const NINE = { rootStr: 5, offsets: ['x', 0, -1, 0, 0, 0], fingers: [0, 2, 1, 3, 3, 3] } // R-3-♭7-9-5: THE funk chord
const THIRTEEN = { rootStr: 5, offsets: ['x', 0, -1, 0, 0, 2], fingers: [0, 2, 1, 3, 3, 4] } // 9 grip, pinky takes 5→13
const NINESUS = { rootStr: 5, offsets: ['x', 0, 0, 0, 0, 0], fingers: [0, 1, 1, 1, 1, 1] } // full barre: R-4-♭7-9-5
const HENDRIX = { rootStr: 5, offsets: ['x', 0, -1, 0, 1, 'x'], fingers: [0, 2, 1, 3, 4, 0] } // 7♯9 — ♭3 grit over a dominant
const M9 = { rootStr: 5, offsets: ['x', 0, -2, 0, 0, 'x'], fingers: [0, 2, 1, 3, 4, 0] } // R-♭3-♭7-9
const MAJ7_5 = { rootStr: 5, offsets: ['x', 0, 2, 1, 2, 'x'], fingers: [0, 1, 3, 2, 4, 0] } // R-5-7-3
// 6th-string-root grips.
const M7_6 = { rootStr: 6, offsets: [0, 'x', 0, 0, 0, 'x'], fingers: [1, 0, 2, 3, 4, 0] } // R-♭7-♭3-5 (the Le Freak Am7)
const M11_BARRE = { rootStr: 6, offsets: [0, 0, 0, 0, 0, 0], fingers: [1, 1, 1, 1, 1, 1] } // one-finger m11 (D'Angelo)
const THIRTEEN_6 = { rootStr: 6, offsets: [0, 'x', 0, 1, 2, 'x'], fingers: [1, 0, 2, 3, 4, 0] } // R-♭7-3-13
// Top-4 fragments — above the bass, out of the keys' mid-range.
const M7_TOP4 = { rootStr: 1, offsets: ['x', 'x', 0, 0, 0, 0], fingers: [0, 0, 1, 1, 1, 1] } // ♭7-♭3-5-R barre
const MAJ7_TOP4 = { rootStr: 1, offsets: ['x', 'x', 1, 1, 0, 0], fingers: [0, 0, 2, 3, 1, 1] } // 7-3-5-R
export default {
styleIntro:
'The funk guitarist is a percussionist who happens to know chords: the strumming arm plays constant sixteenths like a hi-hat, and the fret hand decides which of them speak. Play the gaps the bass leaves, keep voicings small and high, and serve The One.',
comping: [
{
label: '16th-note scratch foundation',
rhythm: '1e&a 2e&a 3e&a 4e&a — DUDU, never stops',
description: 'Mute everything with the fret hand and strum constant sixteenths — pure percussion first. Voiced hits are added by pressing the chord only on chosen slots, releasing pressure immediately after (the choke).',
},
{
label: 'Chicken scratch ("chika")',
rhythm: 'muted down-up 16th pairs',
description: 'Jimmy Nolen\'s signature: strings pressed just enough for a pitchless scratch, strummed near the bridge. The texture between the hits IS the part.',
},
{
label: 'JB one-bar cell',
rhythm: 'C x x x x x x x x x C x x x x x — hits on 1 and the &-of-3',
description: 'Chord stab on the One (always the One), a second on the and-of-3, ghosts everywhere else. The school pattern behind a hundred James Brown grooves.',
},
{
label: 'Sex Machine pattern',
rhythm: '9 . . . 9 . . . 13 . . . . . . 9',
description: 'I9 on beats 1 and 2, I13 on beat 3, an upstroke 9 at the bar\'s tail — the documented Eb9/Eb13 figure. The top note rocking 5↔13 is the hook.',
},
{
label: 'Nile Rodgers selective 16ths',
rhythm: 'arm = metronome; the pick chooses string groups',
description: 'Down-up sixteenths never stop, whether or not strings are struck. Accents come from catching the bottom of the grip vs the top-3 fragment, plus fret-hand chucks. Built on what he doesn\'t play.',
},
],
plays: {
'funk-one-chord': [
{
label: 'The Nolen cycle (9 → 13 → 9sus4)',
level: 'intermediate',
chords: [
{ shape: NINE, extensions: ['9'], note: 'I9 — the funk chord' },
{ shape: THIRTEEN, extensions: ['9', '13'], note: 'pinky stretches 5→13' },
{ shape: NINESUS, extensions: ['b7', '9'], note: 'one-finger barre — the lift' },
{ shape: NINE, extensions: ['9'], note: 'and home' },
],
tips: 'Three grips, one fret position, zero chord changes — the whole arrangement is the top two strings breathing. Choke every hit; the scratch between them never stops.',
},
{
label: 'Grit set (7♯9 stabs)',
level: 'intermediate',
chords: [
{ shape: HENDRIX, extensions: ['#9'], note: 'I7♯9 — major and minor third at once' },
{ shape: THIRTEEN, extensions: ['9', '13'], note: '' },
{ shape: NINESUS, extensions: ['b7', '9'], note: '' },
{ shape: NINE, extensions: ['9'], note: '' },
],
tips: 'The ♯9 is the blues clash built into one grip — use it for the stabs you want to hurt, the clean 9 for the ones that groove. Sparser than the Nolen cycle: half the hits, twice the silence.',
},
],
'funk-dorian-vamp': [
{
label: 'Chameleon pair (m9 + 9)',
level: 'intermediate',
chords: [
{ shape: M9, extensions: ['9'], note: 'i9' },
{ shape: NINE, extensions: ['9'], note: 'IV9 — same fret region, one string set' },
],
tips: 'Both grips share the A-string root region — the change is two fingers, not a position. Sixteenth scratch throughout; voice the chords only on the accents the bass leaves open.',
},
{
label: 'D\'Angelo barre (m11 wash)',
level: 'intermediate',
chords: [
{ shape: M11_BARRE, extensions: ['11'], note: 'i11 — one finger, all six strings' },
{ shape: THIRTEEN_6, extensions: ['13'], note: 'IV13' },
],
tips: 'The one-finger m11 is the deepest chord in funk for the least effort — lay it across and let the fret hand bounce for the rhythm. Keep it short; six strings of m11 sustained is soup.',
},
],
'funk-25-loop': [
{
label: 'Le Freak grips',
level: 'intermediate',
chords: [
{ shape: M7_6, note: 'ii7 — 6th-string root' },
{ shape: NINE, extensions: ['9'], note: 'V9 — 5th-string root, same position' },
],
tips: 'The Chic move: full grip held, pick selecting string groups in constant 16ths. Freak out on the mutes, not the volume.',
},
{
label: 'Smooth set (m9 + 13)',
level: 'intermediate',
chords: [
{ shape: M9, extensions: ['9'], note: 'ii9' },
{ shape: THIRTEEN, extensions: ['9', '13'], note: 'V13' },
],
tips: 'The Stevie Wonder colour: 9ths on both sides of the loop. Push the V13 an eighth early every second bar and the loop starts to roll forward.',
},
],
'funk-bvii-move': [
{
label: 'One grip, whole-step slide',
level: 'intermediate',
chords: [
{ shape: NINE, extensions: ['9'], note: 'I9' },
{ shape: NINE, extensions: ['9'], note: '♭VII9 — two frets down, same grip' },
],
tips: 'The E9→D9 figure: the move is the slide itself — keep light finger pressure during the shift so the landing speaks. Snap back up to the I ON the One.',
},
{
label: 'Grit on the I, clean below',
level: 'intermediate',
chords: [
{ shape: HENDRIX, extensions: ['#9'], note: 'I7♯9' },
{ shape: NINE, extensions: ['9'], note: '♭VII9' },
],
tips: 'Contrast as arrangement: the ♯9 bites on home, the plain 9 relaxes a whole step down. Save this pairing for the bridge or the last vamp out.',
},
],
'funk-smooth-loop': [
{
label: 'A-string roots (September set)',
level: 'intermediate',
chords: [
{ shape: MAJ7_5, note: 'IVmaj7' },
{ shape: M9, extensions: ['9'], note: 'iii9' },
{ shape: M9, extensions: ['9'], note: 'ii9 — whole grip down two frets' },
{ shape: M9, extensions: ['9'], note: 'back up' },
],
tips: 'The loop is one m9 grip walking between iii and ii under a stationary maj7 anchor. Clean tone, light palm mute, hits shorter than you think.',
},
{
label: 'Top-4 shimmer (with keys/horns)',
level: 'intermediate',
chords: [
{ shape: MAJ7_TOP4, note: 'IVmaj7 — top four strings only' },
{ shape: M7_TOP4, note: 'iii7 — one-finger barre' },
{ shape: M7_TOP4, note: 'ii7' },
{ shape: M7_TOP4, note: '' },
],
tips: 'When keys and horns are present this register is yours and nothing below it. The barre fragments slide as one shape — think of it as playing the top of the arrangement, not chords.',
},
],
},
improv: {
scales: [
{ over: 'i7IV7 vamps', scale: 'dorian', why: 'The whole vamp is one Dorian scale — Chameleon\'s entire harmony fits inside it. The natural 6 is the funk note.' },
{ over: 'I9 one-chord vamps', scale: 'mixolydian', why: 'Mixolydian plus the minor-pentatonic/blues blend — the 7♯9 chord literally spells that major/minor mix.' },
{ over: 'ii7V9 loops', scale: 'dorian', why: 'Dorian on the ii covers both chords; it\'s the same dyad as the minor vamp heard from the ii.' },
{ over: 'maj7 loops', scale: 'major', why: 'Diatonic major/pentatonic — the EWF horn-line sweetness. Target 9ths and 6ths, not roots.' },
],
targetNotes:
'Funk solos are mostly chord fragments: the 3+♭7 tritone pair and the ♭7+9 pair of the 9 grip, slid in from a half-step below. Over static harmony, develop RHYTHM — state a short motif, displace it inside the 16th grid, add and remove ghosts. The harmony will not save you; the pocket will.',
licks: [
{
over: 'funk-dorian-vamp',
description: 'Cissy Strut main line (The Meters, 1969): a descending Cm7 arpeggio answered by double-stop stabs — upper-structure fragments of the i11.',
tab: 'e|------------------|---------------6-6--5-5--\nB|------------------|---------------6-6--6-6--\nG|--5--3--0---------|---------------7-7--5-5--\nD|-----------1b-----|-------------------------\nA|--------------3---|--1--3--1--3-------------\n C Bb G Eb C Bb C Bb C (stab pairs)',
source: 'The Meters, "Cissy Strut" (1969); spytunes.com & pianote.com analyses (Cm7 arpeggio construction)',
},
],
},
}
+7
View File
@@ -0,0 +1,7 @@
export default {
id: 'funk',
label: 'Funk',
feel: '16th',
tempoRange: [90, 120],
character: 'One or two chords, sixteen subdivisions: harmony freezes so rhythm can talk. The guitar is a drum with pitch — most strokes are muted, and colour lives in the chord quality (9, 13, ♯9), not the changes.',
}
+57
View File
@@ -0,0 +1,57 @@
export default [
{
id: 'funk-one-chord',
name: 'One-chord I9 vamp (James Brown)',
rn: ['I9', 'I13', 'I9sus4', 'I9'],
degrees: [0, 0, 0, 0],
qualities: ['dom7', 'dom7', 'sus4', 'dom7'],
bars: [1, 1, 1, 1],
mode: 'mixolydian',
songs: ['Get Up (Sex Machine) — James Brown', 'Cold Sweat — James Brown', "Papa's Got a Brand New Bag"],
tip: 'The harmony never moves — the chord QUALITY does: 9 → 13 → 9sus4 → 9 is the whole arrangement. Funk colour lives in the voicing, not the progression.',
},
{
id: 'funk-dorian-vamp',
name: 'Dorian two-chord vamp (i7IV7)',
rn: ['i9', 'IV9'],
degrees: [0, 5],
qualities: ['min7', 'dom7'],
bars: [1, 1],
mode: 'dorian',
songs: ['Chameleon — Herbie Hancock', 'Use Me — Bill Withers', 'Cissy Strut — The Meters (i7 side)'],
tip: 'THE funk pair: both chords live inside one Dorian scale, so soloists never have to switch. The major IV is what makes it Dorian, not sad.',
},
{
id: 'funk-25-loop',
name: 'Disco loop (ii7V9, never resolves)',
rn: ['ii7', 'V9'],
degrees: [2, 7],
qualities: ['min7', 'dom7'],
bars: [1, 1],
mode: 'major',
songs: ['Le Freak — Chic', 'Good Times — Chic', 'I Wish — Stevie Wonder'],
tip: 'A iiV that never finds its I — the resolution is the dance floor. Same two-chord dyad as the Dorian vamp, heard from the other side.',
},
{
id: 'funk-bvii-move',
name: 'I9–♭VII9 figure',
rn: ['I9', '♭VII9'],
degrees: [0, 10],
qualities: ['dom7', 'dom7'],
bars: [1, 1],
mode: 'mixolydian',
songs: ['the James Brown E9→D9 figure', 'countless JB-school vamps'],
tip: 'One grip sliding down a whole step and back. The ♭VII is borrowed Mixolydian gravity — it falls back to the I on its own.',
},
{
id: 'funk-smooth-loop',
name: 'Smooth maj7 loop (EWF)',
rn: ['IVmaj7', 'iii7', 'ii7', 'iii7'],
degrees: [5, 4, 2, 4],
qualities: ['maj7', 'min7', 'min7', 'min7'],
bars: [1, 1, 1, 1],
mode: 'major',
songs: ['September — Earth, Wind & Fire'],
tip: 'Starts on the IVmaj7 and orbits the iii — home is implied, never stated. (Every third pass, September turns the iii into V/vi for the lift.)',
},
]
+8
View File
@@ -12,6 +12,9 @@ import rockGuitar from './rock/guitar.js'
import bossaMeta from './bossa/meta.js' import bossaMeta from './bossa/meta.js'
import bossaProgressions from './bossa/progressions.js' import bossaProgressions from './bossa/progressions.js'
import bossaGuitar from './bossa/guitar.js' import bossaGuitar from './bossa/guitar.js'
import funkMeta from './funk/meta.js'
import funkProgressions from './funk/progressions.js'
import funkGuitar from './funk/guitar.js'
export default { export default {
jazz: { jazz: {
@@ -34,4 +37,9 @@ export default {
progressions: bossaProgressions, progressions: bossaProgressions,
instruments: { guitar: bossaGuitar }, instruments: { guitar: bossaGuitar },
}, },
funk: {
meta: funkMeta,
progressions: funkProgressions,
instruments: { guitar: funkGuitar },
},
} }