Package jazzparser :: Package misc :: Package raphsto :: Module constants
[hide private]
[frames] | no frames]

Source Code for Module jazzparser.misc.raphsto.constants

  1  # Parts of the state labels 
  2  # Tonic value names 
  3  TONIC_NAMES = { 
  4      0: 'C', 1: 'Db', 2: 'D', 3: 'Eb', 4: 'E', 5: 'F', 6: 'Gb', 7: 'G',  
  5      8: 'Ab', 9: 'A', 10: 'Bb', 11: 'B' 
  6  } 
  7  RELATIVE_TONIC_NAMES = { 
  8      0: 'I', 1: 'bII', 2: 'II', 3: 'bIII', 4: 'III', 5: 'IV', 6: 'bV', 7: 'V', 
  9      8: 'bVI', 9: 'VI', 10: 'bVII', 11: 'VII' 
 10  } 
 11  # Mode part 
 12  MODE_MAJOR = 0 
 13  MODE_MINOR = 1 
 14  # Mode part names 
 15  MODE_NAMES = { 
 16      MODE_MAJOR : 'major', 
 17      MODE_MINOR : 'minor', 
 18  } 
 19  MODE_SHORT_NAMES = { 
 20      MODE_MAJOR : 'M', 
 21      MODE_MINOR : 'm', 
 22  } 
 23  # Chord part (chord label within mode) 
 24  CHORD_I =    0 
 25  CHORD_II =   1 
 26  CHORD_III =  2 
 27  CHORD_IV =   3 
 28  CHORD_V =    4 
 29  CHORD_VI =   5 
 30  CHORD_VII =  6 
 31  CHORD_V7 =   7 
 32  # Chord part names 
 33  CHORD_NAMES = { 
 34      CHORD_I : 'I', 
 35      CHORD_II : 'II', 
 36      CHORD_III : 'III', 
 37      CHORD_IV : 'IV', 
 38      CHORD_V : 'V', 
 39      CHORD_VI : 'VI', 
 40      CHORD_VII : 'VII', 
 41      CHORD_V7 : 'V7', 
 42  } 
 43  # All possible chord labels 
 44  CHORDS = [ CHORD_I, CHORD_II, CHORD_III, CHORD_IV, CHORD_V, CHORD_VI, CHORD_VII, CHORD_V7 ] 
 45  # All possible modes 
 46  MODES = [ MODE_MAJOR, MODE_MINOR ] 
 47   
 48  # The notes that make up each chord in each mode 
 49  CHORD_NOTES = { 
 50      MODE_MAJOR : { 
 51          CHORD_I : (0, 4, 7), 
 52          CHORD_II : (2, 5, 9), 
 53          CHORD_III : (4, 7, 11), 
 54          CHORD_IV : (5, 9, 0), 
 55          CHORD_V : (7, 11, 2), 
 56          CHORD_VI : (9, 0, 4), 
 57          CHORD_VII : (11, 2, 5), 
 58          CHORD_V7 : (7, 11, 2, 5), 
 59      }, 
 60      MODE_MINOR : { 
 61          CHORD_I : (0, 3, 7), 
 62          CHORD_II : (2, 5, 8), 
 63          CHORD_III : (3, 7, 11), 
 64          CHORD_IV : (5, 8, 0), 
 65          CHORD_V : (7, 11, 2), 
 66          CHORD_VI : (8, 0, 3), 
 67          CHORD_VII : (11, 2, 5), 
 68          CHORD_V7 : (7, 11, 2, 5), 
 69      } 
 70  } 
 71  # The scale notes of each mode 
 72  SCALES = { 
 73      MODE_MAJOR : ( 0, 2, 4, 5, 7, 9, 11 ), 
 74      MODE_MINOR : ( 0, 2, 3, 5, 7, 8, 11 ) 
 75  } 
 76   
 77  TRIAD_TYPE_MAJOR = 0 
 78  TRIAD_TYPE_MINOR = 1 
 79  TRIAD_TYPE_DIMINISHED = 2 
 80  TRIAD_TYPE_AUGMENTED = 3 
 81  TRIAD_TYPE_DOM7 = 4 
 82   
 83  TRIAD_TYPE_NAMES = { 
 84      TRIAD_TYPE_MAJOR : 'maj', 
 85      TRIAD_TYPE_MINOR : 'min', 
 86      TRIAD_TYPE_DIMINISHED : 'dim', 
 87      TRIAD_TYPE_AUGMENTED : 'aug', 
 88      TRIAD_TYPE_DOM7 : 'dom7', 
 89  } 
 90  TRIAD_TYPE_SYMBOLS = { 
 91      TRIAD_TYPE_MAJOR : '', 
 92      TRIAD_TYPE_MINOR : 'm', 
 93      TRIAD_TYPE_DIMINISHED : 'dim', 
 94      TRIAD_TYPE_AUGMENTED : 'aug', 
 95      TRIAD_TYPE_DOM7 : '7', 
 96  } 
 97   
 98  # The triad type of each chord in each mode 
 99  SCALE_TRIADS = { 
100      MODE_MAJOR : { 
101          CHORD_I : TRIAD_TYPE_MAJOR, 
102          CHORD_II : TRIAD_TYPE_MINOR, 
103          CHORD_III : TRIAD_TYPE_MINOR, 
104          CHORD_IV : TRIAD_TYPE_MAJOR, 
105          CHORD_V : TRIAD_TYPE_MAJOR, 
106          CHORD_VI : TRIAD_TYPE_MINOR, 
107          CHORD_VII : TRIAD_TYPE_DIMINISHED, 
108          CHORD_V7 : TRIAD_TYPE_DOM7, 
109      }, 
110      MODE_MINOR : { 
111          CHORD_I : TRIAD_TYPE_MINOR, 
112          CHORD_II : TRIAD_TYPE_DIMINISHED, 
113          CHORD_III : TRIAD_TYPE_AUGMENTED, 
114          CHORD_IV : TRIAD_TYPE_MINOR, 
115          CHORD_V : TRIAD_TYPE_MAJOR, 
116          CHORD_VI : TRIAD_TYPE_MAJOR, 
117          CHORD_VII : TRIAD_TYPE_DIMINISHED, 
118          CHORD_V7 : TRIAD_TYPE_DOM7, 
119      } 
120  } 
121   
122  TRIAD_NOTES = { 
123      TRIAD_TYPE_MAJOR : (0, 4, 7), 
124      TRIAD_TYPE_MINOR : (0, 3, 7), 
125      TRIAD_TYPE_DIMINISHED : (0, 3, 6), 
126      TRIAD_TYPE_AUGMENTED : (0, 4, 8), 
127      TRIAD_TYPE_DOM7 : (0, 4, 7, 10), 
128  } 
129   
130  # Named sets of chords that can be used by different types of models 
131  CHORD_SETS = { 
132      # The scale degrees, plus the dominant seventh 
133      # This is the default, since it's what R&S use in their experiments 
134      'scale+dom7' : [ CHORD_I, CHORD_II, CHORD_III, CHORD_IV, CHORD_V, CHORD_VI, CHORD_VII, CHORD_V7 ], 
135      # Just the scale degrees 
136      'scale' : [ CHORD_I, CHORD_II, CHORD_III, CHORD_IV, CHORD_V, CHORD_VI, CHORD_VII ], 
137      # Three-chord variant 
138      # Currently there's a special model subclass for this 
139      'three-chord' : [ CHORD_I, CHORD_IV, CHORD_V ], 
140      # Four-chord variant 
141      # Also has its own subclass 
142      'four-chord' : [ CHORD_I, CHORD_II, CHORD_IV, CHORD_V ], 
143  } 
144