tawasuyu

tawasuyu/takiy

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

Rust 116Markdown 41TOML 192075 Definiciones

⎇ main README.md Markdown · 50 líneas · 3.4 KB Historia crudo

feat: takiy standalone — front-door del dominio de música (síntesis, secuenciador, estudio generativo) 25b7bc3dc · Sergio ·

1# takiy
2
3> `takiy` (Quechua: *to sing*). Music in Rust — synthesis, sequencing, playback — on [Llimphi](https://github.com/tawasuyu/llimphi).
4
5![the takiy sequencer's piano roll: a pitch×beats grid with four colored tracks — high orange arpeggio, blue melody with a selected note, pink chord pads, low green bass — a highlighted loop band, a yellow playback cursor and volume/pan automation curves with draggable dots](https://tawasuyu.net/02_ruway/takiy/pantallazo.png)
6
7Designed 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.
8
9## Run
10
11```sh
12cargo run --release -p takiy-app-llimphi     # the sequencer (piano roll, automation, WAV export)
13```
14
15## Crates
16
17| Crate | Role |
18|---|---|
19| [`takiy-core`](02_ruway/takiy/takiy-core/) | The score model. |
20| [`takiy-synth`](02_ruway/takiy/takiy-synth/) | Synthesis. |
21| [`takiy-playback`](02_ruway/takiy/takiy-playback/) | Real-time playback and offline render. |
22| [`takiy-midi`](02_ruway/takiy/takiy-midi/) | MIDI import/export. |
23| [`takiy-editor-core`](02_ruway/takiy/takiy-editor-core/) | Pure editable state of the piano roll (score + selection + active track); no audio, no UI. |
24| [`takiy-proyecto`](02_ruway/takiy/takiy-proyecto/) | A takiy project with DAG versioning (content-addressed commits). |
25| [`takiy-genesis`](02_ruway/takiy/takiy-genesis/) | Generative engine: from a `Brief` (key, tempo, mood, style, seed) it builds a complete multi-track piece, deterministically. |
26| [`takiy-narrativa`](02_ruway/takiy/takiy-narrativa/) | Narrative → music: sonifies a `pluma` multilienzo bundle into a native score. |
27| [`takiy-escucha`](02_ruway/takiy/takiy-escucha/) | The two listenings: starts from sound that already exists instead of from an intent. |
28| [`takiy-ambiente`](02_ruway/takiy/takiy-ambiente/) | The desktop's soundscape, derived from agnostic ambient signals. |
29| `takiy-{genesis,narrativa,escucha}-llm` | LLM bridges that refine the deterministic engines above — prose in, `Brief`/`Patch` out. |
30| [`takiy-app-llimphi`](02_ruway/takiy/takiy-app-llimphi/) | The sequencer app. |
31
32## How dependencies work
33
34This is a clean front-door repo: it holds **only takiy's own crates**. Everything else is a git dependency on the [`tawasuyu`](https://git.tawasuyu.net/tawasuyu/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.
35
36The 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.
37
38## Compatibility
39
40- **Linux** — PulseAudio / PipeWire / ALSA · **macOS** — CoreAudio · **Windows** — WASAPI · **Wawa** — kernel driver (when ready).
41
42## Considerations
43
44- **Latency is first-class.** The audio loop respects the device period; it doesn't break because of the UI.
45- **No VST3/AU.** The plugin catalog is the crate tree; a new synth is a new crate.
46- Offline (non-realtime) render for long files: deterministic WAV/FLAC, gated in CI by the BLAKE3 hash of a canonical WAV.
47
48## License
49
50MIT — see [LICENSE](LICENSE).

README.md

takiy

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

the takiy sequencer's piano roll: a pitch×beats grid with four colored tracks — high orange arpeggio, blue melody with a selected note, pink chord pads, low green bass — a highlighted loop band, a yellow playback cursor and volume/pan automation curves with draggable dots

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

CrateRole
takiy-coreThe score model.
takiy-synthSynthesis.
takiy-playbackReal-time playback and offline render.
takiy-midiMIDI import/export.
takiy-editor-corePure editable state of the piano roll (score + selection + active track); no audio, no UI.
takiy-proyectoA takiy project with DAG versioning (content-addressed commits).
takiy-genesisGenerative engine: from a Brief (key, tempo, mood, style, seed) it builds a complete multi-track piece, deterministically.
takiy-narrativaNarrative → music: sonifies a pluma multilienzo bundle into a native score.
takiy-escuchaThe two listenings: starts from sound that already exists instead of from an intent.
takiy-ambienteThe desktop's soundscape, derived from agnostic ambient signals.
takiy-{genesis,narrativa,escucha}-llmLLM bridges that refine the deterministic engines above — prose in, Brief/Patch out.
takiy-app-llimphiThe 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

Considerations

License

MIT — see LICENSE.