L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

deepjazz

deepjazz

Use deepjazz for legacy MIDI jazz generation with music21 preprocessing, abstract grammar tokens, Keras/Theano LSTM training, safe diagnostics, and modernization guidance.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: deepjazz description: "Use deepjazz for legacy MIDI jazz generation with music21 preprocessing, abstract grammar tokens, Keras/Theano LSTM training, safe diagnostics, and modernization guidance." disable-model-invocation: true metadata: disco-role: operating license: Apache 2.0

deepjazz Repo Skill

Use this skill when a task involves the deepjazz repository or a deepjazz-style workflow: symbolic MIDI jazz generation, Metheny-style MIDI preprocessing, abstract grammar tokens, note cleanup, Keras/Theano LSTM generation, optional Theano GPU commands, or modernizing the legacy code.

This skill is self-contained. Do not rely on reading original repo scripts at runtime to recover constants, signatures, or workflow boundaries; use the bundled references and scripts below.

First route by task

User taskRoute
Inspect whether a MIDI file can work with deepjazz, change melody/accompaniment parts, or debug corpus extractionsub-skills/midi-preprocessing/
Explain or validate grammar tokens, run parse/unparse/cleanup smoke checks, or debug malformed generated grammarsub-skills/grammar-and-qa/
Run, adapt, or port the LSTM generation path; avoid playback/training hazards; inspect model settingssub-skills/lstm-generation/
Diagnose install/import/backend problems that cut across all workflowsreferences/troubleshooting.md
Check whether this skill matches a checkout/source revisionreferences/repo-provenance.md

Minimal safe start

  1. Treat deepjazz as a legacy script collection, not a modern installable package.

  2. For faithful execution, use a Python 2.7-era environment with NumPy/SciPy, music21, Keras 1.x, and Theano. Read references/dependency-environment.md before installing.

  3. Set KERAS_BACKEND=theano before importing legacy Keras.

  4. Run the bundled no-training environment check:

    python scripts/check_deepjazz_environment.py --expect-theano
    
  5. Validate MIDI structure before training:

    python sub-skills/midi-preprocessing/scripts/inspect_midi_structure.py --midi-file <input.mid>
    
  6. Validate grammar/QA behavior without training:

    python sub-skills/grammar-and-qa/scripts/grammar_roundtrip_smoke.py --seed 7
    
  7. Only run full generation after environment, data, and grammar checks pass. The original generation flow trains an LSTM, attempts realtime MIDI playback, and writes MIDI output.

Key distilled facts

  • Public source modules: generator, grammar, preprocess, qa, and lstm.
  • Verified public signatures: generate(data_fn, out_fn, N_epochs), build_model(corpus, val_indices, max_len, N_epochs=128), get_musical_data(data_fn), get_corpus_data(abstract_grammars), parse_melody(fullMeasureNotes, fullMeasureChords), unparse_grammar(m1_grammar, m1_chords), prune_grammar(curr_grammar), prune_notes(curr_notes), clean_up_notes(curr_notes).
  • Default generation settings: max_len=20, max_tries=1000, diversity=0.5, bpm=130, default epochs 128.
  • The README documents CPU execution and an optional NVIDIA/Theano GPU command; CPU is the safe baseline for this skill.
  • The default MIDI workflow is tailored to a Metheny fixture: melody part 5, accompaniment parts 0,1,6,7, and solo window offsets 476..548.

Shared references and scripts

Non-goals

  • Do not treat this as a generic modern music-generation framework.
  • Do not claim GPU verification unless a task explicitly verifies the legacy Theano CUDA path.
  • Do not run full generation as a quick smoke test; use bundled no-training helpers first.
  • Do not expect arbitrary MIDI files to work without adapting part and offset assumptions.
Skills enregistrées