FFADO - Firewire audio for Linux
Over the last few years the ieee1394 bus (commonly known as "firewire", see for example http://www.1394ta.org) has become the preferred bus for transferring audio data between a computer and high performance digital audio interface devices with less than approximately 32 channels. Over time, firewire audio devices have acquired many useful features while becoming increasingly affordable. It is therefore important that Linux support them since such devices are fast becoming the backbone of small to medium sized home/project recording studios and many live performance rigs. Linux already has a rich set of audio performance and production software; for example, the Ardour multitrack digital audio workstation (http://www.ardour.org), Jamin mastering processor (http://jamin.sourceforge.net) and LinuxSampler (http://www.linuxsampler.org/). The FFADO project (http://www.ffado.org) aims to provide the necessary driver infrastructure to allow this software pool to take advantage of firewire audio interfaces.
The talk will begin by introducing the firewire bus in the context of the audio transport problem and explain why it is better suited for professional audio than other alternatives such as USB. Having established the motivation I will discuss some of the unique issues encountered when passing audio to and from these devices and show how these have been overcome in the FFADO drivers.
I will raise the issue of manufacturer support and demonstrate why this is important even though firewire audio interfaces are supposed to have a standard to follow. This will lead into an outline of a number of firewire-specific protocol analysis techniques I have developed to partially offset the lack of manufacturer support from certain companies. Some of these don't even need exotic hardware, making it possible for users to assist in the FFADO effort by providing information about devices which the developers don't own or have access to.
FFADO interfaces to established Linux audio infrastructure in a transparent and non-invasive way and this will be illustrated by way of examples. Finally, I will give a summary of the current status of FFADO and developments in the pipeline.
This talk will give attendees an understanding and awareness of the
relatively new FFADO project and the important piece of infrastructure it implements. It will also provide technical background on the transport of audio over firewire, how this has been brought together within the FFADO project and the challenges encountered in doing so. No prior knowledge of audio or firewire issues will be assumed.
Jonathan Woithe is a Linux developer from Adelaide in Australia. He has been using Linux since the early 1990s both privately and as part of his employment, and has been sporadically contributing small patches to the Linux kernel and various open source userspace projects for about 8 years. His hobbies of music and audio/video recording have greatly influenced his software contributions and in part lead to his interest in firewire audio devices when they first started appearing on the market.
Jonathan has been working with firewire audio interfaces under Linux for over two years and joined the FFADO project in late 2006. He is currently the maintainer of the Fujitsu laptop driver in the Linux kernel and is one of the primary developers behind the FFADO project (www.ffado.org).