«  …17 18 19 20 21 22 23 »

Intel vs PPC

2009-08-11 04:10 supercollider

Something I knew all along but tried to ignore: Many of my noisier synths sound like crap on modern (Intel) macintoshes and some even go all silent. The code below deliberately blows up a resonant hi-pass 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

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 (i.e good/better in my ears - no autocompression).

So the internal soundcard in my old PowerBook (1GHz, PPC) is robust, filters hardly ever blow up and it doesn't have that automatic compressor/limiter as my newer MacBook Pro (2.16GHz Duo, Intel) internal soundcard.

update 180101: With GlitchRHPF from sc3-plugins and some clipping one can get the original sound back...

{GlitchRHPF.ar(GbmanN.ar([2300,1150]),LFSaw.ar(Pulse.ar(4,[1,2]/8,1,LFPulse.ar(1/8)/5+1))+2).clip(-1,1)}.play
Attachments:
punk_intel.mp3
punk_ppc.mp3

KretsloppKontroll

2009-07-31 13:14 electronics

More custom electronics. A wireless system for our flute/video duo kretslopp (together with flautist 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 are schematics, AVR firmware and a MaxMSP patch for testing.

Wireless transmitter and USB receiver...

kretsloppKontroll photo 1 kretsloppKontroll photo 2

Overview. Controllers, receiver, transmitter and 'bracelet'.

kretsloppKontroll more photos 1 kretsloppKontroll more photos 2

Updates:

Attachments:
KretsloppKontroll-supercollider.zip
kretsloppKontroll.zip

jensKeyboard

2009-07-30 23:00 electronics

A cheap little circuit that reads 10 analogue 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 analogue-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 MaxMSP patch for testing.

jensKeyboard photo 1 jensKeyboard photo 2
jensKeyboard schematics
Attachments:
jensKeyboard.zip

RedPDU

2009-07-27 18:52 livecoding, supercollider

Live coding 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: /code/sc/#classes and there is also an mxj Java version for MaxMSP called f0.pdu here: /code/max#java.

And here's a short demo video where I send a short message to myself...

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 SuperCollider receiver function is in the help file. 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.

Note: I believe SMS PDU isn't in use much any more so this will only work with old (mid-2000) phones.


Sort of Unicode Support for SC

2009-05-27 21:51 supercollider

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;
)
Umlaut_sc screenshot

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

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

update: there is also asciiCorrect in the wslib quark by Wouter Snoei

note: broken in SC 3.9 under OSX

Attachments:
Umlaut.zip

redUniverse: MRCM and IFS

2009-05-23 01:28 supercollider

Two new classes now in my redUniverse quark. Both use affine transformations to draw fractal-like structures. RedMRCM is a multiple reduction copy machine and RedIFS a standard iterated function system.

RedMRCM screenshot RedIFS screenshot 0 RedIFS screenshot 1

redUniverse: L-System and Turtle

2009-05-11 13:22 supercollider

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;
)
RedLTurtle screenshot 2
(
l= RedLSystem("F", ($F: "|[-FFF--F]+F"));
6.do{l.next};
RedLTurtle(l, 20, 20, 0.95, 0.2).makeWindow;
)
RedLTurtle screenshot 3
(
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));
)
RedLTurtle screenshot 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));
)
RedLTurtle screenshot 1

redTie

2009-04-06 15:48 electronics, supercollider

A custom wireless system built for Craftwife. The LEDs are to be sewn into real ties. There are 6 red LEDs per receiver and each led can be dynamically controlled (PWM 0-255). All receivers run on battery (AA 3.6V lithium) and keep in contact with the transmitter using 2.4GHz wireless transceivers (Nordic nRF24L01+). The maximum working distance is about ~80m (line of sight).

The transmitter talks to SuperCollider via the RedTieMaster and RedTieSlave classes (USB-Serial 115200 baud).

Schematics, firmware, partlist and SuperCollider classes attached below (GNU GPL v2)

redTie transmitter and receivers...

redTie circuits photo1 redTie circuits photo2 redTie circuits photo3 redTie circuits photo4 redTie circuits photo5 redTie circuits photo6 redTie circuits photo7 redTie circuits photo8

Leds on ribbon cable...

redTie LEDs photo1 redTie LEDs photo2 redTie LEDs photo3 redTie LEDs photo4

Total cable length: 135cm, distance between LEDs: 4cm

Attachments:
redTie.zip

«  …17 18 19 20 21 22 23 »