Improviz

Agenda

  • 16:00 Introduktion and Setup
  • 16:30 Coding on your own (almost)
  • 17:00 Questions
  • 17:30 More coding
  • 18:00 Joining the Sonic Pi Zoom for demo sesssions.
  • 19:00 Concerts by .pattern, Terminal Void and _darch

Making Visuals

__Outputs__
<- Colors, shapes and textures
<- Speed and patterns in time

__Inputs__
-> Your intuition
-> Data streams

Improvisation

Controling chaos

"Love the mistakes/mess"

muscle Memory

"The work will teach you how to do it" - Estonian proverb

Why Improviz?

Code/Language

  • Language base of Processing/p5js - but simpler
  • Basic 3D shapes and colors and some basic effects to start with
  • Use your own pictures and gif-animations as textures
  • Use your own 3D-models as shapes

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

Getting started

  • Download and install Atom.io
    • 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)
  • Edit/replace improviz.yaml withitn the folder with https://www.dropbox.com/s/da22r3ukvolpnv0/improviz.yaml
  • Open up a command promt:
    • Windows: Search for cmd
    • MacOS: Search for Terminal
    • Linux: (you know what to do)
  • TIP: Use Tab to autocomplete the names of the folders
  • Naviate to the unzipped improviz folder by typing in the following.
    • Windows: cd Deskstop\improviz-win
    • MacOS: cd Desktop/improviz-osx
    • Linux: (you know what to do)
    • And the press Enter
  • Start improviz by typing in:
    • Windows: improviz
    • MacOS: ./improviz
    • Linux: ./improviz
    • And the press Enter
  • 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

Docs about Improviz:

Messing with math

// Variabels // time OR frameCount
t = time / 2

// moving stuff AROUND
move(sin(t),0,0)
    cube()

move(sin(t),cos(t),0)
    triangle()

Textures and geometries

rotate()
texture(:hello1)
shape(:hello9, 1, 1, 1)

Related projects:

Other Tools for live coding visuals

Hydra

Visor

Punctual

Gibber

P5LIVE

Forum for live coding