Composing with Teletype

This article by Laurie Spiegel is particularly relevant to the sorts of operations you may want to do on musical data. Teletype is particularly well suited for many of these operations.

http://retiary.org/ls/writings/musical_manip.html

i.e.

  • Transposition
  • Reversal
  • Rotation
  • Fragmentation
  • Repetition

Highly suggested if you’re digging into Teletype. These are the sorts of ideas I was pursuing while designing the system.

41 Likes

Wow, such a great paper. Thanks for sharing this.

Thank you for sharing this!

This breakdown of the structurally meaningful “gestures” seems super useful, especially in the way the ideas are described. There is musical specificity, but also a language that is general enough so that it is applicable to other media, formats or languages. I always respond well to this type of cross-media thinking. As I read this, I am considering how these ideas relate to working with objects, or images. And through that I am able to imagine approaching sound again, but from a more diversified, hybridized perspective.

3 Likes

Cool. Bookmarked for later. You should try and get a teletype into Spiegel’s hands. I bet she’d love it.

would be happy to send one if i knew she used eurorack…

Very interesting and clear article.
This gave me an idea : the paragraph ‘interpolation’ made me think of a command like ‘X.SLEW’ where changes to a variable would be smoothed. Wouldn’t this be great ?

hmmm, that’s interesting. a slew added to a changing variable value internally over specified period of time. really intrigued by the possibilities there…

To go further with the idea, i really hope the SCALE command will be in v2. So you could map X Y Z to specific ranges and change them all at once with the parameter knob…
Same goes to straight CV commands…

reviving!

I know some folks have recently come into Teletype (as I have!), so I wanted to poke at these ideas to see if anything has come from time + new TT software + new monome/mannequins modules. this feels like the right space for these questions, as the code exchange thread covers more utilitarian/functional ground.

though I’ve only had it a month, I’ve somehow landed on (and feel trapped by) a default approach to TT:

  • wire triggers from Ansible (8:Meadowphysics, 4:Kria) to TT
  • pick a scale/chord to explore
  • use pitch-class set notation (using these helpful dang things) to enter the semitone steps into TT’s pattern lists
  • set some sort of X RAND _; Y RAND _ in the M script
  • throw a CV _ N PN X Y in each trigger script, going out to applicable v/8’s
  • include a few DELayed TR P's or a timbre/filter-linked CV _ V command
  • let MP/KR do its thing, with some user input

this workflow is definitely capable of generating landscapes of random-yet-harmonious tones and semi-coordinated shifts, but it doesn’t feel like a very inspired way to use TT for composition. I know that personal definition of composition will skew that, but I guess Brian’s videos represent the balance I’m striving for – compositional structures and knowns that give way to play and discovery within the elements covered by the Spiegel article.

I have a Walk that I’d like to off-board some of Ansible’s triggering duties to and I think that a lot could be done with some nifty SCRIPT recursions, but I’m sort of hitting the walls of the box I accidentally found my way into. What are some of the ways people have holistically integrated Teletype as a compositional tool? How do the operations of Transposition, Reversal, Rotation, Fragmentation and Repetition manifest for you?

Secondary to these wider-spanning ideas, any tips on how to approach Teletype as a way to enhance the natural compositional strengths of Kria?

17 Likes

Yay! I didn’t see this thread until you revived it, and Laurie’s piece is just the stuff I love to soak up.

As a recent (~3 days experimenting) teletype user, I’ve been most interested in the ways that teletype can be used along side other modules, and more to the point ; as a cog in the whole composition within a system vs a “teletype patch”. That comes from a place of me wanting all the modules in my rack to be used to their full potential, and not have any one take too much away from the others, which I feel “unlocks” the variety potential of a patch. Anyway… my recent experiments with patterns have been similar to what Dan describes, and I kind of love (wasn’t expecting this) changing the melody via typing in new semitones in the pattern editor as a way to ~perform a patch. This goes for things like CV.SLEW and DEL times as well. My knowledge of the TT language is still in its infancy and while I am getting musical results, a lot of it is from experimentation so I am still not quite at a point where I can spit out scripts to post but! the concepts are in my head…

Giving TT a few triggers from an Ansible IS the most immediate thing - I also did this at first and find myself just patching it up every time. But I have started to experiment with more variant, whole-rack incorporating things. Today the TT was getting some outputs from Morphagene (who is being modulated by other things who are being modulated by other things), which was in charge of another voice in my patch. It creates commands that are all related, but not mimicking. Again sorry if this all seems vague. I am simultaneously learning as I type out my thoughts here and am just so excited to be in a present day TT discussion. Because this thing is crazy. I am having so much fun learning it and challenging myself to think of sequencing and CV differently, and it is wonderful. I think my best takeaway from Teletype has been : it doesn’t do what every other module you’ve ever tried and love does, it does what they don’t do! So in the spirit of keeping my mind an open box, I will continue to experiment with TT being a multifaceted piece of my synth and update accordingly. :gem:

10 Likes

My compositional technique with the Teletype is one of offloading.

I tend to build a patch without it and then analyze what can be replaced by the TT. Trying to build a TT scene from scratch still makes me uncomfortable, so I build what I’m comfortable/fluent in and then translate it. Then, I have a self-contained, recallable version of that patch.

My favorite scene that I’ve made is this one:

Also, for people just now learning TT, I posted Max versions of the Teletype Studies patches:

With the help of @zebra, here’s a print-ready PDF copy of TT Studies to keep next to your modular:

5 Likes

@tehn do you have examples of how you’re applying these operations? Some are pretty obvious, but others less so.

Transposition: CV.OFF

Reversal: P.PREV instead of P.NEXT. You could either have two different scripts, or use a conditional to choose which direction you’re going. One option is the state of the PARAM knob.

Rotation: If you do “P.INS P.POP 0” (or is it 1?), you’ll take the last note in the pattern and move it to the beginning.

Fragmentation: Use P.START and P.END to choose which subset of data is repeating.

8 Likes

It’s so simple when you put it that way. :slight_smile:

Was thinking a bit about interpolation and extrapolation. Extrapolation can be done with machine learning. Interpolation seems like something teletype should be able to do, but I’m not finding purchase for that idea…

I do long for more examples that I can study (and wouldn’t it be wondeful if they were annotated in these Spiegel-esque terms) like one might study a Bach piece, while also hearing its musicality.

@dan_derks posted an excellent composition, along with the TT code here. I’ve watched this a bunch of times and am still floored by it:

1 Like

a great thread to revive, thanks for doing that! and thanks for the reminder to read the article, bookmarked it back then but forgot. i’ve been thinking a lot about meta / fragment sequencing, about how it would work, extracting transformations and sequencing them instead of sequencing notes. this article articulates it so well, incredibly thought provoking. and i love the fact she mentions computer sequencing / composing specifically.

apologies for the wall of text below, i find this topic so inspriring - and love that people talk about their overall tt experiences as well as posting specific examples!

as @trickyflemming posted you can translate some of the actions directly into scripts - transposition, rotation etc. that’s a good way to approach coding a teletype scene - start with some simple concept (a metro script driven sequencer based on pattern values, for instance) and then treat scripts as actions that apply some transformation. so then script 1 could swap a couple of steps randomly, script 2 could transpose up by an octave, script 3 - transpose down, script 4 could double the rate, script 5 could decrease the rate etc.

how these actions are triggered also plays a major role, meadowphysics / ansible / clock dividers etc, or have different scripts output pulses and cross patch TT itself. or see these as gestures and connect them to monome walk / pressure points etc, so then you are performing a composition. you could do something completely crazy, like having a trigger input call a script where the script number is determined by the param knob, or by some external CV from a ribbon or a theremine controller.

another way: have each script perform a fragment. say, script 1 plays a 3 note sequence and generates a burst of 5 triggers. script 2 plays 8 notes with random gates. etc etc. then use metro script to sequence scripts.

it might also be helpful to approach coding a scene similarly to doing a patch. often a patch is built by creating something simple and then applying modulation where appropriate. using a simple sequencer as an example again, have metro script simply step through pattern values. then start modulating various things. what if instead of keeping the constant metro rate we change it on each step using pattern values as well? what if we use 2 oscillators and use a random number to determine which CV output gets updated? etc etc.

one way to think about the above is trying to identify fundamental principles your scene runs on - in case of simple sequencer we have direction, speed, number of steps, which outputs are used. what would happen if we tried to change those fundamental principles? put them under CV control? it’s kinda like circuit bending it where you change the rules of the game itself instead of just changing the sequence.

meta sequencing - use teletype with multiple modules and have tt coordinate kria / earthsea / meadowphysics / whatever. sequence your sequencers. using the above idea of scripts as actions use some scripts as actions that affect multiple sequencers at once, a script that resets everything being the simplest example, but doing completely unrelated things could be fun too.

final thought, one thing that i think makes teletype a completely unique module is the descriptive nature of it. patching modular is like that “the incredible machine” game sometimes, you know what you want to do but you have to think how to translate that into a patch (if i want this sequence to play after this sequence is done i need… a switch? a flip flop?). with teletype no such translation is needed, you think “when a trigger comes in i want a random voltage generated on this output and i want 3 trigger outputs triggered sequentially with a random delay in between” and then you can just program that exactly.

a couple more threads for ideas: https://llllllll.co/t/orca-style-sequencing-with-teletype-scripts
https://llllllll.co/t/teletype-creating-gate-patterns

13 Likes

oh man oh man, so many great ideas and insights!

BRILLIANT.
these insights really shook me out of my funk – I didn’t realize that I had created such a restrictive definition for “triggers” until reading these posts. I was also immediately reminded of @stripes’s “Piano” Music patch and how Emily used triggers from Just Friends into Kria. Anything can be a trigger! It got me looking at my setup and I wondered if I’ve been underutilizing Cold Mac by using it for audio only. Turns out, uhhh yep:

This is a TT script that I had written the other night as another Ansible-driven config – swapped the patching to Cold Mac and immediately started having a ton of fun. v/8 offsets, TR delays, RANDs for miles, PN truncations and extensions…all unified by Cold Mac’s gestures. And my only Ansible trigger is pulsing Just Friends!

Y’all, thank you so much. Reading your thoughts undid a week’s worth of bumming out.

Unsure if it’s useful to see the score/compositional code for this particular blip but happy to share if asked! Whatever helps further the dialogue.

19 Likes

@dan_derks I would love to see tt code/patch notes for this. Perhaps in the Teletype Code Exchange thread. Looks like a really fun patch. Nicely done.

2 Likes

yay :slight_smile: awesome results!! i too would love to see the patch notes. particularly interested in exactly what cold mac is getting. monome and mannequins modules get along so well i can’t imagine having one without the other in a case.

4 Likes

thank you for the kindness, @whyihatetexas and @stripes (and @trickyflemming) !

posted here:

so excited to see where everyone’s new TT adventures take us!

2 Likes