README.md
takiy
takiy(Quechua: to sing). Music in Rust — synthesis, sequencing, playback — on Llimphi.

Designed to run in real time (measurable xruns, not hand-wavey) and to be deterministic when asked (same seed → same WAV). On top of that base the domain grew into a generative studio: an engine that composes a full multi-track piece from a brief, sonification of narratives, listening from existing sound, and LLM bridges that only refine parameters — the engines stay deterministic.
Run
cargo run --release -p takiy-app-llimphi # the sequencer (piano roll, automation, WAV export)
Crates
| Crate | Role |
|---|---|
takiy-core | The score model. |
takiy-synth | Synthesis. |
takiy-playback | Real-time playback and offline render. |
takiy-midi | MIDI import/export. |
takiy-editor-core | Pure editable state of the piano roll (score + selection + active track); no audio, no UI. |
takiy-proyecto | A takiy project with DAG versioning (content-addressed commits). |
takiy-genesis | Generative engine: from a Brief (key, tempo, mood, style, seed) it builds a complete multi-track piece, deterministically. |
takiy-narrativa | Narrative → music: sonifies a pluma multilienzo bundle into a native score. |
takiy-escucha | The two listenings: starts from sound that already exists instead of from an intent. |
takiy-ambiente | The desktop's soundscape, derived from agnostic ambient signals. |
takiy-{genesis,narrativa,escucha}-llm | LLM bridges that refine the deterministic engines above — prose in, Brief/Patch out. |
takiy-app-llimphi | The sequencer app. |
How dependencies work
This is a clean front-door repo: it holds only takiy's own crates. Everything else is a git dependency on the tawasuyu monorepo (the suite's source of truth), pinned to a tag — including the Llimphi UI framework. No vendoring, no duplication; the first build clones that repo and caches it.
The directory layout mirrors the monorepo (02_ruway/takiy/…) on purpose: the repo is regenerated from it with scripts/actualizar-standalone.py, so paths stay comparable between the two.
Compatibility
- Linux — PulseAudio / PipeWire / ALSA · macOS — CoreAudio · Windows — WASAPI · Wawa — kernel driver (when ready).
Considerations
- Latency is first-class. The audio loop respects the device period; it doesn't break because of the UI.
- No VST3/AU. The plugin catalog is the crate tree; a new synth is a new crate.
- Offline (non-realtime) render for long files: deterministic WAV/FLAC, gated in CI by the BLAKE3 hash of a canonical WAV.
License
MIT — see LICENSE.