À propos du projet
Tonal est une bibliothèque de théorie musicale pour JavaScript, implémentée en TypeScript et publiée comme une collection de paquets npm. Elle se concentre sur des abstractions de la théorie musicale plutôt que sur le son ou la lecture audio : notes, intervalles, accords, gammes, modes, tonalités, voicings, progressions et rythme.
La bibliothèque suit un style de programmation fonctionnelle. Les fonctions sont pures, les données ne sont pas mutées, et les entités sont représentées comme des structures de données simples plutôt que comme des instances de classes. Elle fonctionne avec les imports ES6, require ES5, et directement dans le navigateur via une balise de script CDN.
Les opérations typiques incluent la conversion de notes en numéros MIDI ou fréquences, la transposition de notes par intervalles, la mesure de distances d'intervalles, la récupération de notes et degrés de gammes, la nomination d'accords, et la construction d'inversions d'accords. Le README montre des exemples tels que Note.midi("C4") retournant 60, Note.freq("a4") retournant 440, Interval.semitones("5P") retournant 7, et Scale.get("C major").notes retournant les sept tons de la gamme.
Le projet est divisé en modules ciblés, chacun avec son propre README et nom de paquet préfixé par @tonaljs/. Ceux-ci couvrent les notes, MIDI, intervalles, notation ABC, gammes et types de gammes, accords et types d'accords, détection d'accords, ensembles de classes de hauteurs, voicings, conduite de voix, dictionnaires de voicings, tonalités, modes, progressions, chiffres romains, motifs rythmiques, signatures de temps, valeurs de durée, plus des utilitaires de base et de collection. L'installation du paquet umbrella tonal inclut tous les modules, tandis que l'installation de modules individuels peut réduire la taille du bundle.
La documentation est disponible sur un site dédié et dans chaque README de module. Les contributions doivent inclure des références pour les changements de théorie musicale, des mises à jour de documentation, et des tests. La bibliothèque est sous licence MIT et liste plusieurs bibliothèques de théorie musicale comme inspiration, ainsi qu'une vitrine de projets qui l'utilisent.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.