639381fd94
Pitch MIDI (clase/octava/frecuencia ET A4=440), Scale (raíz + patrón de semitonos: mayor, menor natural, pentatónica), Chord (7 cualidades, voicing, nombres) y un Score multipista con tempo: ScoreNote en pulsos, Track con inserción ordenada y transposición atómica. 24 tests. Agnóstico de síntesis y UI, #![forbid(unsafe_code)]. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
modules/takiy/ — Composición musical asistida
Propósito. Herramienta de composición: un modelo de partitura sobre teoría musical, con asistencia por IA y síntesis de audio. El núcleo es agnóstico — el tiempo se mide en pulsos, no en segundos, y no conoce ni audio ni UI.
Crates
| crate | tipo | rol |
|---|---|---|
takiy-core |
lib | Pitch/PitchClass, Scale, Chord/ChordQuality, Score/Track/ScoreNote |
Modelo
PitchClass + octava ──► Pitch (MIDI, frecuencia ET A4=440)
│
Scale (raíz + patrón) Chord (raíz + cualidad)
│
ScoreNote (pulso, duración, velocidad) ──► Track ──► Score (tempo)
- Altura: número MIDI interno; clase, octava y frecuencia se derivan.
- Tiempo en pulsos: una partitura es independiente del tempo hasta
reproducirla (
Score::duration_secondsaplica el bpm). - Transposición atómica: si una nota se saldría del rango MIDI, la pista entera no se altera.
Dependencias
takiy-core← sóloserde.#![forbid(unsafe_code)], determinista.
Estado
takiy-core implementado y verde (24 tests). Pendiente (requieren
infra pesada, no verificables en modo desatendido):
| crate pendiente | rol |
|---|---|
takiy-synth |
síntesis de audio (fundsp) |
takiy-ai |
asistencia de composición (ort, instancia) |
takiy-canvas |
piano-roll / partitura visual |