Module: Juicy

Defined in:
lib/juicy/key.rb,
lib/juicy/mode.rb,
lib/juicy/note.rb,
lib/juicy/song.rb,
lib/juicy/chord.rb,
lib/juicy/pitch.rb,
lib/juicy/scale.rb,
lib/juicy/track.rb,
lib/juicy/voice.rb,
lib/juicy/melody.rb,
lib/juicy/measure.rb,
lib/juicy/duration.rb,
lib/juicy/scale_degree.rb,
lib/juicy/chord_progression.rb

Defined Under Namespace

Classes: Chord, ChordProgression, Duration, Key, Measure, Melody, Mode, Note, Pitch, Scale, ScaleDegree, Song, Track, Voice

Constant Summary collapse

MODES =
[:ionian, :dorian, :phrygian, :lydian, :mixolydian, :aeolian, :locrian]
PITCHES =
{
  _: -1,
  A: 0,
  A_sharp: 1,
  B_flat: 1,
  B: 2,
  B_sharp: 3,
  C_flat: 2,
  C: 3,
  C_sharp: 4,
  D_flat: 4,
  D: 5,
  D_sharp: 6,
  E_flat: 6,
  E: 7,
  E_sharp: 8,
  F_flat: 7,
  F: 8,
  F_sharp: 9,
  G_flat: 9,
  G: 10,
  G_sharp: 11,
  A_flat: 11
}
SCALE_TYPES =
{
 chromatic: [1,1,1,1,1,1,1,1,1,1,1,1],
 whole_note: [2,2,2,2,2,2],
 octotonic: [2,1,2,1,2,1,2,1],
 pentatonic: [2,2,3,2,3],
 diatonic: [2,2,1,2,2,2,1]
}