@mcptoolshop/ai-jam-sessions 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.
- package/LICENSE +21 -0
- package/README.es.md +177 -0
- package/README.fr.md +178 -0
- package/README.hi.md +175 -0
- package/README.it.md +177 -0
- package/README.ja.md +174 -0
- package/README.md +174 -0
- package/README.pt-BR.md +177 -0
- package/README.zh.md +173 -0
- package/dist/audio-engine.d.ts +12 -0
- package/dist/audio-engine.d.ts.map +1 -0
- package/dist/audio-engine.js +422 -0
- package/dist/audio-engine.js.map +1 -0
- package/dist/chord-detect.d.ts +14 -0
- package/dist/chord-detect.d.ts.map +1 -0
- package/dist/chord-detect.js +90 -0
- package/dist/chord-detect.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +805 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -0
- package/dist/journal.d.ts +41 -0
- package/dist/journal.d.ts.map +1 -0
- package/dist/journal.js +149 -0
- package/dist/journal.js.map +1 -0
- package/dist/mcp-server.d.ts +3 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +1256 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/midi/parser.d.ts +16 -0
- package/dist/midi/parser.d.ts.map +1 -0
- package/dist/midi/parser.js +192 -0
- package/dist/midi/parser.js.map +1 -0
- package/dist/midi/types.d.ts +44 -0
- package/dist/midi/types.d.ts.map +1 -0
- package/dist/midi/types.js +8 -0
- package/dist/midi/types.js.map +1 -0
- package/dist/note-parser.d.ts +105 -0
- package/dist/note-parser.d.ts.map +1 -0
- package/dist/note-parser.js +319 -0
- package/dist/note-parser.js.map +1 -0
- package/dist/piano-roll.d.ts +28 -0
- package/dist/piano-roll.d.ts.map +1 -0
- package/dist/piano-roll.js +321 -0
- package/dist/piano-roll.js.map +1 -0
- package/dist/piano-voices.d.ts +90 -0
- package/dist/piano-voices.d.ts.map +1 -0
- package/dist/piano-voices.js +416 -0
- package/dist/piano-voices.js.map +1 -0
- package/dist/playback/controls.d.ts +124 -0
- package/dist/playback/controls.d.ts.map +1 -0
- package/dist/playback/controls.js +252 -0
- package/dist/playback/controls.js.map +1 -0
- package/dist/playback/midi-engine.d.ts +68 -0
- package/dist/playback/midi-engine.d.ts.map +1 -0
- package/dist/playback/midi-engine.js +227 -0
- package/dist/playback/midi-engine.js.map +1 -0
- package/dist/playback/position.d.ts +95 -0
- package/dist/playback/position.d.ts.map +1 -0
- package/dist/playback/position.js +223 -0
- package/dist/playback/position.js.map +1 -0
- package/dist/playback/timing.d.ts +31 -0
- package/dist/playback/timing.d.ts.map +1 -0
- package/dist/playback/timing.js +57 -0
- package/dist/playback/timing.js.map +1 -0
- package/dist/sample-engine.d.ts +17 -0
- package/dist/sample-engine.d.ts.map +1 -0
- package/dist/sample-engine.js +428 -0
- package/dist/sample-engine.js.map +1 -0
- package/dist/schemas.d.ts +40 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +42 -0
- package/dist/schemas.js.map +1 -0
- package/dist/session.d.ts +106 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +361 -0
- package/dist/session.js.map +1 -0
- package/dist/sfz-parser.d.ts +36 -0
- package/dist/sfz-parser.d.ts.map +1 -0
- package/dist/sfz-parser.js +95 -0
- package/dist/sfz-parser.js.map +1 -0
- package/dist/smoke.d.ts +2 -0
- package/dist/smoke.d.ts.map +1 -0
- package/dist/smoke.js +512 -0
- package/dist/smoke.js.map +1 -0
- package/dist/songs/config/loader.d.ts +14 -0
- package/dist/songs/config/loader.d.ts.map +1 -0
- package/dist/songs/config/loader.js +53 -0
- package/dist/songs/config/loader.js.map +1 -0
- package/dist/songs/config/schema.d.ts +79 -0
- package/dist/songs/config/schema.d.ts.map +1 -0
- package/dist/songs/config/schema.js +56 -0
- package/dist/songs/config/schema.js.map +1 -0
- package/dist/songs/index.d.ts +18 -0
- package/dist/songs/index.d.ts.map +1 -0
- package/dist/songs/index.js +22 -0
- package/dist/songs/index.js.map +1 -0
- package/dist/songs/jam.d.ts +48 -0
- package/dist/songs/jam.d.ts.map +1 -0
- package/dist/songs/jam.js +338 -0
- package/dist/songs/jam.js.map +1 -0
- package/dist/songs/library.d.ts +47 -0
- package/dist/songs/library.d.ts.map +1 -0
- package/dist/songs/library.js +156 -0
- package/dist/songs/library.js.map +1 -0
- package/dist/songs/loader.d.ts +27 -0
- package/dist/songs/loader.d.ts.map +1 -0
- package/dist/songs/loader.js +90 -0
- package/dist/songs/loader.js.map +1 -0
- package/dist/songs/midi/hands.d.ts +46 -0
- package/dist/songs/midi/hands.d.ts.map +1 -0
- package/dist/songs/midi/hands.js +134 -0
- package/dist/songs/midi/hands.js.map +1 -0
- package/dist/songs/midi/ingest.d.ts +8 -0
- package/dist/songs/midi/ingest.d.ts.map +1 -0
- package/dist/songs/midi/ingest.js +197 -0
- package/dist/songs/midi/ingest.js.map +1 -0
- package/dist/songs/midi/measures.d.ts +41 -0
- package/dist/songs/midi/measures.d.ts.map +1 -0
- package/dist/songs/midi/measures.js +64 -0
- package/dist/songs/midi/measures.js.map +1 -0
- package/dist/songs/midi/types.d.ts +25 -0
- package/dist/songs/midi/types.d.ts.map +1 -0
- package/dist/songs/midi/types.js +8 -0
- package/dist/songs/midi/types.js.map +1 -0
- package/dist/songs/registry.d.ts +37 -0
- package/dist/songs/registry.d.ts.map +1 -0
- package/dist/songs/registry.js +197 -0
- package/dist/songs/registry.js.map +1 -0
- package/dist/songs/types.d.ts +99 -0
- package/dist/songs/types.d.ts.map +1 -0
- package/dist/songs/types.js +29 -0
- package/dist/songs/types.js.map +1 -0
- package/dist/teaching/live-midi-feedback.d.ts +36 -0
- package/dist/teaching/live-midi-feedback.d.ts.map +1 -0
- package/dist/teaching/live-midi-feedback.js +259 -0
- package/dist/teaching/live-midi-feedback.js.map +1 -0
- package/dist/teaching/midi-feedback.d.ts +33 -0
- package/dist/teaching/midi-feedback.d.ts.map +1 -0
- package/dist/teaching/midi-feedback.js +208 -0
- package/dist/teaching/midi-feedback.js.map +1 -0
- package/dist/teaching/sing-on-midi.d.ts +77 -0
- package/dist/teaching/sing-on-midi.d.ts.map +1 -0
- package/dist/teaching/sing-on-midi.js +186 -0
- package/dist/teaching/sing-on-midi.js.map +1 -0
- package/dist/teaching.d.ts +148 -0
- package/dist/teaching.d.ts.map +1 -0
- package/dist/teaching.js +453 -0
- package/dist/teaching.js.map +1 -0
- package/dist/test-sound.d.ts +3 -0
- package/dist/test-sound.d.ts.map +1 -0
- package/dist/test-sound.js +41 -0
- package/dist/test-sound.js.map +1 -0
- package/dist/types.d.ts +229 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +28 -0
- package/dist/types.js.map +1 -0
- package/dist/vmpk.d.ts +23 -0
- package/dist/vmpk.d.ts.map +1 -0
- package/dist/vmpk.js +236 -0
- package/dist/vmpk.js.map +1 -0
- package/docs/fur-elise-m1-8.svg +290 -0
- package/logo.png +0 -0
- package/package.json +71 -0
- package/songs/library/blues/blues-in-the-night.json +14 -0
- package/songs/library/blues/blues-in-the-night.mid +0 -0
- package/songs/library/blues/born-under-a-bad-sign.json +13 -0
- package/songs/library/blues/born-under-a-bad-sign.mid +0 -0
- package/songs/library/blues/crossroad-blues.json +14 -0
- package/songs/library/blues/crossroad-blues.mid +0 -0
- package/songs/library/blues/everyday-i-have-the-blues.json +13 -0
- package/songs/library/blues/everyday-i-have-the-blues.mid +0 -0
- package/songs/library/blues/hoochie-coochie-man.json +14 -0
- package/songs/library/blues/hoochie-coochie-man.mid +0 -0
- package/songs/library/blues/red-house.json +14 -0
- package/songs/library/blues/red-house.mid +0 -0
- package/songs/library/blues/st-louis-blues.json +14 -0
- package/songs/library/blues/st-louis-blues.mid +0 -0
- package/songs/library/blues/stormy-monday.json +13 -0
- package/songs/library/blues/stormy-monday.mid +0 -0
- package/songs/library/blues/sweet-home-chicago.json +14 -0
- package/songs/library/blues/sweet-home-chicago.mid +0 -0
- package/songs/library/blues/the-thrill-is-gone.json +17 -0
- package/songs/library/blues/the-thrill-is-gone.mid +0 -0
- package/songs/library/classical/bach-prelude-c-major-bwv846.json +37 -0
- package/songs/library/classical/bach-prelude-c-major-bwv846.mid +0 -0
- package/songs/library/classical/chopin-nocturne-op9-no2.json +36 -0
- package/songs/library/classical/chopin-nocturne-op9-no2.mid +0 -0
- package/songs/library/classical/chopin-prelude-e-minor.json +35 -0
- package/songs/library/classical/chopin-prelude-e-minor.mid +0 -0
- package/songs/library/classical/clair-de-lune.json +37 -0
- package/songs/library/classical/clair-de-lune.mid +0 -0
- package/songs/library/classical/debussy-arabesque-no1.json +35 -0
- package/songs/library/classical/debussy-arabesque-no1.mid +0 -0
- package/songs/library/classical/fur-elise.json +35 -0
- package/songs/library/classical/fur-elise.mid +0 -0
- package/songs/library/classical/mozart-k545-mvt1.json +35 -0
- package/songs/library/classical/mozart-k545-mvt1.mid +0 -0
- package/songs/library/classical/pathetique-mvt2.json +36 -0
- package/songs/library/classical/pathetique-mvt2.mid +0 -0
- package/songs/library/classical/satie-gymnopedie-no1.json +36 -0
- package/songs/library/classical/satie-gymnopedie-no1.mid +0 -0
- package/songs/library/classical/schumann-traumerei.json +36 -0
- package/songs/library/classical/schumann-traumerei.mid +0 -0
- package/songs/library/film/cinema-paradiso.json +14 -0
- package/songs/library/film/cinema-paradiso.mid +0 -0
- package/songs/library/film/comptine-dun-autre-ete.json +17 -0
- package/songs/library/film/comptine-dun-autre-ete.mid +0 -0
- package/songs/library/film/forrest-gump.json +14 -0
- package/songs/library/film/forrest-gump.mid +0 -0
- package/songs/library/film/hedwigs-theme.json +14 -0
- package/songs/library/film/hedwigs-theme.mid +0 -0
- package/songs/library/film/mia-and-sebastians-theme.json +14 -0
- package/songs/library/film/mia-and-sebastians-theme.mid +0 -0
- package/songs/library/film/moon-river.json +14 -0
- package/songs/library/film/moon-river.mid +0 -0
- package/songs/library/film/my-heart-will-go-on.json +14 -0
- package/songs/library/film/my-heart-will-go-on.mid +0 -0
- package/songs/library/film/nuvole-bianche.json +14 -0
- package/songs/library/film/nuvole-bianche.mid +0 -0
- package/songs/library/film/pink-panther.json +14 -0
- package/songs/library/film/pink-panther.mid +0 -0
- package/songs/library/film/schindlers-list-theme.json +14 -0
- package/songs/library/film/schindlers-list-theme.mid +0 -0
- package/songs/library/folk/amazing-grace.json +14 -0
- package/songs/library/folk/amazing-grace.mid +0 -0
- package/songs/library/folk/auld-lang-syne.json +14 -0
- package/songs/library/folk/auld-lang-syne.mid +0 -0
- package/songs/library/folk/danny-boy.json +14 -0
- package/songs/library/folk/danny-boy.mid +0 -0
- package/songs/library/folk/greensleeves.json +17 -0
- package/songs/library/folk/greensleeves.mid +0 -0
- package/songs/library/folk/house-of-the-rising-sun.json +14 -0
- package/songs/library/folk/house-of-the-rising-sun.mid +0 -0
- package/songs/library/folk/sakura-sakura.json +14 -0
- package/songs/library/folk/sakura-sakura.mid +0 -0
- package/songs/library/folk/scarborough-fair.json +14 -0
- package/songs/library/folk/scarborough-fair.mid +0 -0
- package/songs/library/folk/shenandoah.json +14 -0
- package/songs/library/folk/shenandoah.mid +0 -0
- package/songs/library/folk/simple-gifts.json +14 -0
- package/songs/library/folk/simple-gifts.mid +0 -0
- package/songs/library/folk/the-water-is-wide.json +14 -0
- package/songs/library/folk/the-water-is-wide.mid +0 -0
- package/songs/library/jazz/all-the-things-you-are.json +13 -0
- package/songs/library/jazz/all-the-things-you-are.mid +0 -0
- package/songs/library/jazz/autumn-leaves.json +17 -0
- package/songs/library/jazz/autumn-leaves.mid +0 -0
- package/songs/library/jazz/blue-bossa.json +14 -0
- package/songs/library/jazz/blue-bossa.mid +0 -0
- package/songs/library/jazz/fly-me-to-the-moon.json +14 -0
- package/songs/library/jazz/fly-me-to-the-moon.mid +0 -0
- package/songs/library/jazz/georgia-on-my-mind.json +14 -0
- package/songs/library/jazz/georgia-on-my-mind.mid +0 -0
- package/songs/library/jazz/misty.json +14 -0
- package/songs/library/jazz/misty.mid +0 -0
- package/songs/library/jazz/my-funny-valentine.json +14 -0
- package/songs/library/jazz/my-funny-valentine.mid +0 -0
- package/songs/library/jazz/round-midnight.json +14 -0
- package/songs/library/jazz/round-midnight.mid +0 -0
- package/songs/library/jazz/summertime.json +14 -0
- package/songs/library/jazz/summertime.mid +0 -0
- package/songs/library/jazz/take-the-a-train.json +14 -0
- package/songs/library/jazz/take-the-a-train.mid +0 -0
- package/songs/library/latin/agua-de-beber.json +14 -0
- package/songs/library/latin/agua-de-beber.mid +0 -0
- package/songs/library/latin/besame-mucho.json +14 -0
- package/songs/library/latin/besame-mucho.mid +0 -0
- package/songs/library/latin/black-orpheus.json +14 -0
- package/songs/library/latin/black-orpheus.mid +0 -0
- package/songs/library/latin/corcovado.json +14 -0
- package/songs/library/latin/corcovado.mid +0 -0
- package/songs/library/latin/desafinado.json +14 -0
- package/songs/library/latin/desafinado.mid +0 -0
- package/songs/library/latin/el-condor-pasa.json +14 -0
- package/songs/library/latin/el-condor-pasa.mid +0 -0
- package/songs/library/latin/girl-from-ipanema.json +17 -0
- package/songs/library/latin/girl-from-ipanema.mid +0 -0
- package/songs/library/latin/mas-que-nada.json +14 -0
- package/songs/library/latin/mas-que-nada.mid +0 -0
- package/songs/library/latin/perfidia.json +14 -0
- package/songs/library/latin/perfidia.mid +0 -0
- package/songs/library/latin/wave.json +14 -0
- package/songs/library/latin/wave.mid +0 -0
- package/songs/library/new-age/divenire.json +14 -0
- package/songs/library/new-age/divenire.mid +0 -0
- package/songs/library/new-age/experience.json +14 -0
- package/songs/library/new-age/experience.mid +0 -0
- package/songs/library/new-age/kiss-the-rain.json +14 -0
- package/songs/library/new-age/kiss-the-rain.mid +0 -0
- package/songs/library/new-age/may-be.json +13 -0
- package/songs/library/new-age/may-be.mid +0 -0
- package/songs/library/new-age/metamorphosis-two.json +14 -0
- package/songs/library/new-age/metamorphosis-two.mid +0 -0
- package/songs/library/new-age/nuvole-bianche-na.json +14 -0
- package/songs/library/new-age/nuvole-bianche-na.mid +0 -0
- package/songs/library/new-age/opening-glassworks.json +14 -0
- package/songs/library/new-age/opening-glassworks.mid +0 -0
- package/songs/library/new-age/river-flows-in-you.json +17 -0
- package/songs/library/new-age/river-flows-in-you.mid +0 -0
- package/songs/library/new-age/una-mattina.json +14 -0
- package/songs/library/new-age/una-mattina.mid +0 -0
- package/songs/library/new-age/watermark.json +14 -0
- package/songs/library/new-age/watermark.mid +0 -0
- package/songs/library/pop/a-thousand-years.json +14 -0
- package/songs/library/pop/a-thousand-years.mid +0 -0
- package/songs/library/pop/all-of-me.json +14 -0
- package/songs/library/pop/all-of-me.mid +0 -0
- package/songs/library/pop/bohemian-rhapsody.json +14 -0
- package/songs/library/pop/bohemian-rhapsody.mid +0 -0
- package/songs/library/pop/clocks.json +14 -0
- package/songs/library/pop/clocks.mid +0 -0
- package/songs/library/pop/imagine.json +17 -0
- package/songs/library/pop/imagine.mid +0 -0
- package/songs/library/pop/let-it-be.json +14 -0
- package/songs/library/pop/let-it-be.mid +0 -0
- package/songs/library/pop/piano-man.json +14 -0
- package/songs/library/pop/piano-man.mid +0 -0
- package/songs/library/pop/someone-like-you.json +14 -0
- package/songs/library/pop/someone-like-you.mid +0 -0
- package/songs/library/pop/someone-you-loved.json +14 -0
- package/songs/library/pop/someone-you-loved.mid +0 -0
- package/songs/library/pop/viva-la-vida.json +14 -0
- package/songs/library/pop/viva-la-vida.mid +0 -0
- package/songs/library/ragtime/bethena.json +14 -0
- package/songs/library/ragtime/bethena.mid +0 -0
- package/songs/library/ragtime/elite-syncopations.json +13 -0
- package/songs/library/ragtime/elite-syncopations.mid +0 -0
- package/songs/library/ragtime/gladiolus-rag.json +13 -0
- package/songs/library/ragtime/gladiolus-rag.mid +0 -0
- package/songs/library/ragtime/maple-leaf-rag.json +13 -0
- package/songs/library/ragtime/maple-leaf-rag.mid +0 -0
- package/songs/library/ragtime/peacherine-rag.json +13 -0
- package/songs/library/ragtime/peacherine-rag.mid +0 -0
- package/songs/library/ragtime/pineapple-rag.json +13 -0
- package/songs/library/ragtime/pineapple-rag.mid +0 -0
- package/songs/library/ragtime/solace.json +14 -0
- package/songs/library/ragtime/solace.mid +0 -0
- package/songs/library/ragtime/the-easy-winners.json +13 -0
- package/songs/library/ragtime/the-easy-winners.mid +0 -0
- package/songs/library/ragtime/the-entertainer.json +17 -0
- package/songs/library/ragtime/the-entertainer.mid +0 -0
- package/songs/library/ragtime/weeping-willow.json +14 -0
- package/songs/library/ragtime/weeping-willow.mid +0 -0
- package/songs/library/rnb/fallin.json +17 -0
- package/songs/library/rnb/fallin.mid +0 -0
- package/songs/library/rnb/halo.json +14 -0
- package/songs/library/rnb/halo.mid +0 -0
- package/songs/library/rnb/i-will-always-love-you.json +14 -0
- package/songs/library/rnb/i-will-always-love-you.mid +0 -0
- package/songs/library/rnb/if-i-aint-got-you.json +17 -0
- package/songs/library/rnb/if-i-aint-got-you.mid +0 -0
- package/songs/library/rnb/isnt-she-lovely.json +17 -0
- package/songs/library/rnb/isnt-she-lovely.mid +0 -0
- package/songs/library/rnb/killing-me-softly.json +14 -0
- package/songs/library/rnb/killing-me-softly.mid +0 -0
- package/songs/library/rnb/no-one.json +14 -0
- package/songs/library/rnb/no-one.mid +0 -0
- package/songs/library/rnb/ordinary-people.json +14 -0
- package/songs/library/rnb/ordinary-people.mid +0 -0
- package/songs/library/rnb/ribbon-in-the-sky.json +14 -0
- package/songs/library/rnb/ribbon-in-the-sky.mid +0 -0
- package/songs/library/rnb/superstition.json +17 -0
- package/songs/library/rnb/superstition.mid +0 -0
- package/songs/library/rock/baba-oriley.json +14 -0
- package/songs/library/rock/baba-oriley.mid +0 -0
- package/songs/library/rock/bennie-and-the-jets.json +14 -0
- package/songs/library/rock/bennie-and-the-jets.mid +0 -0
- package/songs/library/rock/dont-stop-believin.json +14 -0
- package/songs/library/rock/dont-stop-believin.mid +0 -0
- package/songs/library/rock/dream-on.json +14 -0
- package/songs/library/rock/dream-on.mid +0 -0
- package/songs/library/rock/layla-unplugged.json +14 -0
- package/songs/library/rock/layla-unplugged.mid +0 -0
- package/songs/library/rock/november-rain.json +15 -0
- package/songs/library/rock/november-rain.mid +0 -0
- package/songs/library/rock/rocket-man.json +14 -0
- package/songs/library/rock/rocket-man.mid +0 -0
- package/songs/library/rock/stairway-to-heaven.json +14 -0
- package/songs/library/rock/stairway-to-heaven.mid +0 -0
- package/songs/library/rock/tiny-dancer.json +14 -0
- package/songs/library/rock/tiny-dancer.mid +0 -0
- package/songs/library/rock/your-song.json +17 -0
- package/songs/library/rock/your-song.mid +0 -0
- package/songs/library/soul/a-change-is-gonna-come.json +14 -0
- package/songs/library/soul/a-change-is-gonna-come.mid +0 -0
- package/songs/library/soul/aint-no-sunshine.json +14 -0
- package/songs/library/soul/aint-no-sunshine.mid +0 -0
- package/songs/library/soul/dock-of-the-bay.json +13 -0
- package/songs/library/soul/dock-of-the-bay.mid +0 -0
- package/songs/library/soul/i-got-you.json +14 -0
- package/songs/library/soul/i-got-you.mid +0 -0
- package/songs/library/soul/lean-on-me.json +17 -0
- package/songs/library/soul/lean-on-me.mid +0 -0
- package/songs/library/soul/lets-stay-together.json +14 -0
- package/songs/library/soul/lets-stay-together.mid +0 -0
- package/songs/library/soul/my-girl.json +14 -0
- package/songs/library/soul/my-girl.mid +0 -0
- package/songs/library/soul/respect.json +14 -0
- package/songs/library/soul/respect.mid +0 -0
- package/songs/library/soul/stand-by-me.json +14 -0
- package/songs/library/soul/stand-by-me.mid +0 -0
- package/songs/library/soul/whats-going-on.json +14 -0
- package/songs/library/soul/whats-going-on.mid +0 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 mcp-tool-shop
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.es.md
ADDED
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="README.md">English</a> | <a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <strong>Español</strong> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português</a>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<img src="logo.png" alt="AI Jam Session logo" width="180" />
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
<h1 align="center">AI Jam Session</h1>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<em>Aprendizaje Automático a la Antigua</em>
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
<p align="center">
|
|
16
|
+
Un servidor MCP que enseña a la IA a tocar piano.<br/>
|
|
17
|
+
120 canciones. 12 géneros. MIDI real. Un diario de práctica que lo recuerda todo.
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
[](https://github.com/mcp-tool-shop-org/ai-jam-sessions)
|
|
21
|
+
[](https://github.com/mcp-tool-shop-org/ai-jam-sessions)
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## ¿Qué es esto?
|
|
26
|
+
|
|
27
|
+
Un piano que la IA aprende a tocar. No es un sintetizador, no es una biblioteca MIDI -- es un instrumento de enseñanza.
|
|
28
|
+
|
|
29
|
+
Un LLM puede leer y escribir texto. Pero no puede experimentar la música como nosotros -- sin oídos, sin ojos, sin memoria muscular. AI Jam Session cierra esa brecha dándole al modelo sentidos que realmente puede usar:
|
|
30
|
+
|
|
31
|
+
- **Lectura** -- partituras MIDI reales con anotaciones pedagógicas, no aproximaciones escritas a mano
|
|
32
|
+
- **Audición** -- un motor de piano que suena por los altavoces, para que los humanos en la sala sean los oídos de la IA
|
|
33
|
+
- **Visión** -- un piano roll que renderiza lo tocado como SVG que el modelo puede releer y verificar
|
|
34
|
+
- **Memoria** -- un diario de práctica que persiste entre sesiones, para que el aprendizaje se acumule
|
|
35
|
+
|
|
36
|
+
Cada género tiene un modelo anotado -- una pieza de referencia que la IA estudia antes de abordar el resto. Las otras 96 canciones son MIDI sin procesar, esperando a que la IA aprenda los patrones, toque la música y escriba sus propias anotaciones. Cada sesión continúa donde terminó la anterior.
|
|
37
|
+
|
|
38
|
+
## El Piano Roll
|
|
39
|
+
|
|
40
|
+
Así es como la IA ve la música. El piano roll renderiza cualquier canción como SVG -- azul para la mano derecha, coral para la izquierda, con rejillas de pulso, dinámicas y límites de compás:
|
|
41
|
+
|
|
42
|
+
<p align="center">
|
|
43
|
+
<img src="docs/fur-elise-m1-8.svg" alt="Piano roll de Für Elise compases 1-8, mostrando mano derecha (azul) y mano izquierda (coral)" width="100%" />
|
|
44
|
+
</p>
|
|
45
|
+
|
|
46
|
+
<p align="center"><em>Für Elise, compases 1-8 -- el trino E5-D#5 en azul, acompañamiento de bajo en coral</em></p>
|
|
47
|
+
|
|
48
|
+
La mayoría de los piano rolls son animaciones de reproducción diseñadas para productores humanos. Este está construido para IA. El formato SVG permite al modelo tanto *ver* la imagen como *leer* el código fuente para verificar la precisión de tono, independencia de manos y ritmo. No es una visualización -- es un bucle de retroalimentación.
|
|
49
|
+
|
|
50
|
+
## El Ciclo de Aprendizaje
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
Leer Tocar Ver Reflexionar
|
|
54
|
+
┌──────────┐ ┌───────────┐ ┌────────────┐ ┌──────────────┐
|
|
55
|
+
│ Estudiar │ │ Tocar la │ │ Ver el │ │ Escribir lo │
|
|
56
|
+
│ el modelo │ ──▶ │ canción a │ ──▶ │ piano roll │ ──▶ │ aprendido en │
|
|
57
|
+
│ anotado │ │ cualquier │ │ para │ │ el diario │
|
|
58
|
+
│ │ │ velocidad │ │ verificar │ │ │
|
|
59
|
+
└──────────┘ └───────────┘ └────────────┘ └──────┬───────┘
|
|
60
|
+
│
|
|
61
|
+
▼
|
|
62
|
+
┌──────────────┐
|
|
63
|
+
│ La siguiente │
|
|
64
|
+
│ sesión │
|
|
65
|
+
│ continúa aquí │
|
|
66
|
+
└──────────────┘
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## La Biblioteca de Canciones
|
|
70
|
+
|
|
71
|
+
120 canciones en 12 géneros, construidas a partir de archivos MIDI reales. Cada género tiene un modelo completamente anotado -- una pieza de referencia que la IA estudia antes de abordar el resto.
|
|
72
|
+
|
|
73
|
+
| Género | Canciones | Modelo |
|
|
74
|
+
|--------|-----------|--------|
|
|
75
|
+
| Clásica | 10 listas | Für Elise, Clair de Lune, Moonlight Sonata... |
|
|
76
|
+
| R&B | 4 listas | Superstition (Stevie Wonder) |
|
|
77
|
+
| Jazz | 1 lista | Autumn Leaves |
|
|
78
|
+
| Blues | 1 lista | The Thrill Is Gone (B.B. King) |
|
|
79
|
+
| Pop | 1 lista | Imagine (John Lennon) |
|
|
80
|
+
| Rock | 1 lista | Your Song (Elton John) |
|
|
81
|
+
| Soul | 1 lista | Lean on Me (Bill Withers) |
|
|
82
|
+
| Latina | 1 lista | The Girl from Ipanema |
|
|
83
|
+
| Cine | 1 lista | Comptine d'un autre été (Yann Tiersen) |
|
|
84
|
+
| Ragtime | 1 lista | The Entertainer (Scott Joplin) |
|
|
85
|
+
| New-Age | 1 lista | River Flows in You (Yiruma) |
|
|
86
|
+
| Folk | 1 lista | Greensleeves |
|
|
87
|
+
|
|
88
|
+
Las canciones progresan de **raw** (solo MIDI) a **ready** (completamente anotadas y reproducibles). La IA promueve canciones estudiándolas y escribiendo anotaciones con `annotate_song`.
|
|
89
|
+
|
|
90
|
+
## El Diario de Práctica
|
|
91
|
+
|
|
92
|
+
El diario es la memoria de la IA. Después de tocar una canción, el servidor registra lo que sucedió -- qué canción, a qué velocidad, cuántos compases, cuánto tiempo. La IA agrega sus propias reflexiones: qué patrones notó, qué reconoció, qué intentar después.
|
|
93
|
+
|
|
94
|
+
```markdown
|
|
95
|
+
---
|
|
96
|
+
### 14:32 — Autumn Leaves
|
|
97
|
+
**jazz** | intermediate | G minor | 69 BPM x 0.7x | 32/32 measures | 45s
|
|
98
|
+
|
|
99
|
+
El ii-V-I en los compases 5-8 (Cm7-F7-BbMaj7) tiene la misma gravedad
|
|
100
|
+
que el V-i en The Thrill Is Gone, solo que en mayor. El blues y el jazz
|
|
101
|
+
comparten más de lo que sugieren las etiquetas de género.
|
|
102
|
+
|
|
103
|
+
Próximo: intentar a velocidad completa. Comparar la modulación del
|
|
104
|
+
puente de Ipanema con esto.
|
|
105
|
+
---
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Un archivo markdown por día, almacenado en `~/.pianoai/journal/`. Legible por humanos, solo adición. En la siguiente sesión, la IA lee su diario y continúa donde lo dejó.
|
|
109
|
+
|
|
110
|
+
## Instalación
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
npm install -g @mcptoolshop/ai-jam-sessions
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Requiere **Node.js 18+**. Sin controladores MIDI, sin puertos virtuales, sin software externo.
|
|
117
|
+
|
|
118
|
+
### Claude Desktop / Claude Code
|
|
119
|
+
|
|
120
|
+
```json
|
|
121
|
+
{
|
|
122
|
+
"mcpServers": {
|
|
123
|
+
"ai_jam_sessions": {
|
|
124
|
+
"command": "npx",
|
|
125
|
+
"args": ["-y", "-p", "@mcptoolshop/ai-jam-sessions", "ai-jam-sessions-mcp"]
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Herramientas MCP
|
|
132
|
+
|
|
133
|
+
### Aprender
|
|
134
|
+
|
|
135
|
+
| Herramienta | Función |
|
|
136
|
+
|-------------|---------|
|
|
137
|
+
| `list_songs` | Buscar por género, dificultad o palabra clave |
|
|
138
|
+
| `song_info` | Análisis musical, objetivos pedagógicos, consejos de estilo |
|
|
139
|
+
| `library_progress` | Estado de anotación en todos los géneros |
|
|
140
|
+
| `list_measures` | Notas y apuntes de enseñanza de cada compás |
|
|
141
|
+
| `teaching_note` | Análisis profundo de un compás individual |
|
|
142
|
+
|
|
143
|
+
### Tocar
|
|
144
|
+
|
|
145
|
+
| Herramienta | Función |
|
|
146
|
+
|-------------|---------|
|
|
147
|
+
| `play_song` | Reproducir por altavoces (velocidad, modo, rango de compases) |
|
|
148
|
+
| `stop_playback` | Detener la canción actual |
|
|
149
|
+
| `pause_playback` | Pausar o reanudar |
|
|
150
|
+
| `set_speed` | Cambiar velocidad durante la reproducción |
|
|
151
|
+
| `view_piano_roll` | Renderizar canción como piano roll SVG |
|
|
152
|
+
|
|
153
|
+
### Recordar
|
|
154
|
+
|
|
155
|
+
| Herramienta | Función |
|
|
156
|
+
|-------------|---------|
|
|
157
|
+
| `save_practice_note` | Escribir una entrada en el diario (datos de sesión capturados automáticamente) |
|
|
158
|
+
| `read_practice_journal` | Cargar entradas recientes para contexto |
|
|
159
|
+
| `annotate_song` | Promover una canción sin procesar a lista (la tarea de la IA) |
|
|
160
|
+
|
|
161
|
+
## CLI
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
pianoai list [--genre <genre>] [--difficulty <level>]
|
|
165
|
+
pianoai play <song-id> [--speed <mult>] [--mode <mode>]
|
|
166
|
+
pianoai view <song-id> [--measures <start-end>] [--out <file.svg>]
|
|
167
|
+
pianoai info <song-id>
|
|
168
|
+
pianoai library
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Estado
|
|
172
|
+
|
|
173
|
+
v0.1.0. 120 archivos MIDI en 12 géneros. 24 canciones completamente anotadas y reproducibles (un modelo por género + 10 clásicas + 4 R&B). Diario de práctica para aprendizaje persistente entre sesiones. Seis voces de teclado (grand, upright, electric, honkytonk, musicbox, bright). Todo el MIDI está listo -- la biblioteca crece a medida que la IA aprende.
|
|
174
|
+
|
|
175
|
+
## Licencia
|
|
176
|
+
|
|
177
|
+
MIT
|
package/README.fr.md
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="README.md">English</a> | <a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <strong>Français</strong> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português</a>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<img src="logo.png" alt="AI Jam Session logo" width="180" />
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
<h1 align="center">AI Jam Session</h1>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<em>L'apprentissage automatique à l'ancienne</em>
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
<p align="center">
|
|
16
|
+
Un serveur MCP qui apprend à l'IA à jouer du piano.<br/>
|
|
17
|
+
120 morceaux. 12 genres. Du vrai MIDI. Un journal de pratique qui se souvient de tout.
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
[](https://github.com/mcp-tool-shop-org/ai-jam-sessions)
|
|
21
|
+
[](https://github.com/mcp-tool-shop-org/ai-jam-sessions)
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Qu'est-ce que c'est ?
|
|
26
|
+
|
|
27
|
+
Un piano que l'IA apprend à jouer. Pas un synthétiseur, pas une bibliothèque MIDI -- un instrument pédagogique.
|
|
28
|
+
|
|
29
|
+
Un LLM peut lire et écrire du texte. Mais il ne peut pas vivre la musique comme nous -- pas d'oreilles, pas d'yeux, pas de mémoire musculaire. AI Jam Session comble ce fossé en donnant au modèle des sens qu'il peut réellement utiliser :
|
|
30
|
+
|
|
31
|
+
- **Lecture** -- de vraies partitions MIDI avec annotations pédagogiques, pas des approximations manuscrites
|
|
32
|
+
- **Écoute** -- un moteur de piano qui joue par les haut-parleurs, pour que les humains dans la pièce deviennent les oreilles de l'IA
|
|
33
|
+
- **Vision** -- un piano roll qui rend ce qui a été joué en SVG, que le modèle peut relire et vérifier
|
|
34
|
+
- **Mémoire** -- un journal de pratique qui persiste entre les sessions, pour que l'apprentissage s'accumule
|
|
35
|
+
|
|
36
|
+
Chaque genre a un modèle annoté -- une pièce de référence que l'IA étudie avant d'aborder le reste. Les 96 autres morceaux sont du MIDI brut, attendant que l'IA apprenne les motifs, joue la musique et rédige ses propres annotations. Chaque session reprend là où la précédente s'est arrêtée.
|
|
37
|
+
|
|
38
|
+
## Le Piano Roll
|
|
39
|
+
|
|
40
|
+
Voici comment l'IA voit la musique. Le piano roll rend n'importe quel morceau en SVG -- bleu pour la main droite, corail pour la gauche, avec grilles de temps, nuances et limites de mesures :
|
|
41
|
+
|
|
42
|
+
<p align="center">
|
|
43
|
+
<img src="docs/fur-elise-m1-8.svg" alt="Piano roll de Für Elise mesures 1-8, montrant la main droite (bleu) et la main gauche (corail)" width="100%" />
|
|
44
|
+
</p>
|
|
45
|
+
|
|
46
|
+
<p align="center"><em>Für Elise, mesures 1-8 -- le trille E5-D#5 en bleu, accompagnement de basse en corail</em></p>
|
|
47
|
+
|
|
48
|
+
La plupart des piano rolls sont des animations de lecture conçues pour les producteurs humains. Celui-ci est conçu pour l'IA. Le format SVG permet au modèle de *voir* l'image et de *lire* le code source pour vérifier la justesse des notes, l'indépendance des mains et le rythme. Ce n'est pas une visualisation -- c'est une boucle de rétroaction.
|
|
49
|
+
|
|
50
|
+
## La Boucle d'Apprentissage
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
Lire Jouer Voir Réfléchir
|
|
54
|
+
┌──────────┐ ┌───────────┐ ┌────────────┐ ┌──────────────┐
|
|
55
|
+
│ Étudier │ │ Jouer le │ │ Voir le │ │ Écrire ce │
|
|
56
|
+
│ l'analyse │ ──▶ │ morceau à │ ──▶ │ piano roll │ ──▶ │ qu'on a │
|
|
57
|
+
│ modèle │ │ n'importe │ │ pour │ │ appris │
|
|
58
|
+
│ │ │ quelle │ │ vérifier │ │ │
|
|
59
|
+
│ │ │ vitesse │ │ │ │ │
|
|
60
|
+
└──────────┘ └───────────┘ └────────────┘ └──────┬───────┘
|
|
61
|
+
│
|
|
62
|
+
▼
|
|
63
|
+
┌──────────────┐
|
|
64
|
+
│ La session │
|
|
65
|
+
│ suivante │
|
|
66
|
+
│ reprend ici │
|
|
67
|
+
└──────────────┘
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## La Bibliothèque
|
|
71
|
+
|
|
72
|
+
120 morceaux dans 12 genres, construits à partir de vrais fichiers MIDI. Chaque genre a un modèle entièrement annoté -- une pièce de référence que l'IA étudie avant d'aborder le reste.
|
|
73
|
+
|
|
74
|
+
| Genre | Morceaux | Modèle |
|
|
75
|
+
|-------|----------|--------|
|
|
76
|
+
| Classique | 10 prêts | Für Elise, Clair de Lune, Sonate au clair de lune... |
|
|
77
|
+
| R&B | 4 prêts | Superstition (Stevie Wonder) |
|
|
78
|
+
| Jazz | 1 prêt | Les Feuilles mortes |
|
|
79
|
+
| Blues | 1 prêt | The Thrill Is Gone (B.B. King) |
|
|
80
|
+
| Pop | 1 prêt | Imagine (John Lennon) |
|
|
81
|
+
| Rock | 1 prêt | Your Song (Elton John) |
|
|
82
|
+
| Soul | 1 prêt | Lean on Me (Bill Withers) |
|
|
83
|
+
| Latin | 1 prêt | La Fille d'Ipanema |
|
|
84
|
+
| Film | 1 prêt | Comptine d'un autre été (Yann Tiersen) |
|
|
85
|
+
| Ragtime | 1 prêt | The Entertainer (Scott Joplin) |
|
|
86
|
+
| New-Age | 1 prêt | River Flows in You (Yiruma) |
|
|
87
|
+
| Folk | 1 prêt | Greensleeves |
|
|
88
|
+
|
|
89
|
+
Les morceaux progressent de **raw** (MIDI uniquement) à **ready** (entièrement annotés et jouables). L'IA promeut les morceaux en les étudiant et en écrivant des annotations avec `annotate_song`.
|
|
90
|
+
|
|
91
|
+
## Le Journal de Pratique
|
|
92
|
+
|
|
93
|
+
Le journal est la mémoire de l'IA. Après avoir joué un morceau, le serveur enregistre ce qui s'est passé -- quel morceau, à quelle vitesse, combien de mesures, combien de temps. L'IA ajoute ses propres réflexions : les motifs remarqués, les schémas reconnus, ce qu'elle veut essayer ensuite.
|
|
94
|
+
|
|
95
|
+
```markdown
|
|
96
|
+
---
|
|
97
|
+
### 14:32 — Les Feuilles mortes
|
|
98
|
+
**jazz** | intermediate | G minor | 69 BPM x 0.7x | 32/32 measures | 45s
|
|
99
|
+
|
|
100
|
+
Le ii-V-I aux mesures 5-8 (Cm7-F7-BbMaj7) a la même gravité que le
|
|
101
|
+
V-i dans The Thrill Is Gone, mais en majeur. Le blues et le jazz ont
|
|
102
|
+
plus en commun que les étiquettes de genre ne le suggèrent.
|
|
103
|
+
|
|
104
|
+
Prochaine fois : essayer à pleine vitesse. Comparer la modulation du
|
|
105
|
+
pont d'Ipanema avec ceci.
|
|
106
|
+
---
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Un fichier markdown par jour, stocké dans `~/.pianoai/journal/`. Lisible par un humain, en ajout uniquement. À la session suivante, l'IA lit son journal et reprend là où elle s'était arrêtée.
|
|
110
|
+
|
|
111
|
+
## Installation
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
npm install -g @mcptoolshop/ai-jam-sessions
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Nécessite **Node.js 18+**. Pas de pilotes MIDI, pas de ports virtuels, pas de logiciel externe.
|
|
118
|
+
|
|
119
|
+
### Claude Desktop / Claude Code
|
|
120
|
+
|
|
121
|
+
```json
|
|
122
|
+
{
|
|
123
|
+
"mcpServers": {
|
|
124
|
+
"ai_jam_sessions": {
|
|
125
|
+
"command": "npx",
|
|
126
|
+
"args": ["-y", "-p", "@mcptoolshop/ai-jam-sessions", "ai-jam-sessions-mcp"]
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Outils MCP
|
|
133
|
+
|
|
134
|
+
### Apprendre
|
|
135
|
+
|
|
136
|
+
| Outil | Fonction |
|
|
137
|
+
|-------|----------|
|
|
138
|
+
| `list_songs` | Parcourir par genre, difficulté ou mot-clé |
|
|
139
|
+
| `song_info` | Analyse musicale, objectifs pédagogiques, conseils de style |
|
|
140
|
+
| `library_progress` | État d'annotation de tous les genres |
|
|
141
|
+
| `list_measures` | Notes et annotations de chaque mesure |
|
|
142
|
+
| `teaching_note` | Analyse approfondie d'une mesure |
|
|
143
|
+
|
|
144
|
+
### Jouer
|
|
145
|
+
|
|
146
|
+
| Outil | Fonction |
|
|
147
|
+
|-------|----------|
|
|
148
|
+
| `play_song` | Jouer par les haut-parleurs (vitesse, mode, plage de mesures) |
|
|
149
|
+
| `stop_playback` | Arrêter le morceau en cours |
|
|
150
|
+
| `pause_playback` | Mettre en pause ou reprendre |
|
|
151
|
+
| `set_speed` | Changer la vitesse en cours de lecture |
|
|
152
|
+
| `view_piano_roll` | Afficher le morceau en piano roll SVG |
|
|
153
|
+
|
|
154
|
+
### Se souvenir
|
|
155
|
+
|
|
156
|
+
| Outil | Fonction |
|
|
157
|
+
|-------|----------|
|
|
158
|
+
| `save_practice_note` | Écrire une entrée de journal (données de session capturées automatiquement) |
|
|
159
|
+
| `read_practice_journal` | Charger les entrées récentes pour le contexte |
|
|
160
|
+
| `annotate_song` | Promouvoir un morceau brut en prêt (les devoirs de l'IA) |
|
|
161
|
+
|
|
162
|
+
## CLI
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
pianoai list [--genre <genre>] [--difficulty <level>]
|
|
166
|
+
pianoai play <song-id> [--speed <mult>] [--mode <mode>]
|
|
167
|
+
pianoai view <song-id> [--measures <start-end>] [--out <file.svg>]
|
|
168
|
+
pianoai info <song-id>
|
|
169
|
+
pianoai library
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Statut
|
|
173
|
+
|
|
174
|
+
v0.1.0. 120 fichiers MIDI dans 12 genres. 24 morceaux entièrement annotés et jouables (un modèle par genre + 10 classiques + 4 R&B). Journal de pratique pour un apprentissage persistant entre les sessions. Six voix de clavier (grand, upright, electric, honkytonk, musicbox, bright). Tout le MIDI est là -- la bibliothèque grandit au fur et à mesure que l'IA apprend.
|
|
175
|
+
|
|
176
|
+
## Licence
|
|
177
|
+
|
|
178
|
+
MIT
|
package/README.hi.md
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="README.md">English</a> | <a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <strong>हिन्दी</strong> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português</a>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<img src="logo.png" alt="AI Jam Session लोगो" width="180" />
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
<h1 align="center">AI Jam Session</h1>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<em>पुराने तरीके से मशीन लर्निंग</em>
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
<p align="center">
|
|
16
|
+
AI को पियानो बजाना सिखाने वाला MCP सर्वर।<br/>
|
|
17
|
+
120 गाने। 12 शैलियाँ। असली MIDI। एक अभ्यास डायरी जो सब कुछ याद रखती है।
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
[](https://github.com/mcp-tool-shop-org/ai-jam-sessions)
|
|
21
|
+
[](https://github.com/mcp-tool-shop-org/ai-jam-sessions)
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## यह क्या है?
|
|
26
|
+
|
|
27
|
+
एक पियानो जिसे AI बजाना सीखता है। सिंथेसाइज़र नहीं, MIDI लाइब्रेरी नहीं -- एक शिक्षण वाद्य यंत्र।
|
|
28
|
+
|
|
29
|
+
LLM टेक्स्ट पढ़ और लिख सकता है। लेकिन यह हमारी तरह संगीत का अनुभव नहीं कर सकता -- न कान, न आँखें, न मांसपेशी स्मृति। AI Jam Session मॉडल को ऐसी इंद्रियाँ देकर इस अंतर को पाटता है जिनका वह वास्तव में उपयोग कर सके:
|
|
30
|
+
|
|
31
|
+
- **पढ़ना** -- शिक्षण एनोटेशन के साथ असली MIDI स्वरलिपि, हाथ से लिखे अनुमान नहीं
|
|
32
|
+
- **सुनना** -- स्पीकर से बजने वाला पियानो इंजन, ताकि कमरे में मौजूद लोग AI के कान बनें
|
|
33
|
+
- **देखना** -- पियानो रोल जो बजाई गई चीज़ को SVG के रूप में रेंडर करता है, जिसे मॉडल वापस पढ़कर सत्यापित कर सकता है
|
|
34
|
+
- **याद रखना** -- सत्रों के बीच बनी रहने वाली अभ्यास डायरी, ताकि सीखना संचित हो
|
|
35
|
+
|
|
36
|
+
हर शैली में एक एनोटेटेड आदर्श है -- AI बाकी पर काम करने से पहले जिसका अध्ययन करता है। बाकी 96 गाने कच्चे MIDI हैं, AI की प्रतीक्षा में कि वह पैटर्न सीखे, संगीत बजाए, और खुद एनोटेशन लिखे। हर सत्र पिछले से आगे बढ़ता है।
|
|
37
|
+
|
|
38
|
+
## पियानो रोल
|
|
39
|
+
|
|
40
|
+
AI संगीत को इस तरह देखता है। पियानो रोल किसी भी गाने को SVG के रूप में रेंडर करता है -- दाहिने हाथ के लिए नीला, बाएं के लिए मूंगा, बीट ग्रिड, गतिशीलता और बार सीमाओं के साथ:
|
|
41
|
+
|
|
42
|
+
<p align="center">
|
|
43
|
+
<img src="docs/fur-elise-m1-8.svg" alt="Für Elise बार 1-8 का पियानो रोल, दाहिना हाथ (नीला) और बायाँ हाथ (मूंगा) दिखाते हुए" width="100%" />
|
|
44
|
+
</p>
|
|
45
|
+
|
|
46
|
+
<p align="center"><em>Für Elise, बार 1-8 -- नीले रंग में E5-D#5 ट्रिल, मूंगा रंग में बास संगत</em></p>
|
|
47
|
+
|
|
48
|
+
अधिकांश पियानो रोल मानव निर्माताओं के लिए प्लेबैक एनिमेशन हैं। यह AI के लिए बना है। SVG प्रारूप का मतलब है कि मॉडल इसे एक छवि के रूप में *देख* भी सकता है और स्रोत मार्कअप *पढ़कर* स्वर सटीकता, हाथ स्वतंत्रता और लय सत्यापित कर सकता है। यह विज़ुअलाइज़ेशन नहीं है -- यह एक फ़ीडबैक लूप है।
|
|
49
|
+
|
|
50
|
+
## सीखने का चक्र
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
पढ़ना बजाना देखना चिंतन
|
|
54
|
+
┌──────────┐ ┌───────────┐ ┌────────────┐ ┌──────────────┐
|
|
55
|
+
│ आदर्श का │ │ किसी भी │ │ पियानो रोल │ │ जो सीखा वह │
|
|
56
|
+
│ विश्लेषण │ ──▶ │ गति पर │ ──▶ │ से सत्यापित│ ──▶ │ डायरी में │
|
|
57
|
+
│ अध्ययन │ │ गाना बजाएं│ │ करें │ │ लिखें │
|
|
58
|
+
└──────────┘ └───────────┘ └────────────┘ └──────┬───────┘
|
|
59
|
+
│
|
|
60
|
+
▼
|
|
61
|
+
┌──────────────┐
|
|
62
|
+
│ अगला सत्र │
|
|
63
|
+
│ यहाँ से शुरू │
|
|
64
|
+
└──────────────┘
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## गाना पुस्तकालय
|
|
68
|
+
|
|
69
|
+
12 शैलियों में 120 गाने, असली MIDI फ़ाइलों से निर्मित। हर शैली में एक पूर्ण एनोटेटेड आदर्श है -- एक संदर्भ टुकड़ा जिसे AI बाकी पर काम करने से पहले अध्ययन करता है।
|
|
70
|
+
|
|
71
|
+
| शैली | गाने | आदर्श |
|
|
72
|
+
|------|------|-------|
|
|
73
|
+
| शास्त्रीय | 10 तैयार | Für Elise, Clair de Lune, Moonlight Sonata... |
|
|
74
|
+
| R&B | 4 तैयार | Superstition (स्टीवी वंडर) |
|
|
75
|
+
| जैज़ | 1 तैयार | Autumn Leaves |
|
|
76
|
+
| ब्लूज़ | 1 तैयार | The Thrill Is Gone (B.B. King) |
|
|
77
|
+
| पॉप | 1 तैयार | Imagine (जॉन लेनन) |
|
|
78
|
+
| रॉक | 1 तैयार | Your Song (एल्टन जॉन) |
|
|
79
|
+
| सोल | 1 तैयार | Lean on Me (बिल विदर्स) |
|
|
80
|
+
| लैटिन | 1 तैयार | The Girl from Ipanema |
|
|
81
|
+
| फ़िल्म | 1 तैयार | Comptine d'un autre été (यान टियर्सन) |
|
|
82
|
+
| रैगटाइम | 1 तैयार | The Entertainer (स्कॉट जोप्लिन) |
|
|
83
|
+
| न्यू-एज | 1 तैयार | River Flows in You (यिरुमा) |
|
|
84
|
+
| लोक | 1 तैयार | Greensleeves |
|
|
85
|
+
|
|
86
|
+
गाने **raw** (केवल MIDI) से **ready** (पूर्ण एनोटेटेड और बजाने योग्य) तक प्रगति करते हैं। AI `annotate_song` से एनोटेशन लिखकर गानों को प्रमोट करता है।
|
|
87
|
+
|
|
88
|
+
## अभ्यास डायरी
|
|
89
|
+
|
|
90
|
+
डायरी AI की स्मृति है। गाना बजाने के बाद, सर्वर रिकॉर्ड करता है क्या हुआ -- कौन सा गाना, किस गति पर, कितने बार, कितने समय तक। AI अपने स्वयं के चिंतन जोड़ता है: कौन से पैटर्न देखे, क्या पहचाना, आगे क्या प्रयास करना है।
|
|
91
|
+
|
|
92
|
+
```markdown
|
|
93
|
+
---
|
|
94
|
+
### 14:32 — Autumn Leaves
|
|
95
|
+
**jazz** | intermediate | G minor | 69 BPM x 0.7x | 32/32 measures | 45s
|
|
96
|
+
|
|
97
|
+
बार 5-8 में ii-V-I (Cm7-F7-BbMaj7) वही गुरुत्वाकर्षण है जो
|
|
98
|
+
The Thrill Is Gone में V-i का है, बस मेजर में। ब्लूज़ और जैज़ में
|
|
99
|
+
शैली लेबल जितना दिखाते हैं उससे कहीं ज़्यादा समानता है।
|
|
100
|
+
|
|
101
|
+
अगली बार: पूरी गति पर प्रयास करें। इपानेमा के ब्रिज मॉड्यूलेशन
|
|
102
|
+
की तुलना इससे करें।
|
|
103
|
+
---
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
प्रतिदिन एक markdown फ़ाइल, `~/.pianoai/journal/` में संग्रहीत। मानव-पठनीय, केवल जोड़ना। अगले सत्र में AI अपनी डायरी पढ़ता है और जहाँ छोड़ा था वहाँ से शुरू करता है।
|
|
107
|
+
|
|
108
|
+
## इंस्टॉल
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
npm install -g @mcptoolshop/ai-jam-sessions
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Node.js 18+** आवश्यक। कोई MIDI ड्राइवर नहीं, कोई वर्चुअल पोर्ट नहीं, कोई बाहरी सॉफ़्टवेयर नहीं।
|
|
115
|
+
|
|
116
|
+
### Claude Desktop / Claude Code
|
|
117
|
+
|
|
118
|
+
```json
|
|
119
|
+
{
|
|
120
|
+
"mcpServers": {
|
|
121
|
+
"ai_jam_sessions": {
|
|
122
|
+
"command": "npx",
|
|
123
|
+
"args": ["-y", "-p", "@mcptoolshop/ai-jam-sessions", "ai-jam-sessions-mcp"]
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## MCP उपकरण
|
|
130
|
+
|
|
131
|
+
### सीखें
|
|
132
|
+
|
|
133
|
+
| उपकरण | कार्य |
|
|
134
|
+
|--------|-------|
|
|
135
|
+
| `list_songs` | शैली, कठिनाई, या कीवर्ड से ब्राउज़ करें |
|
|
136
|
+
| `song_info` | संगीत विश्लेषण, शिक्षण लक्ष्य, शैली सुझाव |
|
|
137
|
+
| `library_progress` | सभी शैलियों में एनोटेशन स्थिति |
|
|
138
|
+
| `list_measures` | हर बार के नोट्स और शिक्षण नोट्स |
|
|
139
|
+
| `teaching_note` | एक बार का गहन विश्लेषण |
|
|
140
|
+
|
|
141
|
+
### बजाएं
|
|
142
|
+
|
|
143
|
+
| उपकरण | कार्य |
|
|
144
|
+
|--------|-------|
|
|
145
|
+
| `play_song` | स्पीकर से बजाएं (गति, मोड, बार रेंज) |
|
|
146
|
+
| `stop_playback` | वर्तमान गाना रोकें |
|
|
147
|
+
| `pause_playback` | रोकें या फिर से शुरू करें |
|
|
148
|
+
| `set_speed` | प्लेबैक के दौरान गति बदलें |
|
|
149
|
+
| `view_piano_roll` | गाने को SVG पियानो रोल के रूप में रेंडर करें |
|
|
150
|
+
|
|
151
|
+
### याद रखें
|
|
152
|
+
|
|
153
|
+
| उपकरण | कार्य |
|
|
154
|
+
|--------|-------|
|
|
155
|
+
| `save_practice_note` | डायरी प्रविष्टि लिखें (सत्र डेटा स्वचालित रूप से कैप्चर) |
|
|
156
|
+
| `read_practice_journal` | संदर्भ के लिए हाल की प्रविष्टियाँ लोड करें |
|
|
157
|
+
| `annotate_song` | कच्चे गाने को तैयार में प्रमोट करें (AI का होमवर्क) |
|
|
158
|
+
|
|
159
|
+
## CLI
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
pianoai list [--genre <genre>] [--difficulty <level>]
|
|
163
|
+
pianoai play <song-id> [--speed <mult>] [--mode <mode>]
|
|
164
|
+
pianoai view <song-id> [--measures <start-end>] [--out <file.svg>]
|
|
165
|
+
pianoai info <song-id>
|
|
166
|
+
pianoai library
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## स्थिति
|
|
170
|
+
|
|
171
|
+
v0.1.0। 12 शैलियों में 120 MIDI फ़ाइलें। 24 गाने पूर्ण एनोटेटेड और बजाने योग्य (प्रति शैली एक आदर्श + 10 शास्त्रीय + 4 R&B)। सत्रों के बीच निरंतर सीखने के लिए अभ्यास डायरी। छह कीबोर्ड ध्वनियाँ (grand, upright, electric, honkytonk, musicbox, bright)। सभी MIDI तैयार हैं -- AI सीखता है तो पुस्तकालय बढ़ता है।
|
|
172
|
+
|
|
173
|
+
## लाइसेंस
|
|
174
|
+
|
|
175
|
+
MIT
|