||<>|| = Audio User Guide for Ubuntu Studio = Here's a short introduction to audio on Ubuntu Studio. Shortly about what audio systems we have, and how to make use of them. = Pulseaudio - The Desktop Sound System = == What is pulseaudio? == '''[[http://www.freedesktop.org/wiki/Software/PulseAudio | Pulseaudio]]''' is the default sound system on Ubuntu Studio, and handles all desktop sound. It uses '''[[http://www.alsa-project.org | alsa]]''' as its backend, meaning alsa provides the drivers for your soundcard. Controlling pulseaudio is done mainly from the volume control in the indicator area. But, for some cards, not everything can be adjusted from there and you will need to use the generic alsamixer or a special mixer (mentioned below) to get further control of your audio device. == Supported Devices == === Alsa provides driver support === Any device that is supported by '''[[http://www.alsa-project.org | alsa]]''' is potentially supported by '''[[http://www.freedesktop.org/wiki/Software/PulseAudio | Pulseaudio]]'''. Usually only pro audio multichannel cards may have problems with pulseaudio. If you find that your multichannel card is not working with pulseaudio, but is supported by alsa, it will still work perfectly with '''[[http://jackaudio.org/ | jack]]'''. To get desktop audio working for such a card, you will need to set up the '''[[http://help.ubuntu.com/community/UbuntuStudio/ProAudioIntro/1204#The_Pulse_Audio_to_Jack_Bridge_-_using_both_at_once | pulseaudio to jack bridge]]''' mentioned below. === Firewire will only work with special configuration === Currently, firewire devices are not supported by alsa, and may only be used with jack using the ffado firewire driver. But, since we are now able to connect Pulseaudio to jack, using the '''[[http://help.ubuntu.com/community/UbuntuStudio/ProAudioIntro/1204#The_Pulse_Audio_to_Jack_Bridge_-_using_both_at_once | pulseaudio to jack bridge]]''', we can circumvent this problem. == No Volume? == Many cards are muted by default, and need to be accessed with a special mixer in order to be controlled. There is a generic alsa mixer in the main menu at '''menu -> Audio Production -> Mixers -> Mixer '''. To use it, you will first need to select the card you wish to control, and make its controls visible from '''Select Controls'''. If I for example want to raise volumes for a m-audio delta device, I will first need to make all the '''ADC'''s (Audio to Digital Converter) and '''DAC'''s (Digital to Audio converter) visible to control the volume for inputs and outputs. == Pci mixers == There are also card specific mixers. They are not actually "brand" specific, but "chip" specific, so some mixers will work with many brands that share the same internal chip. These mixers are not only needed to control your device with pulseaudio, but also with jack, since both use alsa as its' backend. To find out which chip your pci audio device has, look up the brand [[http://www.alsa-project.org/main/index.php/Matrix:Main | here]]. Select it, and try to find the chipset for your model. One particularly common chipset is the envy24(ice1712). Here's a list of mixers for pci devices that are preinstalled with Ubuntu Studio (comes with the alsa-tools package): '''echomixer''' is the Linux equivalent of the Echoaudio console application from Echoaudio. It is a tool to control all the features of any Echoaudio soundcard. This includes clock sources, input and output gains, mixers, etc. '''hdspmixer''' is the Linux equivalent of the Totalmix application from RME. It is a tool to control the advanced routing features of the RME Hammerfall DSP soundcard series. To handle RME Hammerfall cards you might also need the tools '''hdspconf''' and '''hdsploader''' '''mudita24''' - is a control tool for Envy24 (ice1712) based sound cards, and replaces the older envy24control (M-Audio Delta Series) '''rmedigicontrol''' - is a control tool for RME Digi32 and RME Digi96 sound cards. It provides a graphical frontend for all the sound card controls and switches. == More Information == More information on supported hardware can be found [[http://help.ubuntu.com/community/UbuntuStudio/SupportedHardware | here]]. = Jack - The Pro Audio Sound System = Jack is a sound server, and like pulseaudio, it is able to use alsa as it backend. But, jack is also able to use other drivers, such as the '''firewire''' driver developed by [[http://www.ffado.org/ | ffado]]. Commonly, those are the only two drivers used with jack for audio devices on a Linux machine. == Why use Jack? == '''Many audio applications will only work with jack''' - Applications meant for pro audio use will often only work with jack. '''Jack is extremely low latency capable''' - Jack is able to give you extremely low latencies at the right conditions. Which is a must if you are to play a live software instrument. '''Some devices will only work with jack''' - As mentioned above, firewire devices will only work with jack. '''Jack connectability''' - When using jack you can connect any application to any other application just as if you were using physical cables. You are thus not restricted by the functionality of a single application. You can even route pulseaudio to jack, and make use of all of it's desktop audio capability. == Starting Jack == The easiest way to start jack is to use '''Ubuntu Studio Controls'''. To learn more, a guide to Ubuntu Studio Controls can be found [[../UbuntuStudioControls|here]]. === Firewire Troubleshooting === Sometimes it's just a matter of knowing what to do in which order. Maybe you need to start your computer with the firewire device already attached, or the other way around. Try different combinations, if you are sure the device is supported. (more info on supported devices [[http://help.ubuntu.com/community/UbuntuStudio/SupportedHardware | here]]). === USB troubleshooting === A common thing to try is to set '''Jack Periods''' to '''3''' in Ubuntu Studio Controls. === Reducing Xruns === Xruns are either a buffer overflow or buffer underflow of the audio system in Jack. These can be heard as a popping or a ticking sound. Reducing or eliminating Xruns can be done with multiple methods, such as: * Turning off and using a wired network connection * Turning off bluetooth * Disabling the PulseAudio-Jack bridge * Reduce background processes If none of these methods work, the only way to reduce or eliminate Xruns is to raise your buffer to a higher setting.