Proceedings 2005
Total Page:16
File Type:pdf, Size:1020Kb
LAC2005 Proceedings 3rd International Linux Audio Conference April 21 – 24, 2005 ZKM | Zentrum fur¨ Kunst und Medientechnologie Karlsruhe, Germany Published by ZKM | Zentrum fur¨ Kunst und Medientechnologie Karlsruhe, Germany April, 2005 All copyright remains with the authors www.zkm.de/lac/2005 Content Preface ............................................ ............................5 Staff ............................................... ............................6 Thursday, April 21, 2005 – Lecture Hall 11:45 AM Peter Brinkmann MidiKinesis – MIDI controllers for (almost) any purpose . ....................9 01:30 PM Victor Lazzarini Extensions to the Csound Language: from User-Defined to Plugin Opcodes and Beyond ............................. .....................13 02:15 PM Albert Gr¨af Q: A Functional Programming Language for Multimedia Applications .........21 03:00 PM St´ephane Letz, Dominique Fober and Yann Orlarey jackdmp: Jack server for multi-processor machines . ......................29 03:45 PM John ffitch On The Design of Csound5 ............................... .....................37 04:30 PM Pau Arum´ıand Xavier Amatriain CLAM, an Object Oriented Framework for Audio and Music . .............43 Friday, April 22, 2005 – Lecture Hall 11:00 AM Ivica Ico Bukvic “Made in Linux” – The Next Step .......................... ..................51 11:45 AM Christoph Eckert Linux Audio Usability Issues .......................... ........................57 01:30 PM Marije Baalman Updates of the WONDER software interface for using Wave Field Synthesis . 69 02:15 PM Georg B¨onn Development of a Composer’s Sketchbook ................. ....................73 Saturday, April 23, 2005 – Lecture Hall 11:00 AM J¨urgen Reuter SoundPaint – Painting Music ........................... ......................79 11:45 AM Michael Sch¨uepp, Rene Widtmann, Rolf “Day” Koch and Klaus Buchheim System design for audio record and playback with a computer using FireWire . 87 01:30 PM John ffitch and Tom Natt Recording all Output from a Student Radio Station . ..................95 LAC2005 3 02:15 PM Nicola Bernardini, Damien Cirotteau, Free Ekanayaka and Andrea Glorioso AGNULA/DeMuDi – Towards GNU/Linux audio and music . .........101 03:00 PM Fernando Lopez-Lezcano Surviving On Planet CCRMA, Two Years Later And Still Alive . ............109 Saturday, April 23, 2005 – Media Theater 11:00 AM Julien Claassen Linux As A Text-Based Studio ........................... ....................115 11:45 AM Frank Eickhoff “terminal rasa” – every music begins with silence ......... ...................121 01:30 PM Werner Schweer and Frank Neumann The MusE Sequencer: Current Features and Plans for the Future .............127 02:15 PM Nasca Octavian Paul ZynAddSubFX – an open source software synthesizer ........ ................131 03:00 PM Tim Janik Music Synthesis Under Linux ........................... .....................137 Sunday, April 24, 2005 – Lecture Hall 11:00 AM Davide Fugazza and Andrea Glorioso AGNULA Libre Music – Free Software for Free Music . ..............141 11:45 AM Dave Phillips Where Are We Going And Why Aren’t We There Yet? . ..........147 LAC2005 4 Preface We are very happy to welcome you to the 3rd International Linux Audio Con- ference. It takes place again at the ZKM | Institute for Music and Acoustics in Karlsruhe/Germany, on April 21-24, 2005. The “Call for Papers” which has resulted in the proceedings you hold in your hands has changed significantly compared to the previous LAC conferences because this time we were asking for elaborated papers rather than short abstracts only. We are very glad that in spite of this new hurdle we have received quite a lot of paper submissions and we are confident that many people will appreciate the efforts which the authors have put into them. Each paper has been reviewed by at least 2 experts. Many thanks go to the authors and reviewers for their great work! We hope that the 2005 conference will be as successful and stimulating as the previous ones and we wish you all a pleasant stay. Frank Neumann and G¨otz Dipper Organization Team LAC2005 Karlsruhe, April 2005 The International Linux Audio Conference 2005 is sponsored by LAC2005 5 Staff Organization Team LAC2005 G¨otz Dipper ZKM | Institute for Music and Acoustics Frank Neumann LAD ZKM Marc Riedel Organization of LAC2005 Concerts/Call for Music Jurgen¨ Betker Graphic Artist Hartmut Bruckner Sound Engineer Ludger Brummer¨ Head of the Institute for Music and Acoustics Uwe Faber Head of the IT Department Hans Gass Technical Assistant Joachim Goßmann Tonmeister Achim Heidenreich Event Management Martin Herold Technical Assistant Martin Kn¨otzele Technical Assistant Andreas Liefl¨ander Technical Assistant Philipp Mattner Technical Assistant Alexandra M¨ossner Assistant of Management Caro M¨ossner Event Management Chandrasekhar Ramakris- Software Developer hnan Martina Riedler Head of the Event Department Thomas Saur Sound Engineer Theresa Schubert Event Management Joachim Schutze¨ IT Department Bernhard Sturm Production Engineer Manuel Weber Technical Director of the Event Department Monika Weimer Event Management Susanne Wurmnest Event Management LAD Matthias Nagorni SUSE LINUX Products GmbH J¨orn Nettingsmeier Coordination of the Internet Audio Stream Relay Servers Marco d’Itri Italian Linux Society Eric Dantan Rzewnicki Radio Free Asia, Washington Chat Operator Sebastian Raible Icecast/Ices Support Jan Gerber Karl Heyes Xiph.org LAC2005 6 Paper Reviews Fons Adriaensen Alcatel Space, Antwerp/Belgium Frank Barknecht Deutschlandradio, K¨oln/Germany Ivica Ico Bukvic University of Cincinnati, Ohio/USA Paul Davis Linux Audio Systems, Pennsylvania/USA Fran¸cois D´echelle France Steve Harris University of Southampton, Hampshire/UK Jaroslav Kysela SUSE LINUX Products GmbH, Czech Republic Fernando Lopez-Lezcano CCRMA/Stanford University, California/USA J¨orn Nettingsmeier Folkwang-Hochschule Essen/Germany Frank Neumann Karlsruhe/Germany Dave Phillips Findlay, Ohio/USA (In alphabetical order) LAC2005 7 LAC2005 8 MidiKinesis — MIDI controllers for (almost) any purpose Peter Brinkmann Technische Universit¨atBerlin Fakult¨at II – Mathematik und Naturwissenschaften Institut f¨urMathematik Sekretariat MA 3-2 Straße des 17. Juni 136 D-10623 Berlin [email protected] Abstract 2 Basics MidiKinesis is a Python package that maps MIDI Before implementing MidiKinesis, I settled on control change events to user-defined X events, with the following basic decisions: the purpose of controlling almost any graphical user interface using the buttons, dials, and sliders on a • MidiKinesis will perform all its I/O MIDI keyboard controller such as the Edirol PCR- through the ALSA sequencer (in particular, 30. Key ingredients are Python modules providing no reading from/writing to /dev/midi*), access to the ALSA sequencer as well as the XTest standard extension. and it will act on graphical user interfaces by creating plain X events. Keywords • MidiKinesis will be implemented in Python ALSA sequencer, MIDI routing, X programming, (Section 8), with extensions written in C as Python necessary. Dependencies on nonstandard Python packages should be minimized. 1 Introduction Limiting the scope to ALSA and X effectively When experimenting with Matthias Nagorni’s locks MidiKinesis into the Linux platform (it AlsaModularSynth, I was impressed with its might work on a Mac running ALSA as well as ability to bind synth parameters to MIDI events X, but this seems like a far-fetched scenario), on the fly. This feature is more than just a but I decided not to aim for portability because convenience; the ability to fine-tune parameters MidiKinesis solves a problem that’s rather spe- without having to go back and forth between cific to Linux audio.1 The vast majority of Mac the MIDI keyboard and the console dramati- or Windows users will do their audio work with cally increases productivity because one can ad- commercial tools like Cubase or Logic, and their just several parameters almost simultaneously, MIDI support already is as smooth as one could without losing momentum by having to navi- possibly hope. The benefit of limiting MidiKi- gate a graphical user interface. Such a feature nesis in this fashion is a drastic simplification of can make the difference between settling for a the design; at the time of this writing, MidiKi- “good enough” choice of parameters and actu- nesis only consists of about 2000 lines of code. ally finding the “sweet spot” where everything When I started thinking about this project, sounds just right. my first idea was to query various target pro- Alas, a lot of audio software for Linux does grams in order to find out what widgets their not expect any MIDI input, and even in pro- user interfaces consist of, but this approach grams that can be controlled via MIDI, the act turned out to be too complicated. Ultimately, of setting up a MIDI controller tends to be less it would have required individual handling of immediate than the elegant follow-and-bind ap- toolkits like GTK, Qt, Swing, etc., and in many proach of AlsaModularSynth. I set out to build cases the required information would not have a tool that would map MIDI control change been forthcoming. So, I decided to settle for events to GUI events, and learn new mappings 1 on the fly. The result was MidiKinesis, the sub- I did put a thin abstraction layer between low-level implementation details and high-level application code ject of this note. MidiKinesis makes it possible (Section 3), so that it is theoretically possible to