feat(takiy): takiy-core — teoría musical + modelo de partitura
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>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# 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
|
||||
|
||||
```text
|
||||
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_seconds` aplica 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ólo `serde`. `#![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 |
|
||||
Reference in New Issue
Block a user