@mcptoolshop/ai_jam_session 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/LICENSE +21 -0
  2. package/README.es.md +212 -0
  3. package/README.fr.md +212 -0
  4. package/README.hi.md +212 -0
  5. package/README.it.md +212 -0
  6. package/README.ja.md +214 -0
  7. package/README.md +214 -0
  8. package/README.pt-BR.md +212 -0
  9. package/dist/audio-engine.d.ts +9 -0
  10. package/dist/audio-engine.d.ts.map +1 -0
  11. package/dist/audio-engine.js +422 -0
  12. package/dist/audio-engine.js.map +1 -0
  13. package/dist/cli.d.ts +3 -0
  14. package/dist/cli.d.ts.map +1 -0
  15. package/dist/cli.js +551 -0
  16. package/dist/cli.js.map +1 -0
  17. package/dist/index.d.ts +32 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +41 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/mcp-server.d.ts +3 -0
  22. package/dist/mcp-server.d.ts.map +1 -0
  23. package/dist/mcp-server.js +903 -0
  24. package/dist/mcp-server.js.map +1 -0
  25. package/dist/midi/parser.d.ts +16 -0
  26. package/dist/midi/parser.d.ts.map +1 -0
  27. package/dist/midi/parser.js +192 -0
  28. package/dist/midi/parser.js.map +1 -0
  29. package/dist/midi/types.d.ts +44 -0
  30. package/dist/midi/types.d.ts.map +1 -0
  31. package/dist/midi/types.js +8 -0
  32. package/dist/midi/types.js.map +1 -0
  33. package/dist/note-parser.d.ts +105 -0
  34. package/dist/note-parser.d.ts.map +1 -0
  35. package/dist/note-parser.js +278 -0
  36. package/dist/note-parser.js.map +1 -0
  37. package/dist/playback/controls.d.ts +124 -0
  38. package/dist/playback/controls.d.ts.map +1 -0
  39. package/dist/playback/controls.js +252 -0
  40. package/dist/playback/controls.js.map +1 -0
  41. package/dist/playback/midi-engine.d.ts +68 -0
  42. package/dist/playback/midi-engine.d.ts.map +1 -0
  43. package/dist/playback/midi-engine.js +227 -0
  44. package/dist/playback/midi-engine.js.map +1 -0
  45. package/dist/playback/position.d.ts +95 -0
  46. package/dist/playback/position.d.ts.map +1 -0
  47. package/dist/playback/position.js +223 -0
  48. package/dist/playback/position.js.map +1 -0
  49. package/dist/playback/timing.d.ts +31 -0
  50. package/dist/playback/timing.d.ts.map +1 -0
  51. package/dist/playback/timing.js +57 -0
  52. package/dist/playback/timing.js.map +1 -0
  53. package/dist/sample-engine.d.ts +17 -0
  54. package/dist/sample-engine.d.ts.map +1 -0
  55. package/dist/sample-engine.js +428 -0
  56. package/dist/sample-engine.js.map +1 -0
  57. package/dist/schemas.d.ts +40 -0
  58. package/dist/schemas.d.ts.map +1 -0
  59. package/dist/schemas.js +42 -0
  60. package/dist/schemas.js.map +1 -0
  61. package/dist/session.d.ts +106 -0
  62. package/dist/session.d.ts.map +1 -0
  63. package/dist/session.js +361 -0
  64. package/dist/session.js.map +1 -0
  65. package/dist/sfz-parser.d.ts +36 -0
  66. package/dist/sfz-parser.d.ts.map +1 -0
  67. package/dist/sfz-parser.js +95 -0
  68. package/dist/sfz-parser.js.map +1 -0
  69. package/dist/smoke.d.ts +2 -0
  70. package/dist/smoke.d.ts.map +1 -0
  71. package/dist/smoke.js +512 -0
  72. package/dist/smoke.js.map +1 -0
  73. package/dist/songs/config/loader.d.ts +14 -0
  74. package/dist/songs/config/loader.d.ts.map +1 -0
  75. package/dist/songs/config/loader.js +53 -0
  76. package/dist/songs/config/loader.js.map +1 -0
  77. package/dist/songs/config/schema.d.ts +70 -0
  78. package/dist/songs/config/schema.d.ts.map +1 -0
  79. package/dist/songs/config/schema.js +53 -0
  80. package/dist/songs/config/schema.js.map +1 -0
  81. package/dist/songs/index.d.ts +16 -0
  82. package/dist/songs/index.d.ts.map +1 -0
  83. package/dist/songs/index.js +20 -0
  84. package/dist/songs/index.js.map +1 -0
  85. package/dist/songs/jam.d.ts +48 -0
  86. package/dist/songs/jam.d.ts.map +1 -0
  87. package/dist/songs/jam.js +324 -0
  88. package/dist/songs/jam.js.map +1 -0
  89. package/dist/songs/loader.d.ts +27 -0
  90. package/dist/songs/loader.d.ts.map +1 -0
  91. package/dist/songs/loader.js +90 -0
  92. package/dist/songs/loader.js.map +1 -0
  93. package/dist/songs/midi/hands.d.ts +46 -0
  94. package/dist/songs/midi/hands.d.ts.map +1 -0
  95. package/dist/songs/midi/hands.js +134 -0
  96. package/dist/songs/midi/hands.js.map +1 -0
  97. package/dist/songs/midi/ingest.d.ts +8 -0
  98. package/dist/songs/midi/ingest.d.ts.map +1 -0
  99. package/dist/songs/midi/ingest.js +191 -0
  100. package/dist/songs/midi/ingest.js.map +1 -0
  101. package/dist/songs/midi/measures.d.ts +41 -0
  102. package/dist/songs/midi/measures.d.ts.map +1 -0
  103. package/dist/songs/midi/measures.js +64 -0
  104. package/dist/songs/midi/measures.js.map +1 -0
  105. package/dist/songs/midi/types.d.ts +25 -0
  106. package/dist/songs/midi/types.d.ts.map +1 -0
  107. package/dist/songs/midi/types.js +8 -0
  108. package/dist/songs/midi/types.js.map +1 -0
  109. package/dist/songs/registry.d.ts +37 -0
  110. package/dist/songs/registry.d.ts.map +1 -0
  111. package/dist/songs/registry.js +197 -0
  112. package/dist/songs/registry.js.map +1 -0
  113. package/dist/songs/types.d.ts +99 -0
  114. package/dist/songs/types.d.ts.map +1 -0
  115. package/dist/songs/types.js +27 -0
  116. package/dist/songs/types.js.map +1 -0
  117. package/dist/teaching/live-midi-feedback.d.ts +36 -0
  118. package/dist/teaching/live-midi-feedback.d.ts.map +1 -0
  119. package/dist/teaching/live-midi-feedback.js +259 -0
  120. package/dist/teaching/live-midi-feedback.js.map +1 -0
  121. package/dist/teaching/midi-feedback.d.ts +33 -0
  122. package/dist/teaching/midi-feedback.d.ts.map +1 -0
  123. package/dist/teaching/midi-feedback.js +208 -0
  124. package/dist/teaching/midi-feedback.js.map +1 -0
  125. package/dist/teaching/sing-on-midi.d.ts +77 -0
  126. package/dist/teaching/sing-on-midi.d.ts.map +1 -0
  127. package/dist/teaching/sing-on-midi.js +186 -0
  128. package/dist/teaching/sing-on-midi.js.map +1 -0
  129. package/dist/teaching.d.ts +148 -0
  130. package/dist/teaching.d.ts.map +1 -0
  131. package/dist/teaching.js +453 -0
  132. package/dist/teaching.js.map +1 -0
  133. package/dist/test-sound.d.ts +3 -0
  134. package/dist/test-sound.d.ts.map +1 -0
  135. package/dist/test-sound.js +41 -0
  136. package/dist/test-sound.js.map +1 -0
  137. package/dist/types.d.ts +229 -0
  138. package/dist/types.d.ts.map +1 -0
  139. package/dist/types.js +22 -0
  140. package/dist/types.js.map +1 -0
  141. package/dist/vmpk.d.ts +23 -0
  142. package/dist/vmpk.d.ts.map +1 -0
  143. package/dist/vmpk.js +236 -0
  144. package/dist/vmpk.js.map +1 -0
  145. package/logo.png +0 -0
  146. package/package.json +70 -0
  147. package/songs/builtin/a-change-is-gonna-come.json +95 -0
  148. package/songs/builtin/a-thousand-years.json +93 -0
  149. package/songs/builtin/aint-no-sunshine.json +98 -0
  150. package/songs/builtin/all-blues.json +92 -0
  151. package/songs/builtin/autumn-leaves.json +100 -0
  152. package/songs/builtin/baba-oriley.json +91 -0
  153. package/songs/builtin/bach-invention-no1.json +70 -0
  154. package/songs/builtin/bach-prelude-c-major-bwv846.json +1282 -0
  155. package/songs/builtin/basic-12-bar-blues.json +119 -0
  156. package/songs/builtin/beethoven-waldstein-mvt1.json +7766 -0
  157. package/songs/builtin/bennie-and-the-jets.json +92 -0
  158. package/songs/builtin/besame-mucho.json +93 -0
  159. package/songs/builtin/black-orpheus.json +92 -0
  160. package/songs/builtin/blue-bossa.json +94 -0
  161. package/songs/builtin/blues-in-g.json +92 -0
  162. package/songs/builtin/bohemian-rhapsody-intro.json +94 -0
  163. package/songs/builtin/boogie-woogie-basics.json +93 -0
  164. package/songs/builtin/bossa-nova-basic.json +95 -0
  165. package/songs/builtin/chopin-nocturne-op9-no2.json +70 -0
  166. package/songs/builtin/cinema-paradiso.json +94 -0
  167. package/songs/builtin/clair-de-lune.json +11511 -0
  168. package/songs/builtin/clocks.json +91 -0
  169. package/songs/builtin/crystal-stream.json +70 -0
  170. package/songs/builtin/desafinado.json +93 -0
  171. package/songs/builtin/dont-stop-believin.json +91 -0
  172. package/songs/builtin/dream-on.json +100 -0
  173. package/songs/builtin/easy-winners.json +70 -0
  174. package/songs/builtin/el-condor-pasa.json +93 -0
  175. package/songs/builtin/elite-syncopations.json +70 -0
  176. package/songs/builtin/evening-calm.json +70 -0
  177. package/songs/builtin/everyday-blues.json +93 -0
  178. package/songs/builtin/fly-me-to-the-moon.json +91 -0
  179. package/songs/builtin/forrest-gump-suite.json +93 -0
  180. package/songs/builtin/fur-elise.json +20094 -0
  181. package/songs/builtin/georgia-on-my-mind.json +93 -0
  182. package/songs/builtin/girl-from-ipanema.json +92 -0
  183. package/songs/builtin/gladiolus-rag.json +70 -0
  184. package/songs/builtin/great-balls-of-fire.json +92 -0
  185. package/songs/builtin/guantanamera.json +92 -0
  186. package/songs/builtin/hallelujah.json +92 -0
  187. package/songs/builtin/hedwigs-theme.json +93 -0
  188. package/songs/builtin/hotel-california.json +92 -0
  189. package/songs/builtin/imagine.json +92 -0
  190. package/songs/builtin/just-the-two-of-us.json +92 -0
  191. package/songs/builtin/la-bamba.json +92 -0
  192. package/songs/builtin/layla-piano-coda.json +93 -0
  193. package/songs/builtin/lean-on-me.json +91 -0
  194. package/songs/builtin/let-it-be.json +101 -0
  195. package/songs/builtin/lets-stay-together.json +93 -0
  196. package/songs/builtin/magnetic-rag.json +70 -0
  197. package/songs/builtin/maple-leaf-rag.json +99 -0
  198. package/songs/builtin/mia-and-sebastians-theme.json +93 -0
  199. package/songs/builtin/minor-blues-in-a.json +94 -0
  200. package/songs/builtin/misty.json +94 -0
  201. package/songs/builtin/moon-river.json +93 -0
  202. package/songs/builtin/moonlight-sonata-mvt1.json +101 -0
  203. package/songs/builtin/morning-light.json +70 -0
  204. package/songs/builtin/mountain-dawn.json +70 -0
  205. package/songs/builtin/mozart-k545-mvt1.json +2956 -0
  206. package/songs/builtin/my-girl.json +92 -0
  207. package/songs/builtin/night-train.json +92 -0
  208. package/songs/builtin/november-rain.json +93 -0
  209. package/songs/builtin/ocean-waves.json +70 -0
  210. package/songs/builtin/over-the-rainbow.json +93 -0
  211. package/songs/builtin/oye-como-va.json +93 -0
  212. package/songs/builtin/peacherine-rag.json +70 -0
  213. package/songs/builtin/piano-man.json +92 -0
  214. package/songs/builtin/pineapple-rag.json +70 -0
  215. package/songs/builtin/pink-panther.json +94 -0
  216. package/songs/builtin/ragtime-dance.json +70 -0
  217. package/songs/builtin/river-flows-in-you.json +102 -0
  218. package/songs/builtin/rocket-man.json +92 -0
  219. package/songs/builtin/satie-gymnopedie-no1.json +70 -0
  220. package/songs/builtin/satin-doll.json +93 -0
  221. package/songs/builtin/schindlers-list.json +96 -0
  222. package/songs/builtin/schumann-traumerei.json +70 -0
  223. package/songs/builtin/sitting-on-the-dock.json +91 -0
  224. package/songs/builtin/slow-blues-in-bb.json +98 -0
  225. package/songs/builtin/snowfall.json +70 -0
  226. package/songs/builtin/so-what.json +92 -0
  227. package/songs/builtin/solace.json +70 -0
  228. package/songs/builtin/someone-like-you.json +92 -0
  229. package/songs/builtin/spirited-away.json +94 -0
  230. package/songs/builtin/st-louis-blues.json +93 -0
  231. package/songs/builtin/stairway-intro.json +93 -0
  232. package/songs/builtin/starlight-waltz.json +70 -0
  233. package/songs/builtin/stay-with-me.json +93 -0
  234. package/songs/builtin/stormy-monday.json +94 -0
  235. package/songs/builtin/superstition.json +93 -0
  236. package/songs/builtin/sweet-home-chicago.json +93 -0
  237. package/songs/builtin/take-five.json +92 -0
  238. package/songs/builtin/take-the-a-train.json +93 -0
  239. package/songs/builtin/the-entertainer.json +98 -0
  240. package/songs/builtin/the-godfather-waltz.json +93 -0
  241. package/songs/builtin/thrill-is-gone.json +94 -0
  242. package/songs/builtin/twilight-garden.json +70 -0
  243. package/songs/builtin/watermark.json +70 -0
  244. package/songs/builtin/wave.json +93 -0
  245. package/songs/builtin/whats-going-on.json +93 -0
  246. package/songs/builtin/yesterday.json +92 -0
@@ -0,0 +1,92 @@
1
+ {
2
+ "id": "hotel-california",
3
+ "title": "Hotel California",
4
+ "genre": "rock",
5
+ "composer": "Don Felder, Don Henley & Glenn Frey",
6
+ "difficulty": "intermediate",
7
+ "key": "B minor",
8
+ "tempo": 74,
9
+ "timeSignature": "4/4",
10
+ "durationSeconds": 26,
11
+ "tags": [
12
+ "eagles",
13
+ "fingerpicking",
14
+ "classic-rock",
15
+ "arpeggiated",
16
+ "mysterious"
17
+ ],
18
+ "source": "Claude arrangement — simplified interpretation",
19
+ "musicalLanguage": {
20
+ "description": "An adaptation of the iconic guitar arpeggiation for piano. The song's verse uses a descending chord progression in B minor that creates its mysterious, hypnotic atmosphere. The piano arrangement preserves the flowing arpeggiated texture and the characteristic minor-key harmonic movement.",
21
+ "structure": "Verse (8 bars) — Bm-F#-A-E-G-D-Em-F# progression",
22
+ "keyMoments": [
23
+ "Bars 1-2: Bm to F# — the dark opening with the dominant pull",
24
+ "Bars 3-4: A to E — the relative major provides brief warmth",
25
+ "Bars 7-8: Em to F# — the haunting turnaround that pulls back to B minor"
26
+ ],
27
+ "teachingGoals": [
28
+ "Playing in B minor with two sharps (F#, C#)",
29
+ "Arpeggiated patterns adapted from guitar fingerpicking style",
30
+ "Understanding minor key chord progressions"
31
+ ],
32
+ "styleTips": [
33
+ "Keep the arpeggiation even and hypnotic — this song casts a spell through repetition",
34
+ "The minor key should feel mysterious, not sad — there is beauty in the darkness",
35
+ "Slight rubato on chord changes enhances the dreamlike quality"
36
+ ]
37
+ },
38
+ "measures": [
39
+ {
40
+ "number": 1,
41
+ "rightHand": "F#4:e B4:e D5:e B4:e F#4:e B4:e D5:e B4:e",
42
+ "leftHand": "B2:h F#2:h",
43
+ "teachingNote": "B minor — the mysterious opening. Let the arpeggiation create a sense of place.",
44
+ "dynamics": "mp"
45
+ },
46
+ {
47
+ "number": 2,
48
+ "rightHand": "F#4:e A#4:e C#5:e A#4:e F#4:e A#4:e C#5:e A#4:e",
49
+ "leftHand": "F#2:h F#3:h",
50
+ "teachingNote": "F# major — the dominant chord. A# is the leading tone that wants to resolve to B."
51
+ },
52
+ {
53
+ "number": 3,
54
+ "rightHand": "E4:e A4:e C#5:e A4:e E4:e A4:e C#5:e A4:e",
55
+ "leftHand": "A2:h E3:h",
56
+ "teachingNote": "A major — a moment of brightness in the minor landscape. Relative major warmth.",
57
+ "dynamics": "mf"
58
+ },
59
+ {
60
+ "number": 4,
61
+ "rightHand": "E4:e G#4:e B4:e G#4:e E4:e G#4:e B4:e G#4:e",
62
+ "leftHand": "E2:h B2:h",
63
+ "teachingNote": "E major — the IV chord. G# gives it the major quality. The progression keeps descending."
64
+ },
65
+ {
66
+ "number": 5,
67
+ "rightHand": "D4:e G4:e B4:e G4:e D4:e G4:e B4:e G4:e",
68
+ "leftHand": "G2:h D3:h",
69
+ "teachingNote": "G major — the VI chord. We are far from home now, harmonically wandering."
70
+ },
71
+ {
72
+ "number": 6,
73
+ "rightHand": "D4:e F#4:e A4:e F#4:e D4:e F#4:e A4:e F#4:e",
74
+ "leftHand": "D2:h A2:h",
75
+ "teachingNote": "D major — III chord. The brightness continues before the dark return.",
76
+ "dynamics": "mp"
77
+ },
78
+ {
79
+ "number": 7,
80
+ "rightHand": "E4:e G4:e B4:e G4:e E4:e G4:e B4:e G4:e",
81
+ "leftHand": "E2:h B2:h",
82
+ "teachingNote": "E minor — the iv chord. Natural G replaces G#. The mood darkens for the return."
83
+ },
84
+ {
85
+ "number": 8,
86
+ "rightHand": "F#4:e A#4:e C#5:e A#4:e F#4:h",
87
+ "leftHand": "F#2:h B2:h",
88
+ "teachingNote": "F# to Bm — the dominant resolves to tonic. The cycle is ready to repeat.",
89
+ "dynamics": "p"
90
+ }
91
+ ]
92
+ }
@@ -0,0 +1,92 @@
1
+ {
2
+ "id": "imagine",
3
+ "title": "Imagine",
4
+ "genre": "pop",
5
+ "composer": "John Lennon",
6
+ "difficulty": "beginner",
7
+ "key": "C major",
8
+ "tempo": 76,
9
+ "timeSignature": "4/4",
10
+ "durationSeconds": 25,
11
+ "tags": [
12
+ "lennon",
13
+ "ballad",
14
+ "beginner-friendly",
15
+ "iconic",
16
+ "peace"
17
+ ],
18
+ "source": "Claude arrangement — simplified interpretation",
19
+ "musicalLanguage": {
20
+ "description": "One of the most recognizable piano pieces in popular music. The original uses a gentle, rolling left-hand pattern under a simple right-hand melody. This simplified arrangement captures the hymn-like quality with basic chord shapes and a singable melody line.",
21
+ "structure": "Intro (2 bars) into Verse (6 bars) — C-F repeated with gentle melodic variations",
22
+ "keyMoments": [
23
+ "Bars 1-2: The iconic C major opening — gentle arpeggiated chords set the contemplative mood",
24
+ "Bars 3-4: The C to F movement that defines the entire song's harmonic language",
25
+ "Bars 7-8: Am-Dm-G resolution — the emotional pivot before the chorus"
26
+ ],
27
+ "teachingGoals": [
28
+ "Gentle left-hand arpeggiation pattern in C and F",
29
+ "Legato right-hand melody — smooth connections between notes",
30
+ "Dynamic control at soft volumes (p to mp)"
31
+ ],
32
+ "styleTips": [
33
+ "Play with a dreamy, unhurried quality — never rush",
34
+ "Left hand should be quieter than the right-hand melody",
35
+ "Use the sustain pedal lightly to connect harmonies"
36
+ ]
37
+ },
38
+ "measures": [
39
+ {
40
+ "number": 1,
41
+ "rightHand": "C4:q E4:q E4:q E4:q",
42
+ "leftHand": "C3:e G3:e C3:e G3:e C3:e G3:e C3:e G3:e",
43
+ "teachingNote": "The signature opening — gentle rolling C major pattern in the left hand while the right establishes the melody.",
44
+ "dynamics": "p"
45
+ },
46
+ {
47
+ "number": 2,
48
+ "rightHand": "F4:q E4:q D4:h",
49
+ "leftHand": "F2:e C3:e F2:e C3:e F2:e C3:e F2:e C3:e",
50
+ "teachingNote": "The melody descends over F major. Let the notes sing — this is the 'Imagine' contour."
51
+ },
52
+ {
53
+ "number": 3,
54
+ "rightHand": "C4:q E4:q E4:q E4:q",
55
+ "leftHand": "C3:e G3:e C3:e G3:e C3:e G3:e C3:e G3:e",
56
+ "teachingNote": "Verse begins — same pattern as the intro. Repetition builds confidence."
57
+ },
58
+ {
59
+ "number": 4,
60
+ "rightHand": "F4:q E4:q D4:h",
61
+ "leftHand": "F2:e C3:e F2:e C3:e F2:e C3:e F2:e C3:e",
62
+ "teachingNote": "Notice how the melody mirrors bar 2 exactly. Lock in this shape."
63
+ },
64
+ {
65
+ "number": 5,
66
+ "rightHand": "C4:q D4:q E4:q D4:q",
67
+ "leftHand": "C3:e G3:e C3:e G3:e C3:e G3:e C3:e G3:e",
68
+ "teachingNote": "The melody rises slightly — a small variation keeps the listener engaged.",
69
+ "dynamics": "mp"
70
+ },
71
+ {
72
+ "number": 6,
73
+ "rightHand": "E4:q D4:q C4:h",
74
+ "leftHand": "F2:e C3:e F2:e C3:e F2:e C3:e F2:e C3:e",
75
+ "teachingNote": "Melody resolves downward to C — a satisfying return home."
76
+ },
77
+ {
78
+ "number": 7,
79
+ "rightHand": "A4:q G4:q F4:q E4:q",
80
+ "leftHand": "A2:e E3:e A2:e E3:e D3:e A3:e D3:e A3:e",
81
+ "teachingNote": "Am to Dm — the emotional shift. The melody climbs to A4 for the first time.",
82
+ "dynamics": "mf"
83
+ },
84
+ {
85
+ "number": 8,
86
+ "rightHand": "D4:q E4:q C4:h",
87
+ "leftHand": "G2:e D3:e G2:e D3:e C3:e G3:e C3:h",
88
+ "teachingNote": "G to C — the classic V-I resolution. Hold the final C and let it ring.",
89
+ "dynamics": "p"
90
+ }
91
+ ]
92
+ }
@@ -0,0 +1,92 @@
1
+ {
2
+ "id": "just-the-two-of-us",
3
+ "title": "Just the Two of Us",
4
+ "genre": "rnb",
5
+ "composer": "Bill Withers / Ralph MacDonald / William Salter",
6
+ "difficulty": "intermediate",
7
+ "key": "Db major",
8
+ "tempo": 98,
9
+ "timeSignature": "4/4",
10
+ "durationSeconds": 20,
11
+ "tags": [
12
+ "smooth",
13
+ "bill-withers",
14
+ "jazz-fusion",
15
+ "chord-progression",
16
+ "classic"
17
+ ],
18
+ "source": "Claude arrangement — simplified interpretation",
19
+ "musicalLanguage": {
20
+ "description": "The silky smooth jazz-soul classic built on one of the most beloved chord progressions in R&B: Dbmaj7-C7-Fm7-Ebm7-Ab7. This arrangement focuses on the lush chord voicings that define the song's character, with a gentle melodic line floating above. The Db major key gives it a rich, velvety warmth.",
21
+ "structure": "The signature 4-chord vamp (4 bars) then melodic development over the same changes (4 bars)",
22
+ "keyMoments": [
23
+ "Bar 1: Dbmaj7 — the lush opening. Pure silk.",
24
+ "Bar 2: C7 to Fm — the chromatic bass drop that makes this progression magical.",
25
+ "Bars 5-8: Melody takes center stage over the same chords — more ornamental."
26
+ ],
27
+ "teachingGoals": [
28
+ "The classic 'Just the Two of Us' chord progression — used in hundreds of songs",
29
+ "Smooth voice leading between jazz chords",
30
+ "Playing melody over complex harmony without losing the groove"
31
+ ],
32
+ "styleTips": [
33
+ "Silky smooth — every chord change should melt into the next",
34
+ "Right hand melody should float above, never dig in",
35
+ "Left hand voices the chords gently — think Rhodes electric piano, not acoustic attack"
36
+ ]
37
+ },
38
+ "measures": [
39
+ {
40
+ "number": 1,
41
+ "rightHand": "F4:q Ab4:q F4:q Eb4:q",
42
+ "leftHand": "Db3:q F3:q Ab3:q C4:q",
43
+ "dynamics": "mp",
44
+ "teachingNote": "Dbmaj7 — rich and warm. Let every note ring."
45
+ },
46
+ {
47
+ "number": 2,
48
+ "rightHand": "E4:q G4:q F4:h",
49
+ "leftHand": "C3:q E3:q G3:q Bb3:q",
50
+ "teachingNote": "C7 to Fm — the chromatic shift. E natural is the magic note."
51
+ },
52
+ {
53
+ "number": 3,
54
+ "rightHand": "F4:q Ab4:q G4:q F4:q",
55
+ "leftHand": "F3:q Ab3:q C4:q Eb4:q",
56
+ "teachingNote": "Fm7 — minor color. The melody gently descends."
57
+ },
58
+ {
59
+ "number": 4,
60
+ "rightHand": "Eb4:q Db4:q Eb4:h",
61
+ "leftHand": "Eb3:q Gb3:q Bb3:q Ab2:q",
62
+ "dynamics": "mf",
63
+ "teachingNote": "Ebm7 to Ab7 — the turnaround. Eb4 holds like a question mark."
64
+ },
65
+ {
66
+ "number": 5,
67
+ "rightHand": "F4:e Ab4:e F4:q Eb4:q Db4:q",
68
+ "leftHand": "Db3:q F3:q Ab3:q C4:q",
69
+ "dynamics": "mf",
70
+ "teachingNote": "Dbmaj7 — second pass, melody more active with eighth notes."
71
+ },
72
+ {
73
+ "number": 6,
74
+ "rightHand": "E4:e G4:e Bb4:q Ab4:q F4:q",
75
+ "leftHand": "C3:q E3:q G3:q Bb3:q",
76
+ "teachingNote": "C7 — melody reaches up to Bb4 this time. More expressive."
77
+ },
78
+ {
79
+ "number": 7,
80
+ "rightHand": "Ab4:q G4:q F4:q Eb4:q",
81
+ "leftHand": "F3:q Ab3:q C4:q Eb4:q",
82
+ "teachingNote": "Fm7 — smooth descent. Every note connects to the next."
83
+ },
84
+ {
85
+ "number": 8,
86
+ "rightHand": "Db4:q Eb4:q F4:h",
87
+ "leftHand": "Eb3:q Gb3:q Bb3:q Ab2:q",
88
+ "dynamics": "p",
89
+ "teachingNote": "Ebm7 to Ab7 — lands on F, pointing back to Db. The cycle continues."
90
+ }
91
+ ]
92
+ }
@@ -0,0 +1,92 @@
1
+ {
2
+ "id": "la-bamba",
3
+ "title": "La Bamba",
4
+ "genre": "latin",
5
+ "composer": "Traditional Mexican (Son Jarocho)",
6
+ "difficulty": "beginner",
7
+ "key": "C major",
8
+ "tempo": 138,
9
+ "timeSignature": "4/4",
10
+ "durationSeconds": 14,
11
+ "tags": [
12
+ "son-jarocho",
13
+ "mexican",
14
+ "traditional",
15
+ "ritchie-valens",
16
+ "three-chord"
17
+ ],
18
+ "source": "Claude arrangement — simplified interpretation",
19
+ "musicalLanguage": {
20
+ "description": "The iconic Mexican folk song, made internationally famous by Ritchie Valens. Built on just three chords (C, F, G), it is one of the most energetic and accessible songs for beginners. The driving rhythm and simple chord pattern create infectious energy. The left hand drives the rhythm while the right hand plays the joyful, bouncing melody.",
21
+ "structure": "Repeating C-F-G7 vamp (8 bars with increasing energy)",
22
+ "keyMoments": [
23
+ "Bars 1-2: The three-chord vamp establishes the groove immediately.",
24
+ "Bars 5-6: Melody becomes more active — the dance is in full swing.",
25
+ "Bar 8: The final turnaround — sets up the endless repeat."
26
+ ],
27
+ "teachingGoals": [
28
+ "Three-chord song — C, F, G — the most important chords in music",
29
+ "Fast tempo coordination between hands",
30
+ "Building energy through repetition and dynamics"
31
+ ],
32
+ "styleTips": [
33
+ "Energetic and joyful — this is a dance song, play it like one",
34
+ "Keep the rhythm driving forward — never drag",
35
+ "Accent beat 1 of each measure to keep the groove anchored"
36
+ ]
37
+ },
38
+ "measures": [
39
+ {
40
+ "number": 1,
41
+ "rightHand": "C4:q E4:q C4:q E4:q",
42
+ "leftHand": "C3:q G3:q C3:q G3:q",
43
+ "dynamics": "f",
44
+ "teachingNote": "C major — bouncy and bright. The energy starts high."
45
+ },
46
+ {
47
+ "number": 2,
48
+ "rightHand": "F4:q A4:q G4:q E4:q",
49
+ "leftHand": "F3:q C4:q G3:q D4:q",
50
+ "teachingNote": "F to G — the classic I-IV-V. Keep bouncing."
51
+ },
52
+ {
53
+ "number": 3,
54
+ "rightHand": "C4:q E4:q G4:q E4:q",
55
+ "leftHand": "C3:q G3:q C3:q G3:q",
56
+ "teachingNote": "C major — add the G4 to the riff. Slightly bigger each pass."
57
+ },
58
+ {
59
+ "number": 4,
60
+ "rightHand": "F4:q A4:q G4:q B4:q",
61
+ "leftHand": "F3:q C4:q G3:q B2:q",
62
+ "dynamics": "ff",
63
+ "teachingNote": "F to G — B4 at the end leads back to C. Exciting turnaround."
64
+ },
65
+ {
66
+ "number": 5,
67
+ "rightHand": "C5:q G4:q E4:q G4:q",
68
+ "leftHand": "C3:q E3:q G3:q E3:q",
69
+ "dynamics": "f",
70
+ "teachingNote": "C major — melody jumps to C5. The dance is in full swing."
71
+ },
72
+ {
73
+ "number": 6,
74
+ "rightHand": "A4:q F4:q G4:q E4:q",
75
+ "leftHand": "F3:q A3:q G3:q B3:q",
76
+ "teachingNote": "F to G — melody bounces between chord tones. Keep it lively."
77
+ },
78
+ {
79
+ "number": 7,
80
+ "rightHand": "C5:q G4:q E4:q C4:q",
81
+ "leftHand": "C3:q G3:q C3:q G3:q",
82
+ "dynamics": "ff",
83
+ "teachingNote": "C major — descending arpeggio. Building to the final bar."
84
+ },
85
+ {
86
+ "number": 8,
87
+ "rightHand": "F4:q G4:q C5:h",
88
+ "leftHand": "F3:q G3:q C3:h",
89
+ "teachingNote": "F-G-C — the final tag. Land on C with conviction."
90
+ }
91
+ ]
92
+ }
@@ -0,0 +1,93 @@
1
+ {
2
+ "id": "layla-piano-coda",
3
+ "title": "Layla (Piano Coda)",
4
+ "genre": "rock",
5
+ "composer": "Eric Clapton & Jim Gordon",
6
+ "difficulty": "advanced",
7
+ "key": "C major",
8
+ "tempo": 96,
9
+ "timeSignature": "4/4",
10
+ "durationSeconds": 20,
11
+ "tags": [
12
+ "clapton",
13
+ "derek-and-the-dominos",
14
+ "piano-coda",
15
+ "emotional",
16
+ "advanced"
17
+ ],
18
+ "source": "Claude arrangement — simplified interpretation",
19
+ "musicalLanguage": {
20
+ "description": "The legendary piano coda of Layla, composed by drummer Jim Gordon. One of the most beautiful piano passages in rock, it transforms a raw blues-rock song into something transcendent. The piece features a memorable ascending melody over rich chord changes, building from a gentle statement to a passionate climax.",
21
+ "structure": "Piano Coda (8 bars) — C-C/E-F-F/A-Bb-C repeated with melodic development and embellishment",
22
+ "keyMoments": [
23
+ "Bars 1-2: The iconic ascending melody over C to F — the theme that transforms the entire song",
24
+ "Bars 3-4: Bb to C — the IV to I cadence with the melody at its peak",
25
+ "Bars 5-8: The theme repeats with richer voicings and higher register melody"
26
+ ],
27
+ "teachingGoals": [
28
+ "Singing melodic line over supportive chordal accompaniment",
29
+ "Voice leading through chord inversions (C, C/E, F, F/A)",
30
+ "Dynamic shaping of a repeated theme — each pass grows in intensity"
31
+ ],
32
+ "styleTips": [
33
+ "The melody should sing like a human voice — this is a lament",
34
+ "The first statement is gentle and reflective; the repeat is passionate and full",
35
+ "Use pedal generously to create a warm, connected wash of sound"
36
+ ]
37
+ },
38
+ "measures": [
39
+ {
40
+ "number": 1,
41
+ "rightHand": "E4:q G4:q A4:q G4:q",
42
+ "leftHand": "C3:q E3:q G3:q E3:q",
43
+ "teachingNote": "C major — the iconic melody begins. E-G-A-G, simple and unforgettable.",
44
+ "dynamics": "mp"
45
+ },
46
+ {
47
+ "number": 2,
48
+ "rightHand": "A4:q C5:q D5:q C5:q",
49
+ "leftHand": "F2:q A2:q C3:q A2:q",
50
+ "teachingNote": "F major — melody rises to D5. The same contour as bar 1, transposed up. Beautiful symmetry."
51
+ },
52
+ {
53
+ "number": 3,
54
+ "rightHand": "D5:q C5:q Bb4:q A4:q",
55
+ "leftHand": "Bb2:q D3:q F3:q D3:q",
56
+ "teachingNote": "Bb major — the melody descends through the flat-VII chord. Rich and warm.",
57
+ "dynamics": "mf"
58
+ },
59
+ {
60
+ "number": 4,
61
+ "rightHand": "G4:q A4:q G4:h",
62
+ "leftHand": "C3:q E3:q G3:h",
63
+ "teachingNote": "C major — the theme resolves. The melody settles back home before repeating."
64
+ },
65
+ {
66
+ "number": 5,
67
+ "rightHand": "E4 C5:q G4 D5:q A4 E5:q G4 D5:q",
68
+ "leftHand": "C3:q E3:q F3:q A2:q",
69
+ "teachingNote": "The theme returns with sixths — richer texture. Both voices move in parallel.",
70
+ "dynamics": "f"
71
+ },
72
+ {
73
+ "number": 6,
74
+ "rightHand": "A4 F5:q C5 G5:q D5 A5:q C5 G5:q",
75
+ "leftHand": "F2:q A2:q C3:q A2:q",
76
+ "teachingNote": "F major — the melody soars an octave higher. This is the emotional peak."
77
+ },
78
+ {
79
+ "number": 7,
80
+ "rightHand": "D5 Bb5:q C5 A5:q Bb4 G5:q A4 F5:q",
81
+ "leftHand": "Bb2:q D3:q F3:q D3:q",
82
+ "teachingNote": "Bb major — descending sixths. The passion begins to release.",
83
+ "dynamics": "mf"
84
+ },
85
+ {
86
+ "number": 8,
87
+ "rightHand": "G4 E5:q A4 E5:q G4 E5:h",
88
+ "leftHand": "C3:q E3:q C3:h",
89
+ "teachingNote": "C major — the coda fades on held thirds. One of rock's most beautiful moments.",
90
+ "dynamics": "p"
91
+ }
92
+ ]
93
+ }
@@ -0,0 +1,91 @@
1
+ {
2
+ "id": "lean-on-me",
3
+ "title": "Lean on Me",
4
+ "genre": "rnb",
5
+ "composer": "Bill Withers",
6
+ "difficulty": "beginner",
7
+ "key": "C major",
8
+ "tempo": 78,
9
+ "timeSignature": "4/4",
10
+ "durationSeconds": 25,
11
+ "tags": [
12
+ "gospel",
13
+ "soul",
14
+ "bill-withers",
15
+ "sing-along",
16
+ "classic"
17
+ ],
18
+ "source": "Claude arrangement — simplified interpretation",
19
+ "musicalLanguage": {
20
+ "description": "Bill Withers' gospel-soul anthem is built on a simple ascending piano figure in C major. The beauty is in its directness — stepwise motion in the melody over basic triads. This is one of the most rewarding beginner pieces because it sounds full and satisfying with minimal technique.",
21
+ "structure": "Verse pattern: C-Dm-Em-F ascending, then F-Em-Dm-C descending (8 bars)",
22
+ "keyMoments": [
23
+ "Bars 1-4: The ascending walk up from C to F — each chord lifts the melody higher.",
24
+ "Bars 5-8: The descending return — mirror image, bringing it home to C."
25
+ ],
26
+ "teachingGoals": [
27
+ "Stepwise chord movement — moving one chord at a time up the scale",
28
+ "Simple left hand root-fifth patterns",
29
+ "Singing quality in the right hand melody"
30
+ ],
31
+ "styleTips": [
32
+ "Play with warmth — this is a song about community and support",
33
+ "Let the melody ring — use legato pedaling",
34
+ "Left hand should be gentle and supportive, not heavy"
35
+ ]
36
+ },
37
+ "measures": [
38
+ {
39
+ "number": 1,
40
+ "rightHand": "C4:e D4:e E4:q E4:q D4:q",
41
+ "leftHand": "C3:h G3:h",
42
+ "dynamics": "mf",
43
+ "teachingNote": "C major — the ascending melody starts. Simple and warm."
44
+ },
45
+ {
46
+ "number": 2,
47
+ "rightHand": "D4:e E4:e F4:q F4:q E4:q",
48
+ "leftHand": "D3:h A3:h",
49
+ "teachingNote": "Dm — step up. The melody mirrors the bass movement."
50
+ },
51
+ {
52
+ "number": 3,
53
+ "rightHand": "E4:e F4:e G4:q G4:q F4:q",
54
+ "leftHand": "E3:h B3:h",
55
+ "teachingNote": "Em — keep climbing. Notice how the whole texture rises."
56
+ },
57
+ {
58
+ "number": 4,
59
+ "rightHand": "F4:q E4:q D4:h",
60
+ "leftHand": "F3:h C3:h",
61
+ "dynamics": "f",
62
+ "teachingNote": "F major — the peak. Now we start coming back down."
63
+ },
64
+ {
65
+ "number": 5,
66
+ "rightHand": "E4:q F4:q G4:q E4:q",
67
+ "leftHand": "F3:h C4:h",
68
+ "dynamics": "mf",
69
+ "teachingNote": "Second half begins — the melody opens up a bit more."
70
+ },
71
+ {
72
+ "number": 6,
73
+ "rightHand": "D4:q E4:q F4:q D4:q",
74
+ "leftHand": "E3:h B3:h",
75
+ "teachingNote": "Em — descending path. Let it settle naturally."
76
+ },
77
+ {
78
+ "number": 7,
79
+ "rightHand": "C4:q D4:q E4:q D4:q",
80
+ "leftHand": "D3:h A3:h",
81
+ "teachingNote": "Dm — almost home. The melody gently rocks."
82
+ },
83
+ {
84
+ "number": 8,
85
+ "rightHand": "C4:w",
86
+ "leftHand": "C3:h G2:h",
87
+ "dynamics": "p",
88
+ "teachingNote": "Home on C — whole note. Let it ring with the pedal."
89
+ }
90
+ ]
91
+ }
@@ -0,0 +1,101 @@
1
+ {
2
+ "id": "let-it-be",
3
+ "title": "Let It Be",
4
+ "genre": "pop",
5
+ "composer": "John Lennon & Paul McCartney",
6
+ "arranger": "Simplified piano arrangement",
7
+ "difficulty": "beginner",
8
+ "key": "C major",
9
+ "tempo": 76,
10
+ "timeSignature": "4/4",
11
+ "durationSeconds": 60,
12
+ "tags": [
13
+ "beatles",
14
+ "ballad",
15
+ "beginner-friendly",
16
+ "iconic",
17
+ "chord-progression"
18
+ ],
19
+ "source": "Simplified arrangement of the verse section",
20
+ "musicalLanguage": {
21
+ "description": "One of the most beginner-friendly classic songs ever written. The verse uses just four chords (C-G-Am-F) in the most common pop progression of all time. The gentle tempo and repetitive structure make it ideal for a first 'real song' on piano.",
22
+ "structure": "Verse (8 bars) — C-G-Am-F repeated twice",
23
+ "keyMoments": [
24
+ "Bars 1-2: C to G — the I-V movement. Simple, open, uplifting.",
25
+ "Bars 3-4: Am to F — the vi-IV movement. This is where the emotion lives.",
26
+ "Bars 5-8: The same progression repeats — lock in the muscle memory."
27
+ ],
28
+ "teachingGoals": [
29
+ "Basic chord shapes in root position: C, G, Am, F",
30
+ "Smooth chord transitions without pausing between changes",
31
+ "Simple right-hand melody over left-hand chords"
32
+ ],
33
+ "styleTips": [
34
+ "Gentle, hymn-like feel — no rushing",
35
+ "Let each chord ring before moving to the next",
36
+ "Right hand melody should float above the chords, soft and vocal"
37
+ ]
38
+ },
39
+ "measures": [
40
+ {
41
+ "number": 1,
42
+ "rightHand": "E4:q E4:q D4:q E4:q",
43
+ "leftHand": "C3:q E3:q G3:q E3:q",
44
+ "fingering": "RH: 3-3-2-3, LH: 1-3-5-3 (C major broken)",
45
+ "teachingNote": "C major — home base. Let the left hand gently arpeggiate while the right sings.",
46
+ "dynamics": "mp"
47
+ },
48
+ {
49
+ "number": 2,
50
+ "rightHand": "D4:h D4:q B3:q",
51
+ "leftHand": "G2:q B2:q D3:q B2:q",
52
+ "fingering": "RH: 2-2-1, LH: 1-3-5-3 (G major broken)",
53
+ "teachingNote": "G major — the V chord. Notice how the melody steps down naturally."
54
+ },
55
+ {
56
+ "number": 3,
57
+ "rightHand": "C4:q C4:q C4:q D4:q",
58
+ "leftHand": "A2:q C3:q E3:q C3:q",
59
+ "fingering": "RH: 1-1-1-2, LH: 1-3-5-3 (Am broken)",
60
+ "teachingNote": "A minor — the relative minor. Same notes as C major, different root. Feel the shift."
61
+ },
62
+ {
63
+ "number": 4,
64
+ "rightHand": "C4:h R:h",
65
+ "leftHand": "F2:q A2:q C3:q A2:q",
66
+ "fingering": "RH: 1, LH: 1-3-5-3 (F major broken)",
67
+ "teachingNote": "F major — the IV chord. Let the right hand rest while the left hand carries the harmony.",
68
+ "dynamics": "p"
69
+ },
70
+ {
71
+ "number": 5,
72
+ "rightHand": "E4:q E4:q D4:q E4:q",
73
+ "leftHand": "C3:q E3:q G3:q E3:q",
74
+ "fingering": "RH: 3-3-2-3, LH: 1-3-5-3",
75
+ "teachingNote": "Back to C — the second time through should feel more confident.",
76
+ "dynamics": "mp"
77
+ },
78
+ {
79
+ "number": 6,
80
+ "rightHand": "D4:h D4:q B3:q",
81
+ "leftHand": "G2:q B2:q D3:q B2:q",
82
+ "fingering": "RH: 2-2-1, LH: 1-3-5-3",
83
+ "teachingNote": "G again — you know this shape now. Focus on the transition from C."
84
+ },
85
+ {
86
+ "number": 7,
87
+ "rightHand": "C4:q C4:q C4:q D4:q",
88
+ "leftHand": "A2:q C3:q E3:q C3:q",
89
+ "fingering": "RH: 1-1-1-2, LH: 1-3-5-3",
90
+ "teachingNote": "Am — same as bar 3. Your hands should find this automatically now."
91
+ },
92
+ {
93
+ "number": 8,
94
+ "rightHand": "C4:w",
95
+ "leftHand": "F2:q A2:q C3:h",
96
+ "fingering": "RH: 1, LH: 1-3-5",
97
+ "teachingNote": "F major — hold the final C. You just played the most famous chord progression in pop music.",
98
+ "dynamics": "p"
99
+ }
100
+ ]
101
+ }