Skip to content

Repository files navigation

Conductor Main

conductor-main is the interactive Gradio client for conductor-core. It turns the reusable engine into a browser-based workflow for generating, auditioning, visualizing, editing, and revisiting four-bar MIDI loops.

conductor-main - Screenshot

The app owns UI layout, callback adaptation, UI state, prompt editing, and its Plotly piano roll. Core owns provider routing, generation, MIDI conversion, audio helpers, and persisted artifacts. This separation allows another UI or service to replace Conductor Main without rewriting the engine.

Quick Start

Install uv, then run:

uv sync --locked
uv run --locked conductor-main

The app opens at http://127.0.0.1:7860/.

Key Features

  • Natural-language four-bar MIDI loop generation across multiple LLM providers (OpenAI, Anthropic, Google, Ollama).
  • Interactive Plotly piano roll visualization and MIDI download for DAW import.
  • Built-in audio rendering and playback via FluidSynth and SoundFonts.
  • Model-adaptive controls (temperature, reasoning toggles, reasoning effort).
  • Session history with generation reload and audio re-rendering.
  • Customizable prompt overrides.

Documentation

To browse the documentation locally with MkDocs:

uv sync --locked --extra docs
uv run --locked --extra docs mkdocs serve

The documentation server opens at http://127.0.0.1:8000/.

Full documentation formatted for MkDocs is available in the docs/ directory:

Development and Validation

uv sync --locked --extra dev
uv run --locked --extra dev ruff format --check .
uv run --locked --extra dev ruff check .
uv run --locked --extra dev pytest -q
uv build

About

A Gradio application for interactive MIDI generation with Conductor Core, featuring a user-friendly interface, generation history, audio rendering, and tools for exploring and managing AI-generated music.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages