home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-03-31 | 9.2 KB | 251 lines | [04] ASCII Text (0x0000) |
- ( MASC - META LANGUAGE FOR ADAPTIVE SYTHESIS )
-
- VOCABULARY MASC MASC DEFINITIONS
-
- : DECIMAL DEC ;
- : 2@ DUP 2+ @ OVER @ ROT DROP ;
-
-
- ( PASSPT APPLE INTERFACE OUT)
-
- HEX
- C0A8 CONSTANT CTRL
-
- CTRL 1+ CONSTANT DATA
-
- 11 CONSTANT MODE
-
-
- : ?XMIT CTRL C@ 2 AND ;
-
- : INIT 3 CTRL C! MODE CTRL C! ;
-
- : MSND BEGIN ?XMIT UNTIL DATA C! ;
- DECIMAL
-
-
-
- ( MASC DATA STRUCTURES 1)
- DECIMAL
-
- ( FORTH DEFINITIONS )
- ( REMOVED ABOVE LINE SO DEFINITIONS GO INTO "MASC")
-
- VARIABLE %TO 0 %TO !
-
-
- : TO 1 %TO ! ;
-
- : OCTAL 8 BASE ! ;
-
- : FROM/TO
- %TO @ IF ! 0 %TO ! ELSE @ THEN ;
-
- : PARAMETER ( N -- NAME )
- CREATE , DOES> FROM/TO ;
-
-
- : PARAMETERS ( SIZE -- NAME )
- CREATE DUP , 0 DO 0 , LOOP
- DOES> SWAP 2* + 2+ FROM/TO ;
-
- : <BUILDS 0 CONSTANT ;
-
-
-
- ( MASC --- RNDS/DELAYS ) DECIMAL
-
-
- VARIABLE SEED HERE SEED !
-
- : RANDOM SEED @ 31421 * 6927 +
- DUP SEED ! ;
-
- : CHOOSE RANDOM U* SWAP DROP ;
- : RND SWAP OVER - 1+ CHOOSE + ;
-
- : >DLY< 10 0 DO LOOP ;
-
- : DELAY 0 DO >DLY< LOOP ;
-
-
-
-
- ( KEY-STATUS WORDS ) HEX
-
- 40 PARAMETER VEL ( KEY VELOCITY)
- 0 PARAMETER CHANNEL
-
- : VOL ( NUM -- ) TO VEL ;
-
- : CHNL ( NUM --) TO CHANNEL ;
-
- : DOWN ( KEY -- ) 90 CHANNEL 0F AND
- + MSND MSND VEL MSND ;
-
- : UP ( KEY -- ) 80 CHANNEL 0F AND
- + MSND MSND 0 MSND ;
-
- : PROG-CHG ( PROGRAM -- ) C0 CHANNEL
- 0F AND + MSND 1 - MSND ;
-
-
- 10 PARAMETER MGATE
-
- : WAIT MGATE DELAY ;
-
- : KK ( KEY -- )
- DUP DOWN WAIT UP ;
-
- : CD+ ( NUM -- )
- 0 DO I PICK DOWN LOOP ;
-
- : CD- ( NUM -- )
- 0 DO I PICK UP LOOP ;
-
- : KLR ( -- )
- B0 MSND 7D MSND 00 MSND ;
- ( OMNI ON, ALL NOTES OFF)
-
- DECIMAL
-
-
-
- ( MIDI PITCH NAMES ) DECIMAL : PITCH ( OCT NAME -- ) CREATE ,
- DOES> @ SWAP 12 * + 24 + ;
-
- 0 PITCH B# 0 PITCH C
- 1 PITCH C# 1 PITCH D&
- 2 PITCH D
- 3 PITCH D# 3 PITCH E&
- 4 PITCH E 4 PITCH F&
- 5 PITCH F
- 6 PITCH F# 6 PITCH G&
- 7 PITCH G
- 8 PITCH G# 8 PITCH A&
- 9 PITCH A
- 10 PITCH A# 10 PITCH B&
- 11 PITCH B 11 PITCH C&
-
- ( MASC - DURATIONS ) DECIMAL
-
- 1500 PARAMETER TEMPO
-
- : DURATION CREATE , , DOES>
- TEMPO SWAP 2@ */ TO MGATE ;
-
- 1 1 DURATION WN
- 1 2 DURATION HN 1 3 DURATION HN3
- 1 4 DURATION QN 1 6 DURATION QN3
- 1 8 DURATION EN 1 12 DURATION EN3
- 1 16 DURATION SN 1 24 DURATION SN3
- 1 32 DURATION TSN 1 48 DURATION TN3
-
- 3 4 DURATION HN.
- 3 8 DURATION QN.
- 3 16 DURATION EN.
- 3 32 DURATION SN.
-
-
-
-
- ( SYSTEM EXCLUSIVE MESSAGES ) HEX
-
- : YAMAHA F0 MSND 43 MSND ;
- : CLP-650 73 MSND 1A MSND ;
- : EOX F7 MSND ;
-
- 00 CONSTANT NORMAL 00 CONSTANT OFF
- 01 CONSTANT MELLOW 02 CONSTANT BRIGHT
- 01 CONSTANT PEDAL 01 CONSTANT PAN
- 02 CONSTANT ROOM 02 CONSTANT DETUNE
- 03 CONSTANT HALL 03 CONSTANT DUAL
- 04 CONSTANT COSMIC 04 CONSTANT TREMOLO
- : BRILLIANCE ( QUALITY -- )
- YAMAHA CLP-650 11 MSND 0 MSND
- 58 MSND MSND EOX ;
- : REVERB ( QUALITY -- )
- YAMAHA CLP-650 11 MSND 0 MSND
- 59 MSND MSND EOX ;
- : EFFECT ( QUALITY -- )
- YAMAHA CLP-650 11 MSND 0 MSND
- 5A MSND MSND EOX ;
-
- DECIMAL
-
-
- ( YAMAHA CLP-650 CONTROLS ) HEX
-
- : MULTI-TIM ( 1=ON 0=OFF -- )
- YAMAHA CLP-650 2
- * 13 + MSND EOX ;
-
- : CTRL-CHG ( VALUE CTRL-NUMBER -- )
- CHANNEL 0F AND B0 + MSND MSND MSND ;
-
- : DAMPER ( 0..7 -- )
- 0 MAX 7 MIN 10 * 40 CTRL-CHG ;
-
- : SOSTENUTO ( 1=ON 0=OFF -- )
- 0 MAX 1 MIN 40 * 42 CTRL-CHG ;
-
- : SOFTPEDAL ( 1=ON 0=OFF -- )
- 0 MAX 1 MIN 40 * 43 CTRL-CHG ;
-
- DECIMAL
-
-
-
- ( CHORDS )
-
- : CD ( KEYS NUM -- )
- DUP 0 DO I 2 + PICK DOWN LOOP
- MGATE DELAY 0 DO UP LOOP ;
-
- 0 PARAMETER ROOT 0 PARAMETER 3RD 0 PARAMETER 5TH
-
- : QUALITY ( N1 N2 N3 -- ) ( KEY -- )
- CREATE C, C, C, DOES> OVER OVER
- C@ + TO 5TH OVER OVER 1+ C@ +
- TO 3RD 2 + C@ + TO ROOT ;
-
- 0 4 7 QUALITY MAJR 0 3 6 QUALITY DIM
- 0 3 7 QUALITY MINR 0 6 9 QUALITY DIM7
- 0 4 10 QUALITY 7TH 0 3 8 QUALITY AUG
- 0 3 10 QUALITY MIN7 0 4 9 QUALITY 6TH
- 0 4 11 QUALITY MAJ7 0 3 9 QUALITY MIN6
- 0 3 11 QUALITY MM7 0 5 7 QUALITY SUS4
- : O+ 12 + ; : O++ 24 + ; : O- 12 - ;
-
-
- ( MISCELLANEOUS )
-
- HEX
- CODE WAITSOFT
-
- HERE 6 + JSR, NEXT
- JMP, BEGIN, BEGIN,
- BEGIN, C0A9 MEM LDA, F0 # AND,
- B0 # CMP, 0= UNTIL,
- BEGIN, C0A8 MEM LDA, 01 # AND,
- 0= NOT UNTIL,
- C0A9 MEM LDA, 43 # CMP, 0= UNTIL,
- BEGIN, C0A8 MEM LDA, 01 # AND, 0= NOT
- UNTIL, C0A9 MEM LDA, 40 # CMP,
- CS NOT UNTIL,
- RTS,
-
- END-CODE
-
- CODE GETNOTE
-
- ' WAITSOFT 6 + JSR,
- BEGIN, C0A9 MEM LDA, F0 # AND,
- 90 # CMP, 0= UNTIL,
- BEGIN, C0A8 MEM LDA, 01 # AND,
- 0= NOT UNTIL, C0A9 MEM LDA, DEX, DEX,
- BOT STA, BOT 1+ STY,
- NEXT JMP,
-
- END-CODE
- DECIMAL