Skip to main content

Ufor: Universal Format

A common language for things that happen in time.

Recordings, sequences, mixes and instruments share portable, human-readable definitions. Exact timing, explicit units and named connections keep their meaning intact across applications.

A score is a saveable description of material, a process, or a composition. Scores can contain named parts, each using another score. Their interfaces expose named inputs, outputs and parameters. See the composition design.

Today, Ufor covers:

  • User score libraries, literal selectors, Python declarations and reusable presets.
  • Audio recordings and arrangements; MIDI, OSC, keystrokes and performance events.
  • Tunings, scales and oscillator definitions, with fractional ratios and Scala import.
  • Sample instruments, asset slices and SFZ conversion.
  • Segment envelopes, LFOs and typed modulation routes.
  • Scalar timeline automation for gain, frequency and logical gates, with explicit units.
  • Light animation descriptions, arbitrary component counts, layouts and wiring, with exact composition and shared parameter controls.

The larger ambition includes fixture control, control voltages and other timed data. Video is outside the scope.

The Python library provides frozen Pydantic models, validation, TOML interchange, JSON Schema and reference calculations. An explicit library reader loads configured local files; applications supply devices and audio rendering. Portable conformance cases lay the groundwork for other language implementations.

Start with the musical definitions, instruments, modulation or light animations. The Lyte port instructions describe the remaining host work; Lyte has not yet been migrated. The implemented score composition design describes shared interfaces, nested mixes and sequence-driven instruments. See user libraries for configuration, selection and host integration. Explore the schema and conformance cases. See scalar automation for editable curves and examples.

The VL70m SysEx proof of concept implements lossless dump inspection and explicit patch relocation with a partial MIDI description. Device communication and integration into scores remain deferred.

For development, use Python 3.13+:

uv sync
uv run pytest

Extracted from Recs, Tuney and Lyte. MIT licensed.

Sequence cropping, seeking, loop ownership, and UMP storage are described in sequence playback.

Release files for ufor 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ufor 0.1.0
File Size Uploaded
ufor-0.1.0.tar.gz 225.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ufor 0.1.0
File Interpreter ABI Platform
ufor-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 320.9 kB

Release files / ufor-0.1.0.tar.gz

Download URL ufor-0.1.0.tar.gz
Size 225.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c532c8fc074edaf920b1248612bced3e0ed0a2e58aad49444b82d0f7782fd702
BLAKE2b-256 checksum
How to use checksums
acde912162b11d52722e0fbd4c7146334109753970a45762e96fec6df0a811dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / ufor-0.1.0-py3-none-any.whl

Download URL ufor-0.1.0-py3-none-any.whl
Size 95.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1bab70fb995227a660cccfd3e12979e8de8a8aac566834d99a1306396d6fa9f2
BLAKE2b-256 checksum
How to use checksums
3ca4df4c86d8e8c14b4efc88d140ec24065d54ad64012397f47431e26ae35dfe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page