home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / hard.hdv / HARD / FORTH / CHORDS.WRD < prev    next >
Encoding:
Text File  |  1991-03-10  |  2.9 KB  |  121 lines  |  [04] ASCII Text (0x0000)

  1. MASC DEFINITIONS
  2.     
  3.  
  4. ( CHORDS )                                                               
  5.        
  6. : CD ( KEYS  NUM -- )                      
  7. DUP 0 DO I 2 + PICK DOWN LOOP 
  8. MGATE DELAY 0 DO UP LOOP ;                                            
  9.        
  10. 0 PARAMETER ROOT  0 PARAMETER 3RD 0 PARAMETER 5TH                  
  11. 0 PARAMETER SEVENTH         
  12.  
  13.                             
  14. : QUALITY ( N1 N2 N3 -- ) ( KEY -- )       
  15.    CREATE C, C, C, C, DOES> 
  16.    OVER OVER C@ + TO SEVENTH 
  17.    OVER OVER 1+ C@ + TO 5TH
  18.    OVER OVER 2 + C@ + TO 3RD
  19.    3 + C@ + TO ROOT ;   
  20.                                                     
  21.        
  22. 0 4 7 12 QUALITY MAJR  0 3 6 10 QUALITY DIM  
  23. 0 3 7 12 QUALITY MINR  0 6 9 3  QUALITY DIM7 
  24. 0 4 10 7 QUALITY 7TH   0 4 8 12 QUALITY AUG  
  25. 0 3 10 7 QUALITY MIN7  0 4 9 7  QUALITY 6TH  
  26. 0 4 11 7 QUALITY MAJ7  0 3 9 7  QUALITY MIN6 
  27. 0 3 11 7 QUALITY MM7   0 5 7 12 QUALITY SUS4                                                                          
  28. : O+ 12 + ; : O++ 24 + ; : O- 12 - ;                                     
  29.     
  30. : CHORD ROOT 3RD 5TH SEVENTH 4 CD ;
  31.  
  32.  
  33. 0 PARAMETER T1
  34. 0 PARAMETER T2
  35. 0 PARAMETER T3
  36. 0 PARAMETER T4
  37. 0 PARAMETER T5
  38. 0 PARAMETER T6
  39. 0 PARAMETER T7
  40. 0 PARAMETER T8
  41.  
  42.  
  43. : MODE ( T1 T2 T3 T4 T5 T6 T7 T8 -- )  ( KEY -- )
  44.    CREATE C, C, C, C, C, C, C, C, DOES>
  45.    OVER OVER 0 + C@ + TO T8
  46.    OVER OVER 1 + C@ + TO T7
  47.    OVER OVER 2 + C@ + TO T6
  48.    OVER OVER 3 + C@ + TO T5
  49.    OVER OVER 4 + C@ + TO T4
  50.    OVER OVER 5 + C@ + TO T3
  51.    OVER OVER 6 + C@ + TO T2
  52.              7 + C@ + TO T1
  53. ;
  54.  
  55.  
  56. 0 2 4 5 7 9 11 12 MODE IONIAN
  57. 0 2 3 5 7 9 10 12 MODE DORIAN
  58. 0 1 3 5 7 8 10 12 MODE PHRYGIAN
  59. 0 2 4 6 7 9 11 12 MODE LYDIAN
  60. 0 2 4 5 7 9 10 12 MODE MIXOLYDIAN
  61. 0 2 3 5 7 8 10 12 MODE AEOLIAN
  62. 0 1 3 5 6 8 10 12 MODE LOCRIAN
  63.  
  64. 0 2 3 5 6 8 9 11  MODE DIMINISHED
  65.  
  66.  
  67. : MAJ   IONIAN     T1 TO ROOT T3 TO 3RD  T5 TO 5TH  T7 TO SEVENTH ;
  68. : DOM   MIXOLYDIAN T1 TO ROOT T3 TO 3RD  T5 TO 5TH  T7 TO SEVENTH ;
  69. : MIN   DORIAN     T1 TO ROOT T3 TO 3RD  T5 TO 5TH  T7 TO SEVENTH ;
  70. : HALF  LOCRIAN    T1 TO ROOT T3 TO 3RD  T5 TO 5TH  T7 TO SEVENTH ;
  71. : DIMIN DIMINISHED T1 TO ROOT T3 TO 3RD  T5 TO 5TH  T7 TO SEVENTH ;
  72.  
  73.  
  74.                                                                       
  75. ( THE BLUES)
  76.  
  77. MASC DEFINITIONS
  78.  
  79.  
  80. 0 PARAMETER KEYSIG
  81.  
  82. : TONE-NUM 
  83.    CREATE , DOES> @ KEYSIG + ;
  84.  
  85. 0 TONE-NUM ONE
  86. 1 TONE-NUM #ONE    1 TONE-NUM &II
  87. 2 TONE-NUM II
  88. 3 TONE-NUM #II     3 TONE-NUM &III
  89. 4 TONE-NUM III
  90. 5 TONE-NUM IV
  91. 6 TONE-NUM #IV     6 TONE-NUM &V
  92. 7 TONE-NUM V
  93. 8 TONE-NUM #V      8 TONE-NUM &VI
  94. 9 TONE-NUM VI
  95. 10 TONE-NUM #VI   10 TONE-NUM &VII
  96. 11 TONE-NUM VII  
  97.  
  98.  
  99.  
  100. : BLUES
  101. ONE   7TH 1 RH
  102. IV    7TH 1 RH
  103. ONE   7TH 1 RH
  104. V O-  7TH RH1 RH2     &V O- 7TH RH3 RH4
  105. IV O- 7TH 2 RH
  106. ONE   7TH 1 RH
  107. VI O- 7TH 1 RH
  108. II    7TH 1 RH
  109. &II   7TH 1 RH
  110. ONE   7TH RH1 RH2       #II 7TH RH3 RH4
  111. II    7TH RH1 RH2       &II 7TH RH3 RH4
  112. ;
  113.  
  114. : BLUES0 ONE 7TH RH0 KLR ;
  115.  
  116.  
  117. ( PLAY ALONG ON THE HARMONICA )
  118.  
  119. 1000 TO TEMPO
  120. 1 G TO KEYSIG
  121.