using DarwiinRemote in processing

several people are working on drivers for nintendos Wiimote. i wrote a speedhack to use hiro’s DarwiinRemote with Processing.

i simply modified DarwiinRemote to write out a textfile with the values of the accelerometer and the orientation of the Wiimote.

there is an pde in the archive and the modified version of DarwiinRemote in the data folder. start DarwiinRemote, connect the Wiimote and then run the pde.

that’s only to start working with the Wiimote. i hope someone will write real drivers for the device soon.

JarwiinRemote.jpg
JarwiinRemote for Processing on OS X (binary)
JarwiinRemote for Processing on OS X (source)

Gamesnight Performance

gerade habe ich videos unseres auftritts bei der ars electronica gamesnight 2004 gefunden. dan und ich haben statistiken in computerspielen gezeigt und dafuer ein intro in quake 3 gestaltet. denn geplant war, das wir voellig aus dem off als characters in game engine auftreten.ich hatte dafuer reduzierte quake models aus fotografien von dan und mir erstellt. waehrend der praesentation rannten wir durch eine virtuelle welt aus schlagworten und ausschnitten.

das konzept fuer den virtuellen auftritt stammte noch von der ausstellung innen|aussen.

performance_jin.jpgperformance_em.jpg

performance_jin.mp4
performance_em.mp4

partikel system

natuerlich existiert fuer das partikel system in avalon keine dokumentation. einzige vorlage ist ein vrml file. das habe ich in x3d umgeschrieben und an den parametern des partikel systems gedreht. mittlerweile verstehe ich wie es funktioniert.

der erste experiment nimmt ruedi baurs visualisierung der schlacht der roemer gegen die germanen im museum kalkriese – verschiedene arten von pfeile zeigen routen und hinterhalte der beiden truppen.

moegliche einsaetze sind die steuerung der partikel durch sound, der schweif des raumagenten, die dot-matrix-typografie als partikel (physikalisch reaktiv).

visualSequencer

der weg zum ersten visuellen sequencer in avalon war hart. es gab probleme mit dem dynamischen erzeugen von scripten. eine andere struktur aber brachte das selbe ergebnis..

die erste demo besteht aus einer reihe von cubes mit verschiedener breite und tiefe. die breite definiert die tonhoehe, die tiefe steht fuer die tonlaenge. ein weiterer cube fliegt in einer linearen sinusbewegung durch die cubes und erzeugt midisignale. der electribe macht sound daraus.


midiElectribe_01.mp3

avalon via processing

avalon laesst sich via processing steuern. ueber ein webinterface kann man die werte von nodes setzen. steckt man die url richtig zusammen, funktioniert das auch aus java, processing, flash und allem anderen. die geschwindigkeit ist gut. in meinem beispiel rotiere ich ein 70k polygon objekt ueber die mausposition in processing. das funktioniert bei 30 fps..

prinzipiell koennen wir den sampleplayer nun auch so steuern. aber man muss sparsam sein mit den commands. zu viele gleichzeitige socketverbindungen koennten das system bremsen.
fft analysen der sounds koennen wir nun auch auf die szene uebertragen.

// webjob connection to avalon
// set a node’s value via http from outside

void setup()
{
framerate(30);
size (360, 360);
background(200);
}

float cnt = 0;
float rot = 0;

void draw()
{
// get the mouse position as radians
rot = radians(mouseX);
try {
// url encoding to access the avalon node
// location: http://localhost:port/
// node=nodeName (DEF in x3d)
// field=fieldName (name of the field i.e. ‘roation’)
// value=myValue (number or string)
String command = “setFieldValue?node=s&field=updateData&value=”+rot;
URL url = new URL( “http://localhost/”+command );

// open the url stream.. connect..
url.openStream();
// close it again
url = null;
cnt += 0.01;
}
catch (Exception e) {}
}

sample player

da avalon auf der sound seite noch ein wenig schwach ist und wir fuer den ambient sound synthesizer nutzen, sollten wir ueber einen externen player fuer die samples nachdenken.

fuer pj3d haben wir bereits einen mp3 player (jsound). dem sollten wir per midi steuern koennen: start, stop, index in playlist, pitch, seek.

links:
tritonus – alternative jsound library
jMusic & Midishare (extra software noetig..)
jsyn – java sound library
java midi faq
http://www.softsynth.com/javamidi nur windos und os x
java sound api
java sound midi

linux-sound – directory

wenn wir einen sample player mit dieser funktionalitaet finden wuerden, waere das natuerlich optimal.

nachtrag:
vielleicht reicht ja schon die promidi beta fuer processing http://www.texone.org/promidi/

nachtrag 2:
midi unter java ist mist. jedenfalls unter linux. ich denke wir muessen auf die implementierung des erweiterten sounds in avalon warten..
alternativ gaebe es die moeglichkeit mit dem midi.osc daemon die midi-messages von avalon in osc-messages fuer den sample player umzuwandeln.