Live Coding Visuals in Improviz
at Processing Community Day CPH
Saturday October 2nd, 2021 at 10:30 - 12:00
The Royal Danish Academy - Architecture, Design, Conservation (pcdcph.com)

Docs about Improviz:
- https://improviz.rumblesan.com
- https://github.com/rumblesan/improviz/blob/master/docs/index.md
- in the docs folder within the imporviz folder
Live coding demo
Jam along to music by Terminal --Void
Setting up Improviz (homework)
- Download and install the Atom editor from https://atom.io
- Open Atom and go to Preferences/Settings and install the improviz plugin
- Download Improviz for you system at: https://github.com/rumblesan/improviz/releases
- Unzip it to you Desktop (or not)
- Open up a command promt:
- Windows: Search for
cmd
- MacOS: Search for
Terminal
- Linux: (you know what to do)
- Windows: Search for
- TIP: Use
Tab
to autocomplete the names of the folders - Naviate to the unzipped improviz folder by typing in the following.
- Windows:
cd Deskstop-win
- MacOS:
cd Desktop/improviz-osx
- Linux: (you know what to do)
- And the press
Enter
- Windows:
- Start improviz by typing in:
- Windows:
improviz
- MacOS:
./improviz
- Linux:
./improviz
- And the press
Enter
- Windows:
- Type the following into Atom and save the file as a .pz
background(0,0,255)
fill(255,0,0)
rotate()
cube()
- Press
Shift + Enter
to run the code. You should now see a red cube rotating on a blue background:

Intro to Live Coding
About me
- VJ / Visualist
- Not a trained programmer
- But been coding websites in HTML and CSS
About you - What are your experinces so far with...
- live performance and improvisation?
- coding and programming?
- art and other cool stuff?
Live coding = to perform with code
- music, visuals, dance/choreography, poetry, weaving textiles
- showing the code
- mostly Open Source tools
- and maybe kinda broken
- most importatly: do what ever you like
Making Visuals - Concepts before code
__Outputs__
<- Colors, shapes and textures
<- Speed and patterns in spacetime
__Inputs__
-> Your intuition
-> Data streams (Midi, OSC, etc)
Improvisation
Controling chaos
"Love the mistakes/mess"
muscle Memory
"The work will teach you how to do it" - Estonian proverb
Tools for live coding visuals
See list with links at: Tools for live coding visuals
Why (I like) Improviz?
Code/Language
- Language base of Processing/p5js - but simpler
- Basic 3D shapes and colors and some basic effects to start with
System
- Not running in a browser, but as a server and client(s)
- External input via OSC (and midi and audio)
- Toogle code visibily, but no “live” charachter by character edits shown
- All code is run the same time - stateless
Make it your own
- Just files and folder on your own machine - lets take a look
- Use your own pictures and gif-animations as textures
- Use your own 3D-models as shapes
- Use your own GLSL-shader as textures for your shapes
Basics of Improviz
- Colors: red, green, blue, alpha
- Shapes: cube, sphere, triangle…
- Movement: move, rotate, scale
- Effects: stoke, fill, stokeSize, paintOver
- Blocks (instead of push/pop)
- Loops: repeate stuff
- Comments // turing stuff on/off)
- BUT: It’s not processing/p5js!
//paintOver()
background(0,0,255)
noFill()
stroke(255,0,0)
loop 10 times with x
rotate(time/20)
cube(x)
Spacetime
- variabels
- time and speed
- x, y, z
- sin and cos
- modulus
// Variabels // time OR frameCount
t = time / 2
// moving stuff AROUND
move(sin(t),0,0)
cube()
move(sin(t),cos(t),0)
triangle()
trinagle(2 + time % 5)
Textures and geometries
rotate()
texture(:hello1)
cube(5)
rotate()
texture(:hello1)
shape(:hello9, 1, 1, 1)
Materials and midi
Build in materials
material(:ceed)
material(:normalised)
sphere(5)

Using my own GLSL shaders as a material in Improviz
Controlling my own shaders with midi
Read sørenpeter's guide on how to use a midi controller with Imporviz
//material(:sunlolly)
material(:dwave)
//materialVar(:Time, time)
//materialVar(:TextureAlpha, 0.5)
// Midi-contol via MidiGyver
materialVar(:varR, ext(:k1, 0.5))
materialVar(:varG, ext(:k2, 0.5))
materialVar(:varB, ext(:k3, 0.5))
cube(5)

Hands-on-coding => Demo what you have done!
Code jam to music
Play around with the basic build in stuff
Use you own content
- Textures / animations
- Shapes
- Shaders
Use OSC and Midi-inputs
- Midi-controller
- Audio-reactive
Demo-session // Live Performaces
- 5-10 minutes
- Pick your music
- From scracth (new file)
- or trigger your code to the music
What’s next
Monthly meetup Støberiet? First Thursdays Every mounth (October 7th)
algoRAVE party at Mayhem or other cool venue?
Stay connected
- DICORD: Join the #improviz channel the Toplap Live Coding server https://discord.gg/eBE4v5ek
- old channel on rocketchat: https://chat.toplap.org/channel/improviz
- Facebookb: Aarhus Live Coding Community - https://www.facebook.com/groups/398075717566703
- A new danish forum / mailinglist: https://groups.io/g/algoravedk/
ICLC 2021 - International Conference on Live Coding - https://iclc.toplap.org/2021