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:
sergio
2026-05-20 16:45:55 +00:00
parent ea079a0b23
commit 639381fd94
9 changed files with 706 additions and 0 deletions
@@ -0,0 +1,26 @@
//! `takiy-core` — teoría musical y modelo de partitura.
//!
//! La base agnóstica de takiy (composición musical asistida): nada de
//! síntesis de audio, nada de IA, nada de UI — sólo los tipos puros que
//! todo lo demás comparte.
//!
//! - [`pitch`] — alturas MIDI, clases de altura, frecuencias.
//! - [`scale`] — escalas como raíz + patrón de semitonos.
//! - [`chord`] — acordes como raíz + cualidad armónica.
//! - [`score`] — `ScoreNote`, `Track` y un `Score` multipista con tempo.
//!
//! El tiempo se mide en pulsos: una partitura es independiente del tempo
//! hasta reproducirla. La síntesis (`takiy-synth`) y la asistencia por
//! IA (`takiy-ai`) se construyen encima sin tocar este crate.
#![forbid(unsafe_code)]
pub mod chord;
pub mod pitch;
pub mod scale;
pub mod score;
pub use chord::{Chord, ChordQuality};
pub use pitch::{Pitch, PitchClass};
pub use scale::Scale;
pub use score::{Score, ScoreNote, Track};