Skip to content

Chromatone is a digital garden of visual music theory and a collection of visual music instruments

License

Notifications You must be signed in to change notification settings

chromatone/chromatone.center

Repository files navigation

Chromatone

Chomatone logo in a shape of 12 petals flower, each having it's own distinct color 30 degrees of hue apart. Starting from red A it goes to orange A#, yellow B, lime C and then all around the circle with cyan D# and purple G back to red A.

Visual Music Language

Independent open-source research project that uses colors and shapes on the screen to learn, play and communicate notes and rhythms from the speakers.

Open digital garden

Theory

Cards and short overviews on physics and physiology of vision and hearing and their intersection at visual music research, exploration, practice and self expression.

Visual Music Theory

Practice

Useful tools to have in the pocket like a pack of interactive cards to learn and use in everyday music practice. These are open source web-experiments with different aspects of sound and color.

Visual Music Practice

Use-chromatone package

NPM Version and link to npmjs.com

A collection of sound analysis and synthesis tools along with other useful media instruments to experiment with. All in a form of convenient NPM package you can use in any JS project, both SSR and client-side. Ideal tool for modern audio researchers, educators and their students as we abstract all the low level details into simple building blocks that can be used for prototyping and concept verification.

Chromatone composables

Chromatone database package

NPM Version and link to npmjs.com

We collect all the musical knowledge we can get so then we can build new insights on top of this pile. Lists of intervals, chords and scales, rhythmic patterns from different cultures and more data, neatly stored in YAML format and provided to be used as a standalone NPM package with treeshaking enabled.

Music Database

TECH STACK

JS UI

  • Vite - Next generation frontend tooling for fast development and building

  • Vue 3 - Progressive JavaScript framework for building user interfaces

    • VueUse - Collection of essential Vue Composition Utilities
    • VueUse/Gesture - Vue Composables making your app interactive with gestures
    • Floating Vue - Tooltips, dropdowns, and popovers made easy for Vue
  • UnoCSS - Instant on-demand atomic CSS engine

  • Pug - Templating engine for concise HTML

Graphics

  • colord - Tiny color manipulation and conversion library
  • PaperJs - Vector graphics scripting framework
  • simplex-noise - Simplex noise implementation for JavaScript
  • hydra-synth - Livecoding networked visuals in the browser

Music

  • TonalJs - Music theory library for JavaScript
  • AbcJs - JavaScript library for rendering music notation
  • WebMidi.js - Web MIDI API wrapper for easy MIDI device interaction

Audio

Codesandbox

You can instantly fork and start editing your own copy of the whole web-app with this link. So if you want to edit some small imperfection or adjust any parameter of any of components - your are welcome to use Chromatone repo as a playground for your own ideas. And we would be glad to merge your contributions too!

Edit repo on Codesandbox

TBD