Archive for 2009

Montreal SC Meetings

Thursday, December 17th, 2009

In 2010 I will organise a series of Montreal SC meetings, on Thursday nights every two weeks, from 6.30 – 9pm, in the Concordia EV building (close to Metro Guy/Concordia; you don’t even have to go outside!), starting January 14th.

More info to follow!

They Watch

Monday, October 12th, 2009

I am currently working on sound programming and sound design for the project They Watch, by Workspace Unlimited, which will open at EMPAC, RPI, Troy, US, at the end of the month (October 30th).

Workspace Unlimited
Opening at Empac

32bit sclang on 64bit linux

Monday, August 3rd, 2009

It is now no longer necessary to have a 32bit chroot to have sclang 32bit and scsynth 64bit side by side on your linux machine, since Tim Blechmann committed a patch for this.

From the LINUX README:

Note that the language will only build 32bit. To compile the language as
32bit binary on a 64bit installation, a multilib compiler and 32bit
libraries are required (on debian systems, the packages are gcc-multilib
g++-multilib, ia32-libs, libc6-dev-i386 and lib32asound2-dev).

This doesn’t cover libcwiid support yet (for the wiimote).

Using this guide on how to use 32bit apps on 64bit linux on Debian, I came to these instructions.

Find the current link to the download of the libcwiid package, and the dev package of it on Debian.org, for i386 architecture.


$ wget http://http.us.debian.org/debian/pool/main/c/cwiid/libcwiid1_0.6.00+svn184-1+b1_i386.deb
$ wget http://http.us.debian.org/debian/pool/main/c/cwiid/libcwiid1-dev_0.6.00+svn184-1+b1_i386.deb
$ wget http://http.us.debian.org/debian/pool/main/b/bluez/libbluetooth-dev_4.42-2_i386.deb
$ wget http://http.us.debian.org/debian/pool/main/b/bluez/libbluetooth3_4.42-2_i386.deb

$ sudo dpkg -X libcwiid1_0.6.00+svn184-1+b1_i386.deb /emul/ia32-linux/
$ sudo dpkg -X libcwiid1-dev_0.6.00+svn184-1+b1_i386.deb /emul/ia32-linux/
$ sudo dpkg -X libbluetooth3_4.42-2_i386.deb /emul/ia32-linux/
$ sudo dpkg -X libbluetooth-dev_4.42-2_i386.deb /emul/ia32-linux/

libsndfile was also missing:


$ wget http://http.us.debian.org/debian/pool/main/libs/libsndfile/libsndfile1_1.0.18-2_i386.deb
$ wget http://http.us.debian.org/debian/pool/main/libs/libsndfile/libsndfile1-dev_1.0.18-2_i386.deb
$ sudo dpkg -X libsndfile1_1.0.18-2_i386.deb /emul/ia32-linux/
$ sudo dpkg -X libsndfile1-dev_1.0.18-2_i386.deb /emul/ia32-linux/

Then doing a:
scons -c install
in the old 32bit chroot to make sure everything there is out of the way.
Actually, I had made a symlink… so to remove:
$ sudo rm /usr/local/share/SuperCollider

(If you have nothing else anymore that needs a 32bit chroot, then you can delete the whole tree. I still need it for Animata).

Now a:

$ scons
$ scons install

will smoothly install sclang with WiiMote support.

(Note scons still checks for cwiid as a 64bit lib, rather than 32bit, so you need to have both)

—-
libicu support
I am just in the process of adding this to work on Linux, so it’s not in svn yet (but I just posted the patch to the sc-mailinglist).

You need to install the package
lib32icu-dev
to have it find the library to link to.

2.6.29 realtime kernel for Debian

Saturday, May 30th, 2009

I’ve finally sat down and tried to make a realtime kernel for Debian, for my 64bit machine.
I followed the instructions I found in this post on the Debian forums.

First, I got the Debian sources for 2.6.29, from my repository (so using synaptic).

It puts the sources in /usr/src.

Then I got the latest realtime patches from http://www.kernel.org/pub/linux/kernel/projects/rt/

Then I made a dir in my home directory


mkdir kernel
cd kernel
cp /usr/src/linux-source-2.6.29.tar.gz .
tar -xf linux-source-2.6.29.tar.gz
mv linux-source-2.6.29 linux-2.6.29-source-rt
cd linux-2.6.29-source-rt
bzcat ../patch-2.6.29.4-rt16.bz2 |patch -p1

I added this to the Makefile:

EXTRAVERSION = -rt16

To start from my current kernel configuration
make oldconfig

Then I got a whole bunch of questions, most of which I answered taking the default options. Only for the realtime-preemption question I chose option 4, the realtime option.

I looked at the options with menuconfig, but didn’t really change anything more there. The timer frequency mentioned in the post above seems to be preceded by the dynamic ticks option, which was turned on.
make menuconfig

I had to unselect “staging” and the “comedi” drivers as these caused errors during building, and according to some messages on LAU I don’t really need it.

Here is the configuration for the kernel, as I ended up with it (I also compiled ext3 support into the kernel, rather than as a module, since my main filesystem is ext3): .config

Build a kernel the Debian way:
make-kpkg clean
time fakeroot make-kpkg --initrd -rev mz1 kernel_image kernel_headers

To also build a source package:

time fakeroot make-kpkg --initrd -rev mz1 kernel_image kernel_headers kernel_source

This will take a while.

Your new kernel & headers now live in ../kernel Use dpkg -i to install (as root).
dpkg -i ../linux-headers-*.deb ../linux-image-*.deb

So good so far… but the kernel didn’t boot yet…
and the initrd file was missing

So with the initramfs-tools from the debian repository,
I did (as root)
mkinitramfs -o /boot/initrd.img-2.6.29-rt16 2.6.29-rt16
which created the initrd image.

Also editing it appropriately in grub (/boot/grub/menu.lst) so that the boot process knows about it.


The initramfs missing is due to this (thanks to Jan Weil, on the linux audio user list).

This might be related to a recent change in Debian’s kernel-package (are we talking about the unstable branch?). Check /usr/share/doc/kernel-package/NEWS.Debian.gz and /usr/share/doc/kernel-package/README.gz in particular:

“Note that you will have to arrange for the actual initrd creation to take place by installting a script like /usr/share/kerne-package/examples/etc/kernel/post{inst,rm}.d/yaird or, alternately, /usr/share/kerne-package/examples/etc/kernel/post{inst,rm}.d/initramfs
into the correspondung directories /etc/kernel/post{inst,rm}.d, since the kernel-postinst does not arrange for the initramfs creator to be called. You can thus select your own; initramfs-tools or yaird.”


In /etc/security/limits.conf you also need something like this:

Add the following lines to the bottom of the file: (Must do this as root, or with sudo)
@audio – rtprio 100
@audio – nice -10
@audio – memlock 400000

And add yourself and any other audio user to the group audio.


My RME multiface card did not work with this kernel yet.
Similar problems had been reported elsewhere, and a fix from Tim Blechmann can be found here.

Here is the patched file:
/sound/pci/rme9652/hdsp.c


Then Jan Weil also pointed out to me that this could be useful:

Did you tune your interrupt priorities yet? I use Rui’s rtirq
http://www.rncbc.org/jack/
along with this /etc/rtirq.conf
http://www.jawebada.de/bucket/rtirq.conf.

Actually Debian has a package for this, but that one is a bit outdated (the 2007 version). So I took the one from Rui’s website, and installed the script to /etc/init.d/, with a symbolic link to it from /etc/rc3.d/S99rtirq.

and the configuration file to:

/etc/default/rtirq.conf


(Note, comments are welcome, but they have to be authorized by me, before they appear online.)

Share Montreal 4th Anniversary

Sunday, May 10th, 2009

I will be playing at the Share Montreal 4th anniversary party, on May 31st, in the Eastern Bloc. Starts at 20h00.

SenseStage Workshop

Sunday, May 10th, 2009

I am organising the SenseStage Workshop that takes place from Monday, May 11 until Saturday, May 23, in the Hexagram BlackBox, at Concordia University.

NIME 2009

Sunday, May 10th, 2009

I will be presenting our paper “Sharing Data in Collaborative, Interactive Performances: the SenseWorld DataNetwork” at the NIME 2009, June 4-6, at Carnegie Mellon University, Pittsburg, PA, USA

I will also be doing a livecode performance with SuperCollider there.

EXTENDED TERRITORY

Wednesday, April 22nd, 2009

CESSA, MUSAC CONCORDIA & L’ENVERS PRESENT:

EXTENDED TERRITORY
New dimensions of sound and performance

Free two-part lecture and workshop

Thursday April 23, 2009
Concordia EV Building
1515 St-Catherine O.
EV 1.615 (York Ampitheatre)

13h – Marije Baalman: Wave Field Synthesis Lecture
15h – Hans Tammen: Endangered Guitar & Die Schrauber Workshop

All are welcome.

——-

DIE SCHRAUBER CONCERT
Hans Tammen – endangered guitar, live sound processing
Joker Nies – omnichord, circuit bent instruments
Mario DeVega – SPKĀ®, glitch sampling

With Pinkshalabi
Sam Shalabi – guitar
Gordon Allen – trumpet
Sam Vipond – drums + laptop
Alexandre St-Onge – bass

Thursday April 23, 2009
L’envers
185 Van Horne
20h
$10

http://www.myspace.com/lenvers185

SuperCollider Symposium 2009

Tuesday, March 17th, 2009

I will be presenting two talks:

  • one on the SenseWorld DataNetwork, and
  • one on cross platform issues in the development of SuperCollider (slides)

and do a livecoding performance at the

SuperCollider Symposium 2009

which is held from April 9th to 12th, 2009 at Wesleyan University.

MotionTrackOSC

Wednesday, January 7th, 2009

I made another little app in the vein of WiiOSC.

This time for Motion Tracking using video, or rather computer vision.

The program uses the OpenCV libraries, and of course the liblo libraries.
And is distributed with a SuperCollider class and help file, so you can start and use the program from and with that program.