Explore music and compose with colorfully intuitive visual tools. Requires Ruby Shoes.
Switch branches/tags
Nothing to show
Pull request Compare This branch is 12 commits ahead of Gabrielg1976:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
shoes
ColorMusicComposer.rb
LICENSE
README.textile

README.textile

How are you?

The premise of musical colors:
Present a series of models by which music can be understood and composed, simply.

The word “chromatic” implies color or color-ability. Music notation and teaching methods are, mostly, devoid of color (desaturated.) We can, as the Tao Te Ching holds it, “follow old ruts” of music theory and add an extra dimension: chroma.

The software design:

Important steps:

  • Determine applications of the color wheel for various tonal quantizations.
    • e.g. Western Major Diatonic natural tones: ROYGBIV → ABCDEFG
    • e.g. Western Major circle of keys: ROYGBIV → agc-b-a-db
    • color from scale degree: ROYGBIV → tonic,first, second, etc
  • Decide upon standardized unicode notation for musical notes and modifiers.
  • Lay out the interval system:
    • Design geometrical icons to represent scale degrees.
    • Formulate equations to output higher level intervals given smaller interval combinations.
  • Derive chord combinations from intervals of the Major scale.
    • Organize chord types into a ontological map of deviations (additions and mutations) of the Major triad.
  • Design functions to map out scales and modes based on western theory; given a tonic (rhizome).
    • Should the tonic be considered the first degree?
    • Would considering the tonic the zeroth degree be detrimental to musical calculation?
    • Consider varoius genetic algorithms to evolve additional musical compositions.
  • Output data.
    • Audio output :)
    • MIDI output.
    • Text output (note names, intervals, etc)
    • Instrument tabulature.
    • Musical Notation
  • Interface
    • Synth interface with generic widgets
    • Piano Roll Sequencer
    • Clef notation editor
  • Audio engine.
    • ALSA and or JACK
    • Moduar
    • Compatible with open source plugins (LADSPA,&c)
  • Networking
    • Ability to share compositions (decentralized?)
    • Ability for push/pull collaboration on shared projects.
    • XMPP communications protocol?