@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,93 @@
1
+ {
2
+ "id": "georgia-on-my-mind",
3
+ "title": "Georgia On My Mind",
4
+ "genre": "rnb",
5
+ "composer": "Hoagy Carmichael / Stuart Gorrell",
6
+ "difficulty": "intermediate",
7
+ "key": "F major",
8
+ "tempo": 66,
9
+ "timeSignature": "4/4",
10
+ "durationSeconds": 29,
11
+ "tags": [
12
+ "soul-ballad",
13
+ "ray-charles",
14
+ "jazz-harmony",
15
+ "classic",
16
+ "standard"
17
+ ],
18
+ "source": "Claude arrangement — simplified interpretation",
19
+ "musicalLanguage": {
20
+ "description": "Ray Charles' definitive soul ballad reading of this Hoagy Carmichael standard. The arrangement uses rich jazz voicings with major seventh and ninth chords. The melody is deeply lyrical, moving in gentle arcs over a lush harmonic backdrop. The slow tempo demands expressive control and beautiful tone.",
21
+ "structure": "A section (4 bars) with chromatic inner voice movement, B section (4 bars) with richer harmony",
22
+ "keyMoments": [
23
+ "Bar 1: Fmaj7 opens with warmth — the 'Georgia' call.",
24
+ "Bars 3-4: The chromatic bass descent from F to D — heart of the arrangement.",
25
+ "Bars 7-8: The Gm7-C7 turnaround — classic jazz resolution back to F."
26
+ ],
27
+ "teachingGoals": [
28
+ "Jazz chord voicings — major 7ths and minor 7ths on piano",
29
+ "Slow ballad phrasing — rubato and expressive timing",
30
+ "Chromatic bass lines connecting diatonic chords"
31
+ ],
32
+ "styleTips": [
33
+ "Play like Ray Charles is singing — every note should have weight and meaning",
34
+ "Use sustain pedal generously but change on each chord",
35
+ "The tempo should breathe — slight rubato on the melody peaks"
36
+ ]
37
+ },
38
+ "measures": [
39
+ {
40
+ "number": 1,
41
+ "rightHand": "A4:q G4:e F4:e A4:h",
42
+ "leftHand": "F2:q A2:q C3:q E3:q",
43
+ "dynamics": "mp",
44
+ "teachingNote": "Fmaj7 — the melody arcs gently. Let 'Georgia' sing."
45
+ },
46
+ {
47
+ "number": 2,
48
+ "rightHand": "G4:q F4:q E4:h",
49
+ "leftHand": "A2:q C3:q E3:q A3:q",
50
+ "teachingNote": "Am7 — melody descends. Inner voice stays warm."
51
+ },
52
+ {
53
+ "number": 3,
54
+ "rightHand": "F4:q A4:q G4:q F4:q",
55
+ "leftHand": "Bb2:q D3:q F3:q Bb3:q",
56
+ "dynamics": "mf",
57
+ "teachingNote": "Bbmaj7 — the harmony opens up. Let the left hand sing too."
58
+ },
59
+ {
60
+ "number": 4,
61
+ "rightHand": "E4:q D4:q C4:h",
62
+ "leftHand": "A2:q C3:q E3:q G3:q",
63
+ "teachingNote": "Am7 to resolution — the chromatic descent lands gently."
64
+ },
65
+ {
66
+ "number": 5,
67
+ "rightHand": "F4:q G4:q A4:q Bb4:q",
68
+ "leftHand": "D2:q F2:q A2:q D3:q",
69
+ "dynamics": "mf",
70
+ "teachingNote": "Dm7 — the bridge section. Melody climbs with more purpose."
71
+ },
72
+ {
73
+ "number": 6,
74
+ "rightHand": "A4:h G4:h",
75
+ "leftHand": "G2:q Bb2:q D3:q F3:q",
76
+ "teachingNote": "Gm7 — sustained melody over moving bass. Let it breathe."
77
+ },
78
+ {
79
+ "number": 7,
80
+ "rightHand": "A4:q G4:e F4:e E4:q F4:q",
81
+ "leftHand": "C2:q E2:q G2:q Bb2:q",
82
+ "dynamics": "f",
83
+ "teachingNote": "C7 — the dominant. Melody is most expressive here, leaning into resolution."
84
+ },
85
+ {
86
+ "number": 8,
87
+ "rightHand": "F4:w",
88
+ "leftHand": "F2:q A2:q C3:q F3:q",
89
+ "dynamics": "p",
90
+ "teachingNote": "Home on Fmaj7 — whole note F. All the longing resolves here."
91
+ }
92
+ ]
93
+ }
@@ -0,0 +1,92 @@
1
+ {
2
+ "id": "girl-from-ipanema",
3
+ "title": "The Girl from Ipanema",
4
+ "genre": "latin",
5
+ "composer": "Antonio Carlos Jobim",
6
+ "difficulty": "intermediate",
7
+ "key": "F major",
8
+ "tempo": 132,
9
+ "timeSignature": "4/4",
10
+ "durationSeconds": 15,
11
+ "tags": [
12
+ "bossa-nova",
13
+ "jobim",
14
+ "brazilian",
15
+ "jazz-standard",
16
+ "smooth"
17
+ ],
18
+ "source": "Claude arrangement — simplified interpretation",
19
+ "musicalLanguage": {
20
+ "description": "The quintessential bossa nova, Jobim's masterpiece is built on a deceptively simple melody that floats over sophisticated jazz harmony. The A section stays in F major with Fmaj7 and G7 chords, while the famous bridge modulates through distant keys. The bossa nova rhythm in the left hand creates a gentle, hypnotic pulse that never rushes.",
21
+ "structure": "A section: Fmaj7-G7 vamp (4 bars), Bridge: Gbmaj7-B9 modulation (4 bars)",
22
+ "keyMoments": [
23
+ "Bars 1-2: The signature melody — just three notes (G-A-G) repeated with rhythmic variation.",
24
+ "Bar 5: Gbmaj7 — the famous modulation. Suddenly we're in a different world.",
25
+ "Bar 8: Return to F — the journey home from the bridge."
26
+ ],
27
+ "teachingGoals": [
28
+ "Bossa nova left hand rhythm — the syncopated bass-chord pattern",
29
+ "Hearing the modulation to Gbmaj7 and navigating the key change",
30
+ "Maintaining a relaxed groove while playing jazz harmony"
31
+ ],
32
+ "styleTips": [
33
+ "Bossa nova is quiet and intimate — never play loud",
34
+ "Left hand rhythm is subtle — bass note then chord, gently syncopated",
35
+ "The melody should feel like someone humming, not performing"
36
+ ]
37
+ },
38
+ "measures": [
39
+ {
40
+ "number": 1,
41
+ "rightHand": "G4:q G4:e A4:e G4:q F4:q",
42
+ "leftHand": "F2:q A3 C4 E4:q F2:q A3 C4 E4:q",
43
+ "dynamics": "mp",
44
+ "teachingNote": "Fmaj7 — the iconic opening. The melody barely moves. That's the point."
45
+ },
46
+ {
47
+ "number": 2,
48
+ "rightHand": "G4:q G4:e A4:e G4:h",
49
+ "leftHand": "G2:q B3 D4 F4:q G2:q B3 D4 F4:q",
50
+ "teachingNote": "G7 — same melodic shape. The harmony shifts underneath like a tide."
51
+ },
52
+ {
53
+ "number": 3,
54
+ "rightHand": "G4:q G4:e A4:e G4:q F4:q",
55
+ "leftHand": "F2:q A3 C4 E4:q F2:q A3 C4 E4:q",
56
+ "teachingNote": "Fmaj7 — the repetition IS bossa nova. Subtle variation in touch only."
57
+ },
58
+ {
59
+ "number": 4,
60
+ "rightHand": "G4:e A4:e G4:q E4:h",
61
+ "leftHand": "G2:q B3 D4 F4:q G2:q B3 D4 F4:q",
62
+ "dynamics": "mf",
63
+ "teachingNote": "G7 — melody drops to E. The phrase ends, preparing for the bridge."
64
+ },
65
+ {
66
+ "number": 5,
67
+ "rightHand": "Gb4:q Ab4:q Bb4:q Ab4:q",
68
+ "leftHand": "Gb2:q Bb3 Db4 F4:q Gb2:q Bb3 Db4 F4:q",
69
+ "dynamics": "mf",
70
+ "teachingNote": "Gbmaj7 — the modulation! Everything shifts. New tonal world."
71
+ },
72
+ {
73
+ "number": 6,
74
+ "rightHand": "Gb4:q Ab4:q Bb4:h",
75
+ "leftHand": "B2:q D#3 F#3 A3:q B2:q D#3 F#3 A3:q",
76
+ "teachingNote": "B9 — deeper into the modulation. The melody climbs to Bb4."
77
+ },
78
+ {
79
+ "number": 7,
80
+ "rightHand": "F4:q G4:q A4:q G4:q",
81
+ "leftHand": "D2:q F3 A3 C4:q D2:q F3 A3 C4:q",
82
+ "teachingNote": "Dm7 — beginning the journey back to F major."
83
+ },
84
+ {
85
+ "number": 8,
86
+ "rightHand": "F4:h R:h",
87
+ "leftHand": "C2:q E3 G3 Bb3:q F2:h",
88
+ "dynamics": "p",
89
+ "teachingNote": "C7 to F — home. The rest is pure bossa: say it, then let silence speak."
90
+ }
91
+ ]
92
+ }
@@ -0,0 +1,70 @@
1
+ {
2
+ "id": "gladiolus-rag",
3
+ "title": "Gladiolus Rag",
4
+ "genre": "ragtime",
5
+ "composer": "Scott Joplin",
6
+ "difficulty": "advanced",
7
+ "key": "Bb major",
8
+ "tempo": 120,
9
+ "timeSignature": "4/4",
10
+ "durationSeconds": 16,
11
+ "tags": ["ragtime", "joplin", "elegant", "advanced", "graceful"],
12
+ "source": "Claude arrangement — simplified interpretation",
13
+ "musicalLanguage": {
14
+ "description": "Gladiolus Rag (1907) is among Joplin's most sophisticated and elegant rags. Named for the flower, it features graceful melodic lines, subtle chromaticism, and a refined quality that sets it apart from more boisterous rags.",
15
+ "structure": "A section excerpt (8 bars)",
16
+ "keyMoments": ["Elegant chromatic turn in measure 3", "Graceful descending sixth pattern in measure 7"],
17
+ "teachingGoals": ["Develop smooth chromatic passages in ragtime context", "Practice elegant phrasing over stride bass"],
18
+ "styleTips": ["Play with refinement and grace, not just rhythmic drive", "Bring out the chromatic voice-leading moments"]
19
+ },
20
+ "measures": [
21
+ {
22
+ "number": 1,
23
+ "rightHand": "F5:e D5:e Bb4:e D5:e F5:q Bb5:q",
24
+ "leftHand": "Bb2:q D4 F4:q Bb2:q D4 F4:q",
25
+ "dynamics": "mf"
26
+ },
27
+ {
28
+ "number": 2,
29
+ "rightHand": "A5:e G5:e F5:e Eb5:e D5:q C5:q",
30
+ "leftHand": "F3:q A3 Eb4:q F3:q A3 C4:q",
31
+ "dynamics": "mf"
32
+ },
33
+ {
34
+ "number": 3,
35
+ "rightHand": "Bb4:e B4:e C5:e D5:e Eb5:e E5:e F5:q",
36
+ "leftHand": "Bb2:q D4 F4:q C3:q E4 Bb3:q",
37
+ "dynamics": "mf"
38
+ },
39
+ {
40
+ "number": 4,
41
+ "rightHand": "G5:e F5:e Eb5:e D5:e C5:q Bb4:q",
42
+ "leftHand": "Eb3:q G3 Bb3:q F3:q A3 C4:q",
43
+ "dynamics": "mf"
44
+ },
45
+ {
46
+ "number": 5,
47
+ "rightHand": "D5:e F5:e Bb5:e A5:e G5:e F5:e Eb5:q",
48
+ "leftHand": "Bb2:q D4 F4:q Eb3:q G3 Bb3:q",
49
+ "dynamics": "f"
50
+ },
51
+ {
52
+ "number": 6,
53
+ "rightHand": "D5:e Eb5:e F5:e G5:e A5:q Bb5:q",
54
+ "leftHand": "Bb2:q D4 F4:q Bb2:q D4 F4:q",
55
+ "dynamics": "f"
56
+ },
57
+ {
58
+ "number": 7,
59
+ "rightHand": "G5:e Eb5:e F5:e D5:e Eb5:e C5:e D5:q",
60
+ "leftHand": "Eb3:q G3 Bb3:q F3:q A3 C4:q",
61
+ "dynamics": "mf"
62
+ },
63
+ {
64
+ "number": 8,
65
+ "rightHand": "Bb4:h R:h",
66
+ "leftHand": "Bb2:q D4 F4:q Bb2:q R:q",
67
+ "dynamics": "f"
68
+ }
69
+ ]
70
+ }
@@ -0,0 +1,92 @@
1
+ {
2
+ "id": "great-balls-of-fire",
3
+ "title": "Great Balls of Fire",
4
+ "genre": "rock",
5
+ "composer": "Otis Blackwell & Jack Hammer",
6
+ "difficulty": "advanced",
7
+ "key": "C major",
8
+ "tempo": 168,
9
+ "timeSignature": "4/4",
10
+ "durationSeconds": 11,
11
+ "tags": [
12
+ "jerry-lee-lewis",
13
+ "boogie",
14
+ "rock-and-roll",
15
+ "advanced",
16
+ "high-energy"
17
+ ],
18
+ "source": "Claude arrangement — simplified interpretation",
19
+ "musicalLanguage": {
20
+ "description": "The wildest piano performance in rock and roll history. Jerry Lee Lewis's boogie-woogie-meets-rock style features a pounding left-hand bass pattern, crashing right-hand chords, and unstoppable energy. This arrangement captures the 12-bar blues-rock feel with walking bass and percussive treble chords.",
21
+ "structure": "12-bar blues condensed to 8 bars — C-F-C-G-F-C boogie pattern",
22
+ "keyMoments": [
23
+ "Bars 1-2: The driving C major boogie — pounding bass with crashing treble chords",
24
+ "Bars 3-4: F major — the IV chord with the same relentless energy",
25
+ "Bars 7-8: The G-F-C turnaround — classic 12-bar blues resolution at breakneck speed"
26
+ ],
27
+ "teachingGoals": [
28
+ "Boogie-woogie left-hand walking bass pattern",
29
+ "Playing at high tempo with control and accuracy",
30
+ "Rock and roll piano technique — percussive, aggressive touch"
31
+ ],
32
+ "styleTips": [
33
+ "Attack the keys — this is not gentle music. Jerry Lee played like the piano owed him money",
34
+ "The left hand drives everything — it must be rock solid and relentless",
35
+ "Right hand chords should be punched, not pressed — think percussion, not singing"
36
+ ]
37
+ },
38
+ "measures": [
39
+ {
40
+ "number": 1,
41
+ "rightHand": "C4 E4 G4:q C4 E4 G4:q C4 E4 G4:q C4 E4 G4:q",
42
+ "leftHand": "C2:e E2:e G2:e A2:e C2:e E2:e G2:e A2:e",
43
+ "teachingNote": "C major boogie — crashing chords over walking bass. This is pure energy from beat one.",
44
+ "dynamics": "ff"
45
+ },
46
+ {
47
+ "number": 2,
48
+ "rightHand": "C4 E4 G4:q C4 E4 Bb4:q C4 E4 G4:q C4 E4 Bb4:q",
49
+ "leftHand": "C2:e E2:e G2:e A2:e C2:e E2:e G2:e A2:e",
50
+ "teachingNote": "C7 — the Bb adds the bluesy 7th. Alternating G and Bb is a classic rock and roll move."
51
+ },
52
+ {
53
+ "number": 3,
54
+ "rightHand": "F4 A4 C5:q F4 A4 C5:q F4 A4 Eb5:q F4 A4 C5:q",
55
+ "leftHand": "F2:e A2:e C3:e D3:e F2:e A2:e C3:e D3:e",
56
+ "teachingNote": "F major — the IV chord. Same boogie pattern transposed. The Eb5 adds the bluesy seventh."
57
+ },
58
+ {
59
+ "number": 4,
60
+ "rightHand": "F4 A4 C5:q F4 A4 Eb5:q F4 A4 C5:q F4 A4 C5:q",
61
+ "leftHand": "F2:e A2:e C3:e D3:e F2:e A2:e C3:e D3:e",
62
+ "teachingNote": "F7 continues — keep the left hand absolutely steady. It is the engine."
63
+ },
64
+ {
65
+ "number": 5,
66
+ "rightHand": "C4 E4 G4:q C4 E4 Bb4:q C4 E4 G4:q C4 E4 Bb4:q",
67
+ "leftHand": "C2:e E2:e G2:e A2:e C2:e E2:e G2:e A2:e",
68
+ "teachingNote": "Back to C — the return hits even harder after the F chord. Dig in.",
69
+ "dynamics": "ff"
70
+ },
71
+ {
72
+ "number": 6,
73
+ "rightHand": "C4 E4 G4:q C4 E4 G4:q C4 E4 G4:q R:q",
74
+ "leftHand": "C2:e E2:e G2:e A2:e C2:e E2:e G2:q",
75
+ "teachingNote": "C major — a brief rest on beat 4 creates a dramatic pause before the turnaround."
76
+ },
77
+ {
78
+ "number": 7,
79
+ "rightHand": "G4 B4 D5:q G4 B4 D5:q F4 A4 C5:q F4 A4 C5:q",
80
+ "leftHand": "G2:e B2:e D3:e B2:e F2:e A2:e C3:e A2:e",
81
+ "teachingNote": "G to F — the classic V-IV turnaround. Two beats each, quick and punchy.",
82
+ "dynamics": "f"
83
+ },
84
+ {
85
+ "number": 8,
86
+ "rightHand": "C4 E4 G4:q E5:e C5:e G4:e E4:e C4 E4 G4:q",
87
+ "leftHand": "C2:e E2:e G2:e A2:e C2:h",
88
+ "teachingNote": "C major finale — a descending run before the final chord. Slam it home.",
89
+ "dynamics": "ff"
90
+ }
91
+ ]
92
+ }
@@ -0,0 +1,92 @@
1
+ {
2
+ "id": "guantanamera",
3
+ "title": "Guantanamera",
4
+ "genre": "latin",
5
+ "composer": "Traditional Cuban / Jose Fernandez Diaz",
6
+ "difficulty": "beginner",
7
+ "key": "C major",
8
+ "tempo": 112,
9
+ "timeSignature": "4/4",
10
+ "durationSeconds": 17,
11
+ "tags": [
12
+ "cuban",
13
+ "folk",
14
+ "traditional",
15
+ "sing-along",
16
+ "easy"
17
+ ],
18
+ "source": "Claude arrangement — simplified interpretation",
19
+ "musicalLanguage": {
20
+ "description": "Cuba's most famous folk song, built on a simple three-chord pattern in C major. The melody is instantly recognizable and singable, making this an ideal beginner piece. The left hand plays a basic Latin accompaniment pattern while the right hand carries the beloved melody. The simplicity is its strength.",
21
+ "structure": "Verse: C-F-G-C pattern (4 bars), Chorus: same chords with melodic variation (4 bars)",
22
+ "keyMoments": [
23
+ "Bar 1: C major — the opening call. Everyone knows this melody.",
24
+ "Bars 3-4: G to C — the singalong resolution that makes crowds join in.",
25
+ "Bars 5-6: The chorus melody lifts higher — more energy, same simplicity."
26
+ ],
27
+ "teachingGoals": [
28
+ "Three-chord song in C major — I, IV, V",
29
+ "Basic Latin left hand pattern",
30
+ "Playing a melody that everyone can sing along to"
31
+ ],
32
+ "styleTips": [
33
+ "Warm and communal — this is a song for everyone to share",
34
+ "Keep the rhythm steady and danceable",
35
+ "Left hand should have a gentle Cuban feel — not too rigid"
36
+ ]
37
+ },
38
+ "measures": [
39
+ {
40
+ "number": 1,
41
+ "rightHand": "E4:q E4:q F4:q G4:q",
42
+ "leftHand": "C3:q G3:q C3:q G3:q",
43
+ "dynamics": "mf",
44
+ "teachingNote": "C major — the famous opening. Simple and warm."
45
+ },
46
+ {
47
+ "number": 2,
48
+ "rightHand": "A4:q G4:q F4:h",
49
+ "leftHand": "F3:q C4:q F3:q C4:q",
50
+ "teachingNote": "F major — melody peaks on A then settles. Natural and easy."
51
+ },
52
+ {
53
+ "number": 3,
54
+ "rightHand": "E4:q D4:q E4:q F4:q",
55
+ "leftHand": "G2:q D3:q G2:q D3:q",
56
+ "teachingNote": "G major — setting up the return. Melody rocks gently."
57
+ },
58
+ {
59
+ "number": 4,
60
+ "rightHand": "E4:h C4:h",
61
+ "leftHand": "C3:q G3:q C3:h",
62
+ "teachingNote": "C major — home. Two half notes. Clean and satisfying."
63
+ },
64
+ {
65
+ "number": 5,
66
+ "rightHand": "G4:q G4:q A4:q G4:q",
67
+ "leftHand": "C3:q E3:q G3:q E3:q",
68
+ "dynamics": "f",
69
+ "teachingNote": "Chorus — C major, melody lifts to the higher octave."
70
+ },
71
+ {
72
+ "number": 6,
73
+ "rightHand": "A4:q G4:q F4:q E4:q",
74
+ "leftHand": "F3:q A3:q C4:q A3:q",
75
+ "teachingNote": "F major — descending melody. The sing-along peak."
76
+ },
77
+ {
78
+ "number": 7,
79
+ "rightHand": "D4:q E4:q F4:q E4:q",
80
+ "leftHand": "G2:q B2:q D3:q B2:q",
81
+ "dynamics": "mf",
82
+ "teachingNote": "G major — preparing final resolution. Keep singing inside."
83
+ },
84
+ {
85
+ "number": 8,
86
+ "rightHand": "C4:w",
87
+ "leftHand": "C3:q E3:q G3:q C4:q",
88
+ "dynamics": "p",
89
+ "teachingNote": "C major — whole note ending. Arpeggio in the bass for a warm finish."
90
+ }
91
+ ]
92
+ }
@@ -0,0 +1,92 @@
1
+ {
2
+ "id": "hallelujah",
3
+ "title": "Hallelujah",
4
+ "genre": "pop",
5
+ "composer": "Leonard Cohen",
6
+ "difficulty": "intermediate",
7
+ "key": "C major",
8
+ "tempo": 56,
9
+ "timeSignature": "6/8",
10
+ "durationSeconds": 51,
11
+ "tags": [
12
+ "cohen",
13
+ "folk-pop",
14
+ "ballad",
15
+ "arpeggiated",
16
+ "6/8-time"
17
+ ],
18
+ "source": "Claude arrangement — simplified interpretation",
19
+ "musicalLanguage": {
20
+ "description": "A folk-pop masterpiece in 6/8 time, built on a descending chord progression that mirrors the lyrical gravity. The arpeggiated accompaniment gives it a hymn-like, meditative quality. This arrangement uses the verse section with its iconic I-V-vi-IV-V progression.",
21
+ "structure": "Verse (8 bars) in 6/8 — C-Am-C-Am-F-G-C-G cycle",
22
+ "keyMoments": [
23
+ "Bars 1-2: C to Am — the descending bass establishes the reflective mood",
24
+ "Bars 5-6: F to G — the harmonic lift toward the 'Hallelujah' moment",
25
+ "Bars 7-8: C to G — resolution and preparation to repeat"
26
+ ],
27
+ "teachingGoals": [
28
+ "Playing in 6/8 time — feeling two groups of three",
29
+ "Arpeggiated left-hand patterns in compound meter",
30
+ "Smooth melodic phrasing over a rocking accompaniment"
31
+ ],
32
+ "styleTips": [
33
+ "Feel the 6/8 as a gentle rocking motion — ONE-two-three FOUR-five-six",
34
+ "The left hand arpeggio should be completely even, like a lullaby",
35
+ "Right-hand melody floats above — sing it in your head as you play"
36
+ ]
37
+ },
38
+ "measures": [
39
+ {
40
+ "number": 1,
41
+ "rightHand": "E4:q. G4:q.",
42
+ "leftHand": "C3:e E3:e G3:e C3:e E3:e G3:e",
43
+ "teachingNote": "C major in 6/8 — feel the two-beat rocking pattern. Each dotted quarter = one beat group.",
44
+ "dynamics": "mp"
45
+ },
46
+ {
47
+ "number": 2,
48
+ "rightHand": "A4:q. G4:q.",
49
+ "leftHand": "A2:e C3:e E3:e A2:e C3:e E3:e",
50
+ "teachingNote": "A minor — the melody rises to A4 then settles back. Feel the shift to minor."
51
+ },
52
+ {
53
+ "number": 3,
54
+ "rightHand": "E4:q. G4:q.",
55
+ "leftHand": "C3:e E3:e G3:e C3:e E3:e G3:e",
56
+ "teachingNote": "Back to C major — the repetition is intentional. This song is built on cycles."
57
+ },
58
+ {
59
+ "number": 4,
60
+ "rightHand": "A4:q. E4:q.",
61
+ "leftHand": "A2:e C3:e E3:e A2:e C3:e E3:e",
62
+ "teachingNote": "A minor again — this time the melody drops from A4 to E4. A gentle sigh."
63
+ },
64
+ {
65
+ "number": 5,
66
+ "rightHand": "F4:q. A4:q.",
67
+ "leftHand": "F2:e A2:e C3:e F2:e A2:e C3:e",
68
+ "teachingNote": "F major — the IV chord lifts the harmony. This is where the chorus feeling begins.",
69
+ "dynamics": "mf"
70
+ },
71
+ {
72
+ "number": 6,
73
+ "rightHand": "G4:q. B4:q.",
74
+ "leftHand": "G2:e B2:e D3:e G2:e B2:e D3:e",
75
+ "teachingNote": "G major — the V chord. Tension building toward resolution."
76
+ },
77
+ {
78
+ "number": 7,
79
+ "rightHand": "C5:q. G4:q.",
80
+ "leftHand": "C3:e E3:e G3:e C3:e E3:e G3:e",
81
+ "teachingNote": "C major — the melody peaks at C5 for the climax, then descends. The 'Hallelujah' moment.",
82
+ "dynamics": "f"
83
+ },
84
+ {
85
+ "number": 8,
86
+ "rightHand": "E4:q. D4:q.",
87
+ "leftHand": "G2:e B2:e D3:e G2:e B2:e D3:e",
88
+ "teachingNote": "G major — the phrase ends open on the V chord, pulling you back to repeat.",
89
+ "dynamics": "mp"
90
+ }
91
+ ]
92
+ }
@@ -0,0 +1,93 @@
1
+ {
2
+ "id": "hedwigs-theme",
3
+ "title": "Hedwig's Theme",
4
+ "genre": "film",
5
+ "composer": "John Williams",
6
+ "difficulty": "intermediate",
7
+ "key": "E minor",
8
+ "tempo": 144,
9
+ "timeSignature": "3/8",
10
+ "durationSeconds": 13,
11
+ "tags": [
12
+ "harry-potter",
13
+ "john-williams",
14
+ "magical",
15
+ "celesta",
16
+ "fantasy"
17
+ ],
18
+ "source": "Claude arrangement — simplified interpretation",
19
+ "musicalLanguage": {
20
+ "description": "John Williams' magical theme from Harry Potter, originally scored for celesta to create its otherworldly sparkle. In 3/8 time, the theme has a lilting, music-box quality that perfectly captures the wonder of the wizarding world. The melody features the distinctive minor-key intervals and the characteristic triplet-like motion that makes it instantly recognizable.",
21
+ "structure": "A section: the celesta theme (4 bars), B section: the answer phrase with wider leaps (4 bars)",
22
+ "keyMoments": [
23
+ "Bar 1: B to E — the opening call. Magic is happening.",
24
+ "Bar 3: The characteristic leap up to B4 — wonder and excitement.",
25
+ "Bars 5-8: The answering phrase with its wider, more adventurous intervals."
26
+ ],
27
+ "teachingGoals": [
28
+ "3/8 time — fast triple meter, one beat per bar",
29
+ "Light, celesta-like touch on piano",
30
+ "Minor key intervals that create a magical atmosphere"
31
+ ],
32
+ "styleTips": [
33
+ "Play like a celesta — light, sparkling, crystalline",
34
+ "Each bar should feel like one pulse, not three separate beats",
35
+ "The magic is in the lightness — never heavy or thumping"
36
+ ]
37
+ },
38
+ "measures": [
39
+ {
40
+ "number": 1,
41
+ "rightHand": "B4:e E5:e G5:e",
42
+ "leftHand": "E3:e B3:e E3:e",
43
+ "dynamics": "mp",
44
+ "teachingNote": "Em — the famous opening. B up to E, then G. Magic begins."
45
+ },
46
+ {
47
+ "number": 2,
48
+ "rightHand": "F#5:e E5:e",
49
+ "leftHand": "B2:e F#3:e B3:e",
50
+ "teachingNote": "B7 — just two notes in the right hand. F# pulls back to E."
51
+ },
52
+ {
53
+ "number": 3,
54
+ "rightHand": "B4:e E5:e G5:e",
55
+ "leftHand": "E3:e B3:e E3:e",
56
+ "teachingNote": "Em — the opening figure returns. Same magic, building anticipation."
57
+ },
58
+ {
59
+ "number": 4,
60
+ "rightHand": "D5:e C#5:e",
61
+ "leftHand": "A2:e E3:e A3:e",
62
+ "dynamics": "mf",
63
+ "teachingNote": "A — D falls to C#. The answering phrase begins differently."
64
+ },
65
+ {
66
+ "number": 5,
67
+ "rightHand": "B4:e E5:e G5:e",
68
+ "leftHand": "C3:e G3:e C4:e",
69
+ "dynamics": "mf",
70
+ "teachingNote": "C major — same melody, new harmony. The adventure deepens."
71
+ },
72
+ {
73
+ "number": 6,
74
+ "rightHand": "B5:e Bb5:e",
75
+ "leftHand": "G3:e D4:e G3:e",
76
+ "dynamics": "f",
77
+ "teachingNote": "G — the high B5 to Bb5. Chromatic twist. Pure Williams magic."
78
+ },
79
+ {
80
+ "number": 7,
81
+ "rightHand": "A5:e F5:e",
82
+ "leftHand": "F3:e C4:e F3:e",
83
+ "teachingNote": "F major — descending. The spell is winding down."
84
+ },
85
+ {
86
+ "number": 8,
87
+ "rightHand": "E5:e",
88
+ "leftHand": "E3:e B3:e E3:e",
89
+ "dynamics": "p",
90
+ "teachingNote": "Em — single E5. The theme lands softly. Magic complete."
91
+ }
92
+ ]
93
+ }