The role of a sound server in Linux is to take inputs from a number of sources and route them to a number of sinks. Several audio servers are available in Linux, with the primary ones being PulseAudio and Jack. They are designed for different roles: PulseAudio is intended for consumer audio systems, while Jack is designed for professional audio. Lennart Poettering at http://0pointer.de/blog/projects/when-pa-and-when-not.html draws up a table of differences. The main one is that Jack is intended for environments in which low latency is critical, with Jack introducing less than 5ms latency into an audio chain, while PulseAudio can introduce up to 2-second delays. Other differences are that PulseAudio can run on low-quality systems including mobile phones, while Jack is usually run on high-quality audio equipment. The article “Knowing Jack” gives a gentle introduction to Jack. This chapter looks at tools built specifically for Jack, how applications use Jack, and finally programming with Jack.