Repo docs

Per-repo documentation — each repo's docs/ and README, ingested and associated with the repo. Rendered through the <<<RepoDocs>>> tag.

← code__code__jazz-old docs · README.md

jazz

Modular notes-to-audio pipeline. Take notes, run them through a local LLM, speak them via Kokoro TTS.

Copyright 2026 testmonkeyalpha — Apache License 2.0

---

Requirements

- macOS (Apple Silicon) - Miniconda - LM Studio running locally with a model loaded (default port 4001) - screen (brew install screen)

---

Install

Clone the repo with all submodules:

git clone --recurse-submodules [email protected]:testmonkeyalpha/jazz.git
cd jazz

Run the installer from the base conda env:

python install.py

This creates three conda environments: - kokoro-jazz-{id} — Kokoro TTS server - litellm-jazz-{id} — LiteLLM proxy - notes-jazz-{id} — Notes MCP server and CLI tools

At the end the installer prints the notes env name. Activate it and install the jazz CLI:

conda activate notes-jazz-{id}
pip install -e .

---

Configuration

LiteLLM — edit conf/litellm/litellm_config.json to match your LM Studio model:

{
  "model_list": [{
    "model_name": "gemma",
    "litellm_params": {
      "model": "openai/your-model-name",
      "api_base": "http://localhost:1234/v1",
      "api_key": "not-needed"
    }
  }]
}

Notes file — defaults to conf/notes/notes.json. Override with env var:

export NOTES_FILE=/path/to/notes.json

---

Usage

Start all services:

jazz-start

Stop all services:

jazz-stop

Add a note:

jazz-new note "your text here"
jazz-new objective "Electrical Systems"
jazz-new module "My Study Notes"

Ask the local LLM and save the response as a note:

jazz-think "what is a contactor?"

Speak all notes via Kokoro TTS:

jazz-speak

Audio is saved to ~/speak/{module}/{objective}/ with a playlist.m3u.

---

MCP Server

The notes MCP server exposes the note tree to Claude desktop. Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "notes": {
      "command": "/path/to/conda/envs/notes-jazz-{id}/bin/python",
      "args": ["-m", "notes_mcp"],
      "env": {
        "NOTES_FILE": "/path/to/jazz/conf/notes/notes.json"
      }
    }
  }
}

---

Services

| Service | Port | Screen session | |---|---|---| | Kokoro TTS | 4001 | jazz-kokoro | | LiteLLM proxy | 4000 | jazz-litellm | | Notes MCP | stdio | jazz-notes |

Attach to a session: screen -r jazz-kokoro