+ All Categories
Home > Technology > Lily and the Monome

Lily and the Monome

Date post: 21-Jan-2015
Category:
Upload: justin-marney
View: 1,090 times
Download: 0 times
Share this document with a friend
Description:
A presentation on visual programming languages, their purpose and their features. Examples include a sound generator built using Lily and the Monome. Presented at Developer Day DC http://developer-day.com/events/2009-dc.html. For more information see the recap http://sorescode.com/2009/6/2/monome-lily.
Popular Tags:
71
HI
Transcript
Page 1: Lily and the Monome

HI

Page 2: Lily and the Monome

HI

Page 3: Lily and the Monome

GOALS?

Page 4: Lily and the Monome

GOALS?See a music generator built using a VPL.Learn when, how and why to use a VPL.Mash the DOM, JS, and the Monome together.Party.

Page 5: Lily and the Monome

MONOME & LILYby Justin Marney

Page 6: Lily and the Monome
Page 7: Lily and the Monome

CONWAY’S GAME OF LIFEAn evolving game played on a grid of cells where each cell is either alive or dead.

Page 8: Lily and the Monome

CONWAY’S GAME OF LIFEChoose a start state, apply a set of rules each round.

Page 9: Lily and the Monome

CONWAY’S GAME OF LIFELive cell with fewer than two live neighbors dies.Live cell with more than three live neighbors dies.Live cell with two or three live neighbors lives on.Dead cell with three live neighbors becomes a live cell.

Page 10: Lily and the Monome

CONWAY’S GAME OF LIFEThese rules lead to intriguing, complex patterns.

Page 11: Lily and the Monome

AN IDEA!Use the Game of Life to generate MIDI patterns.Use the MIDI patterns to trigger a sound generator.Control the game in real-time with a Monome.Play the Game of Life like an instrument.

Page 12: Lily and the Monome

AN IDEA!Edit the start state on the Monome.

Page 13: Lily and the Monome

AN IDEA!Edit the start state on the Monome.Evolve every n milliseconds.

Page 14: Lily and the Monome

AN IDEA!Edit the start state on the Monome.Evolve every n milliseconds.Interpret each state as a series of MIDI notes.

Page 15: Lily and the Monome

AN IDEA!Edit the start state on the Monome.Evolve every n milliseconds.Interpret each state as a series of MIDI notes.Display each state on the Monome.

Page 16: Lily and the Monome

AN IDEA!Edit the start state on the Monome.Evolve every n milliseconds.Interpret each state as a series of MIDI notes.Display each state on the Monome.Reset the game to the start state every x evolutions.

Page 17: Lily and the Monome

AN IDEA!Edit the start state on the Monome.Evolve every n milliseconds.Interpret each state as a series of MIDI notes.Display each state on the Monome.Reset the game to the start state every x evolutions.Duplicate the system across multiple MIDI channels.

Page 18: Lily and the Monome

THE RESULTA multilayer Game of Life MIDI sequence generator controlled by the Monome triggering an external sound generator.

Page 19: Lily and the Monome

Do it without writing code?

Page 20: Lily and the Monome

MIND ALTERING DEMO

Page 21: Lily and the Monome

HOW IS THIS POSSIBLE?

Page 22: Lily and the Monome

HOW IS THIS POSSIBLE?MonomeVisual Programming(via PureData)

Open Sound Control

Page 23: Lily and the Monome

FRINGE TECHNOLOGIES?These tools allow you to quickly create a working application with a usable interface.

Page 24: Lily and the Monome

FRINGE TECHNOLOGIES?They allow you to mash together sources from different domains with very little effort.

Page 25: Lily and the Monome

LOTS OF FREEDOM.

Page 26: Lily and the Monome

VERY LITTLE EFFORT.

Page 27: Lily and the Monome

THE WEIRD MASHUPWe'll take a look at some tools used to create mashups using unconventional sources.

Page 28: Lily and the Monome

THE MASHUP TOOLBOXThe physical computing interface called the Monome.(which is a box of buttons and lights)

The visual programming language called Lily.(which is just like PureData but functions in your browser)

A community of smart people and open-source software.

Page 29: Lily and the Monome

MONOMEA physical computing interface with an open-source hardware platform, hand-crafted by Brian Crabtree and Kelli Cain.

Page 30: Lily and the Monome
Page 31: Lily and the Monome
Page 32: Lily and the Monome
Page 33: Lily and the Monome
Page 34: Lily and the Monome
Page 35: Lily and the Monome
Page 36: Lily and the Monome
Page 37: Lily and the Monome
Page 38: Lily and the Monome
Page 39: Lily and the Monome

MONOMELarge community of people creating open-source Monome applications using both VPLs and text-based languages.

Page 40: Lily and the Monome

MONOMERuby, Python, Chuck, Max/MSP, PureData, SuperCollider, Java, Processing, Isadora

A lot of languages.

Page 41: Lily and the Monome

MONOMESound generators, MIDI sequencers, pixel animators, games, application control surfaces, video controllers

A lot of applications.

Page 42: Lily and the Monome
Page 43: Lily and the Monome

$800

Page 44: Lily and the Monome
Page 45: Lily and the Monome

$1400

Page 46: Lily and the Monome

Constraints fuel creativity.

Page 47: Lily and the Monome

VISUAL PROGRAMMINGCreate applications by manipulating graphical elements.(instead of text)

VPL programs are like big state machines.

Page 48: Lily and the Monome

THE BASIC IDEAThe fundamental elements of a VPL are boxes which implement functionality, and arrows which connect boxes and allow them to pass data.

Page 49: Lily and the Monome

WHY?No syntax to learn before creating something useful.Connected boxes are intuitive and easily understood.Programs can be manipulated while they are running.(i.e. during a performance, and the simple box/arrow interface makes this easy to do.)

Page 50: Lily and the Monome

WHO?People use visual programming software to create or assist in live performance applications such as audio generators, musical instrument control, art installations, etc.

Page 51: Lily and the Monome

SIMPLE DEMO

Page 52: Lily and the Monome

LILYDeveloped by Bill Orcutt.Installs and runs as a Firefox Add-On.Built using Chrome and Javascript.Open-source.

Page 53: Lily and the Monome

YOU CANCreate a patch that opens a URL.Analyze the DOM elements of that page.Manipulate the DOM elements.(mini demo!)

Page 54: Lily and the Monome

Lily is a Javascript application.

Page 55: Lily and the Monome

Patches run on the JS engine.

Page 56: Lily and the Monome

Externals are Javascript classes.

Page 57: Lily and the Monome

YOU CANCreate new externals in Lily using Javascript.Use jQuery, AJAX, or any other JS libs from within Lily.Save your Lily patches as Firefox Add-Ons.

Page 58: Lily and the Monome

I thought you said no code?

Page 59: Lily and the Monome

I thought you said no code?(If you are here at developer day and are really excited by the idea of not writing code, see me after class.)

Page 60: Lily and the Monome

CODE DEMO

Page 61: Lily and the Monome

MonomeMonomeserialOSCLily

Page 62: Lily and the Monome

The Monome transmits data to the computer via a serial protocol.

Page 63: Lily and the Monome
Page 64: Lily and the Monome

OPEN SOUND CONTROLA network communication protocol that uses URL-style naming.

Page 65: Lily and the Monome

MONOME OSC PROTOCOLWhen a button is pressed Monomeserial sends/name/press x y 1 to the host IP and port.(The name, IP & port are configured in Monomeserial. x, y is the coordinate of the button pressed.)

Page 66: Lily and the Monome

MONOME OSC PROTOCOLWhen a button is pressed Monomeserial sends/name/press x y 1 to the host IP and port.(The name, IP & port are configured in Monomeserial. x, y is the coordinate of the button pressed.)

When a button is released Monomeserial sends/name/press x y 0 to the host IP and port.

Page 67: Lily and the Monome

MONOME OSC PROTOCOLSending /name/led x y 1 to the listen port will light the led at coordinate x, y.

Page 68: Lily and the Monome

MONOME OSC PROTOCOLSending /name/led x y 1 to the listen port will light the led at coordinate x, y.Sending /name/led x y 0 to the listen port will turn off the led at coordinate x, y.(The listen port is configured in Monomeserial.)

Page 69: Lily and the Monome

OSC IN LILYoscsend and oscreceive externals.

Page 70: Lily and the Monome

MASHUP DEMO


Recommended