About this project

Chromatone is an independent open-source research project that explores using colors, shapes and motion to learn, play and communicate melody, harmony and rhythm in live music performance. The repository hosts a digital garden of visual music theory along with a collection of interactive web instruments and tools. Main areas: - Theory: research notes and cards on music theory, the physics and physiology of vision and hearing, and their intersection in visual music. - Practice: progressive web apps for everyday music practice, combining sound and color interactively. - use-chromatone: an NPM package of sound analysis and synthesis tools and media instruments, usable in SSR and client-side JavaScript projects. It abstracts low-level audio details into building blocks for prototyping and concept verification. - chromatone-db: an NPM package containing musical knowledge such as intervals, chords, scales and rhythmic patterns from different cultures, stored in YAML with tree-shaking support. The project is built with Vite, Vue 3, UnoCSS and Pug, and uses libraries for graphics (colord, Paper.js, simplex-noise, hydra-synth), music theory and notation (Tonal.js, AbcJs, WebMidi.js), and audio (Tone.js, Meyda, AubioJs, audiomotion-analyzer, Elementary Audio, RecordRTC). The whole web app can be forked and edited on CodeSandbox.