MATRIXSYNTH: Mutable (ST)RINGS | Modular Composing | Open Sequencing


Thursday, February 13, 2025

Mutable (ST)RINGS | Modular Composing | Open Sequencing


video upload by Cinematic Laboratory

"I guess it's much cheaper to find new use to existing modules instead of getting more modules that don't really add anything new. We all know Mutable Rings, it's our modular guitar. So how about trying to play it like a guitar? In this video, I'll use a static arp, like the strings on a guitar, tuned to whatever you like (like Fripp's New Standard Tuning) and then move the individual notes around like a fretboard. It's like a note-by-note transpose. Do you know any sequencer that can do this? Sure! Five12 Vector has chance operations and subsequencers. Westlicht has note ranges and you can use Track B to transpose track A. But you can't transpose the indivual notes in an ARP with their own subsequences. I've been working on this idea because it's a cool addition to our stochastic generative dice controlled compositions. I'd like to all it 'open sequencing' as a tribute to 'open composers' from the 50's and 60's. People like John Cage and Hans Otte, but also people like Robert Fripp (tuning of fifths) and Hans Zimmer (double harmonic dune scale).

It's even cooler to use a module that allows you to build what doesn't exist yet, lke Monome Teletype. I wrote a script you can load in your module, but Teletype is also part of the VCV free module collection. I bet you'd never use it without some help. So here's a script you can cut, paste in a .TXT and load it into the 'active script' of Teletype."
--COPY AFTER THIS



#1
TR.PULSE 1
EVERY 8: TR.PULSE 2
CV 1 N P.HERE
P.NEXT
CV 2 N RRND 0 32
CV 3 N RRND 0 32

#2
X P.HERE
X ADD X RRND 0 5
P P.I X

#3
Y P.HERE
Y SUB Y RRND 0 5
P P.I Y

#4

#5

#6

#7

#8
M 250
P.L 8
P 0 0; P 1 2; P 2 7; P 3 10
P 4 10; P 5 7; P 6 3; P 7 0
P.WRAP

#M

#I
SCRIPT 8

#P
8 0 0 0
1 1 1 1
0 0 0 0
63 63 63 63

-5 0 0 0
-12 0 0 0
8 0 0 0
26 0 0 0
9 0 0 0
23 0 0 0
6 0 0 0
1 0 0 0
8 0 0 0
9 0 0 0
10 0 0 0
11 0 0 0
12 0 0 0
13 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0

#G
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

--STOP HERE and don't include this line
I also added a script explanation below. This doesn't run, but you will be able to figure out what's going on. Don't load this script into Teletype. It's not a script. It's an explanation file. You may get the courage to dive into the language. It's very doable and super elegant. All script numbers define what would happen if you send a trigger to the T1 to T8 inputs.


#1 --Script 1
TR.PULSE 1 --Transmit a pulse to the T1 output.

EVERY 8: TR.PULSE 2 --Every eight times this script runs, send a pulse to T2.
--With a teletype you will never need a clock divider :)

CV 1 N P.HERE --Send CV to output C1, with a Note value that's in the current table position.
P.NEXT --Move to the next table position. It will automatically wrap to the first.
CV 2 N RRND 0 32 --Send a random note value between (randomrange) 0 and 32 CV2
CV 3 N RRND 0 32 --Send a random note value between 0 and 32 to CV3

#2 --Script 2
X P.HERE --Store the note value in the current table position into a 'box' named X.
X ADD X RRND 0 5 --Add a random value between 0 and 5 to X and put it back in the box.
P P.I X --Set the current table value (the index is P.I) to our new X value

#3 --Script 3
Y P.HERE --Store the note value in the current table position into a 'box' named Y.
Y SUB Y RRND 0 5 --Subtract a random value between 0 and 5 from Y and put it back in the box.
P P.I Y --Save the value of Y into the current table position.

#8 --This is the initialize/reset script
M 250 --Set metronome to 1/4 sec (not used)
P.L 8 --Set table size to 8 'slots' where you can store stuff
P 0 0; P 1 2; P 2 7; P 3 10 --Set specific note values in slots 1 to 4
P 4 10; P 5 7; P 6 3; P 7 0 --Set specific note values in slots 5 to 8
P.WRAP --Make sure the table 'wraps' when we reach the end

#M --This is the metronome script. It's not used, but I've set the metronome to
--250 msec so you could execute something at every tick.

#I
SCRIPT 8 --Execute Script 8 when the program begins

No comments:

Post a Comment

Note: comments that insult people will be removed. Critique on gear is allowed. Do not ask if listings are still available. Click through auction links to check yourself. Posts and pics remain for historical purposes. To reduce spam, comments for posts older than one week are not displayed until approved (usually same day).

PREVIOUS PAGE NEXT PAGE HOME



Switched On Make Synthesizer Evolution Vintage Synthesizers Creating Sound Fundlementals of Synthesizer Programming Kraftwerk

© Matrixsynth - All posts are presented here for informative, historical and educative purposes as applicable within fair use.
MATRIXSYNTH is supported by affiliate links that use cookies to track clickthroughs and sales. See the privacy policy for details.
MATRIXSYNTH - EVERYTHING SYNTH