├── .gitattributes ├── .gitignore ├── README.md ├── clock ├── README.md └── txo boolean bouillon.txt ├── compositions └── README.md ├── documentation ├── README.md ├── TT_keys_card_1.3.pdf ├── TT_scene_RECALL_sheet.pdf ├── monome-tele-commands.pdf └── ttStudies.pdf ├── factory defaults ├── README.md ├── tt00.txt ├── tt01.txt ├── tt02.txt ├── tt03.txt ├── tt04.txt ├── tt05.txt ├── tt06.txt └── tt07.txt ├── grid ├── README.md └── jroo-tricephale.txt ├── modulation └── README.md ├── sequencers ├── BrotherJohn.bsh ├── BrotherJohn.v1.txt ├── README.md ├── RowRowRowYourBoat ├── TetraSequencer-CV-Recorder.txt ├── TetraSequencer.txt ├── ThreeBlindMice.txt ├── orca.txt ├── turing machine.txt └── txi markov.txt ├── studies └── README.md └── utils └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | *.txt text eol=lf -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # teletype-codex 2 | Teletype Code Exchange. A place to share TT scripts, scenes, utilities, and more. 3 | -------------------------------------------------------------------------------- /clock/README.md: -------------------------------------------------------------------------------- 1 | # Teletype Clock 2 | Scripts and scenes for generating or manipulating clocks, timing, etc. 3 | -------------------------------------------------------------------------------- /clock/txo boolean bouillon.txt: -------------------------------------------------------------------------------- 1 | BOOLEAN BOUILLON 2 | 3 | IN 1-4: GATES OR TRIGGERS 4 | SCRIPT 8 CHANGES LOGIC 5 | TR 1-4 OUTPUTS LOGIC SOUP 6 | CV 1-4 OUTPUTS RHYTHMS 7 | 8 | 9 | 10 | #1 11 | P.N 0 12 | CV 1 V P.NEXT 13 | 14 | #2 15 | P.N 1 16 | CV 2 V P.NEXT 17 | 18 | #3 19 | P.N 2 20 | CV 3 V P.NEXT 21 | 22 | #4 23 | P.N 3 24 | CV 4 V P.NEXT 25 | 26 | #5 27 | TR 1 AND STATE 1 STATE 2 28 | TR 2 AND STATE 2 STATE 3 29 | TR 3 AND STATE 3 STATE 4 30 | TR 4 AND STATE 4 STATE 1 31 | 32 | #6 33 | TR 1 OR STATE 1 STATE 2 34 | TR 2 OR STATE 2 STATE 3 35 | TR 3 OR STATE 3 STATE 4 36 | TR 4 OR STATE 4 STATE 1 37 | 38 | #7 39 | TR 1 XOR STATE 1 STATE 2 40 | TR 2 XOR STATE 2 STATE 3 41 | TR 3 XOR STATE 3 STATE 4 42 | TR 4 XOR STATE 4 STATE 1 43 | 44 | #8 45 | Y ADD Y 1 46 | Y MOD Y 3 47 | X ADD Y 5 48 | 49 | #M 50 | SCRIPT X 51 | 52 | #I 53 | M.ACT 1 54 | M 50 55 | X 5 56 | L 1 8: TO.TR.M I MUL 150 I 57 | L 1 8: TO.TR.M.ACT I 1 58 | Y 0 59 | 60 | #P 61 | 8 8 8 8 62 | 1 1 1 1 63 | 0 0 0 0 64 | 7 63 63 7 65 | 66 | 0 5 5 5 67 | 5 5 0 5 68 | 0 0 5 5 69 | 5 5 0 5 70 | 5 0 5 0 71 | 0 5 0 0 72 | 5 5 5 0 73 | 0 0 0 0 74 | 0 0 0 0 75 | 0 0 0 0 76 | 0 0 0 0 77 | 0 0 0 0 78 | 0 0 0 0 79 | 0 0 0 0 80 | 0 0 0 0 81 | 0 0 0 0 82 | 0 0 0 0 83 | 0 0 0 0 84 | 0 0 0 0 85 | 0 0 0 0 86 | 0 0 0 0 87 | 0 0 0 0 88 | 0 0 0 0 89 | 0 0 0 0 90 | 0 0 0 0 91 | 0 0 0 0 92 | 0 0 0 0 93 | 0 0 0 0 94 | 0 0 0 0 95 | 0 0 0 0 96 | 0 0 0 0 97 | 0 0 0 0 98 | 0 0 0 0 99 | 0 0 0 0 100 | 0 0 0 0 101 | 0 0 0 0 102 | 0 0 0 0 103 | 0 0 0 0 104 | 0 0 0 0 105 | 0 0 0 0 106 | 0 0 0 0 107 | 0 0 0 0 108 | 0 0 0 0 109 | 0 0 0 0 110 | 0 0 0 0 111 | 0 0 0 0 112 | 0 0 0 0 113 | 0 0 0 0 114 | 0 0 0 0 115 | 0 0 0 0 116 | 0 0 0 0 117 | 0 0 0 0 118 | 0 0 0 0 119 | 0 0 0 0 120 | 0 0 0 0 121 | 0 0 0 0 122 | 0 0 0 0 123 | 0 0 0 0 124 | 0 0 0 0 125 | 0 0 0 0 126 | 0 0 0 0 127 | 0 0 0 0 128 | 0 0 0 0 129 | 0 0 0 0 130 | -------------------------------------------------------------------------------- /compositions/README.md: -------------------------------------------------------------------------------- 1 | # Teletype Compositions 2 | Scores and "finished" compositions for Teletype and related modules. 3 | -------------------------------------------------------------------------------- /documentation/README.md: -------------------------------------------------------------------------------- 1 | # Teletype Documentation 2 | PDF copies of Teletype Studies, Teletype Manual, etc. 3 | -------------------------------------------------------------------------------- /documentation/TT_keys_card_1.3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monome-community/teletype-codex/6d19300d8007bde8b9398c239b86afea4228eeb8/documentation/TT_keys_card_1.3.pdf -------------------------------------------------------------------------------- /documentation/TT_scene_RECALL_sheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monome-community/teletype-codex/6d19300d8007bde8b9398c239b86afea4228eeb8/documentation/TT_scene_RECALL_sheet.pdf -------------------------------------------------------------------------------- /documentation/monome-tele-commands.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monome-community/teletype-codex/6d19300d8007bde8b9398c239b86afea4228eeb8/documentation/monome-tele-commands.pdf -------------------------------------------------------------------------------- /documentation/ttStudies.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monome-community/teletype-codex/6d19300d8007bde8b9398c239b86afea4228eeb8/documentation/ttStudies.pdf -------------------------------------------------------------------------------- /factory defaults/README.md: -------------------------------------------------------------------------------- 1 | # Teletype Factory Defaults 2 | These are the scenes that ship with a factory-built Teletype. 3 | -------------------------------------------------------------------------------- /factory defaults/tt00.txt: -------------------------------------------------------------------------------- 1 | TRIANGLE MOUNTAIN 2 | 3 | 1: RESET POSITION TO 0 4 | 2: NEXT SCALE 5 | 3: SHORTEN LOOP 6 | 4: TOGGLE FORWARD/REVERSE 7 | 5: THROW CV 2 A NEW NOTE 8 | 6: RANDOMIZE LOOP LENGTH 9 | 7: SET ROOT TO CV IN 10 | 8: ADD 1 SEMI TO CV 4 11 | 12 | TEMPO ON METRO, SET WITH 13 | PARAM KNOB 14 | 15 | CV 1 TO OSC FREQ 16 | 17 | CHANGE SCALES IN TRACKER. 18 | 19 | PATCH CV 2 TO ANOTHER OSC 20 | FOR WEIRD COUNTERPOINT 21 | 22 | TRY PATCHING CV4 TO CV IN 23 | FOR AUTOMATIC TRANSPOSITION. 24 | 25 | 26 | 27 | #1 28 | P.I 0 29 | 30 | #2 31 | P.N WRAP ADD P.N 1 0 3 32 | P.I P.END 33 | 34 | #3 35 | P.END WRAP SUB P.END 1 1 7 36 | 37 | #4 38 | X EZ X 39 | 40 | #5 41 | S : CV 2 ADD N P.HERE V 1 42 | S : TR.PULSE B 43 | 44 | #6 45 | P.END RRAND 1 7 46 | 47 | #7 48 | Z IN 49 | 50 | #8 51 | CV 4 N WRAP 0 0 11 52 | 53 | #M 54 | IF X : P.PREV 55 | ELSE : P.NEXT 56 | CV 1 ADD N P.HERE Z 57 | M SUB 320 RSH PARAM 6 58 | S.ALL 59 | TR.PULSE A 60 | 61 | #I 62 | L A B : TR.TIME I 40 63 | 64 | #P 65 | 8 8 8 8 66 | 1 1 1 1 67 | 0 0 0 0 68 | 5 7 7 7 69 | 70 | 0 0 0 0 71 | 4 2 3 5 72 | 7 5 6 7 73 | 11 9 8 10 74 | 12 12 11 14 75 | 16 15 15 19 76 | 19 19 17 21 77 | 23 22 22 26 78 | 0 0 0 0 79 | 0 0 0 0 80 | 0 0 0 0 81 | 0 0 0 0 82 | 0 0 0 0 83 | 0 0 0 0 84 | 0 0 0 0 85 | 0 0 0 0 86 | 0 0 0 0 87 | 0 0 0 0 88 | 0 0 0 0 89 | 0 0 0 0 90 | 0 0 0 0 91 | 0 0 0 0 92 | 0 0 0 0 93 | 0 0 0 0 94 | 0 0 0 0 95 | 0 0 0 0 96 | 0 0 0 0 97 | 0 0 0 0 98 | 0 0 0 0 99 | 0 0 0 0 100 | 0 0 0 0 101 | 0 0 0 0 102 | 0 0 0 0 103 | 0 0 0 0 104 | 0 0 0 0 105 | 0 0 0 0 106 | 0 0 0 0 107 | 0 0 0 0 108 | 0 0 0 0 109 | 0 0 0 0 110 | 0 0 0 0 111 | 0 0 0 0 112 | 0 0 0 0 113 | 0 0 0 0 114 | 0 0 0 0 115 | 0 0 0 0 116 | 0 0 0 0 117 | 0 0 0 0 118 | 0 0 0 0 119 | 0 0 0 0 120 | 0 0 0 0 121 | 0 0 0 0 122 | 0 0 0 0 123 | 0 0 0 0 124 | 0 0 0 0 125 | 0 0 0 0 126 | 0 0 0 0 127 | 0 0 0 0 128 | 0 0 0 0 129 | 0 0 0 0 130 | 0 0 0 0 131 | 0 0 0 0 132 | 0 0 0 0 133 | 0 0 0 0 134 | -------------------------------------------------------------------------------- /factory defaults/tt01.txt: -------------------------------------------------------------------------------- 1 | RANDOMS 2 | 3 | 1: RANDOM STATE (TR A) 4 | 2: RAND DIMINISHED NOTES (CV1) 5 | 3: BURST GEN (TR B) 6 | 4: DRUNK SLEWED VOLTS (CV2) 7 | 5: START/RESET LFO 8 | 6: 1/F MELODY GENERATOR (CV3) 9 | 7: (FROM TR D) 10 | 8: (FROM TR C) 11 | 12 | INS CORRESPOND TO OUTPUT JACKS 13 | BENEATH. 14 | 15 | PATCH TR C TO INS, AND TR D TO 16 | IN7 FOR LFO FUNCTIONS. 17 | 18 | PARAM KNOB SETS BURST RATE. 19 | 20 | 21 | 22 | #1 23 | TR A TOSS 24 | 25 | #2 26 | CV 1 N QT RAND 36 3 27 | 28 | #3 29 | Y ADD 200 RSH PARAM 4 30 | TR.PULSE B 31 | DEL RAND Y : TR.PULSE B 32 | DEL RAND Y : TR.PULSE B 33 | DEL RAND Y : TR.PULSE B 34 | DEL ADD 40 Y : TR B 0 35 | 36 | #4 37 | Z V RRAND -2 2 38 | CV 2 ADD CV 2 Z 39 | 40 | #5 41 | T RRAND 10 10000 42 | CV.SET 4 0 43 | CV.SLEW 4 T 44 | CV 4 V 8 45 | DEL T : TR.PULSE C 46 | 47 | #6 48 | X ADD X RRAND -1 1 49 | PROB 50 : X ADD X RRAND -2 2 50 | PROB 25 : X ADD X RRAND -4 4 51 | PROB 12 : X ADD X RRAND -8 8 52 | PROB 6 : X ADD X RRAND -16 16 53 | CV 3 N WRAP X 0 48 54 | 55 | #7 56 | T RRAND 10 10000 57 | CV.SLEW 4 T 58 | CV 4 V 8 59 | DEL T : TR.PULSE C 60 | 61 | #8 62 | T RRAND 10 10000 63 | CV.SLEW 4 T 64 | CV 4 0 65 | DEL T : TR.PULSE D 66 | 67 | #M 68 | 69 | #I 70 | L A B : TR.TIME I 25 71 | DRUNK 12 72 | CV.SLEW 2 1000 73 | TR.PULSE D 74 | CV.SLEW 3 5 75 | 76 | #P 77 | 0 0 0 0 78 | 1 1 1 1 79 | 0 0 0 0 80 | 63 63 63 63 81 | 82 | 0 0 0 0 83 | 0 0 0 0 84 | 0 0 0 0 85 | 0 0 0 0 86 | 0 0 0 0 87 | 0 0 0 0 88 | 0 0 0 0 89 | 0 0 0 0 90 | 0 0 0 0 91 | 0 0 0 0 92 | 0 0 0 0 93 | 0 0 0 0 94 | 0 0 0 0 95 | 0 0 0 0 96 | 0 0 0 0 97 | 0 0 0 0 98 | 0 0 0 0 99 | 0 0 0 0 100 | 0 0 0 0 101 | 0 0 0 0 102 | 0 0 0 0 103 | 0 0 0 0 104 | 0 0 0 0 105 | 0 0 0 0 106 | 0 0 0 0 107 | 0 0 0 0 108 | 0 0 0 0 109 | 0 0 0 0 110 | 0 0 0 0 111 | 0 0 0 0 112 | 0 0 0 0 113 | 0 0 0 0 114 | 0 0 0 0 115 | 0 0 0 0 116 | 0 0 0 0 117 | 0 0 0 0 118 | 0 0 0 0 119 | 0 0 0 0 120 | 0 0 0 0 121 | 0 0 0 0 122 | 0 0 0 0 123 | 0 0 0 0 124 | 0 0 0 0 125 | 0 0 0 0 126 | 0 0 0 0 127 | 0 0 0 0 128 | 0 0 0 0 129 | 0 0 0 0 130 | 0 0 0 0 131 | 0 0 0 0 132 | 0 0 0 0 133 | 0 0 0 0 134 | 0 0 0 0 135 | 0 0 0 0 136 | 0 0 0 0 137 | 0 0 0 0 138 | 0 0 0 0 139 | 0 0 0 0 140 | 0 0 0 0 141 | 0 0 0 0 142 | 0 0 0 0 143 | 0 0 0 0 144 | 0 0 0 0 145 | 0 0 0 0 146 | -------------------------------------------------------------------------------- /factory defaults/tt02.txt: -------------------------------------------------------------------------------- 1 | HIDDEN PATH NO PATH 2 | 3 | 1: CLOCK 4 | 2: WANDERING STEP 5 | 3: CV 2 MIRRO CV 1 6 | 4: STEP FORWARD 7 | 5: GENTLE WANDER CV 3&4 8 | 6: JUMP TO START 9 | 7: SUDDEN TELEPORT CV 3&4 10 | 11 | CV 1: OSC FREQ (MAIN) 12 | CV 2: OSC FREQ (DRONE) 13 | TR 1-4: PROBABLE GATES 14 | 15 | 16 | 17 | #1 18 | S.ALL 19 | CV 1 N P.HERE 20 | TR.PULSE A 21 | PROB 80 : TR.PULSE B 22 | PROB 50 : TR.PULSE C 23 | PROB 20 : TR.PULSE D 24 | 25 | #2 26 | IF TOSS : P.NEXT 27 | ELIF TOSS : P.PREV 28 | 29 | #3 30 | S : CV 2 CV 1 31 | 32 | #4 33 | P.NEXT 34 | 35 | #5 36 | CV 3 V RAND 5 37 | CV 4 V RAND TOSS 38 | 39 | #6 40 | P.I 0 41 | 42 | #7 43 | CV.SET 3 V RAND 5 44 | CV.SET 4 V RAND TOSS 45 | 46 | #8 47 | 48 | #M 49 | 50 | #I 51 | CV.SLEW 3 500 52 | CV.SLEW 4 200 53 | L 1 4 : TR I 0 54 | P.N 0 55 | 56 | #P 57 | 18 0 0 0 58 | 1 1 1 1 59 | 0 0 0 0 60 | 63 63 63 63 61 | 62 | 0 0 0 0 63 | 3 0 0 0 64 | 7 0 0 0 65 | 9 0 0 0 66 | 12 0 0 0 67 | 15 0 0 0 68 | 19 0 0 0 69 | 22 0 0 0 70 | 29 0 0 0 71 | 25 0 0 0 72 | 22 0 0 0 73 | 20 0 0 0 74 | 17 0 0 0 75 | 15 0 0 0 76 | 13 0 0 0 77 | 10 0 0 0 78 | 8 0 0 0 79 | 5 0 0 0 80 | 0 0 0 0 81 | 0 0 0 0 82 | 0 0 0 0 83 | 0 0 0 0 84 | 0 0 0 0 85 | 0 0 0 0 86 | 0 0 0 0 87 | 0 0 0 0 88 | 0 0 0 0 89 | 0 0 0 0 90 | 0 0 0 0 91 | 0 0 0 0 92 | 0 0 0 0 93 | 0 0 0 0 94 | 0 0 0 0 95 | 0 0 0 0 96 | 0 0 0 0 97 | 0 0 0 0 98 | 0 0 0 0 99 | 0 0 0 0 100 | 0 0 0 0 101 | 0 0 0 0 102 | 0 0 0 0 103 | 0 0 0 0 104 | 0 0 0 0 105 | 0 0 0 0 106 | 0 0 0 0 107 | 0 0 0 0 108 | 0 0 0 0 109 | 0 0 0 0 110 | 0 0 0 0 111 | 0 0 0 0 112 | 0 0 0 0 113 | 0 0 0 0 114 | 0 0 0 0 115 | 0 0 0 0 116 | 0 0 0 0 117 | 0 0 0 0 118 | 0 0 0 0 119 | 0 0 0 0 120 | 0 0 0 0 121 | 0 0 0 0 122 | 0 0 0 0 123 | 0 0 0 0 124 | 0 0 0 0 125 | 0 0 0 0 126 | -------------------------------------------------------------------------------- /factory defaults/tt03.txt: -------------------------------------------------------------------------------- 1 | 4TRACK 2 | 3 | 1-4: CLOCK INDIVIDUAL TRACK 4 | 5: CLOCK ALL 5 | 6: RESET 6 | 7: DRUNK POSITION 7 | 8 | TILDE ENTERS TRACKER MODE TO 9 | EDIT NOTES 10 | 11 | COLS 1-3 ARE NOTES, 4 IS CV 12 | 0-1000 FOR OV-10.00V CV/TR 13 | OUT PER COLUMN 14 | 15 | 16 | 17 | #1 18 | P.N 0 19 | CV 1 N P.NEXT 20 | TR.PULSE A 21 | 22 | #2 23 | P.N 1 24 | CV 2 N P.NEXT 25 | TR.PULSE B 26 | 27 | #3 28 | P.N 2 29 | CV 3 N P.NEXT 30 | TR.PULSE C 31 | 32 | #4 33 | P.N 3 34 | CV 4 VV P.NEXT 35 | TR.TOG D 36 | 37 | #5 38 | P.N 0 39 | CV 1 N P.NEXT 40 | CV 2 N PN 1 P.HERE 41 | CV 3 N PN 2 P.HERE 42 | CV 4 N PN 3 P.HERE 43 | L A D : TR.PULSE I 44 | 45 | #6 46 | P.I P.END 47 | 48 | #7 49 | P.I ADD P.I RRAND -2 1 50 | 51 | #8 52 | 53 | #M 54 | 55 | #I 56 | L A D : TR.TIME 30 57 | L 1 4 : CV.SLEW 50 58 | 59 | #P 60 | 8 8 8 8 61 | 1 1 1 1 62 | 0 0 0 0 63 | 7 63 63 63 64 | 65 | 0 0 0 0 66 | 2 4 0 845 67 | 7 0 0 0 68 | 14 12 0 613 69 | 18 0 0 30 70 | 11 16 0 500 71 | 4 0 0 800 72 | 0 0 0 50 73 | 0 0 0 0 74 | 0 0 0 0 75 | 0 0 0 0 76 | 0 0 0 0 77 | 0 0 0 0 78 | 0 0 0 0 79 | 0 0 0 0 80 | 0 0 0 0 81 | 0 0 0 0 82 | 0 0 0 0 83 | 0 0 0 0 84 | 0 0 0 0 85 | 0 0 0 0 86 | 0 0 0 0 87 | 0 0 0 0 88 | 0 0 0 0 89 | 0 0 0 0 90 | 0 0 0 0 91 | 0 0 0 0 92 | 0 0 0 0 93 | 0 0 0 0 94 | 0 0 0 0 95 | 0 0 0 0 96 | 0 0 0 0 97 | 0 0 0 0 98 | 0 0 0 0 99 | 0 0 0 0 100 | 0 0 0 0 101 | 0 0 0 0 102 | 0 0 0 0 103 | 0 0 0 0 104 | 0 0 0 0 105 | 0 0 0 0 106 | 0 0 0 0 107 | 0 0 0 0 108 | 0 0 0 0 109 | 0 0 0 0 110 | 0 0 0 0 111 | 0 0 0 0 112 | 0 0 0 0 113 | 0 0 0 0 114 | 0 0 0 0 115 | 0 0 0 0 116 | 0 0 0 0 117 | 0 0 0 0 118 | 0 0 0 0 119 | 0 0 0 0 120 | 0 0 0 0 121 | 0 0 0 0 122 | 0 0 0 0 123 | 0 0 0 0 124 | 0 0 0 0 125 | 0 0 0 0 126 | 0 0 0 0 127 | 0 0 0 0 128 | 0 0 0 0 129 | -------------------------------------------------------------------------------- /factory defaults/tt04.txt: -------------------------------------------------------------------------------- 1 | MOOD RING 2 | 3 VOICE JAZZ BOX GENERATOR 3 | 4 | CV 1-3 TO VCO PITCH 5 | TR A-C TO ENVELOPES 6 | 7 | TR 1-4 CHANGE ROOT NOTE 8 | 1: DOWN 2ND 9 | 2: UP 2ND 10 | 3: DOWN 3RD 11 | 4: UP 4TH 12 | 13 | TR 5-8 IMPROVISE SCALES 14 | 5: DOWN 2ND 15 | 6: UP 2ND 16 | 7: UP 3RD 17 | 8: UP 4TH 18 | 19 | TR 1 HAS A RHYTHM SET BY 20 | METRO TIME. 21 | 22 | DRIVE TR1-4 WITH A SLOW CLOCK 23 | OR MANUALLY WITH WALK. 24 | 25 | DRIVE TR5-8 WITH A FAST CLOCK 26 | OR MULTIPLE CLOCK INPUTS 27 | FOR ALGORITHMIC SOLOING. 28 | 29 | 30 | 31 | #1 32 | X WRAP SUB X 1 0 6 33 | S : CV 1 N PN 0 X 34 | IF EQ X 6 : P.N 3 35 | ELIF EQ X 4 : P.N 2 36 | ELIF EQ 0 MOD X 3 : P.N 0 37 | ELSE : P.N 1 38 | 39 | #2 40 | X WRAP ADD X 1 0 6 41 | S : CV 1 N PN 0 X 42 | IF EQ X 6 : P.N 3 43 | ELIF EQ X 4 : P.N 2 44 | ELIF EQ 0 MOD X 3 : P.N 0 45 | ELSE : P.N 1 46 | 47 | #3 48 | X WRAP SUB X 2 0 6 49 | S : CV 1 N PN 0 X 50 | IF EQ X 6 : P.N 3 51 | ELIF EQ X 4 : P.N 2 52 | ELIF EQ 0 MOD X 3 : P.N 0 53 | ELSE : P.N 1 54 | 55 | #4 56 | X WRAP ADD X 3 0 6 57 | S : CV 1 N PN 0 X 58 | IF EQ X 6 : P.N 3 59 | ELIF EQ X 4 : P.N 2 60 | ELIF EQ 0 MOD X 3 : P.N 0 61 | ELSE : P.N 1 62 | 63 | #5 64 | Y PN 0 X 65 | P.I WRAP SUB P.I 1 0 14 66 | CV 3 N ADD Y P.HERE 67 | Z ADD 2 MUL 4 TOSS 68 | CV 2 N PN P.N ADD Z X 69 | PROB 70 : TR.PULSE 3 70 | 71 | #6 72 | Y PN 0 X 73 | P.I WRAP ADD P.I 1 0 14 74 | CV 3 N ADD Y P.HERE 75 | Z ADD 2 MUL 4 TOSS 76 | CV 2 N ADD Y PN P.N Z 77 | PROB 70 : TR.PULSE 3 78 | 79 | #7 80 | Y PN 0 X 81 | P.I WRAP ADD P.I 2 0 14 82 | CV 3 N ADD Y P.HERE 83 | Z ADD 2 MUL 4 TOSS 84 | CV 2 N ADD Y PN P.N Z 85 | PROB 70 : TR.PULSE 3 86 | 87 | #8 88 | Y PN 0 X 89 | P.I WRAP ADD P.I 3 0 14 90 | CV 3 N ADD Y P.HERE 91 | Z ADD 2 MUL 4 TOSS 92 | CV 2 N ADD Y PN P.N Z 93 | PROB 70 : TR.PULSE 3 94 | 95 | #M 96 | S.POP 97 | PROB 50 : TR.PULSE A 98 | DEL MUL T RRAND 1 5 : TR.TOG A 99 | DEL MUL T 4 : TR.PULSE A 100 | DEL MUL T 7 : TR.PULSE A 101 | PROB 80 : TR.PULSE B 102 | 103 | #I 104 | M 750 105 | T 93 106 | L A D : TR.TIME 25 107 | L 1 4 : CV.SLEW I 12 108 | 109 | #P 110 | 15 15 17 15 111 | 1 1 1 1 112 | 0 0 0 0 113 | 14 14 16 14 114 | 115 | 0 0 0 0 116 | 2 2 1 2 117 | 4 3 3 3 118 | 5 5 4 5 119 | 7 7 6 6 120 | 9 9 7 8 121 | 11 10 9 10 122 | 12 12 10 12 123 | 14 14 12 14 124 | 16 15 13 15 125 | 17 17 15 17 126 | 19 19 16 18 127 | 21 21 18 20 128 | 23 22 19 22 129 | 24 24 21 24 130 | 0 0 22 0 131 | 0 0 24 0 132 | 0 0 0 0 133 | 0 0 0 0 134 | 0 0 0 0 135 | 0 0 0 0 136 | 0 0 0 0 137 | 0 0 0 0 138 | 0 0 0 0 139 | 0 0 0 0 140 | 0 0 0 0 141 | 0 0 0 0 142 | 0 0 0 0 143 | 0 0 0 0 144 | 0 0 0 0 145 | 0 0 0 0 146 | 0 0 0 0 147 | 0 0 0 0 148 | 0 0 0 0 149 | 0 0 0 0 150 | 0 0 0 0 151 | 0 0 0 0 152 | 0 0 0 0 153 | 0 0 0 0 154 | 0 0 0 0 155 | 0 0 0 0 156 | 0 0 0 0 157 | 0 0 0 0 158 | 0 0 0 0 159 | 0 0 0 0 160 | 0 0 0 0 161 | 0 0 0 0 162 | 0 0 0 0 163 | 0 0 0 0 164 | 0 0 0 0 165 | 0 0 0 0 166 | 0 0 0 0 167 | 0 0 0 0 168 | 0 0 0 0 169 | 0 0 0 0 170 | 0 0 0 0 171 | 0 0 0 0 172 | 0 0 0 0 173 | 0 0 0 0 174 | 0 0 0 0 175 | 0 0 0 0 176 | 0 0 0 0 177 | 0 0 0 0 178 | 0 0 0 0 179 | -------------------------------------------------------------------------------- /factory defaults/tt05.txt: -------------------------------------------------------------------------------- 1 | WHITE WHALE REMOTE 2 | 3 | 1: PRESET 0 4 | 2: NEXT PRESET 5 | 3: HARD SYNC, CUT TO KNOB POS 6 | 4: CUT TO KNOB POS 7 | 5: PATTERN 0 8 | 6: QUEUED PATTERN TO KNOB POS 9 | 7: MUTE TRIGGERS 10 | 8: UNMUTE TRIGGERS 11 | 12 | MUST CONNECT VIA CABLE 13 | 14 | FOR KNOB SCRIPTS, TRY CHANGING 15 | PARAM TO IN, FOR CV CONTROL! 16 | 17 | 18 | 19 | #1 20 | X 0 21 | II WW.PRESET X 22 | 23 | #2 24 | X WRAP ADD X 1 0 7 25 | II WW.PRESET X 26 | 27 | #3 28 | X RSH PARAM 10 29 | II WW.SYNC X 30 | 31 | #4 32 | X RSH PARAM 10 33 | II WW.POS X 34 | 35 | #5 36 | II WW.PATTERN 0 37 | 38 | #6 39 | X RSH PARAM 10 40 | II WW.QPATTERN X 41 | 42 | #7 43 | II WW.MUTE1 0 44 | II WW.MUTE2 0 45 | II WW.MUTE3 0 46 | II WW.MUTE4 0 47 | 48 | #8 49 | II WW.MUTE1 1 50 | II WW.MUTE2 1 51 | II WW.MUTE3 1 52 | II WW.MUTE4 1 53 | 54 | #M 55 | 56 | #I 57 | 58 | #P 59 | 0 0 0 0 60 | 1 1 1 1 61 | 0 0 0 0 62 | 63 63 63 63 63 | 64 | 0 0 0 0 65 | 0 0 0 0 66 | 0 0 0 0 67 | 0 0 0 0 68 | 0 0 0 0 69 | 0 0 0 0 70 | 0 0 0 0 71 | 0 0 0 0 72 | 0 0 0 0 73 | 0 0 0 0 74 | 0 0 0 0 75 | 0 0 0 0 76 | 0 0 0 0 77 | 0 0 0 0 78 | 0 0 0 0 79 | 0 0 0 0 80 | 0 0 0 0 81 | 0 0 0 0 82 | 0 0 0 0 83 | 0 0 0 0 84 | 0 0 0 0 85 | 0 0 0 0 86 | 0 0 0 0 87 | 0 0 0 0 88 | 0 0 0 0 89 | 0 0 0 0 90 | 0 0 0 0 91 | 0 0 0 0 92 | 0 0 0 0 93 | 0 0 0 0 94 | 0 0 0 0 95 | 0 0 0 0 96 | 0 0 0 0 97 | 0 0 0 0 98 | 0 0 0 0 99 | 0 0 0 0 100 | 0 0 0 0 101 | 0 0 0 0 102 | 0 0 0 0 103 | 0 0 0 0 104 | 0 0 0 0 105 | 0 0 0 0 106 | 0 0 0 0 107 | 0 0 0 0 108 | 0 0 0 0 109 | 0 0 0 0 110 | 0 0 0 0 111 | 0 0 0 0 112 | 0 0 0 0 113 | 0 0 0 0 114 | 0 0 0 0 115 | 0 0 0 0 116 | 0 0 0 0 117 | 0 0 0 0 118 | 0 0 0 0 119 | 0 0 0 0 120 | 0 0 0 0 121 | 0 0 0 0 122 | 0 0 0 0 123 | 0 0 0 0 124 | 0 0 0 0 125 | 0 0 0 0 126 | 0 0 0 0 127 | 0 0 0 0 128 | -------------------------------------------------------------------------------- /factory defaults/tt06.txt: -------------------------------------------------------------------------------- 1 | MEADOWPHYSICS REMOTE 2 | 3 | 1: PRESET 0 4 | 2: NEXT PRESET 5 | 3: RESET COUNT 6 | 4: HARD SYNC 7 | 5: FREEZE 1 8 | 6: UNFREEZE 1 9 | 7: MUTE ALL 10 | 8: UNMUTE ALL 11 | 12 | MUST CONNECT VIA CABLE 13 | 14 | 15 | 16 | #1 17 | X 0 18 | II MP.PRESET X 19 | 20 | #2 21 | X WRAP ADD X 1 0 7 22 | II MP.PRESET X 23 | 24 | #3 25 | II MP.RESET 1 26 | 27 | #4 28 | II MP.SYNC 1 29 | 30 | #5 31 | II MP.FREEZE 1 32 | 33 | #6 34 | II MP.UNFREEZE 1 35 | 36 | #7 37 | L 1 8 : II MP.MUTE I 38 | 39 | #8 40 | L 1 8 : II MP.UNMUTE I 41 | 42 | #M 43 | 44 | #I 45 | 46 | #P 47 | 0 0 0 0 48 | 1 1 1 1 49 | 0 0 0 0 50 | 63 63 63 63 51 | 52 | 0 0 0 0 53 | 0 0 0 0 54 | 0 0 0 0 55 | 0 0 0 0 56 | 0 0 0 0 57 | 0 0 0 0 58 | 0 0 0 0 59 | 0 0 0 0 60 | 0 0 0 0 61 | 0 0 0 0 62 | 0 0 0 0 63 | 0 0 0 0 64 | 0 0 0 0 65 | 0 0 0 0 66 | 0 0 0 0 67 | 0 0 0 0 68 | 0 0 0 0 69 | 0 0 0 0 70 | 0 0 0 0 71 | 0 0 0 0 72 | 0 0 0 0 73 | 0 0 0 0 74 | 0 0 0 0 75 | 0 0 0 0 76 | 0 0 0 0 77 | 0 0 0 0 78 | 0 0 0 0 79 | 0 0 0 0 80 | 0 0 0 0 81 | 0 0 0 0 82 | 0 0 0 0 83 | 0 0 0 0 84 | 0 0 0 0 85 | 0 0 0 0 86 | 0 0 0 0 87 | 0 0 0 0 88 | 0 0 0 0 89 | 0 0 0 0 90 | 0 0 0 0 91 | 0 0 0 0 92 | 0 0 0 0 93 | 0 0 0 0 94 | 0 0 0 0 95 | 0 0 0 0 96 | 0 0 0 0 97 | 0 0 0 0 98 | 0 0 0 0 99 | 0 0 0 0 100 | 0 0 0 0 101 | 0 0 0 0 102 | 0 0 0 0 103 | 0 0 0 0 104 | 0 0 0 0 105 | 0 0 0 0 106 | 0 0 0 0 107 | 0 0 0 0 108 | 0 0 0 0 109 | 0 0 0 0 110 | 0 0 0 0 111 | 0 0 0 0 112 | 0 0 0 0 113 | 0 0 0 0 114 | 0 0 0 0 115 | 0 0 0 0 116 | -------------------------------------------------------------------------------- /factory defaults/tt07.txt: -------------------------------------------------------------------------------- 1 | EARTHSEA REMOTE 2 | 3 | 1: PRESET 0 4 | 2: NEXT PRESET 5 | 3: RESET/PLAY PATTERN 6 | 4: STOP PATTERN 7 | 5: CHANGE PATTERN TO KNOB 8 | 6: SET TRANSPOSITION TO KNOB 9 | 7: TOGGLE CLOCK MODE 10 | 8: EXT CLOCK 11 | 12 | MUST CONNECT VIA CABLE 13 | 14 | 15 | 16 | #1 17 | X 0 18 | II ES.PRESET X 19 | 20 | #2 21 | X WRAP ADD X 1 0 7 22 | II ES.PRESET X 23 | 24 | #3 25 | II ES.RESET 1 26 | 27 | #4 28 | II ES.STOP 1 29 | 30 | #5 31 | X RSH PARAM 10 32 | II ES.PATTERN X 33 | 34 | #6 35 | X RSH PARAM 10 36 | II ES.TRANS X 37 | 38 | #7 39 | Z EZ Z 40 | II ES.MODE Z 41 | 42 | #8 43 | II ES.CLOCK 1 44 | 45 | #M 46 | 47 | #I 48 | 49 | #P 50 | 0 0 0 0 51 | 1 1 1 1 52 | 0 0 0 0 53 | 63 63 63 63 54 | 55 | 0 0 0 0 56 | 0 0 0 0 57 | 0 0 0 0 58 | 0 0 0 0 59 | 0 0 0 0 60 | 0 0 0 0 61 | 0 0 0 0 62 | 0 0 0 0 63 | 0 0 0 0 64 | 0 0 0 0 65 | 0 0 0 0 66 | 0 0 0 0 67 | 0 0 0 0 68 | 0 0 0 0 69 | 0 0 0 0 70 | 0 0 0 0 71 | 0 0 0 0 72 | 0 0 0 0 73 | 0 0 0 0 74 | 0 0 0 0 75 | 0 0 0 0 76 | 0 0 0 0 77 | 0 0 0 0 78 | 0 0 0 0 79 | 0 0 0 0 80 | 0 0 0 0 81 | 0 0 0 0 82 | 0 0 0 0 83 | 0 0 0 0 84 | 0 0 0 0 85 | 0 0 0 0 86 | 0 0 0 0 87 | 0 0 0 0 88 | 0 0 0 0 89 | 0 0 0 0 90 | 0 0 0 0 91 | 0 0 0 0 92 | 0 0 0 0 93 | 0 0 0 0 94 | 0 0 0 0 95 | 0 0 0 0 96 | 0 0 0 0 97 | 0 0 0 0 98 | 0 0 0 0 99 | 0 0 0 0 100 | 0 0 0 0 101 | 0 0 0 0 102 | 0 0 0 0 103 | 0 0 0 0 104 | 0 0 0 0 105 | 0 0 0 0 106 | 0 0 0 0 107 | 0 0 0 0 108 | 0 0 0 0 109 | 0 0 0 0 110 | 0 0 0 0 111 | 0 0 0 0 112 | 0 0 0 0 113 | 0 0 0 0 114 | 0 0 0 0 115 | 0 0 0 0 116 | 0 0 0 0 117 | 0 0 0 0 118 | 0 0 0 0 119 | -------------------------------------------------------------------------------- /grid/README.md: -------------------------------------------------------------------------------- 1 | # Teletype Grid 2 | Scripts and scenes for using Teletype with monome grid. 3 | 4 | also check out https://llllllll.co/t/teletype-grid-code-exchange/10084 5 | and https://github.com/scanner-darkly/teletype/wiki/CODE-EXCHANGE 6 | 7 | -------------------------------------------------------------------------------- /grid/jroo-tricephale.txt: -------------------------------------------------------------------------------- 1 | tricéphale: a pentatonic generative sequencer with three playheads for teletype and grid 2 | 3 | sixteen step sequencer 4 | five note scale available for each step, default is pentatonic major 5 | playheads 1-3 move independently and are advanced via triggers 1-3 6 | 7 | the first three buttons on the first row toggle generative functionality 8 | button 1: if on, every 32 times any note is played, a random step is replaced with a new note 9 | button 2: if on, every 32nd note a random step in the sequence is toggled on or off 10 | button 3: if on, every 64th step in the sequence will move up or down one position in the circle of fifths 11 | 12 | the twelve button fader on the top row changes the key of scale. it is set as the circle of fifths, starting with c 13 | 14 | for the second row and below, each column represents a step in the sequence 15 | 16 | the buttons on row two enable or disable a step in the sequence. if the step is enabled it plays when the playhead reaches it. if it is disabled, a note will not be played during that step. 17 | 18 | the bottom five rows hold a five button fader in each column. the five buttons in the fader set the note to play 19 | 20 | -- 21 | TRICEPHALE 22 | 3-HEAD PENTATONIC SEQUENCER 23 | TRIGS 1-3 ADVANCE PLAYHEADS 24 | USE WITH GRID 25 | 26 | 27 | 28 | #1 29 | A WRAP + A 1 0 15 30 | IF G.FDR.EN A: Y A; X 1; $ 5 31 | $ 6 32 | EVERY 64: $ 4 33 | 34 | #2 35 | B WRAP + B 1 0 15 36 | IF G.FDR.EN B: Y B; X 2; $ 5 37 | $ 6 38 | 39 | #3 40 | C WRAP + C 1 0 15 41 | IF G.FDR.EN C: Y C; X 3; $ 5 42 | $ 6 43 | 44 | #4 45 | I + G.FDR.N 16 RRAND -1 1 46 | DRUNK WRAP I 0 11 47 | IF G.BTN.V 2: G.FDR.N 16 DRUNK 48 | 49 | #5 50 | I + PN 1 G.FDR.N 16 0 51 | CV X N + P G.FDR.N Y I; TR.P X 52 | 53 | #6 54 | G.CLR; G.REC A 3 1 5 -3 8 55 | G.REC B 3 1 5 -3 6 56 | G.REC C 3 1 5 -3 4 57 | EVERY 32: $ 7 58 | 59 | #7 60 | I G.BTN.V 0 61 | IF I: G.FDR.N RAND 15 RAND 4 62 | I G.BTN.V 1 63 | IF I: G.BTN.PR RRAND 32 47 1 64 | 65 | #8 66 | I - G.BTNI 32 67 | G.FDR.EN I EZ G.FDR.EN I 68 | 69 | #M 70 | L 0 15: G.FDR.EN I 0 71 | L 32 47: G.BTN.PR I 0 72 | L 0 2: G.BTN.PR I 0 73 | DRUNK.MAX 11; DRUNK.WRAP 1 74 | DRUNK 0; Z 0; D 0 75 | 76 | #I 77 | G.RST; PN.L 0 5; PN.L 1 12 78 | G.FDX 0 0 3 1 5 1 0 0 16 1 79 | G.BTX 0 0 0 1 1 1 6 0 3 1 80 | G.FDR 16 4 0 PN.L 1 1 2 6 0 81 | G.BTX 32 0 1 1 1 1 6 8 16 1 82 | A 0; B 0; C 0; M.ACT 0; $ 9 83 | 84 | #P 85 | 5 12 0 0 86 | 1 1 1 1 87 | 0 0 0 0 88 | 63 63 63 63 89 | 90 | 0 0 0 0 91 | 2 7 0 0 92 | 5 2 0 0 93 | 6 9 0 0 94 | 8 4 0 0 95 | 0 11 0 0 96 | 0 6 0 0 97 | 0 1 0 0 98 | 0 8 0 0 99 | 0 3 0 0 100 | 0 10 0 0 101 | 0 5 0 0 102 | 0 0 0 0 103 | 0 0 0 0 104 | 0 0 0 0 105 | 0 0 0 0 106 | 0 0 0 0 107 | 0 0 0 0 108 | 0 0 0 0 109 | 0 0 0 0 110 | 0 0 0 0 111 | 0 0 0 0 112 | 0 0 0 0 113 | 0 0 0 0 114 | 0 0 0 0 115 | 0 0 0 0 116 | 0 0 0 0 117 | 0 0 0 0 118 | 0 0 0 0 119 | 0 0 0 0 120 | 0 0 0 0 121 | 0 0 0 0 122 | 0 0 0 0 123 | 0 0 0 0 124 | 0 0 0 0 125 | 0 0 0 0 126 | 0 0 0 0 127 | 0 0 0 0 128 | 0 0 0 0 129 | 0 0 0 0 130 | 0 0 0 0 131 | 0 0 0 0 132 | 0 0 0 0 133 | 0 0 0 0 134 | 0 0 0 0 135 | 0 0 0 0 136 | 0 0 0 0 137 | 0 0 0 0 138 | 0 0 0 0 139 | 0 0 0 0 140 | 0 0 0 0 141 | 0 0 0 0 142 | 0 0 0 0 143 | 0 0 0 0 144 | 0 0 0 0 145 | 0 0 0 0 146 | 0 0 0 0 147 | 0 0 0 0 148 | 0 0 0 0 149 | 0 0 0 0 150 | 0 0 0 0 151 | 0 0 0 0 152 | 0 0 0 0 153 | 0 0 0 0 154 | 155 | #G 156 | 1110000000000000 157 | 0000000000000000 158 | 1001000110000000 159 | 0000000000000000 160 | 0000000000000000 161 | 0000000000000000 162 | 0000000000000000 163 | 0000000000000000 164 | 0000000000000000 165 | 0000000000000000 166 | 0000000000000000 167 | 0000000000000000 168 | 0000000000000000 169 | 0000000000000000 170 | 0000000000000000 171 | 0000000000000000 172 | 173 | 4 3 3 3 0 3 3 1 1 3 0 0 3 3 0 0 174 | 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 175 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 176 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 177 | -------------------------------------------------------------------------------- /modulation/README.md: -------------------------------------------------------------------------------- 1 | # Teletype Modulation 2 | Scripts and scenes for using Teletype as a modulation source. LFOs, random, CV output, etc. 3 | -------------------------------------------------------------------------------- /sequencers/BrotherJohn.bsh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #set -x 3 | Octive=4 4 | 5 | while read Note Length; do 6 | if [[ $Length -lt 1 || 7 | $Length -gt 127 ]]; then 8 | echo "Invalid length: $Length" 9 | continue 10 | fi 11 | 12 | OldOctive=$Octive 13 | while [[ $Note == [+]* ]]; do 14 | ((Octive = Octive + 1)) 15 | Note=${Note#+} 16 | done 17 | 18 | while [[ $Note == [-]* ]]; do 19 | ((Octive = Octive - 1)) 20 | Note=${Note#-} 21 | done 22 | 23 | if [[ $Note != [a-gA-G] && 24 | $Note != [a-gA-G][b#] ]]; then 25 | echo "Invalid note: $Note" 26 | Octive=$OldOctive 27 | continue 28 | fi 29 | 30 | Value=0 31 | case $Note in 32 | ([aA]b) Value=8;; 33 | ([aA]) Value=9;; 34 | ([aA]#) Value=10;; 35 | ([bB]b) Value=10;; 36 | ([bB]) Value=11;; 37 | ([cC]) ;; 38 | ([cC]#) value=1;; 39 | ([dD]b) Value=1;; 40 | ([dD]) Value=2;; 41 | ([dD]#) Value=3;; 42 | ([eE]b) Value=3;; 43 | ([eE]) Value=4;; 44 | ([eE]#) Value=5;; 45 | ([fF]b) Value=5;; 46 | ([fF]) Value=6;; 47 | ([gG]) Value=7;; 48 | ([gG]#) Value=8;; 49 | esac 50 | 51 | ((Data = ((Octive + 1) * 12 + Value) * 256 + Length)) 52 | echo "Octive: $Octive, Note: $Note, Length: $Length = $Data" 53 | 54 | done 55 | -------------------------------------------------------------------------------- /sequencers/BrotherJohn.v1.txt: -------------------------------------------------------------------------------- 1 | Brother John 2 | in 4 voices. 3 | Version 1 4 | 5 | TR 1 - Voice 1&3 up an octave 6 | 7 | TR 2 - Voice 1&3 down an octave 8 | 9 | TR 3 - Voice 2&4 up an octave 10 | 11 | TR 4 - Voice 2&4 down an octave 12 | 13 | CV - voltage/octave, lasts for 14 | whole note length. 15 | TR - gate for note, ends 20ms 16 | short of note. 17 | 18 | CV/TR/PN 1 - Voice 1 19 | CV/TR/PN 2 - Voice 2 20 | CV/TR/PN 3 - Voice 3 21 | CV/TR/PN 4 - Voice 4 22 | 23 | PARAM - 0 through M/2 24 | Amount to reduce gate time 25 | used to allow envelop decay 26 | 27 | Each pattern entry consists of 28 | both note play (shifted 8 bits 29 | left) and length of the note. 30 | 31 | The maximum sequence length is 32 | 62 notes. 33 | 34 | #1 35 | A + A 12 36 | 37 | #2 38 | A - A 12 39 | 40 | #3 41 | B + B 12 42 | 43 | #4 44 | B - B 12 45 | 46 | #5 47 | IF NZ & X 127: BREAK 48 | I PN.NEXT 0; K & I 127 49 | X | X - 128 K; J RSH I 8 50 | IF GTE J 200: BREAK 51 | J N + J A; K * K M 52 | TR.TIME 1 - K T; CV 1 J; TR.P 1 53 | 54 | #6 55 | IF NZ & X 32512: BREAK 56 | I PN.NEXT 1; K & I 127 57 | X | X * 256 - 128 K; J RSH I 8 58 | IF GTE J 200: BREAK 59 | J N + J B; K * K M 60 | TR.TIME 2 - K T; CV 2 J; TR.P 2 61 | 62 | #7 63 | IF NZ & Y 127: BREAK 64 | I PN.NEXT 2; K & I 127 65 | Y | Y - 128 K; J RSH I 8 66 | IF GTE J 200: BREAK 67 | J N + J A; K * K M 68 | TR.TIME 3 - K T; CV 3 J; TR.P 3 69 | 70 | #8 71 | IF NZ & Y 32512: BREAK 72 | I PN.NEXT 3; K & I 127 73 | Y | Y * 256 - 128 K; J RSH I 8 74 | IF GTE J 200: BREAK 75 | J N + J B; K * K M 76 | TR.TIME 4 - K T; CV 4 J; TR.P 4 77 | 78 | #M 79 | X & 32639 + X 257 80 | Y & 32639 + Y 257 81 | $ 5; $ 6; $ 7; $ 8 82 | T SCALE 0 16383 0 / M 2 PARAM 83 | 84 | #I 85 | PN.I 0 PN.END 0; PN.I 1 PN.END 1 86 | PN.I 2 PN.END 2; PN.I 3 PN.END 3 87 | CV 1 0; CV 2 0; CV 3 0; CV 4 0 88 | Y 29559; X 31615; M 250 89 | A -24; B -24 90 | 91 | #P 92 | 32 32 32 32 93 | 1 1 1 1 94 | 0 0 0 0 95 | 31 31 31 31 96 | 97 | 13826 13826 13826 13826 98 | 14082 14082 14082 14082 99 | 14594 14594 14594 14594 100 | 13826 13826 13826 13826 101 | 13826 13826 13826 13826 102 | 14082 14082 14082 14082 103 | 14594 14594 14594 14594 104 | 13826 13826 13826 13826 105 | 14594 14594 14594 14594 106 | 14850 14850 14850 14850 107 | 15364 15364 15364 15364 108 | 14594 14594 14594 14594 109 | 14850 14850 14850 14850 110 | 15364 15364 15364 15364 111 | 15361 15361 15361 15361 112 | 15873 15873 15973 15873 113 | 15361 15361 15361 15361 114 | 14849 14849 14849 14849 115 | 14594 14594 14594 14594 116 | 13826 13826 13826 13826 117 | 15361 15361 15361 15361 118 | 15873 15873 15873 15873 119 | 15361 15361 15361 15361 120 | 14849 14849 14849 14849 121 | 14594 14594 14594 14594 122 | 13826 13826 13826 13826 123 | 13826 13826 13826 13826 124 | 12290 12290 12290 12290 125 | 13828 13828 13828 13828 126 | 13826 13826 13826 13826 127 | 12290 12290 12290 12290 128 | 13828 13828 13828 13828 129 | 0 0 0 0 130 | 0 0 0 0 131 | 0 0 0 0 132 | 0 0 0 0 133 | 0 0 0 0 134 | 0 0 0 0 135 | 0 0 0 0 136 | 0 0 0 0 137 | 0 0 0 0 138 | 0 0 0 0 139 | 0 0 0 0 140 | 0 0 0 0 141 | 0 0 0 0 142 | 0 0 0 0 143 | 0 0 0 0 144 | 0 0 0 0 145 | 0 0 0 0 146 | 0 0 0 0 147 | 0 0 0 0 148 | 0 0 0 0 149 | 0 0 0 0 150 | 0 0 0 0 151 | 0 0 0 0 152 | 0 0 0 0 153 | 0 0 0 0 154 | 0 0 0 0 155 | 0 0 0 0 156 | 0 0 0 0 157 | 0 0 0 0 158 | 0 0 0 0 159 | 0 0 0 0 160 | 0 0 0 0 161 | 162 | #G 163 | 0000000000000000 164 | 0000000000000000 165 | 0000000000000000 166 | 0000000000000000 167 | 0000000000000000 168 | 0000000000000000 169 | 0000000000000000 170 | 0000000000000000 171 | 0000000000000000 172 | 0000000000000000 173 | 0000000000000000 174 | 0000000000000000 175 | 0000000000000000 176 | 0000000000000000 177 | 0000000000000000 178 | 0000000000000000 179 | 180 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 181 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 182 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 183 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 184 | 185 | ----------------------------------- 186 | Each note may be up to 127 187 | metronome intervals long. 188 | 189 | Obscure Constants 190 | (AKA Magic Numbers) 191 | 0 192 | Lowest note 193 | 194 | 7 195 | Number of bits used for 196 | Length of note in x & y 197 | 198 | 8 199 | Number of bits reserved 200 | For each voice in x & y 201 | 202 | 127 203 | Highest note 204 | 205 | 127 206 | Longest note length 207 | 208 | 127 binary 01111111 209 | Mask value for voice 1 & 3 210 | 211 | 200 - 255 212 | Note range of rests 213 | 214 | 256 215 | Voice 2 & 4 shift value, 216 | this allows x/y to track 217 | two voices each 218 | * 256 i = << i 8 219 | 220 | 257 = + 256 1 binary 100000001 221 | Value added to x(y) to 222 | increase time waited in 223 | both voices 1 & 3 (2 & 4) 224 | 225 | 32512 = << 255 8 226 | Mask value for voice 2 & 4 227 | 228 | 32639 binary 1000000010000000 229 | Mask to prevent overflow 230 | after adding 1 to a voice 231 | 232 | Example specific magic numbers 233 | In this example an 8th note is 234 | 1 metronome interval long. 235 | 236 | 250 237 | Reasonable song speed 238 | 239 | 29550 240 | Start voice 3 after 8 241 | metronome triggers, 242 | start voice 4 after 12 243 | metronome triggers 244 | (127-12)* 256 + (127 - 8) 245 | 246 | 31615 247 | Start voice 1 on first 248 | metronome trigger, 249 | start voice 2 after 4 250 | metronome triggers 251 | (127-4)* 256 + (127 - 1) 252 | -------------------------------------------------------------------------------- /sequencers/README.md: -------------------------------------------------------------------------------- 1 | # Teletype Sequencers 2 | Sequencer scenes or scripts. Includes gate or cv sequencing, but not "finished" compositions. 3 | -------------------------------------------------------------------------------- /sequencers/RowRowRowYourBoat: -------------------------------------------------------------------------------- 1 | Row Row Row Your Boat 2 | in 4 voices. 3 | Version 2 4 | 5 | CV - voltage/octave, lasts for 6 | whole note length. 7 | TR - gate for note, ends 20ms 8 | short of note. 9 | 10 | CV/TR/PN 1 - Voice 1 11 | CV/TR/PN 2 - Voice 2 12 | CV/TR/PN 3 - Voice 3 13 | CV/TR/PN 4 - Voice 4 14 | 15 | Each pattern consists of a 16 | note to play followed by the 17 | length of the note. 18 | 19 | The maximum sequence length is 20 | 32 notes. 21 | 22 | Each note may be up to 127 23 | metronome intervals long. 24 | 25 | In this example an 8th note is 26 | 1 interval long. 27 | 28 | Obscure Constants 29 | (AKA Magic Numbers) 30 | 0 31 | Lowest note 32 | 33 | 7 34 | Number of bits used for 35 | Length of note in x & y 36 | 37 | 8 38 | Number of bits reserved 39 | For each voice in x & y 40 | 41 | 127 42 | Highest note 43 | 44 | 127 45 | Longest note length 46 | 47 | 200 - 255 48 | Note range of rests 49 | 50 | 255 binary 11111111 51 | Mask value for voice 1 & 3 52 | 53 | 256 54 | Voice 2 & 4 shift value, 55 | this allows x/y to track 56 | two voices each 57 | * 256 i = << i 8 58 | 59 | 257 = + 256 1 binary 100000001 60 | Value added to x(y) to 61 | increase time waited in 62 | both voices 1 & 3 (2 & 4) 63 | 64 | 17340 = n 200 65 | Lowest volt for rest 66 | 67 | 32512 = << 255 8 68 | Vask value for voice 2 & 4 69 | 70 | 32639 binary 1000000010000000 71 | Mask to prevent overflow 72 | after adding 1 to a voice 73 | 74 | Example specific magic numbers 75 | 20 76 | Amount in ms to reduce 77 | trigger to allow envelope 78 | shaping 79 | 80 | 250 81 | Reasonable song speed 82 | 83 | 28019 84 | Start voice 3 after 13 85 | metronome triggers, 86 | start voice 4 after 19 87 | metronome triggers 88 | 89 | 31103 90 | Start voice 1 on first 91 | metronome trigger, 92 | start voice 2 after 7 93 | metronome triggers 94 | 95 | #1 96 | IF NZ & X 127: BREAK 97 | J N PN.NEXT 0; K PN.NEXT 0 98 | X | X + 1 - 127 K; K * K M 99 | IF GTE J 17340: BREAK 100 | TR.TIME 1 - K 20; CV 1 J; TR.P 1 101 | 102 | #2 103 | IF NZ & X 32512: BREAK 104 | J N PN.NEXT 1; K PN.NEXT 1 105 | X | X * 256 + 1 - 127 K; K * K M 106 | IF GTE J 17340: BREAK 107 | TR.TIME 2 - K 20; CV 2 J; TR.P 2 108 | 109 | #3 110 | IF NZ & Y 127: BREAK 111 | J N PN.NEXT 2; K PN.NEXT 2 112 | Y | Y + 1 - 127 K; K * K M 113 | IF GTE J 17340: BREAK 114 | TR.TIME 3 - K 20; CV 3 J; TR.P 3 115 | 116 | #4 117 | IF NZ & Y 32512: BREAK 118 | J N PN.NEXT 3; K PN.NEXT 3 119 | Y | Y * 256 + 1 - 127 K; K * K M 120 | IF GTE J 17340: BREAK 121 | TR.TIME 4 - K 20; CV 4 J; TR.P 4 122 | 123 | #5 124 | 125 | #6 126 | 127 | #7 128 | 129 | #8 130 | 131 | #M 132 | X & 32639 + X 257 133 | Y & 32639 + Y 257 134 | $ 1; $ 2; $ 3; $ 4 135 | 136 | #I 137 | PN.I 0 PN.END 0; PN.I 1 PN.END 1 138 | PN.I 2 PN.END 2; PN.I 3 PN.END 3 139 | CV 1 0; CV 2 0; CV 3 0; CV 4 0 140 | Y 28019; X 31103; M 250 141 | 142 | #P 143 | 54 54 54 54 144 | 1 1 1 1 145 | 0 0 0 0 146 | 53 53 53 53 147 | 148 | 60 60 60 60 149 | 3 3 3 3 150 | 60 60 60 60 151 | 3 3 3 3 152 | 60 60 60 60 153 | 2 2 2 2 154 | 61 61 61 61 155 | 1 1 1 1 156 | 62 62 62 62 157 | 3 3 3 3 158 | 62 62 62 62 159 | 2 2 2 2 160 | 61 61 61 61 161 | 1 1 1 1 162 | 62 62 62 62 163 | 2 2 2 2 164 | 63 63 63 63 165 | 1 1 1 1 166 | 64 64 64 64 167 | 5 5 5 5 168 | 67 67 67 67 169 | 1 1 1 1 170 | 67 67 67 67 171 | 1 1 1 1 172 | 67 67 67 67 173 | 1 1 1 1 174 | 64 64 64 64 175 | 1 1 1 1 176 | 64 64 64 64 177 | 1 1 1 1 178 | 64 64 64 64 179 | 1 1 1 1 180 | 62 62 62 62 181 | 1 1 1 1 182 | 62 62 62 62 183 | 1 1 1 1 184 | 62 62 62 62 185 | 1 1 1 1 186 | 60 60 60 60 187 | 1 1 1 1 188 | 60 60 60 60 189 | 1 1 1 1 190 | 60 60 60 60 191 | 1 1 1 1 192 | 64 64 64 64 193 | 2 2 2 2 194 | 63 63 63 63 195 | 1 1 1 1 196 | 62 62 62 62 197 | 2 2 2 2 198 | 61 61 61 61 199 | 1 1 1 1 200 | 60 60 60 60 201 | 3 3 3 3 202 | 0 0 0 0 203 | 0 0 0 0 204 | 0 0 0 0 205 | 0 0 0 0 206 | 0 0 0 0 207 | 0 0 0 0 208 | 0 0 0 0 209 | 0 0 0 0 210 | 0 0 0 0 211 | 0 0 0 0 212 | 213 | #G 214 | 0000000000000000 215 | 0000000000000000 216 | 0000000000000000 217 | 0000000000000000 218 | 0000000000000000 219 | 0000000000000000 220 | 0000000000000000 221 | 0000000000000000 222 | 0000000000000000 223 | 0000000000000000 224 | 0000000000000000 225 | 0000000000000000 226 | 0000000000000000 227 | 0000000000000000 228 | 0000000000000000 229 | 0000000000000000 230 | 231 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 232 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 233 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 234 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 235 | -------------------------------------------------------------------------------- /sequencers/TetraSequencer-CV-Recorder.txt: -------------------------------------------------------------------------------- 1 | TETRA SEQUENCER - CV REC 2 | ////////////////////// 3 | GENERAL DESCRIPTION: 4 | ------------------------------ 5 | 1-4 CV AND TRIGGER SEQUENCERS 6 | IF VALUE ! 0 THEN TRIGGER NUM 7 | /////////////////// 8 | JOYSTICK-CV RECORDER: 9 | ---------------------------- 10 | SEQ 4 IS A CV RECORDER FOR 11 | JOYSTICKS LIKE DOEPFER A-174 12 | GATE 8 ENABLE OR DISABLE 13 | RECORDING 14 | PARAM DIVISOR FOR VOLTAGE IN 15 | ///////////////////////// 16 | MANUAL ADJUSTMENTS: 17 | ----------------------------- 18 | CV.SLEWS 19 | PATTERN LENGTH ON INIT SCRIPT 20 | /////////////////////// 21 | EXTERNAL CLOCK SYNC: 22 | ------------------- 23 | TRIGGER INPUT 1 FOR EXT CLOCK 24 | //////////////////////// 25 | MANUAL SCRIPT TRIGGERS: 26 | ------------------------------ 27 | SCRIPT 5-7 RANDOMIZES 1-3 SEQ 28 | ///////////////////// 29 | CREDITS: 30 | ---------- 31 | AUTHOR: DARI GARCIA 32 | RELEASE: 08/12/2024 33 | GITHUB: MANOFFTODAY 34 | 35 | 36 | #1 37 | SCRIPT 2; SCRIPT 3; SCRIPT 4 38 | 39 | #2 40 | P.N 0; A P.HERE 41 | IF NZ A: TR.P 1; CV 1 N A 42 | P.NEXT 43 | P.N 1; B P.HERE 44 | IF NZ B: TR.P 2; CV 2 N B 45 | P.NEXT 46 | 47 | #3 48 | P.N 2; C P.HERE 49 | IF NZ C: TR.P 3; CV 3 N C 50 | P.NEXT 51 | P.N 3; D P.HERE 52 | IF NZ D: TR.P 4; CV 4 N D 53 | P.NEXT 54 | 55 | #4 56 | PARAM.SCALE 1 128 57 | Y DIV IN PARAM 58 | IF EQ X 1: PN.HERE 3 Y 59 | 60 | #5 61 | P.N 0; P.INS 0 RRAND 0 1 62 | PN.POP 0 63 | 64 | #6 65 | P.N 1; P.INS 0 RRAND 0 200 66 | PN.POP 1 67 | 68 | #7 69 | P.N 2; P.INS 0 RRAND 0 200 70 | PN.POP 2 71 | 72 | #8 73 | X FLIP 74 | 75 | #M 76 | 77 | #I 78 | P.N 0; P.START 0; P.END 16 79 | P.N 1; P.START 0; P.END 16 80 | P.N 2; P.START 0; P.END 16 81 | P.N 3; P.START 0; P.END 16 82 | PN.I 0 0; PN.I 1 0; PN.I 2 0 83 | PN.I 3 0 84 | 85 | #P 86 | 5 4 5 5 87 | 1 1 1 1 88 | 0 0 0 0 89 | 16 16 16 16 90 | 91 | 0 0 0 0 92 | 0 0 0 0 93 | 0 0 0 0 94 | 0 0 0 0 95 | 0 0 0 0 96 | 0 0 0 0 97 | 0 0 0 0 98 | 0 0 0 0 99 | 0 0 0 0 100 | 0 0 0 0 101 | 0 0 0 0 102 | 0 0 0 0 103 | 0 0 0 0 104 | 0 0 0 0 105 | 0 0 0 0 106 | 0 0 0 0 107 | 0 0 0 0 108 | 0 0 0 0 109 | 0 0 0 0 110 | 0 0 0 0 111 | 0 0 0 0 112 | 0 0 0 0 113 | 0 0 0 0 114 | 0 0 0 0 115 | 0 0 0 0 116 | 0 0 0 0 117 | 0 0 0 0 118 | 0 0 0 0 119 | 0 0 0 0 120 | 0 0 0 0 121 | 0 0 0 0 122 | 0 0 0 0 123 | 0 0 0 0 124 | 0 0 0 0 125 | 0 0 0 0 126 | 0 0 0 0 127 | 0 0 0 0 128 | 0 0 0 0 129 | 0 0 0 0 130 | 0 0 0 0 131 | 0 0 0 0 132 | 0 0 0 0 133 | 0 0 0 0 134 | 0 0 0 0 135 | 0 0 0 0 136 | 0 0 0 0 137 | 0 0 0 0 138 | 0 0 0 0 139 | 0 0 0 0 140 | 0 0 0 0 141 | 0 0 0 0 142 | 0 0 0 0 143 | 0 0 0 0 144 | 0 0 0 0 145 | 0 0 0 0 146 | 0 0 0 0 147 | 0 0 0 0 148 | 0 0 0 0 149 | 0 0 0 0 150 | 0 0 0 0 151 | 0 0 0 0 152 | 0 0 0 0 153 | 0 0 0 0 154 | 0 0 0 0 155 | 156 | #G 157 | 0000000000000000 158 | 0000000000000000 159 | 0000000000000000 160 | 0000000000000000 161 | 0000000000000000 162 | 0000000000000000 163 | 0000000000000000 164 | 0000000000000000 165 | 0000000000000000 166 | 0000000000000000 167 | 0000000000000000 168 | 0000000000000000 169 | 0000000000000000 170 | 0000000000000000 171 | 0000000000000000 172 | 0000000000000000 173 | 174 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 175 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 176 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 177 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 178 | -------------------------------------------------------------------------------- /sequencers/TetraSequencer.txt: -------------------------------------------------------------------------------- 1 | TETRA SEQUENCER - SYNC 2 | ////////////////////// 3 | GENERAL DESCRIPTION: 4 | ------------------------------ 5 | 1-4 CV AND TRIGGER SEQUENCERS 6 | IF VALUE ! 0 THEN TRIGGER NUM 7 | ///////////////////////// 8 | MANUAL ADJUSTMENTS: 9 | ----------------------------- 10 | CV.SLEWS 11 | PATTERN LENGTH ON INIT SCRIPT 12 | /////////////////////// 13 | EXTERNAL CLOCK SYNC: 14 | ------------------- 15 | TRIGGER INPUT 1 FOR EXT CLOCK 16 | //////////////////////// 17 | MANUAL SCRIPT TRIGGERS: 18 | ------------------------------ 19 | SCRIPT 5-8 RANDOMIZES 1-4 SEQ 20 | ///////////////////// 21 | CREDITS: 22 | ---------- 23 | AUTHOR: DARI GARCIA 24 | RELEASE: 08/12/2024 25 | GITHUB: MANOFFTODAY 26 | 27 | 28 | #1 29 | SCRIPT 2; SCRIPT 3; SCRIPT 4 30 | 31 | #2 32 | P.N 0; A P.HERE 33 | IF NZ A: TR.P 1; CV 1 N A 34 | P.NEXT 35 | P.N 1; B P.HERE 36 | IF NZ B: TR.P 2; CV 2 N B 37 | P.NEXT 38 | 39 | #3 40 | P.N 2; C P.HERE 41 | IF NZ C: TR.P 3; CV 3 N C 42 | P.NEXT 43 | P.N 3; D P.HERE 44 | IF NZ D: TR.P 4; CV 4 N D 45 | P.NEXT 46 | 47 | #4 48 | Y DIV PARAM 2 49 | IF NZ PARAM: P.HERE Y 50 | 51 | #5 52 | P.N 0; P.INS 0 RRAND 0 1 53 | PN.POP 0 54 | 55 | #6 56 | P.N 1; P.INS 0 RRAND 0 200 57 | PN.POP 1 58 | 59 | #7 60 | P.N 2; P.INS 0 RRAND 0 200 61 | PN.POP 2 62 | 63 | #8 64 | P.N 3; P.INS 0 RRAND 1 200 65 | PN.POP 3 66 | 67 | #M 68 | 69 | #I 70 | P.N 0; P.START 0; P.END 16 71 | P.N 1; P.START 0; P.END 16 72 | P.N 2; P.START 0; P.END 16 73 | P.N 3; P.START 0; P.END 16 74 | PN.I 0 0; PN.I 1 0; PN.I 2 0 75 | PN.I 3 0 76 | 77 | #P 78 | 5 4 6 4 79 | 1 1 1 1 80 | 0 0 0 0 81 | 16 16 16 16 82 | 83 | 0 0 0 0 84 | 0 0 0 0 85 | 0 0 0 0 86 | 0 0 0 0 87 | 0 0 0 0 88 | 0 0 0 0 89 | 0 0 0 0 90 | 0 0 0 0 91 | 0 0 0 0 92 | 0 0 0 0 93 | 0 0 0 0 94 | 0 0 0 0 95 | 0 0 0 0 96 | 0 0 0 0 97 | 0 0 0 0 98 | 0 0 0 0 99 | 0 0 0 0 100 | 0 0 0 0 101 | 0 0 0 0 102 | 0 0 0 0 103 | 0 0 0 0 104 | 0 0 0 0 105 | 0 0 0 0 106 | 0 0 0 0 107 | 0 0 0 0 108 | 0 0 0 0 109 | 0 0 0 0 110 | 0 0 0 0 111 | 0 0 0 0 112 | 0 0 0 0 113 | 0 0 0 0 114 | 0 0 0 0 115 | 0 0 0 0 116 | 0 0 0 0 117 | 0 0 0 0 118 | 0 0 0 0 119 | 0 0 0 0 120 | 0 0 0 0 121 | 0 0 0 0 122 | 0 0 0 0 123 | 0 0 0 0 124 | 0 0 0 0 125 | 0 0 0 0 126 | 0 0 0 0 127 | 0 0 0 0 128 | 0 0 0 0 129 | 0 0 0 0 130 | 0 0 0 0 131 | 0 0 0 0 132 | 0 0 0 0 133 | 0 0 0 0 134 | 0 0 0 0 135 | 0 0 0 0 136 | 0 0 0 0 137 | 0 0 0 0 138 | 0 0 0 0 139 | 0 0 0 0 140 | 0 0 0 0 141 | 0 0 0 0 142 | 0 0 0 0 143 | 0 0 0 0 144 | 0 0 0 0 145 | 0 0 0 0 146 | 0 0 0 0 147 | 148 | 149 | #G 150 | 0000000000000000 151 | 0000000000000000 152 | 0000000000000000 153 | 0000000000000000 154 | 0000000000000000 155 | 0000000000000000 156 | 0000000000000000 157 | 0000000000000000 158 | 0000000000000000 159 | 0000000000000000 160 | 0000000000000000 161 | 0000000000000000 162 | 0000000000000000 163 | 0000000000000000 164 | 0000000000000000 165 | 0000000000000000 166 | 167 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 168 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 169 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 170 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 171 | -------------------------------------------------------------------------------- /sequencers/ThreeBlindMice.txt: -------------------------------------------------------------------------------- 1 | Three Blind Mice 2 | Version 2 3 | 4 | CV - Voltage/octave, lasts for 5 | whole note length. 6 | TR - gate for note, ends 20ms 7 | Short of note. 8 | 9 | CV/TR 1 - Voice 1 10 | CV/TR 2 - Voice 2 11 | 12 | PN 0 - Voice 1 note to play. 13 | PN 1 - Length of voice 1 note. 14 | PN 2 - Voice 2 note to play. 15 | PN 3 - Length of voice 2 note. 16 | 17 | Max sequence length is 64 18 | Notes. Each note may be up to 19 | 127 metronome intervals long. 20 | 21 | In this example a 16th note is 22 | 1 interval long. 23 | 24 | Obscure Constants 25 | (AKA Magic Numbers) 26 | 0 27 | Lowest note 28 | 29 | 7 30 | Number of bits used for 31 | length of note in x & y 32 | 33 | 8 34 | Number of bits reserved 35 | for each voice in x & y 36 | 37 | 127 38 | Highest note 39 | 40 | 127 41 | Longest note length 42 | 43 | 127 binary 0111111 44 | Mask value for voice 45 | 46 | 200 - 255 47 | Note range of rests 48 | 49 | 17340 = n 200 50 | Lowest volt for rest 51 | 52 | Example specific magic numbers 53 | 20 54 | Amount in ms to reduce 55 | trigger to allow envelope 56 | shaping 57 | 58 | 127 59 | Start both voices on first 60 | metronome trigger 61 | 62 | Note voice 2 is all rests! 63 | 64 | #1 65 | IF NZ & X 127: BREAK 66 | J N PN.NEXT 0; K PN.NEXT 1 67 | X | X + 1 - 127 K; K * K M 68 | IF GTE J 17340: BREAK 69 | TR.TIME 1 - K 20; CV 1 J; TR.P 1 70 | 71 | #2 72 | IF NZ & Y 127: BREAK 73 | J N PN.NEXT 2; K PN.NEXT 3 74 | Y | Y + 1 - 127 K; K * K M 75 | IF GTE J 17340: BREAK 76 | TR.TIME 2 - K 20; CV 2 J; TR.P 2 77 | 78 | #3 79 | 80 | #4 81 | 82 | #5 83 | 84 | #6 85 | 86 | #7 87 | 88 | #8 89 | 90 | #M 91 | X & 127 + X 1 92 | Y & 127 + Y 1 93 | $ 1; $ 2 94 | 95 | #I 96 | PN.I 0 PN.END 0; PN.I 1 PN.I 0 97 | PN.I 2 PN.END 2; PN.I 3 PN.I 2 98 | CV 1 0; CV 2 0; CV 3 0; CV 4 0 99 | X 127; Y 127; M 100 100 | 101 | #P 102 | 49 49 2 2 103 | 1 1 1 1 104 | 0 0 0 0 105 | 48 48 1 1 106 | 107 | 62 6 210 12 108 | 61 6 210 12 109 | 60 12 0 0 110 | 62 6 0 0 111 | 61 6 0 0 112 | 60 12 0 0 113 | 64 6 0 0 114 | 63 4 0 0 115 | 63 2 0 0 116 | 62 12 0 0 117 | 64 6 0 0 118 | 63 4 0 0 119 | 63 2 0 0 120 | 62 10 0 0 121 | 64 2 0 0 122 | 67 4 0 0 123 | 67 2 0 0 124 | 66 2 0 0 125 | 65 2 0 0 126 | 66 2 0 0 127 | 67 4 0 0 128 | 64 2 0 0 129 | 64 4 0 0 130 | 64 2 0 0 131 | 67 2 0 0 132 | 67 2 0 0 133 | 67 2 0 0 134 | 66 2 0 0 135 | 65 2 0 0 136 | 66 2 0 0 137 | 67 4 0 0 138 | 64 2 0 0 139 | 64 4 0 0 140 | 64 1 0 0 141 | 64 1 0 0 142 | 67 4 0 0 143 | 67 2 0 0 144 | 66 2 0 0 145 | 65 2 0 0 146 | 66 2 0 0 147 | 67 2 0 0 148 | 64 2 0 0 149 | 64 2 0 0 150 | 64 4 0 0 151 | 63 2 0 0 152 | 62 6 0 0 153 | 61 6 0 0 154 | 60 10 0 0 155 | 210 2 0 0 156 | 0 0 0 0 157 | 0 0 0 0 158 | 0 0 0 0 159 | 0 0 0 0 160 | 0 0 0 0 161 | 0 0 0 0 162 | 0 0 0 0 163 | 0 0 0 0 164 | 0 0 0 0 165 | 0 0 0 0 166 | 0 0 0 0 167 | 0 0 0 0 168 | 0 0 0 0 169 | 0 0 0 0 170 | 0 0 0 0 171 | 172 | #G 173 | 0000000000000000 174 | 0000000000000000 175 | 0000000000000000 176 | 0000000000000000 177 | 0000000000000000 178 | 0000000000000000 179 | 0000000000000000 180 | 0000000000000000 181 | 0000000000000000 182 | 0000000000000000 183 | 0000000000000000 184 | 0000000000000000 185 | 0000000000000000 186 | 0000000000000000 187 | 0000000000000000 188 | 0000000000000000 189 | 190 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 191 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 192 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 193 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 194 | -------------------------------------------------------------------------------- /sequencers/orca.txt: -------------------------------------------------------------------------------- 1 | ORCA TELETYPE VERSION 2 | 3 | 4 | 5 | #1 6 | L 0 3 : PN 1 I RRAND 1 8 7 | 8 | #2 9 | L 0 3 : PN 2 I RRAND 0 7 10 | 11 | #3 12 | C WRAP SUB C 1 0 15 13 | 14 | #4 15 | C WRAP ADD C 1 0 15 16 | 17 | #5 18 | X ADD I 4 19 | D DIV ADD A PN 2 I PN 1 I 20 | PN 2 X MOD D 2 21 | D MUL PN 2 X PN 1 X 22 | PN 3 ADD I 8 D 23 | 24 | #6 25 | O LSH SUB I 1 2 26 | D MUL PN 3 O PN 3 8 27 | D ADD D MUL PN 3 O PN 3 9 28 | D ADD D MUL PN 3 O PN 3 10 29 | D ADD D MUL PN 3 O PN 3 11 30 | PN 3 ADD 11 I D 31 | 32 | #7 33 | IF PN 2 4 : TR.PULSE 1 34 | IF PN 2 5 : TR.PULSE 2 35 | D MOD ADD C PN 3 12 16 36 | CV 1 N PN 0 D 37 | D MOD ADD C PN 3 13 16 38 | CV 2 N PN 0 D 39 | 40 | #8 41 | B 16 42 | P.N 1 43 | L 0 3 : P I LSH 1 I 44 | L 0 3 : P ADD 4 I LSH 1 I 45 | L 0 3 : PN 2 I 0 46 | L 0 7 : PN 3 I 1 47 | 48 | #M 49 | A MOD ADD A 1 B 50 | L 0 3 : SCRIPT 5 51 | L 1 2 : SCRIPT 6 52 | SCRIPT 7 53 | 54 | #I 55 | A 0 56 | C 0 57 | 58 | #P 59 | 64 8 0 4 60 | 1 1 1 1 61 | 0 0 0 0 62 | 63 63 63 63 63 | 64 | 0 1 1 1 65 | 2 6 5 0 66 | 4 6 4 0 67 | 5 8 2 1 68 | 7 1 0 0 69 | 9 2 1 0 70 | 10 4 1 1 71 | 12 8 0 1 72 | 14 8 0 0 73 | 16 8 0 2 74 | 17 0 0 4 75 | 19 0 0 0 76 | 21 0 0 0 77 | 22 0 0 4 78 | 24 0 0 0 79 | 26 0 0 0 80 | 0 0 0 0 81 | 0 0 0 0 82 | 0 0 0 0 83 | 0 0 0 0 84 | 0 0 0 0 85 | 0 0 0 0 86 | 0 0 0 0 87 | 0 0 0 0 88 | 0 0 0 0 89 | 0 0 0 0 90 | 0 0 0 0 91 | 0 0 0 0 92 | 0 0 0 0 93 | 0 0 0 0 94 | 0 0 0 0 95 | 0 0 0 0 96 | 0 0 0 0 97 | 0 0 0 0 98 | 0 0 0 0 99 | 0 0 0 0 100 | 0 0 0 0 101 | 0 0 0 0 102 | 0 0 0 0 103 | 0 0 0 0 104 | 0 0 0 0 105 | 0 0 0 0 106 | 0 0 0 0 107 | 0 0 0 0 108 | 0 0 0 0 109 | 0 0 0 0 110 | 0 0 0 0 111 | 0 0 0 0 112 | 0 0 0 0 113 | 0 0 0 0 114 | 0 0 0 0 115 | 0 0 0 0 116 | 0 0 0 0 117 | 0 0 0 0 118 | 0 0 0 0 119 | 0 0 0 0 120 | 0 0 0 0 121 | 0 0 0 0 122 | 0 0 0 0 123 | 0 0 0 0 124 | 0 0 0 0 125 | 0 0 0 0 126 | 0 0 0 0 127 | 0 0 0 0 128 | -------------------------------------------------------------------------------- /sequencers/turing machine.txt: -------------------------------------------------------------------------------- 1 | TURING MACHINE 2 | 3 | 5 = COPY 1 TO 2 4 | 6 = CLOCK OUT 2 5 | 7 = READ PARAM, MAYBE CHANGE 6 | 8 = CLOCK 7 | 8 | 9 | 10 | #1 11 | 12 | #2 13 | 14 | #3 15 | 16 | #4 17 | 18 | #5 19 | L 0 7 : PN 1 I PN 0 I 20 | 21 | #6 22 | P.N 1 23 | P.INS 0 P.POP 24 | X 0 25 | L 0 4 : X ADD X LSH P I I 26 | CV 2 N PN 4 X 27 | TR.PULSE 2 28 | 29 | #7 30 | P.N 0 31 | I SCALE 100 16000 0 100 PARAM 32 | PROB I : P.PUSH EZ P.POP 33 | 34 | #8 35 | P.N 0 36 | P.INS 0 P.POP 37 | X 0 38 | L 0 4 : X ADD X LSH P I I 39 | CV 1 N PN 4 X 40 | TR.PULSE 1 41 | 42 | #M 43 | 44 | #I 45 | P.N 0 46 | L 0 63 : P.POP 47 | L 0 7 : P.PUSH TOSS 48 | P.N 1 49 | L 0 63 : P.POP 50 | L 0 7 : P.PUSH PN 0 I 51 | 52 | #P 53 | 8 8 0 1 54 | 1 1 1 1 55 | 0 0 0 0 56 | 63 63 63 63 57 | 58 | 1 1 0 0 59 | 1 0 0 2 60 | 0 1 0 3 61 | 1 1 0 5 62 | 0 0 0 7 63 | 1 1 0 10 64 | 1 1 0 12 65 | 1 1 0 14 66 | 0 0 0 15 67 | 0 0 0 17 68 | 0 0 0 19 69 | 0 0 0 22 70 | 0 0 0 24 71 | 0 0 0 26 72 | 0 0 0 27 73 | 0 0 0 29 74 | 0 0 0 31 75 | 0 0 0 34 76 | 0 0 0 36 77 | 0 0 0 38 78 | 0 0 0 39 79 | 0 0 0 41 80 | 0 0 0 43 81 | 0 0 0 46 82 | 0 0 0 48 83 | 0 0 0 50 84 | 0 0 0 51 85 | 0 0 0 53 86 | 0 0 0 55 87 | 0 0 0 58 88 | 0 0 0 60 89 | 0 0 0 62 90 | 0 0 0 63 91 | 0 0 0 0 92 | 0 0 0 0 93 | 0 0 0 0 94 | 0 0 0 0 95 | 0 0 0 0 96 | 0 0 0 0 97 | 0 0 0 0 98 | 0 0 0 0 99 | 0 0 0 0 100 | 0 0 0 0 101 | 0 0 0 0 102 | 0 0 0 0 103 | 0 0 0 0 104 | 0 0 0 0 105 | 0 0 0 0 106 | 0 0 0 0 107 | 0 0 0 0 108 | 0 0 0 0 109 | 0 0 0 0 110 | 0 0 0 0 111 | 0 0 0 0 112 | 0 0 0 0 113 | 0 0 0 0 114 | 0 0 0 0 115 | 0 0 0 0 116 | 0 0 0 0 117 | 0 0 0 0 118 | 0 0 0 0 119 | 0 0 0 0 120 | 0 0 0 0 121 | 0 0 0 0 122 | -------------------------------------------------------------------------------- /sequencers/txi markov.txt: -------------------------------------------------------------------------------- 1 | MARKOV SEQUENCER X5 ENHNCD 2 | 3 | N1=0 4 N2=5 9 N3=10 14 4 | N4=15 19 N5=20 25 5 | 6 | PRM: RECORD 7 | TI.P1: 1=MARKOV 0=SEQ 8 | TI.P2: CHANGE P.N 0 SCALE 9 | 5 MAX : 0-4 5-9 10-14 ETC... 10 | TI.P3: REQ VARIATION AMOUNT 11 | TI.P4: MARKOV TRI PROBABILITY 12 | 13 | TR 1 : TRIGGER 14 | CV 1: NOTE 15 | 16 | TR 2 IS FOR VISUAL FEEDBACK 17 | ONLY (WHEN IN MARKOV MODE) 18 | 19 | 20 | 21 | #1 22 | IF ! TI.PRM 3: A >> TI.PRM 1 8 23 | PROB RSH TI.PRM 3 8: A RAND 2 24 | IF GT A 0: SCRIPT 2 25 | IF EQ A 0: T 1 26 | ELSE: T 2 27 | L 6 7: SCRIPT I 28 | 29 | #2 30 | PROB / TI.PRM 4 163: SCRIPT 3 31 | DEL 1: A 0 32 | B QT TI.PRM 2 5 33 | 34 | #3 35 | P.N 0 36 | SCRIPT 4 37 | CV 1 N P.HERE 38 | TR.PULSE 1 39 | X - P.I B 40 | O 0 41 | 42 | #4 43 | P.N 1 44 | P.I MUL X 5 45 | IF GT P.I 24: P.I / P.I B 46 | SUB O 1 47 | L 1 5: SCRIPT 5 48 | 49 | #5 50 | P.N 1 51 | Y O 52 | Z P.HERE 53 | IF GT Y 0: P.I ADD P.I 1 54 | P.N 0 55 | PROB Z: P.I + - Y 1 B 56 | 57 | #6 58 | IF NZ >> PRM 8: D 1 59 | ELSE: D 0 60 | P.N 2 61 | P.NEXT 62 | IF == D 1: P.HERE TR 1 63 | IF NZ P.HERE: TR.PULSE T 64 | 65 | #7 66 | P.N 3 67 | P.NEXT 68 | IF == D 1: P.HERE ADD X B 69 | C P.HERE 70 | IF == A 0: SCRIPT 8 71 | 72 | #8 73 | P.N 0 74 | P.I C 75 | CV 1 N P.HERE 76 | 77 | #M 78 | M 30 79 | P.N 4 80 | IF EQ P.I 0: TR.PULSE 4 81 | TI.PRM.MAP 2 0 25 82 | 83 | #I 84 | O 0 85 | O.MIN 0 86 | O.MAX 5 87 | M.ACT 1 88 | L 1 4: TO.TR.TIME I 25 89 | X P.I 90 | 91 | #P 92 | 41 64 64 64 93 | 1 1 1 1 94 | 0 0 0 0 95 | 43 24 15 15 96 | 97 | 0 20 1 0 98 | 4 50 1 1 99 | 7 50 1 2 100 | 9 0 1 2 101 | 12 20 1 2 102 | 0 0 0 0 103 | 5 0 0 4 104 | 6 80 0 0 105 | 7 0 1 1 106 | 13 0 0 1 107 | 0 50 0 1 108 | 5 0 0 1 109 | 9 0 1 0 110 | 12 0 1 0 111 | 17 0 1 0 112 | 0 50 1 0 113 | 4 0 0 2 114 | 12 0 0 3 115 | 13 0 0 3 116 | 16 0 0 3 117 | 0 50 1 3 118 | 0 0 1 3 119 | 0 0 1 2 120 | 0 50 1 2 121 | 0 0 1 3 122 | 0 0 0 2 123 | 0 0 0 2 124 | 0 0 1 2 125 | 0 0 1 3 126 | 0 0 1 2 127 | 0 0 0 2 128 | 0 0 0 3 129 | 0 0 1 3 130 | 0 0 0 3 131 | 0 0 1 2 132 | 0 0 0 2 133 | 0 0 1 2 134 | 0 0 0 2 135 | 0 0 0 3 136 | 0 0 0 3 137 | 0 0 0 3 138 | 0 0 0 3 139 | 0 0 0 3 140 | 0 0 0 3 141 | 0 0 0 3 142 | 0 0 0 3 143 | 0 0 0 3 144 | 0 0 0 3 145 | 0 0 0 3 146 | 0 0 0 3 147 | 0 0 0 3 148 | 0 0 1 3 149 | 0 0 0 3 150 | 0 0 0 3 151 | 0 0 1 3 152 | 0 0 1 3 153 | 0 0 1 3 154 | 0 0 0 3 155 | 0 0 0 3 156 | 0 0 1 3 157 | 0 0 1 3 158 | 0 0 0 0 159 | 0 0 0 0 160 | 0 0 0 0 161 | -------------------------------------------------------------------------------- /studies/README.md: -------------------------------------------------------------------------------- 1 | # Teletype Studies 2 | Scenes created via Teletype Studies (https://monome.org/docs/modular/teletype/studies-1/). This can include the original scenes or variations. 3 | -------------------------------------------------------------------------------- /utils/README.md: -------------------------------------------------------------------------------- 1 | # Teletype Utilities 2 | Utility scripts including logic, quantization, math, etc. 3 | --------------------------------------------------------------------------------