← Seq2MusicCONTENT HISTORY

Update to Seq2Music

Snapshot Sep 30, 2026 · 23:15 UTC · version 0.3.2

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "name": "sonify-biomolecules",
  "description": "Reversibly encode normalized protein, DNA, or RNA sequences as auditable MIDI, PCM WAV, and MusicXML with visible SVG notation; decode those carriers; or quantize arbitrary PCM WAV/MusicXML into an explicitly lossy sequence. Use for sequence-to-music, music/audio/score-to-sequence, visible notation, audible mutation comparison, alignment audio, or structure-to-music.",
  "included_files": [
    {
      "relative_path": "references/audio-score-import.md",
      "size_in_bytes": 2718
    },
    {
      "relative_path": "references/evidence-boundaries.md",
      "size_in_bytes": 1481
    },
    {
      "relative_path": "references/examples.md",
      "size_in_bytes": 1246
    },
    {
      "relative_path": "references/mapping-contract.md",
      "size_in_bytes": 5222
    },
    {
      "relative_path": "references/roundtrip-contract.md",
      "size_in_bytes": 2519
    }
  ],
  "skill_md_contents": "---\nname: sonify-biomolecules\ndescription: Reversibly encode normalized protein, DNA, or RNA sequences as auditable MIDI, PCM WAV, and MusicXML with visible SVG notation; decode those carriers; or quantize arbitrary PCM WAV/MusicXML into an explicitly lossy sequence. Use for sequence-to-music, music/audio/score-to-sequence, visible notation, audible mutation comparison, alignment audio, or structure-to-music.\n---\n\n# Sonify Biomolecules with Seq2Music\n\nSeq2Music turns local biological data into deterministic sound, visible notation, and a traceable event ledger.\n\n## Choose a mode\n\n- One FASTA record, default reversible path: `encode` (`sonify` is a compatibility alias and is also reversible).\n- Seq2Music sequence MIDI back to canonical FASTA: `decode`.\n- Seq2Music or arbitrary PCM WAV to FASTA: `audio-decode`.\n- Video or unsupported audio container: use an available local converter such as FFmpeg to extract the requested audio stream as mono or stereo integer PCM WAV, then pass that WAV to `audio-decode`; ignore the video frames.\n- Seq2Music or arbitrary plain MusicXML to FASTA: `score-decode`.\n- Reference and variant FASTA: `diff`.\n- Pre-aligned, equal-length FASTA records: `msa`.\n- Local PDB or mmCIF protein structure: `structure`.\n- Input validation only: `inspect`.\n- Artifact integrity check: `verify`.\n\nBefore explaining a mapping, round-trip status, audio/score import, or the papers behind the plugin, read [references/mapping-contract.md](references/mapping-contract.md), [references/roundtrip-contract.md](references/roundtrip-contract.md), [references/audio-score-import.md](references/audio-score-import.md), or [references/evidence-boundaries.md](references/evidence-boundaries.md), respectively.\n\n## Run locally\n\nLocate the plugin root from this skill and invoke `scripts/seq2music.py` with Python 3. The script uses only the standard library and makes no network calls.\n\nExamples:\n\n```bash\npython3 scripts/seq2music.py inspect --input protein.fasta --kind protein\nrun_dir=\"$(python3 scripts/seq2music.py encode --input protein.fasta --kind protein --out seq2music-output)\"\npython3 scripts/seq2music.py decode --midi \"$run_dir/protein.mid\" --manifest \"$run_dir/protein.run.json\" --out recovered\npython3 scripts/seq2music.py audio-decode --audio music.wav --out recovered-from-audio\npython3 scripts/seq2music.py audio-decode --audio music.wav --kind dna --out projected-dna\npython3 scripts/seq2music.py score-decode --score music.musicxml --out recovered-from-score\npython3 scripts/seq2music.py diff --reference ref.fasta --variant mutant.fasta --kind protein --out seq2music-output\npython3 scripts/seq2music.py msa --input aligned.fasta --kind protein --out seq2music-output\npython3 scripts/seq2music.py structure --input structure.pdb --model 1 --chains A --out seq2music-output\n```\n\nUse an explicit `--kind` when an all-ACGT string could be either a short protein or DNA, and for ambiguity-only nucleotide alignments whose IUPAC letters overlap protein symbols. `encode` requires exactly one FASTA record. `diff` reads the first record from each input; `msa` requires at least two records and uses all of them. MSA accepts extended DNA/RNA IUPAC ambiguity codes, but excludes them from consensus and entropy while reporting ambiguous coverage. Diff uses a bounded display alignment of at most 1,000,000 dynamic-programming cells. `--step` is measured in beats, so BPM changes both MIDI and WAV speed. There is no duration ceiling: rendering is streamed under a 512 MiB default WAV budget, adjustable with `--max-wav-mib` up to the 4095 MiB classic-RIFF limit. `--max-events` defaults to 5,000 but can be raised explicitly to 100,000. `audio-decode` likewise uses `--max-input-mib` rather than a duration timer and analyzes one window at a time. Structure mode reads observed C-alpha atoms from the first encountered model unless `--model N` is provided, records the selection, and does not rebuild missing residues. mmCIF parsing supports a bounded `_atom_site` subset and reports unsupported syntax.\n\n## Present the result\n\nReturn links to the generated `.html`, `.score.svg`, `.musicxml`, `.wav`, `.mid`, `.events.csv`, `.summary.txt`, and `.run.json` files. For decoding, return `sequence.fasta`, `decode.report.json`, `inference.events.csv`, and `score.svg`. State the exact status verbatim: MIDI uses `exact-embedded`/`exact-manifest-matched`; WAV uses `exact-wav-embedded`; score uses `exact-score-embedded`; arbitrary imports use `lossy-audio-quantized` or `lossy-score-transcription`. Lead with the carrier, selected alphabet, exactness, and event count.\n\nDescribe what the selected mapping encodes, which carrier was decoded, and what the reported status establishes. Keep broader interpretation tied to the event ledger and the source analysis chosen by the user.\n\n## Output behavior\n\n- Outputs are local and offline.\n- Exact MIDI is recoverable from ordered notes plus interpretation metadata; exact WAV and MusicXML also carry embedded sequence metadata. Tell the user before sharing any carrier, HTML, CSV, manifest, or decoded FASTA derived from sensitive input.\n- WAV duration is not artificially capped. Render, import, and verification byte budgets are explicit and adjustable; they protect storage/memory and classic RIFF limits rather than imposing a preview-length policy.\n- A run is deterministic for the same normalized input and parameters.\n- New single-sequence MIDI, WAV, and MusicXML embed separate bounded contracts. WAV exactness is container-level and PCM-bound; MusicXML exactness validates ordered pitches and visible residue/base labels. SVG/MusicXML are pitch/event-grid views, while MIDI/CSV retain timing and pan semantics.\n- Exact recovery covers normalized symbols, not byte-identical FASTA formatting. Metadata-stripped/arbitrary audio and scores are lossy transcriptions; MSA, diff, and structure music are noninvertible.\n- Existing run directories are refused unless `--force` is explicitly requested.\n- Each run manifest stores input and artifact SHA-256 hashes.\n- The HTML and CSV are first-class accessible representations; never make audio the only deliverable.\n\nFor starter prompts and mode-specific examples, read [references/examples.md](references/examples.md).\n"
}

SHA-256: 7ba2370d9264385dc11d2a0214fa8bc7912c2bdcb15a345a2e9c9e2e2eb94cb9