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:
+1
-1
@@ -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 |
|
||||||
|
|||||||
@@ -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: 'i7–IV7 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: 'ii7–V9 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)',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -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.',
|
||||||
|
}
|
||||||
@@ -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 (i7–IV7)',
|
||||||
|
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 (ii7–V9, 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 ii–V 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.)',
|
||||||
|
},
|
||||||
|
]
|
||||||
@@ -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 },
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user