{"id":247,"date":"2012-01-11T16:27:37","date_gmt":"2012-01-11T22:27:37","guid":{"rendered":"http:\/\/www.alandmoore.com\/blog\/?p=247"},"modified":"2012-01-12T11:46:25","modified_gmt":"2012-01-12T17:46:25","slug":"reviving-my-home-studio-this-time-the-free-software-way","status":"publish","type":"post","link":"https:\/\/alandmoore.com\/blog\/2012\/01\/11\/reviving-my-home-studio-this-time-the-free-software-way\/","title":{"rendered":"Reviving my home studio, this time the free software way"},"content":{"rendered":"<p>Long ago, before I ever knew a lick of BASH or even what an OS kernel was, my passion was not technology but\u00a0<a title=\"and you can listen to some here!\" href=\"http:\/\/www.alandmoore.com\/lc\" target=\"_blank\">music<\/a>, <a title=\"The band I was in for 5 years\" href=\"http:\/\/www.alandmoore.com\/spinaround\" target=\"_blank\">music<\/a>, and <a title=\"I even made some money with it!\" href=\"http:\/\/www.alandmoore.com\/mvr\" target=\"_blank\">more music<\/a>. \u00a0Roughly the first half of my adult life was devoted to the writing, playing, and recording of music, and by around 2002 I&#8217;d built for myself a tidy little home recording &amp; mixing setup centered on Cakewalk Sonar, Jeskola Buzz, and Windows XP. \u00a0Alas, the years were not kind to my career or gear, and up until recently my music computer was busy being a game &amp; education machine for the kids.<\/p>\n<p>Thanks to a hard drive crash and the purchase of new machines for the kids, I got my old music machine back, albeit lacking a functioning operating system and software. \u00a0So, I decided now was a good time to rebuild it. \u00a0This time, though, I decided the time was right to kick XP and Cakewalk to the curb and go it Free Software style.<\/p>\n<p><!--more--><\/p>\n<p>I&#8217;d tried this before, probably around 2006 or so, and not had much luck getting a working system. \u00a0Still, I figured that between my significantly advanced penguin-fu and the advancing state of free software, the time might just be right for my dream FLOSS DAW to become reality.<\/p>\n<h1>The hardware<\/h1>\n<p>The computer itself is a 1.8GHz Sempron system; due to some problems with the RAM slots which I&#8217;ve never successfully figured out, the system is limited to 512MB of RAM. \u00a0It originally had a 40 GB IDE drive for Windows, to which I&#8217;d since added an 80 GB SATA for data storage and an Xubuntu install. \u00a0This latter drive is what failed, and I replaced it with a 160 Gb SATA. \u00a0The original XP install isn&#8217;t booting for some reason, and I&#8217;m not real motivated to find out why at this point.<\/p>\n<p>The audio interface is a M-audio Delta 44, capable of 4 ins and 4 outs at 24bit\/96kHz I\/O. \u00a0Nice unit back in the day, hard to believe it&#8217;s over 10 years old.<\/p>\n<p>For MIDI, I have an <em>ancient<\/em>\u00a0MOTU MIDI Micro-express &#8212; so ancient it hooks up using the parallel port and shipped with drivers for that new-fangled Windows 95. \u00a0Still, MIDI hasn&#8217;t changed much in its almost 30 year existence, so I was hoping to keep this piece running as the cost of fully replacing its feature set (even just the parts I use) would be steep.<\/p>\n<h1>The OS and Hardware Configuration<\/h1>\n<p>There are readily available &#8220;studio in a box&#8221; distributions of Linux out there, but with such\u00a0egregiousness\u00a0RAM limitations, I couldn&#8217;t afford to waste many resources on the OS; even so, I wanted to make sure I had easy access to as much software as possible. \u00a0So I went with Lubuntu. \u00a0I get along alright with LXDE, and all the software available to Ubuntu Studio is readily available in the stock repositories.<\/p>\n<p>In fact, it was easy enough to install all the Ubuntu Studio applications using tasksel and various meta-packages in the repositories, so after poking around in Synaptic and a good long download-fest, my hard drive was chock full of enough music-making software to keep me entralled for months.<\/p>\n<p>I had a lot of problems with high CPU usage &#8212; even full spikes lasting several minutes &#8212; \u00a0at first, which was disappointing but not really surprising. \u00a0But then I grabbed a lowlatency kernel from <a title=\"Home of low-latency and realtime kernels\" href=\"https:\/\/launchpad.net\/~abogani\/+archive\/ppa\">Alessio Bogani&#8217;s PPA<\/a>\u00a0and adjusted the audio system (JACK) from about 11 msec of latency to around 3 msec and all that high CPU usage went away. \u00a0It took some fiddling to get the legacy NVIDIA driver to work with the lowlatency kernel, but it was well worth the trouble: \u00a0Even with multiple programs running, software synths, and realtime effects, the CPU stays around 50% utilization!<\/p>\n<p>The Delta 44 worked pretty much out of the box with no problems, though LXDE&#8217;s volume widget didn&#8217;t know what to do with it. \u00a0I installed the Envy24 mixer, which is basically a clone of m-audio&#8217;s mixer applet for Windows. \u00a0It allows me to access all the same functions and works flawlessly.<\/p>\n<p>The MOTU piece was another story. \u00a0I almost didn&#8217;t even try to get it working, because my last foray into this endeavor proved utterly hopeless. \u00a0There <em>is <\/em>a Linux driver for the micro express, but I could never get it working right. \u00a0I was close to dropping $40 on a USB interface with only one set of I\/O, when I figured I&#8217;d do a search to see if there was any progress.<\/p>\n<p>I found someone who claimed to have my exact model working, which convinced me that it must be possible, and therefore not to give up. \u00a0After digging through several old mailing list and forum conversations and spending several hours making tweaks and testing, I finally found the combination of voodoo to get things going. \u00a0Turns out the imporant keys are:<\/p>\n<ul>\n<li>Setting the paralell port to EPP mode in the BIOS<\/li>\n<li>Configuring the lp, parport, and parport_pc drivers not to load. \u00a0Apparently just blacklisting them isn&#8217;t enough, I had to alias them to &#8220;off&#8221; (see config file below)<\/li>\n<li>Telling the driver which memory address and IRQ to use for the device<\/li>\n<\/ul>\n<p>The resulting configuration directives, which I saved to \/etc\/modprobe.d\/motu_midi.conf, looked like this:<\/p>\n<pre>alias parport-pc off\r\nalias parport off<\/pre>\n<pre>blacklist lp\r\nblacklist parport\r\nblacklist parport_pc<\/pre>\n<pre>options snd-ice1712 index=0\r\noptions snd-mtpav port=0x378 irq=7 index=1<\/pre>\n<p>I also had to comment out lp from \/etc\/modules, since it was listed there for some reason. \u00a0These steps, of course, preclude the use of the parallel port for printing, but that wasn&#8217;t a problem for me here.<\/p>\n<h1>\u00a0The Software<\/h1>\n<p>With the hardware and OS issues squared away, it was time to dig in to the software and see what&#8217;s available. \u00a0I suppose this is a little easier since my last exposure to recording and production software was about 10 years ago, and then only the lower-end stuff. Still, I&#8217;m pleasantly surprised at what I&#8217;ve found so far.<\/p>\n<h2>JACK<\/h2>\n<p>JACK is the heart and soul of my Linux studio. \u00a0Or more like the transmission and chassis. \u00a0Basically, its a central hub for all audio and MIDI signals, and can act as a master clock and transport control for any JACK-aware software (which most of them are). \u00a0With JACK, I can link up soft-synths, drum sequencers, MIDI sequencers, DAWS, and keep them all perfectly in-sync all in the software realm. \u00a0I can even hook up effects and monitoring software. \u00a0I had nothing like this on my Windows rig, so it takes some adjusting to, but it certainly simplifies getting audio from one program to another.<\/p>\n<h2>Ardour<\/h2>\n<p><a title=\"My new DAW\" href=\"http:\/\/ardour.org\/\" target=\"_blank\">Ardour <\/a>is a classic DAW program (a la ProTools, Cubase, Sonar, etc) for multi-track audio recording, editing, and processing. \u00a0It&#8217;s been around a while, and seems fairly mature. \u00a0After spending a little time with it, I&#8217;ve found that it&#8217;s a bit different from SONAR, but not really lacking in a lot of capabilities. \u00a0The most glaring lacks seem to be:<\/p>\n<ul>\n<li>No MIDI tracks, soft-synths, etc. \u00a0I&#8217;m OK with this for now, since I&#8217;m not so much interested in doing layers of sequenced synths in my recordings any more. \u00a0If I needed to, I could always use JACK to bring in a sequencer.<\/li>\n<li>Editing is not as smooth. \u00a0Probably I just need to get used to it, but there seemed to be odd gaps in the editing interface &amp; functionality. \u00a0For instance, I can split clips of audio, but there&#8217;s no immediately obvious way to rejoin them. \u00a0It can be done, but it requires a few more steps than I&#8217;m used to.<\/li>\n<li>It may be a problem with the m-audio driver, or my failure to understand JACK, but Ardour doesn&#8217;t seem to be aware of what I have in terms of hardware inputs. \u00a0New audio tracks keep defaulting to progressively higher inputs that don&#8217;t exist, and I have to manually set them to ones that do.<\/li>\n<\/ul>\n<p>The good news is that at least the first two issues are to be addressed in the upcoming release of Ardour 3.0, currently in beta. \u00a0I couldn&#8217;t get the beta to work on my system, but it sounds like it&#8217;s really going to shine. \u00a0I did have to backport the latest 2.x Ardour from Precise Pangolin to get around a glaring bug with JACK&#8217;s transport controls, but otherwise I&#8217;m pretty happy with the current version for my needs.<\/p>\n<h2>Audacity<\/h2>\n<p>If you&#8217;re into digital audio much at all, <a title=\"The old standby\" href=\"http:\/\/audacity.sourceforge.net\/\" target=\"_blank\">Audacity<\/a> probably needs no introduction; it&#8217;s a great audio editor and is freely available on most OS platforms. \u00a0Audacity on Linux works seamlessly with JACK and LADSPA plugins, so it makes a good tool for doing detailed edits, or recording non-musical content (e.g., we&#8217;ve been doing a lot of voice-over recording for some dramatic works, and my son&#8217;s been creating sound effects for his <a title=\"Best programming tool for kids ever.\" href=\"http:\/\/scratch.mit.edu\/\" target=\"_blank\">Scratch<\/a> projects). \u00a0I&#8217;ve run into a small bug on this setup which causes Audacity to crash whenever I try to monitor the recording input, though I&#8217;ve never seen Audacity do that before so maybe a backport from the latest upstream will fix it.<\/p>\n<h2>Guitarix<\/h2>\n<p><a title=\"Run for the hills, Line6!\" href=\"http:\/\/guitarix.sourceforge.net\/\">Guitarix<\/a> is basically just a fancy effect plug-in\/host, but for all that it&#8217;s pretty awesome. \u00a0It&#8217;s a simulated guitar amp and effects plugin that lets you simulate about any amp, tube configuration, and cabinet you can think of, as well as adding in common guitar effects (reverb, delay, chorus, phaser, wah-wah, etc). \u00a0I backported the latest version from upstream, since the one in Oneiric is several versions behind. \u00a0Once I got the latency issues worked out with JACK, I started having a blast with Guitarix! \u00a0Ah, my poor Pod 2.0, I think you&#8217;ve met your match.<\/p>\n<h2>Plug-ins plug-ins plug-ins!!<\/h2>\n<p>Back in my Windows\/Cakewalk\/Buzz days I was a plug-in junkie. \u00a0I remember religiously monitoring <a title=\"Audio Plug-in central\" href=\"http:\/\/kvraudio.com\" target=\"_blank\">kvraudio.com <\/a>for the latest in free VST plugins, and compulsively downloading any Buzz machine I could find. \u00a0Linux has its own set of acronyms when it comes to audio plugins. \u00a0LADSPA is the oldest and most populated, while DSSI is a slightly newer format for instrument plugins. \u00a0LADSPA 2, a.k.a. LV2, seems to be the new kid on the block, with aims to replace both the others.<\/p>\n<p>On top of that, I&#8217;ve read that there is such a thing as a Linux VST, though I haven&#8217;t seen or been able to use one so far. \u00a0I&#8217;ve also read that it&#8217;s theoretically possible to run Windows VSTs on Linux, but I haven&#8217;t got this working yet, and I&#8217;m not sure how motivated I am to try. \u00a0I have a few VST instruments that I miss, but as I said before I&#8217;m less interested in layers of synth sequences these days.<\/p>\n<p>Overall, I&#8217;m a little disappointed at the state of plug-ins for Linux. \u00a0There are a lot of them, to be sure, but so far they seem a little on the primitive side. \u00a0They lack the nice interfaces of the VSTs I remember, and don&#8217;t seem to be aware of things like tempo or meter. \u00a0To be fair, I haven&#8217;t found a category with any glaring holes, but on the whole the selection feels a little paltry. \u00a0Hopefully we&#8217;ll see some nice LV2 plugins surface, or maybe some of the better VSTs get ported over.<\/p>\n<p>&nbsp;<\/p>\n<h1>\u00a0No excuses now<\/h1>\n<p>So now that I have my nice Tux-approved music DAW, I have no more excuses for not making music. \u00a0Ok, well, except for kids, and cub scouting, and church functions, and programming work, and the housework, and&#8230; well, here&#8217;s to hoping I get at least ONE recording out of this setup!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Long ago, before I ever knew a lick of BASH or even what an OS kernel was, my passion was not technology but\u00a0music, music, and more music. \u00a0Roughly the first half of my adult life was devoted to the writing, playing, and recording of music, and by around 2002 I&#8217;d built for myself a tidy [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,3,31,35,5],"tags":[37,16,20,22,14,38,36,24,19,34],"class_list":["post-247","post","type-post","status-publish","format-standard","hentry","category-floss","category-general","category-life-2","category-music","category-technology","tag-digital-audio","tag-floss-2","tag-how-to","tag-instructional","tag-linux","tag-midi","tag-music-2","tag-my-computers","tag-old-computers","tag-practical-tech"],"_links":{"self":[{"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/posts\/247","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/comments?post=247"}],"version-history":[{"count":13,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/posts\/247\/revisions"}],"predecessor-version":[{"id":257,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/posts\/247\/revisions\/257"}],"wp:attachment":[{"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/media?parent=247"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/categories?post=247"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/tags?post=247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}