notes

Noisevember 2022

=> Noisevember album on Bandcamp

My self-imposed constraints for Noisevember:

Following notes are in reverse date order

2022-11-08: mini turing

I got so distracted yesterday and focused on a project that all of a sudden it was the wee hours of the morning I needed to go to bed. So I didn’t noisevember yesterday aside from goalsetting. (See below)

Tonight got late too as I worked on a grant. But I vowed to correct my absence yesterday. I’d make a mini improv’d project. I started with live coding then I added the bits and did lke a mini turing machine for a pattern, thus the name.

Modules: Teletype, PLaits, Rings, Magneto Strymon + big honking button to trigger script 1

M 
CV 1 N P.NEXT
TR.P 1
EVERY 2: TR.P 2
EVERY 4: TR.P 3

I
M 400
L 1 4: P.NEXT RAND 9
PARAM.SCALE 0 13

1
P RAND 4 RAND 10

2 
CV 2 PARAM

I recorded a few loopy tracks with this setup.

2022-11-07: more goalsetting

I’m doing some brainstorming and decided to capture down in text some clarifying goals for myself relating to using the Teletype. First I’ll lay out general ideas, then try to translate them into measurable outcomes.

Measurable goals:

2022-11-06: kicks and flips

I still have this goal of making footwork with teletype. Maybe that’s a dumb goal. But I think I maybe got a little closer. I tried making a triplet yesterday and failed, so posted my result to the Teletype Studies discord group. Someone suggested the line of code

DEL.R ? A 3 1 / M 2: TR.P 4

Let’s see if I can say what it means: Delay by milliseconds 3 times if A is true or 1 time otherwise, with the delay time / M 2 to divide the metronome tic time in half. As Cameron pointed out in the chat, if M is 100 and A is true, we buffer 3 commands at 0ms, 50ms, and 100ms. Later he suggested trying / M 3 would be better for a triplet at 0, 33ms, 66ms, so I thought I’d try that too.

I script initializes short pulse times. I found my parameter knob max value wasn’t registering correctly, so I set it to the stated max value, which is possibly a mistake. Maybe I’m actually supposed to recalibrate? Anyway, I went with it. I’m using the param knob to check if I’m greater than halfway turned to the left or not. If so I set A to true, otherwise false, which is used in M script to run that ternary above deciding on triplets or straight 16ths.

A next iteration of this Cameron suggested I should set a variable for the delay time to move through different divisions and multiplications of M. Sounds good. In this script I had to look up how to do IF ELSE, which was pretty straightforward. Polish notation being easier than Forth’s RPN system I suppose. Even the ternary operator wasn’t too bad.

Modules:
Monome Teletype to Plaits and 2 x Drum2

M
EVERY 1: TR.P 1
EVERY 2: TR.P 2
EVERY B: SCRIPT 1
IF LT PARAM 8191: A 1
ELSE: A 0

I
L 1 4: TR.TIME I 11
M 400
A 0
B 1

1:
DEL.R ? A 3 1 / * M 2 3: $ 2

2:
TR.P 4

2022-11-05: kicks and spares

kicks and spares setup

First thing today: I put a bunch of Teletype documentation online on Gemini. I can’t say I love browsing through the Monome documentation on http, and some content is hidden, so I made my own landing page and edited the markdown to gemtext, which was mostly cutting out some characters for italics, bolding and inline code. I was excited to come across Advanced and Quickstart documents, as those aren’t on the Teletype landing page anymore. Maybe they’re considered too old and out of date? I don’t know. I’ll dig into them later this week. I may add more Teletype content here later, such as code from the Teletype codex or snippets from Lines.

Monome Teletype mirror on Gemini

Tonight I started around 1:30am which is really 2:30am but it’s daylight savings so ok it’s 1:30am now. I wanted to do some beat thing and had seen someone post about Every 2 on the Teletype Studies Discord so I decided to try it out. I tried going for some footwork thing but couldn’t figure out how to do triplets.

I’m still using Param.scale so that I can scale the parameter knob, which controls the voltage sent out of CV 3, which changes the model playing on Plaits again. I used this to switch drums. Might be nice to automate this by beat too. My Script 1 line 3 didn’t work exactly as I wanted for the triplets, but I left it because it still sounded neat.

Modules: Monome Teletype to Plaits and Rings and 2xDrum2. All into Beads for some texture. The drums were sent into a mixer and then Nearness to pan them. At the end I did end up plugging in Marbles CV out just to add some random modulation to Drum 2 and Plait’s Harmonics but we can pretend I didn’t add it and could have just tweaked those by hand.

M
TR.PULSE 1
EVERY 2: TR.PULSE 2
EVERY 4: TR.PULSE 3
EVERY 3: SCRIPT 1
CV 3 VV QT PARAM 10
EVERY 2: SCRIPT 2

I
PARAM.SCALE 0 200
M 600

1
TR.PULSE 4
DEL DIV M 3: TR.PULSE 4
DEL MUL DIV M 3 2: TR.PULSE 4

2
TR.PULSE 4

2022-11-04: Form Follows Function

Tonight I started by playing with the program I set up last night. Then I decided I wanted to try to make things “sound good.” I remembered that I really enjoyed lesson 2 of the Teletype Studies. Maybe I could study what was going on in that one, since the code was really clear but produced random beautiful sounds.

I started by just following the directions and typing in the example code and tuning my two oscillators together. I used 2hp pluck and Plaits in the strings mode. But then I made a few changes, again using the param knob to change bpm and making some minor changes overall. I used my Marbles for random trigger inputs to 1-3, Scales and Big Honking Button for inputs 4-6, and Wogglebug for 7-8. Phew. This violates my ‘rules’ in terms of number of modules but seems like it’s for a good reason and the emphasis here is still on Teletype.

I love how this came out and played it for about 30 minutes. The second oscillator following the first is so beautiful, and the way I have this set up to use a combo of randomness from Marbles plus my own triggers on Big Honking Button and Scales was a nice ‘collaboration’ between me and the instrument.

Modules: Wogglebug+Big Honking Button+Marbles trigger inputs to Teletype, Output to Plaits and Pluck running to Beads

M
CV 2 CV 1
TR.PULSE 2
M BPM PARAM
TR.PULSE TOSS

I
TR.TIME 2 50
CV.SLEW 1 100
CV.SLEW 4 1000
PARAM.SCALE 40 180

1
CV 1 0

2
CV.SET 1 N 7

3
CV 1 N QT RAND 3 1

4
CV.OFF 1 N 5

5
CV.OFF 1 0

6
CV.OFF 1 V 1

7
CV.OFF 2 0
CV 4 V 2

8
CV 4 0

Afterwards my girlfriend asked if we could run music into it. We had been joking about Old Town Road a few night ago so I ran that into Beads for some extreme granular texture rubbing. We laughed for a long time.

2022-11-03: super drifter

Despite feeling unwell tonight I proceeded to do many things. First I downloaded and uploaded the Teletype’s firmware from 3.0.0 to 4.0.0 using a A-A cable borrowed from Paul at school. Saved me having to spend $15 ordering one and waiting a few days.

Next, I looked at my code again, turned my speakers way down so as not to wake my neighbor on the other side of the wall, and hit record. I dialed in some random numbers to the tracker to be used to feed voltage numbers to be sent to the 2hp pluck. Like yesterday, I’m having the Teletype play its own metronome to trigger beats. Today I used the bpm feature and I set the param knob to rotate between 68 and 180 bpm depending on its position. Each time the metronome ran it triggers an output to pluck’s trigger input. And CV 1 sends out the next voltage from the pattern 0. Anytime a random trigger comes in from the lonely wogglebug it chooses a new random value to be written to the current index of the pattern. That could have been triggered by the metronome too to happen randomly but I’m too tired to do that right now. Beads again provides a blanket to wrap it up with some reverb shimmer.

Modules:
Wogglebug, Teletype, Pluck, Beads

M
CV 1 VV P.NEXT
TR.PULSE 1
M BPM PARAM

I
M BPM 100
PARAM.SCALE 68 180

1
P.HERE RAND 100
CV 2 VV RRAND 10 100

10
30
0
0
40
70
0

2022-11-02: qt drum

qt drum setup

Today’s code was run entirely off M (metronome), which means it would run on the metronome’s tic, on the beat, sans input trigger. On the repl command line I tried a few different metronome times including 50, 500, 200. I found that 400 (milliseconds) sounded best to my ears for this particular run.

I joined the Teletype Study Group discord (cool this exists!) and user Obakegaku suggested I try the QT (quantize) operator would pair nicely with using the PARAM. It quantizes a variable X to the closest multiple of Y. They demoed using a quantize vv 25 (aka 0.25 volts). I am not sure if it made any difference for my tuning the model input of plaits but it is useful info to know for the future.

For this patch it was CV1 plugged to the MODEL input of Plaits. I plugged teletype’s trigger out 1 to plaits trigger in. I plugged trigger 2 out and trigger 3 out each to a Erica Synths drum2. By riding the param knob I change the mode (voice) of Plaits. Each time the metronome hits, the use of the toss would cause random trigger out from 1, 2 and 3 for each of those three drum/voices. And a random voltage out of cv 2 and of cv 3 for some modulation of the drum2’s.

Okay, so I decided I’d just play with the param knob as the only thing I’d interact with. The rest (after my initial choice of what to plug in and my code) was controlled (randomly) by the teletype

Modules:
Teletype, Plaits, 2xdrum2, beads

M
CV 1 VV QT PARAM 25
TR.P + 1 TOSS
TR.P + 3 TOSS
CV 2 VV RAND 200
CV 3 VV RAND 300

2022-11-01: mod sonic

mod sonic setup

  1. mod sonic

I’ve had this idea floating in my head for a while but finally tested tonight. I’m starting out simply with the teletype. I am playing a continuous random beat using Marbles to trigger input 1. I’m sending CV 1 out to mode input of Plaits. I used a different trigger out of marbles into Plaits trigger input. Plaits outputs are running into Beads for some reverb and delay. For week 1 I am allowed Teletype + 2 other modules + reverb. When experimenting this track started out sounding aphexy then autechry and finally pan sonic-y.

Modules: Teletype, Marbles, Plaits, Beads

I
PARAM.SCALE 0 200
CV.SLEW 1 100

1 
CV 1 VV RAND 200
CV 2 VV PARAM
CV.SLEW 2 PARAM