Klotho: Graph-Oriented Computer-Assisted Composition

Klotho is an open source computer-assisted composition toolkit implemented in Python. It is designed to work in tandem with external synthesis applications and as a resource for the methods, models, works, and frameworks associated with music composition and metacomposition.

From the Ancient Greek “Κλωθώ” (Klotho), one of the three Fates who spins the thread of life.

Overview

Klotho extends from a lineage of computer-assisted composition (CAC) theories, practices, and software environments. While it provides support for conventional musical materials, its strengths are best utilized when working with complex, abstract, or otherwise unconventional musical structures not easily accessible with traditional notation software or digital audio workstations.

Core Modules

Klotho is organized into six primary modules plus utilities:

  • topos — The foundation of musical topology in its most abstract form. Operates independently of specific musical parameters, modeling pure structural relationships, patterns, and processes.

  • chronos — Encompasses all temporal materials from microscopic rhythmic gestures to macroscopic formal architectures. Handles nested tuplets, irrational time signatures, metric modulation, poly-meter, and poly-tempi.

  • tonos — Handles all aspects of pitch and harmonic material including tones, pitch collections, scales, chords, harmonic systems and spaces, interval relationships, and frequency-based transformations. Supports arbitrary n-TET/n-EDO systems, extended Just Intonation frameworks, and n-dimensional microtonal lattices.

  • dynatos — Dedicated to dynamics, articulations, and expressive envelopes. Handles conversion of symbolic dynamics (p, mf, ff, etc.) into precise dB/amplitude values, mapping of articulations to parametric envelopes, and custom expressive curves.

  • thetos — The compositional complement to Topos. Handles the concrete assembly and combination of musical materials across all dimensions — temporal, tonal, dynamic, instrumental, and parametric.

  • semeios — Manages all forms of musical representation including visualization, notation, plotting, animation, and multimedia output. Converts computational processes into human-readable and performable representations.

  • utils — General utilities and helper functions including algorithms for cost matrices, graph traversal, ratio analysis, and playback via Tone.js and MIDI.

Installation

pip install klotho-cac

Or install from source:

git clone https://github.com/kr4g/Klotho.git
cd Klotho/
pip install -e .

For contributors (includes testing and documentation tools):

pip install -e .[dev]

Tutorials

Browse the interactive tutorial series directly in your browser — no installation required:

Interactive Tutorials

API Documentation

Additional Resources:

Indices and Tables