el-wire

for our recent installation at iscm world new music days in växjö (www.musicalfieldsforever.com/searching_voices_conc.html), i built a circuit for controlling 9x5m el-wire (electroluminescence). there are 9 channels in total and 3 inverters that are powering three 5meter cables each. tic201d triacs are used for switching the 110v ac on/off, 9 led+ldr pairs (aka vactrol) generates the control voltage for the triacs and wireless control for the whole thing is obtained with an atmega8 and a pair of nordic transceivers. supercollider is generating the control data.

el-wire_9ch_triacs from redFrik on Vimeo.

AttachmentSize
Image icon el-wire_9ch_triacs.png39.79 KB
Binary Data el-wire_9ch_triacs.sch95.41 KB

intel vs ppc

update 090811: thanks to batuhan bozkurt for putting me straight. it's not an intel vs ppc issue but rather apple changed something in their internal soundcards. using a newer (intel) machine and an external soundcard (fireface 400), the punk code sounds the same as the ppc version below (ie good/better in my ears - no autocompression).
so the internal soundcard in my old powerbook (1ghz, ppc) is robust, filters hardly ever blows up and it doesn't have that automatic compressor/limiter as my newer macbook pro (2.16ghz duo, intel) internal soundcard.

--original post:
something i knew all along but tried to ignore: many of my noisier synths sounds like crap on modern (intel) macintoshes and some even goes all silent. the code below deliberately blows up a resonant hipass filter and is typical for how different the same code can sound on my intel vs my ppc mac. listen to the attached mp3 files. in a few years all the ppc computers will be gone and we can't recreate the sounds.

//punk (loud!)
{RHPF.ar(GbmanN.ar([2300,1150]),LFSaw.ar(Pulse.ar(4,[1,2]/8,1,LFPulse.ar(1/8)/5+1))+2)}.play
AttachmentSize
Audio icon punk_intel.mp3759.55 KB
Audio icon punk_ppc.mp31.48 MB

kretsloppKontroll

more custom electronics. a wireless system for our flute/video duo kretslopp (together with flutist anna svensdotter).
3 knobs and 3 buttons on the right hand arm, 1 accelerometer (3d) on the left hand arm.
anna made the leather bracelets.

attached is schematics, avr firmware and a max/msp patch for testing.

update 090823: also attached supercollider classes

wireless slave and usb master...

overview. controllers, master, slave and 'bracelet'.

jensKeyboard

a cheap little circuit that reads 10 analog controllers (8 knobs and 1 joystick). i built it for my neighbour jens' portable keyboard project. it's using an atmega88 and a 4051 multiplexer to get 10 analog-to-digital converters. a standard max232 with some caps lets the atmega88 talk to the serial port of the computer.
attached is schematics, avr firmware and a max/msp patch for testing.

AttachmentSize
Package icon jensKeyboard.zip65.23 KB

RedPDU

livecoding via sms anyone? an expensive and annoyingly hard hobby for sure.
but the RedPDU supercollider class makes this possible in any case. it can decode mobile phone text messages in the pdu format. and with a serial connection to your phone (bluetooth or cable), it is easy to directly download incoming sms from your phone into supercollider and interpret them. no additional hardware required.
the class is available here. (there is also a mxj java version for max/msp called f0.pdu here)

and here's a short demo video where i send a short message to myself...

RedPDU from redFrik on Vimeo.

the code i texted in this video was...

Pbind('degree', Pn(Pseries(0, 2, 5), 4), 'dur', 0.1, 'amp', 0.5).play

and the sc receiver function is in the helpfile. but note: on many phones it is impossible to type characters like {} [] \ | etc. you might want to add some find&replace functionality and use <> meaning curly brackets etc.

sort of unicode support for sc

this is a big ugly hack and gives far from complete support for these special characters. but still it is useful in some situations like for buttons or comment boxes in your gui.

(
w= Window(Umlaut.fix("åäö test"), Rect(100, 200, 150, 150));
Button(w, Rect(10, 20, 130, 40)).states_([[Umlaut.fixAll("schööön")]]);
Button(w, Rect(10, 70, 130, 40)).states_([[Umlaut.fixAll("Tätigkeit heiß")]]);
w.front;
)

all supported characters... (more can be added on request)

Umlaut.fixAll("åÅäÄöÖüÜéÉèÈêÊàÀîÎïÏëËçÇæÆãÃøØñÑßáÁíÍúÚóÓΩ∑∏π∆µ")

update: there is also asciiCorrect in the wslib quark by wouter snoei

AttachmentSize
Package icon Umlaut.zip3.42 KB

redUniverse: l-system and turtle

now added RedLSystem and RedLTurtle to my redUniverse quark. RedLSystem is a fairly standard string rewrite class. one special feature is that it saves the structure/tree/recursion depth of the rewrite process. RedLTurtle either plot l-systems or standard strings. it comes with a set of default drawing functions, but you can easily add your own commands.

(
l= RedLSystem("F", ($F: "F[+F--F]+F"));
6.do{l.next};
RedLTurtle(l, 40, 10, 0.9, 0.1).makeWindow;
)

(
l= RedLSystem("F", ($F: "|[-FFF--F]+F"));
6.do{l.next};
RedLTurtle(l, 20, 20, 0.95, 0.2).makeWindow;
)

(
l= RedLSystem("F", ($F: "|[--F][+F]-F"));
8.do{l.next};
RedLTurtle(l, 400, 20, 0.65, 0.1).makeWindow(initTranslate: Point(0.5, 0));
)

(
l= RedLSystem("F-F-F-F", ($F: "F[F]-F+F[--F]+F-F"));
5.do{l.next};
RedLTurtle(l, 6, 90, 0.9).makeWindow(initTranslate: Point(1, 0));
)

Pages

Subscribe to f0blog RSS