Robin's Latest Site

rgrma_b.jpg
Robin is freelancing in audio/video post-production and hardware/software co-development, living the FLOSS spirit as root@linuxaudio.org, focusing on Research & Development for installation-art, life and open-web standards: Amongst others Robin a.k.a. x42 contributes to oauth.net, ardour.org, PAM, greenpeace.nl, Xjadeo, 64 Studio, JACK audio, LV2 plugin, sourcefabric,…

Currently Robin mainly works as contractor for Harrison, Manufacturer of the World's Finest Consoles and develops a line of professional Audio Plugins.


If you appreciate any of the many projects, the most valuable contribution you can give is time: help testing, provide feedback, report bugs, write documentation, translate,… While not always ideal, you can also donate money. Any contribution is greatly appreciated.


roB.log

Die Luft der Freiheit weht

There could not be a better motto for the Linux Audio Conference 2012 than the one Stanford already chose: “videtis illam spirare libertatis auram”1). The 10 year anniversary of LAC marks the first time that LAC takes place outside of Europe, and the conference is packed with exciting and interesting presentations, concerts and installations. There's a good amount of sessions on Ambisonics, FAUST, Pure Data, and - although LAC unfortunately takes place parallel to the SuperCollider symposium - SC presentations as well as many other interesting projects.

The Conference Schedule has just been published and I'm eager to visit CCRMA which has been a supporting institution of Linux Audio ever since there has been any sound on GNU/Linux.

Besides reuniting with fellow LADs and meeting creative people from various fields, I'm looking forward to experience the 3D 22 channel sound system with speakers above, around and below the audience level in the CCRMA Listening Room.

Big Screen Plaza, NYC

E-forecast

Streaming Museum, an international public art and online museum, will celebrate its fourth anniversary on January 31 with the US premiere of ”Emotion Forecast” and ”Occupy Wall Screens”, real-time artworks by the renowned French artist Maurice Benayoun. The exhibition will be on view for one month at Big Screen Plaza in New York City and through 2012 at StreamingMuseum.org.

“Emotion Forecast” and “Occupy Wall Screens” are part of Maurice Benayoun's ongoing series on the “Mechanics of Emotions” which translate emotions into maps, performances, the Emotion Vending Machine, and sculpture relics of the world.

The artworks have been developed by Robin Gareus, at the CiTu-Paragraphe Lab of the University Paris 8, in the frame of The Art Collider project as a part of the PUF program of the FACE Foundation in collaboration with the SFAI (San Francisco Art Institute).

Streaming Museum is the first global public space and online hybrid museum with collaborating locations and cultural centers on 7 continents. The 30 x 16.5 ft. HD format screen of Big Screen Plaza is located at 29th Street and 6th Avenue, adjacent to the Eventi Hotel.

More information: http://www.streamingmuseum.org/featured/maurice-benayoun/

Protest SOPA, PIPA et al.

As you may have noticed various sites and domains that I manage went black - or rather redirected to http://protestsopa.org/ or to the Electronic Frontier Foundation.

It probably does not wag the tail of anyone, but I felt that is incumbant upon me to express my support for freedom of speech and that I am prepared to defend it.

SOPA, PIPA - What is that?

The Stop Online Piracy Act is H.R.3261, and the Protect-IP Act is S.968 both are propsed laws in the US of A.

Why is bad?

The intent of both pieces of legislation is to combat online piracy. The problem is that the legislation, as written, is vague and overly-broad. The intention may be good and justified, but the implementation would be nothing short of legal censorship and discrimination.

It'd grant the executive the power to simply shut down information sources. In fact, if the law passes, it would not even require a court order to ban a service! A simple note would suffices to censor information, unless the provider of the content can prove and assure (monitor) that his/her site does not facilitate the commission of criminal violations.

There are times that everyday reasonable activities can be construed as piracy, but the actual problematic word is facilitating, as it opens the door to condemning sites that simply link to other sites.

Since the USA directly or indirectly controls most of the internet's infrastructure, and the proposed legislation has been written in a manner in which they specifically take into account “foreign rogue sites”, the legislation will, should it pass, have an impact upon the world as a whole.

These acts could have a significant impact on the way in which we currently use the internet: Free Speech is only as strong as the weakest link.

What to do about it?

Thanks to many activist sites (see links above and below) this is easy. If you are US resident, complain at your senator(s). If you are elsewhere, there are local efforts: e.g. join contacting the German minister of foreign-affairs who is supporting the law in the US!

Note that, Europe with the upcoming ACTA law is not too far behind. Act now!

References

For more information about SOPA/PIPA, please see:

sndfile-waveform

Celebrating the inclusion of sndfile-waveform into libsndfile-tools sounds like this:

· 15.01.2012 02:20 · Robin Gareus · 0 Comments

Occupy Wall Screens

occupywallscreens.jpg

The world is #occupied by emotions.
The emotions are #occupied.
Occupy Wall Screens

preview: Emotion Forecast at the Big Screen Plaza, NYC. Image by Nina Colosi. Art by M. Benayoun & yours truly.

e-forecast @ FIAC

Snapshots of the emotion-forecast as presented during FIAC at the Showoff festival in Paris.

View Image Gallery (images by M. Benayoun)

showoff_small.jpg

· 23.10.2011 14:32 · Robin Gareus · 0 Comments

Beautiful Emaily

INBOX Jan 2011 - drowning in email

You got to talk to someone some day
'coz when the words are gone is too late.

I need a statement from thee,
Right now.
An explanation for thee,
Right now.
Clarification of thee,
Right now.
Some good communication,
Somehow.

Why? why? why?
Do ordinary people specialize?

[from Keziah Jones': beautiful emily]

· 02.03.2011 16:29 · Robin Gareus · 0 Comments

JACKdbus - Desktop integration - backend-switching

Prototype of automatic backend-switching for JACK2 using dbus.

You may know this Mac/OSX feature: one plugs or unplugs an external audio-interfaces and the system automatically switches the sound to the new device. - It may not always be what you want, but it is an very handy feature especially for mobile systems. and here's how to set this up for JACK on GNU/Linux..

Overview

First, we need a mechanism to switch the “JACK backend” in order to switch between audio-interfaces. The task includes taking care of re-connecting physical I/O ports in case they're different on each device.

Second, said mechanism needs to be triggered automatically when a new device is connected or if a device goes away. Here's a short annotated demo-video:

(If Flash is installed JavaScript is activated, you can watch a video inside this web page.)

(well yes, I should have ripped out that USB cord more visibly.. sorry, next time. I might use a real camera too, then.)

Prerequisites

Download:

Note: dbus-triggerd and a jack2 debian packages (source and i386) are available from

deb http://rg42.org/deb/ sid main

Installation and testing

  1. get jack2, patch, compile and install (or get the debian package).
  2. compile and install dbus-triggerd (or get the debian package).
  3. download and install myjackctl.sh to PATH (~/bin or /usr/local/bin), chmod +x.
  4. open a window to watch tail -f ~/.log/jack/jackdbus.log
killall -9 jackd jackdbus # clean start
jack_control eps verbose true        # tell jackdbus to be verbose
myjackctl.sh alsa hw:0 1024  48000 3 # launch jackd on first ALSA interface -p1024 -r48000 -n3
myjackctl.sh alsa hw:1               # switch to second ALSA interface

Launch some jack clients, players etc and repeat testing with myjackctl.sh.

Automating it with dbus-triggerd

dbus-triggerd is a tool to trigger shell-commands upon receiving a given dbus-signal.

It can be used to invoke myjackctl.sh in order to change the JACK-backend if

  • a new audio-interface is connected (system-dbus org.freedesktop.Hal.Manager,member=DeviceAdded) → use the newly connected device.
  • an audio-interface is disconnected (system-dbus org.freedesktop.Hal.Manager,member=DeviceRemoved) → switch to a fallback audio-interface.
  • JACK daemon signals device-error (session-dbus org.jackaudio.JackControl,member=DeviceError) → switch to a fallback audio-interface.

The two last are redundant and exclusive. JACKd still needs a patch to send a DeviceError. Using HAL's DeviceRemoved may be problematic for setups with more than two sound-cards if the removed device was not currently the one used by JACK.

Example to launch dbus-triggerd:

#!/bin/sh
make || exit
killall dbus-triggerd

### switch to sound 'hw:0' on any DeviceError
# This requires a patched JACK2, that sends a DeviceError
./dbus-triggerd $@ "type='signal',path=/org/jackaudio/Controller,interface=org.jackaudio.JackControl,member=DeviceError" --shell "myjackctl.sh alsa hw:0" &

# This an alternative to the above, using the HAL message
#dbus-triggerd $@ --system "type='signal',path=/org/freedesktop/Hal/Manager,interface=org.freedesktop.Hal.Manager,member=DeviceRemoved,arg0=/org/freedesktop/Hal/devices/usb_device_582_74_noserial_if0_sound_card_2" --shell "myjackctl.sh alsa hw:0" &

### switch to external USB sound device 'hw:2' when it's connected
./dbus-triggerd $@ --system "type='signal',path=/org/freedesktop/Hal/Manager,interface=org.freedesktop.Hal.Manager,member=DeviceAdded,arg0=/org/freedesktop/Hal/devices/usb_device_582_74_noserial_if0_sound_card_2" --shell "myjackctl.sh alsa hw:2" &

Implementation

Here be dragons…

The mechanism for backend-switching is implemented by a shell-script myjackctl.sh (which call dbus-send) that controls jack2d by exchanging dbus-messages.

myjackctl.sh is started with different command-line parameters on-demand by dbus-triggerd.

  • org.freedesktop.Hal.Manager,member=DeviceAdded
  • org.jackaudio.JackControl,member=DeviceError (requires patch to jack2)
  • (or) org.freedesktop.Hal.Manager,member=DeviceRemoved

Note that myjackctl.sh uses the org.jackaudio.PatchBay dbus-API which is broken in jack2-r4120 (see ticket below) and fixed by Nedko in jack2-r4366.

Future: Instead of patching jack2 to send additional messages (here: org.jackaudio.JackControl,member=DeviceError), the trigger functionality should be built into jackd, but requires a callback to the control API to be added to JACK.

The shell hook-script (myjackctl.sh) could be implemented easier and more flexible using python (jack-control API bindings) or similar language more suitable to parse and provide audio-port mapping and configuration.

References

Galtuer 2010

..skiing pneumonia… Picture Gallery

p1100542.jpg p1100580.jpg p1100566.jpg

· 01.01.2011 18:09 · Robin Gareus · 0 Comments
 
start.txt · Last modified: 24.11.2015 09:46 (external edit)
   |