Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
wiki:audio_layers_overview [2009/09/20 12:25]
raboof created
wiki:audio_layers_overview [2013/06/02 15:45] (current)
Line 3: Line 3:
 ===== Kernel layer ===== ===== Kernel layer =====
  
-The most low-level layer is the kernel layer, which takes care of the communication with the hardware. This role is usually fulfilled by [[ALSA]] or [[OSS]]. ​+The most low-level layer is the kernel layer, which takes care of the communication with the hardware. This role is usually fulfilled by [[apps:all:ALSA]] or [[apps:​all:​oss_free|OSS]]. ​
  
 Most sound cards do not support '​hardware mixing',​ meaning each output can only play one stream at a time. This is, of course, inconvenient:​ you might want to play sounds from more applications at a time. Mixing is one of the most important operations performed by the higher-level layers. Most sound cards do not support '​hardware mixing',​ meaning each output can only play one stream at a time. This is, of course, inconvenient:​ you might want to play sounds from more applications at a time. Mixing is one of the most important operations performed by the higher-level layers.
Line 11: Line 11:
 ===== ALSA userspace ===== ===== ALSA userspace =====
  
-On top of the kernel [[ALSA]] layer, [[ALSA]] also provides some user-space plugins, including mixing with [[Dmix]]. ​+On top of the kernel [[apps:all:ALSA]] layer, [[apps:all:ALSA]] also provides some user-space plugins, including mixing with [[http://​alsa.opensrc.org/​DmixPlugin|Dmix]]. ​
  
 ===== Sound servers ===== ===== Sound servers =====
Line 19: Line 19:
 ==== Jack ==== ==== Jack ====
  
-[[Jack]] is the standard ​sound server for audio production work.+When you have your Linux Proaudio Distribution installed, it's important to know [[apps:​all:​Jack]] (Jack Audio Connection Kit). [[apps:all:Jack]] is the professional ​sound server ​daemon on Linux, that provides real-time, low latency connections ​for both audio and MIDI data between applications that supports [[apps:​all:​Jack]]. 
 + 
 +Some good points to start: 
 + 
 +  * [[https://​www.youtube.com/​watch?​v=fMz6fDGBnA4| Video Tutorial:]] JACK Audio Server: Basic Explanation,​ Install, and Setup 
 +  * [[http://​www.linuxjournal.com/​content/​friends-jack| Friends Of JACK]] Article about JACK in LinuxJournal. 
 +  * [[http://​www.youtube.com/​user/​AutoStatic3000| Youtube channel of Linuxaudio-user AutoStatic]] 
 +  * [[http://​www.youtube.com/​watch?​v=43ES7p4ejX0&​feature=relmfu| Youtube Channel of Linux & Ardour user Kris (metalx1000)]] 
 +  * [[http://​en.flossmanuals.net/​ardour/​index/?​q=flossmanual | Ardour Floss Manual]] 
 +  * [[http://​linuxhomerecording.blogspot.com/​ | Linux Homerecording Blog]] Making noise with Open Source! 
 +  * [[https://​github.com/​ccherrett/​oom/​wiki | The OpenOctave Project WIKI]] 
 +  * [[http://​www.linuxjournal.com/​user/​800764/​track|Dave Phillips writing for Linuxjournal.com]]
  
 ==== PulseAudio, ESounD, GStreamer, aRts ==== ==== PulseAudio, ESounD, GStreamer, aRts ====
  
-Other sound servers such as [[PulseAudio]],​ [[ESounD]], [[GStreamer]] and [[aRts]] serve various desktop audio needs, and have lots of overlapping functionality,​ but are not specifically focused towards audio production like [[Jack]].+Other sound servers such as [[apps:all:PulseAudio]],​ [[apps:all:ESounD]], [[apps:all:GStreamer]] and [[apps:all:aRts]] serve various desktop audio needs, and have lots of overlapping functionality,​ but are not specifically focused towards audio production like [[apps:all:Jack]]
 + 
 +===== Compatibility layers ===== 
 + 
 +An application that does not use a sound server is generally written for either [[apps:​all:​OSS_free|OSS]] (in which case it would use /dev/dsp*) or [[apps:​all:​ALSA]] (in which case it would use /dev/snd/* though the [[apps:​all:​ALSA]] libraries). 
 + 
 +This would mean [[apps:​all:​OSS_free|OSS]] would not work on systems using [[apps:​all:​ALSA]] and vice-versa. Luckily, both projects provide a '​compatibility layer' to work with each others'​ applications.
wiki/audio_layers_overview.1253442317.txt.gz · Last modified: 2009/09/20 12:25 by raboof