Switching to a Linux audio system: a pragmatic guide

Video thumbnail (Frame 0) Video thumbnail (Frame 1282) Video thumbnail (Frame 2823) Video thumbnail (Frame 11158) Video thumbnail (Frame 13033) Video thumbnail (Frame 16158) Video thumbnail (Frame 17772) Video thumbnail (Frame 19225) Video thumbnail (Frame 20630) Video thumbnail (Frame 21779) Video thumbnail (Frame 24294) Video thumbnail (Frame 26573) Video thumbnail (Frame 27960) Video thumbnail (Frame 29177) Video thumbnail (Frame 30427) Video thumbnail (Frame 31467) Video thumbnail (Frame 32554) Video thumbnail (Frame 33526) Video thumbnail (Frame 36929) Video thumbnail (Frame 37858) Video thumbnail (Frame 40196) Video thumbnail (Frame 42292) Video thumbnail (Frame 44492) Video thumbnail (Frame 46074) Video thumbnail (Frame 48051) Video thumbnail (Frame 50120) Video thumbnail (Frame 52099) Video thumbnail (Frame 53817) Video thumbnail (Frame 55489) Video thumbnail (Frame 56431) Video thumbnail (Frame 59441) Video thumbnail (Frame 68576)
Video in TIB AV-Portal: Switching to a Linux audio system: a pragmatic guide

Formal Metadata

Switching to a Linux audio system: a pragmatic guide
Title of Series
CC Attribution 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date
Chaos Computer Club e.V.

Content Metadata

Subject Area
Electronic program guide Musical ensemble Physical system
Keyboard shortcut Open source Information Interface (computing) Electronic program guide Parallel port Lattice (order) Theory Neuroinformatik Computer hardware Physical system Address space Window Physical system Row (database)
Keyboard shortcut Server (computing) Game controller Workstation <Musikinstrument> Device driver Streaming media Function (mathematics) Parameter (computer programming) Coprocessor Product (business) Number Different (Kate Ryan album) Computer hardware Operating system Office suite Plug-in (computing) Capability Maturity Model Software development kit Physical system Addition MIDI Key (cryptography) File format Digitizing Interface (computing) Electronic program guide Keyboard shortcut Numbering scheme Cartesian coordinate system Flow separation Connected space Computer hardware Telecommunication Interface (computing) output Physical system Window Row (database)
Demon Server (computing) Game controller Datenausgabegerät Multiplication sign Device driver Set (mathematics) Parameter (computer programming) Number 2 (number) Bit rate Bridging (networking) Computer hardware Area Computer icon MIDI Distribution (mathematics) Trail Interface (computing) Web page Debugger Sampling (statistics) Cartesian coordinate system Integrated development environment Normed vector space Buffer solution Compilation album output Configuration space Convex hull Row (database)
Digital signal processor Interface (computing) Digitizing Workstation <Musikinstrument> Motion capture Physicalism Function (mathematics) Line (geometry) Rectangle Software Matrix (mathematics) output Representation (politics) Error message Physical system Physical system
Execution unit Server (computing) Digitizing Source code Workstation <Musikinstrument> Right angle Plug-in (computing) Connected space Physical system Row (database)
Email Type theory Information File format Digitizing Workstation <Musikinstrument> Moment (mathematics) Envelope (mathematics) Bit Absolute value Logic gate Plug-in (computing)
User interface Computer simulation Bit Parameter (computer programming) Plug-in (computing) Row (database)
Server (computing) Hooking Hard disk drive Musical ensemble Cartesian coordinate system Window Row (database)
Suite (music) Digital signal processor Online help Coroutine Sound effect Function (mathematics) Cartesian coordinate system Connected space 2 (number) Order (biology) Hypermedia Chain output Whiteboard Distortion (mathematics) Row (database)
MIDI Musical ensemble Distortion (mathematics) Row (database)
User interface Insertion loss Workstation <Musikinstrument> Sound effect Ranking Physical system Sound effect
MIDI Object-oriented programming Key (cryptography) Keyboard shortcut Function (mathematics) Rectangle Connected space
Beat (acoustics) MIDI Key (cryptography) MIDI Interior (topology) Knot Convex hull Bit
Session Initiation Protocol MIDI Execution unit Multiplication sign MIDI Interior (topology) Bit Text editor Cartesian coordinate system Row (database)
Software design pattern Source code Sheaf (mathematics) Sound effect Pattern language Cartesian coordinate system Physical system Product (business)
MIDI Key (cryptography) Multiplication sign Interface (computing) Keyboard shortcut MIDI output Function (mathematics) Gamma function Rectangle Routing Connected space
MIDI Maxima and minima Hill differential equation Bit Musical ensemble
Server (computing) Process (computing) Computer file Mixed reality Projective plane Coroutine Cartesian coordinate system Row (database)
MIDI Computer file Multiplication sign Projective plane Denial-of-service attack Set (mathematics) Cartesian coordinate system Mereology Connected space Type theory Data management Different (Kate Ryan album) Lie group Motion blur Representation (politics)
Keyboard shortcut Pattern recognition Structural load Interface (computing) Multiplication sign Simultaneous localization and mapping Electronic program guide Device driver Numbering scheme Bit Numbering scheme Cartesian coordinate system Flow separation Different (Kate Ryan album) Computer hardware Lie group Telecommunication Computer hardware Synchronization Interface (computing) Office suite Physical system
Web page Distribution (mathematics) Internetworking Computer hardware Electronic program guide Computer hardware Bit Physical system Physical system Number
Pointer (computer programming) Distribution (mathematics) Distribution (mathematics) Electronic program guide Combinational logic Hill differential equation Online help Multimedia Cartesian coordinate system Freeware Flow separation Physical system
Axiom of choice Distribution (mathematics) Server (computing) Game controller File format Server (computing) Electronic program guide Debugger Device driver Device driver Cartesian coordinate system Neuroinformatik Data management Computer hardware Single-precision floating-point format Order (biology) Operating system Video game Physical system Window Plug-in (computing)
Game controller Distribution (mathematics) Electronic program guide Debugger Touch typing Bit Canonical ensemble Physical system Window
Web page Sampling (statistics) Set (mathematics) Bit Parameter (computer programming) Canonical ensemble Cartesian coordinate system Computer programming Sample (statistics) Software Bit rate Computer hardware Buffer solution Configuration space
Computer font Game controller Functional (mathematics) Server (computing) Interface (computing) Digitizing Robot Workstation <Musikinstrument> Line (geometry) Function (mathematics) Neuroinformatik Number Computer hardware output Multimedia Text editor Whiteboard Gamma function Exception handling
Web page Computer file Multiplication sign Set (mathematics) Computer programming Mathematics Hypermedia Internetworking Booting Partition (number theory) Multiplication Distribution (mathematics) Theory of relativity Information Data storage device Bit Line (geometry) Cartesian coordinate system Hand fan Connected space Type theory Data management Software Chain Hard disk drive Video game MiniDisc Normal (geometry) Communications protocol Window Row (database)
[Music] well okay now that I get your attention
hello everybody and welcome to my little lecture about switching to a Linux audio system my name is George I'm a member of the open source audio meeting cologne and in my demonstration you will get all the relevant information to start right away with recording on a Linux system this demonstration addresses itself to Windows and Mac users who are interested in doing audio on Linux as well as on Linux users who have never done audio production before well you will find a lot of parallels between Windows Mac and Linux concerning the workflows and the technologies but there are also some particularities which I will going to show you right away but first let me do
a little introduction into all this theory and all the terminology and things like that first of all well if you want to start doing recording you need a computer of course and you need all your hardware well nowadays most of the audio hardware is equipped with a USB interface and my little demonstration I'm using such a USB audio interface it's a well combination of
audio interface and controller from Native Instruments it comes with two inputs to outputs and an integrated MIDI interface and for doing audio record and MIDI recording I'm using this little keyboard it's the cork nano key - okay normally the audio hardware is made for Windows and Mac OS Windows users might ask themselves now he is it necessary to install a driver on Linux that's not necessary because Linux comes with a hardware driver which is called Elsa it's deeply integrated into the Linux system and recognizing and detecting this audio hardware is done automatically well okay now we get this the next thing of course you will work with digital audio workstations on Linux there are a great number of different digital audio workstations all with their own concept all with their own layout and things like that for my little demonstration I will use the ad world digital audio workstation it's well the most mature digital audio workstation on linux and well it's it orientates itself on the world wide appreciated and known Pro Tools sequencer from avid and well when you are working with digital audio workstations of course you want to refine your recordings with sound processors and on Linux you can also use plugins for that and well in difference to Windows and Mac OS on Linux there are several plug-in formats the most modern plug-in formats nowaday are called lv2 and linux VST well windows mac users might think now VST well that's very known and yes indeed linux VST comes from the company Steinberg who has developed this interface format mainly for their Cubase and Nuendo digital audio workstation but nowadays VST is well let's say the most used plug-in format in the freeware world and well it's also existent in the linux world but beware if you now think you can copy your windows or mac or s plug-ins onto a Linux system unfortunately that won't work because Linux VST plugins' have to be specially compiled for a Linux system so unfortunately it it makes no sense well and now I'm coming to a particularity on the Linux in the Linux world and these are called sound servers a sound server is a background application that manages all the in and out coming audio streams and in addition to that such a sound server is also capable of distributing all these streams between several active applications ok Windows and Mac users now think of the rewire interface which was developed by Steinberg and propellerhead but in Linux those sound servers are far more capable than this rewire interface for working with sound server for doing all your production there's one sound server that's highly recommended for using and it's called Jack Jack that's an acronym for a jack audio connection kit and the advantage of using jack is it's low latency behavior so if you encounter delays or blurry sounds things like that it will not come from the jack server there are other problems for example at the audio hardware or things like that ok so now we get the picture we got a hardware driver we get the sound server and we get the your applications so now let me show you
a little audio scheme so that you can get an idea of how this is all working together we get the audio hardware which is detected by the hardware driver alsa then we get the audio applications which are started from the Linux operating system those applications are capable of loading the plugins and then we get the jack sound server which is well let's say some kind of layer between the hardware driver and the audio applications we can see him well as some kind of a communication Officer between the hardware and every active application so you can connect everything to everything from everything the possibilities are well nearly endless so that's this picture and as I have told you jack is a background application then you might ask yourself now hmm how can I manage and define parameters on the jack server well nothing simpler than that for this
purpose we got several front ends what
I'm showing you here is on akx studio distribution and KX to do is coming with a front and that's called katan's and as you can see jack status the server is already started and at the same time in this front-end application you can also define the parameters of your audio hardware we can do this on clicking on the configure button and there you see Jack settings on the left side the column you see Elsa as the hardware driver for the USB hardware and in the device area you see that I have already hooked up the Rick control 3 interface as an in an output device you can also define the number of input and output channels as well as the sampling rate and the sample buffer size so doing settings in this dialog is done within any seconds so that's not a problem okay the next thing I want to show you is this row over here saying Elsa MIDI you see Elsa MIDI bridge is running this starts another background application which is called Elsa to Jack MIDI demon its purpose is that the USB MIDI hardware is visible in the sound server environment of Jack so if you want to do mini recording with it it's necessary to start this process okay and the next thing as I have said you can connect everything to everything with everything there is another application which is called Katya and as
you can see over here it's some kind of graphical routing matrix all those rectangles are representations of inputs outputs and software for example the rectangle saying system with the blue capture errors are the representations of my physical audio inputs of the audio
interface and on the other hand system playback are the physical outputs of my audio interface in the middle you see the representation of the other digital audio workstation we get two tracks so my arrangement final that's that's the stereo track where I have played the jingle at the beginning and you can see we have lines between the physical inputs outputs and other these are the connect and as you can see capture 1 & 2 are
automatically routed to the stereo audio track from the forth jingle so you can disconnect it in choosing the right the right channel and doing new connections is simply done by clicking and dragging from the source to the destination nothing simpler than that so I think you get now the picture of it and I think we can start recording something so that I can show you the possibilities on a Linux system for doing recordings only in a digital audio workstation as well as with the capabilities of the sound server so my first recording will be a
audio recording in using the internal plugins of a digital audio workstation so let me create a track and loading some plugins as you can see over there
type there are two types lv2 which I have mentioned already and lotsa lotsa is well nowadays a little bit outdated plug-in format but it's still existent and still in use it depends on what kind of digital audio workstation you will use not every digital audio workstation is capable of loading every plug informant it depends what you will use either for example is
also capable of loading Linux VST plugins but now for the moment let me
choose some plugins for my first recording it's the room simulator the phaser and the red foot pedal so now you see over
here in the channel strip I got I have loaded three plugins you can open the user interface in a simple double-click and let me now tweak the parameters a bit
okay the next thing I have to do is arm the track for recording pushing the in button for getting the direct monitoring so and now I'm taking my guitar and let's see what happens do we have sound yet we get sound so I'm now ready for recording let me tuck in the metronome and okay [Music] okay now deactivating yeah thank you it's it's it's just the beginning so now we're turning over to disk so that we can hear what we have saved on the hard disk and let's check the recording yeah okay that's our first recording this workflow is very known in the Windows and Mac world and now for my next audio recording I will use an external application that I hook up with the capabilities of the jack server so first let me make another audio track and as external as an external application I'm
using the record rec guitar effects suit
it's well let's say the equivalent to Native Instruments Guitar Rig or I came alter media AmpliTube so I get the right preset in it so we can put it down and
now we are switching over to Cathy on
and you see I got now here the record rack application but there are no connections between our dough and record X so what is it what I want to do I want to put this effects application between my physical audio input and the audio input of my newly created audio track so for better understanding I'm switching over to the second input channel let me deactivate all these routines now and now it's like doing an effect chain on a guitar pedal board for your guitar setup so now I'm clicking captured to the input of recurring and the output of rhetoric well it's going to the input of my newly created audio track so back
again in our duel let me arm the track and now we should hear a nice little distorted sound yeah okay that's it so again we're ready for recording [Music] [Applause] [Applause] so let us check it again yeah nothing simpler than that so and you might wonder yourself what I have shown you
with audio is also valid for MIDI so my next recordings will be MIDI recordings and my first track is a track where I
will gonna use an internal virtual instrument so and for that I'm choosing the very very famous Synod sub effects synthesizer it's well let's say it's nearly the same as the very famous Cork and one audio workstation and well Sinnott sub effects reflects this in the linux world and again we can open the user interface with a simple double click now let me choose a sound that's
supersoul to and now we can close it so
we're ready again for recording so and when I'm now typing in some keys we should hear some sound oops oops nothing's coming well then let's switch over to Katya again and as you can see
here this rectangle the output of my nano key there is no connection so we only have to do a connection between the output of my nano key keyboard to my newly created MIDI track oops done so on when I'm now typing in some
keys well okay now we get sound so again ready to record okay so let me tweak this recording a little bit midi midi
quantize quantizing in quarters okay so
let's check this again okay and okay
first a little bit sip of coffee so and now guess what's coming next yeah okay a MIDI recording while using another external application and let me first create a track this time without any virtual instrument and as an external application I will use I will
use come on the hydrogen drum machine
normally that's a whole production system where you can program patterns you can chain patterns to whole songs it comes with an internal mixing desk and an effects section and things like that and well it's an external application it has got no interfaces and for my
demonstration I will abuse hydrogen as a simple sound source so we can close this
there's nothing else to do in it so and now let us think what is it what I want to do I want to play on my keyboard what I'm playing on the key should be recorded on to other and at the same time my playing should trigger the sounds in hydrogen and of course I'll also want to hear what hydrogen is making for sound so let's switch back to Cathy on and there you can see we get a
MIDI rectangle and an audio rectangle of hydrogen as you can see over here the audio outputs are directly routed to the physical outputs of my audio interface but that's not what I have in mind so let me disconnect them and instead of this I'm routing the audio outputs directly to the main stereo boosts of our dorm this is done this way well you can also create another stereo audio track and route the audio outputs of hydrogen directly to this stereo audio track for extra recording the audio but for my demonstration routing it directly to the main stereo buss is sufficient well okay now let's recapitulate it I want to play on my keyboard and my playing should be recorded in other so the first thing is making a connection to my newly created MIDI track so other is aware of what I'm playing so and now the next thing is I have to connect the audio daddy the MIDI track with the MIDI input of hydrogen we get the MIDI output of my track and I'm connecting it with the input of hydrogen so let's get back
to our dough let's arm the track and when I'm now typing in some notes we should hear some drum sounds yeah okay that's it let me record it again [Music] okay again a little bit of tweaking
again in quarters so and then you have
seen recording in the normal way that you know from Windows Mac OS it's just as simple as that and using the capabilities of the the Jack sound server while using this Katia front and is also not so difficult and well the next steps you can do you can refine your mix for example other comes with a mixer where you can refine all those
recordings you can edit them in the same way copying pasting trimming things like that and after that if you are finished with it you can bounce your project to a stereo file these are also very common processes also in the Linux world well okay and when you're now finished with your project and with all your active applications and all these complex routines when you finish it and when you close it all down and well let's say two days later you want to recall this project again well is it necessary that you have start every single application one by one and redo all these routines again no that's not necessary because
because Linux also comes with a very
handy solution there are there is a type of application which is called session manager and here in my set up
we got Claudia and Claudia is such a session manager this application recognizes and memorizes every step you do for your audio or set up it memorizes which applications you have started as well as all the connections you can see the graphical representation is a little bit different but it reflects every aspect that I have done in Katya you see rhetoric over here there we have the hydrogen MIDI part the hydrogen audio part things like that well and now you can save this setting on to a file and the next time you want to start your project the first thing you do is to start the session manager you look up for the file you load the file and everything will come up automatically it's pure magic including every audio routing so this is this and I hope you
have seen now that's neither difficult nor is it rocket science okay now let us recapitulate what you have seen and learn so far and let's start again with
this Linux audio scheme as I've told you all your heart were detected by the hardware driver we got our audio applications and Jack as the communication officer between the hardware as well as between every active application ok now let me step a little bit more back and let's start again with the audio hardware there is really a vast amount of different audio hardware out there in the market but nowadays nearly every modern audio hardware is equipped with the USB interface so as I have said it several times recognition of USB hardware is done by all the ELSA driver but could it be that there are any restrictions the answer is well very simple there are no restrictions nearly every modern hardware as well as older hardware for example this little interface now is about 10 or 11 years
old and it works without any problem I
have to admit there are some restrictions and there are pages on the internet listening what kind of hardware will work and will not work but for USB the number is really really really low for date for this so starting right away with audio with USB Hardware there will be no problem ok the next thing let me step a little bit more back that's for the newbies who wanted to install a Linux system you might ask yourself now what kind of Linux should I use for audio production and that's a really good question because out there in the Linux world there are endless distributions all with their own look
all with their own combination of applications and things like that but I get some recommendations and again some
solutions there are free multimedia audio distributions out there and those distributions do have several advantages for example there are also coming with nearly the same amount of audio applications for example other is included in every one of them as well as Jack and for example the hydrogen drum machine things like that the other advantage of choosing one of those three is AV Linux is based on Debian and the other two distributions are based on Ubuntu and those two distributions are well let's say the mainstream in the Linux world so if you encounter any problems with your distributions you can be sure that there is a giant help base out there for getting solutions for your problems I'm coming to the next
advantages in choosing one of those distributions well know it it's valid for every Linux distribution you can download Linux distribution you can put it on a DVD or a USB stick and then you can load your Linux distribution without installing anything on your computer so you can evaluate and test Linux without doing any harm to your computer for example my demonstration is done with such a life installation and nothing was installed and afterwards if you have made your choice then there are some more choices if you want to install Linux you can install it as a single operating system for example on an older computer or you can install Linux in parallel besides your other operating system which is also valid for Windows and Mac OS so these are very comfortable and convenient solutions so this is this and the next thing let's summarize the
most important terminology again Hardware driver Elsa the sound server first choice for doing audio production the jack server and well be well okay popular but the most modern plug-in formats nowadays lv2 and Linux VST and well okay you have seen it in the plugin manager of order lots bar as well as DSS I the well predecessors they're a little bit outdated but they are still in use and the last thing I want to show you is this I have shown you the capabilities of the Jag server with the cadence Katia Claudia applications these applications are coming together with the KX studio distribution you can install these applications manually to the Linux distribution of your choice but there is also another front end which is called huge ik control and you can be sure that
every Linux distribution is coming with huge ik control as a front end but it depends on to your own likings and to
your own tastes what kind of front and you will gonna use me myself QJ control I find it a little bit well old and not very comprehensible with its windows 95 touch and things like that but you have to chew you have to try it for yourself that's the last kind that I want to give you and maybe you are coming you can deal better with QJ control than with canons capture Claudia are things like that but I think doing this on Katja Claudia and canons was much more comprehensible than this so in the end if there are no questions I would like to thank you for your attention and I
want to wish you a nice and wonderful day here at the Sonic Convention and with all the other interesting and exciting lectures thank you [Applause] thank you for the talk sorry my English is not very good Oh a try so you said that nearly all hardware is yea supported yeah but often the hardware comes with the configuration software like this we can shoot the buffer size and something like this yeah you you come a little bit late huh okay let me show you this we got
here the canons the canons dialogue and when you dial in the jack settings you can see over here you can dial in the sampling rate the sample buffer and much more so this is all all included in there you are right if there are some extra applications for programming well let's say exotic parameters on a on an audio hardware well that's that's not as
easy but the main functions like for example controllers on a USB keyboard that you will use for tweaking for example the cutoff frequency on a synthesizer this is done by using the capabilities of the digital audio workstation you don't have to use a special editor for it thank you yeah in my experience really nearly every modern hardware is recognized I have used it with the Mackie on Nick's USB interfaces which were released half year ago and it works without any problem even with a Raspberry Pi computer and the same goes with the eirick eirick ioki board from Ike a multimedia there were the only problem I had was working with the line 6 audio interface but that has to do with licensing the audio hardware to the server of line six that's really an exception but most of the audio hardware should work without any problem do you also have any experience with recent multi-channel audio hardware I Focusrite bots fi etcetera and these also work as flawless as you think for USB devices on the USB in the US beef sector no I don't have any experience but I can assure you working with a firewire audio interface there's really no problem because you can define the number of input and
output channels and for example if you choose an 8 channel audio interface and you only dial in two input channels Katia will only show you two input channels but if you want to have more input channels you can change the number of input channels and Katia will show you your new newly defined input channels I also have a question about
the well excuse me go on go up alright I also have a question about the session management yeah you said that it will store everything and restore everything it also might mean that when you make some changes inside Iraq Iraq or hydrogen for example no no no no no that's that's for sure if you do any editing in the in the applications you have to save those editing's firstly onto your applications so when I'm creating a new guitar effects chain on record rack that's for sure I have to save it onto record rack and the session manager will not cover this know that that's clear I hope but but is it possible for the session manager to like know which file on the disk is associated with with the session like oh we need to open hydrogen with this and this file for this snow that's that that that you will do in the saving yes yes yes normal norm normally yeah maybe maybe Niels can can answer this a little bit more baron yeah it depends on the session manager there he said earlier it's a type of software session manager so for example the non session manager which is the name that that saves the settings and knows where the files are but so there's a general approach with which just starts your program and makes the connections and this works was every software but if you support if the program supports the non session manager protocol directly then everything is saved so you don't you can't even save manually anymore it just automatically saved so that's maybe we will see that during the day or tomorrow let's see yeah thanks great talk I wish I had been told this when I was starting out but but I think we're all and well computationally hep and we know how how a lot of this stuff works but I have a lot of friends who who haven't even used a command line before and I just wonder if you have any tips for people who want to try this out who have absolutely no idea even about how to create a bootable USB in a really basic you know when you when you looking on the internet for a Linux audio distribution there are always a very detailed information of how you can put it onto a DVD or a bootable USB media for example for doing a Linux distribution on a USB stick you have to use a little application for example you netboot you can get this application for Windows Mac as well as Linux and while using this little application then the Eso file of the Linux distribution will be well decompressed and being written be written on the USB disk but it's always always explained on the on the internet pages of the Linux distributions so that this should not be a problem right so it's read the freaking manual kind of thing yeah yeah reading the manual well if you if you want to get some knowledge you have to do this unfortunately okay any other questions or any comments anything you would like to act yeah um in relation to your booting and multi things if you if you are using a Mac it's easier to use something like VirtualBox and then run your line X inside the Mac without Fanning around the hard drive and there's life but easier live distributions you can main life it doesn't it doesn't matter you don't care just don't slow that because once you start fixing your grub partitions you can be in a world of pain even if you know what okay okay then we have some time to prepare the next talk thank you again gieok for the talk and from now on if anybody asks you how do I do it it's just tell them we have a recording thank you [Applause]