Saturday, March 14, 2015

Cheaper Music Making - Part 5 - interlude with Sunvox

So far I've gone through setting up a Linux chroot on a Chromebook, setting up KxStudio and downloading hundreds of audio plugins and programs all in one go. Since then, I've been working on Linux with various DAWs, figuring out various ways to configure Jack audio and MIDI and a huge amount of trial an error. Music on Linux is still far from easy!

So while I wrestle with all of the applications, ask questions on linuxmusicians and learn, here is a quick tip on making music on Linux with no fuss whatsoever! If you've used Sunvox on any platform (and indeed it runs on most of them), you know what you're in for - a tracker interface, a self-contained studio with sampled instruments, modular synthesis and some very good effects.

It has a steep learning curve of its own, but it runs on almost anything. If you have a refrigerator with a Linux based controller, it might just run Sunvox! Without installing KxStudio, Jack or anything else, you can install the Linux 64 bit binary onto your Linux chroot and immediately get sound with Sunvox.

The downside is that I did not see a current Sunvox installable via the typical Ubuntu repositories, so you have to download the multi-platform binary file here. You should copy the file to your home directory with your favorite file manager.

Double-clicking the zip file will decompress it and if you do that in your home directory, you should end up with a set of folders under sunvox. The one that matters for the Chromebooks is the linux_x86_64 folder.

If you navigate into the path sunvox/sunvox/linux_x86_64, you will see the executable for Sunvox. Double-click and that's really it. You are in sunvox, the keyboard will make noise and everything is more or less ready to go. Now the learning curve for trackers kicks in! Lots of good documentation at the Sunvox site and on YouTube.

Extra credit - if you want to create an icon and put it in your applications menu, you'll have to create a desktop file and go through some more steps. If you're interested, drop me a line and I can document that process as well.

Now, back to wrestling with Ardour and other DAWs!

Monday, March 9, 2015

Cheaper Music Making - Part 4 You don't know Jack

In the first parts of this series, we covered how to get Linux installed on a Chromebook and how to get the KxStudio repository configured and merged into your installation. Part 3 covered installing some of the meta-packages which by default, give you a huge number of multimedia processors, plugins and tools.

The great thing about Linux is that most tools are open source and free to use. No torrenting, pirating or anything else the least bit illegal required. One downside, perhaps is that there are tons of similar packages all doing more or less the same thing and it can be difficult to get them all sorted out.

In the part, I'll help you get a few key packages installed and configured so that you will have a reasonably capable DAW configured and ready for use with your preferred MIDI controller. In my case I will set up a QuNexus keyboard to use with our Linux studio.

To start with, we are going to once again put in a little command that will add your userid to the hwaudio group in Linux - without going into too much detail, this will cause your audio tools to run with a much higher priority and will, in theory, keep latency low! Make sure you have started up your Linux desktop as described in the prior posts. Open up the Terminal emulator from the panel and type the following command:
sudo adduser (youruserid) hwaudio 

where (yourusername) is replaced with the linux id you created. In my case it would be

sudo adduser mike hwaudio

In order to make the various music applications and plugins on Linux see and talk to one another, we are going to need to use a utility that is similar to InterApp Audio on iPads or the Environment window on some DAWs such as Logic. This utility will manage the routing of audio and MIDI events between applications and is called Jack (as in the kind you plug in). 

Like most tools in Linux, Jack has a command line interface that can be used but we are going to use one of many GUI options for controlling Jack. I have found that the easiest one to use is QJackCtl which is available in your Applications Menu (upper left) in the Multimedia|Hardware Configuration section. 

Running that should show you this GUI screen:

Here we are going to press the Setup button and configure Jack for the Chromebook.

We are going to set the Interface to "cras" and the Frames/Period to "512". The Frames/Period controls the latency and 512 is a conservative value that seems to work well providing roughly 23.2 msec latency. You can experiment with smaller or larger values once you get things running.

Press OK to accept the values and then press the Start button on the Jack screen. You should see something like: 

If this lights up without errors, you are in business. If there are errors, you can press the Messages button to troubleshoot. In the next part, we will set up our DAW to use the Jack connections and we will hook up a MIDI keyboard to the Chromebook. I did say at one point that this is not for the faint of heart! 

Monday, March 2, 2015

Cheaper Music Making - part 3 KxStudio

So from part 1 and part 2, we have a Linux environment on a chromebook that will hopefully become our music studio. In this installment, we will add a new repository to the Linux environment and install a huge amount of sound-making software.

The Linux environment we have so far is pretty generic. We have a basic GUI and not a whole lot else so far. Since we are using Chrome OS as our base kernel, we have a few constraints on what we do Linux-wise. There are a few Linux distributions that are geared towards music making including Unbuntu-Studio and KxStudio to mention two of them.

For our installation, we are going to use KxStudio, but we are not going to install a full Linux since we already are running Chrome OS. What we are going to do is to add the KxStudio repository to our installation and then add only the pieces of KxStudio that we need to make music.

The first step to add KxStudio applications to our already installed environment is to add the repository into our Linux chroot. For that we need to:

  1. Press Ctrl-Alt-T to open our Crosh shell
  2. Type shell and press enter
  3. Type sudo startxfce4 -n kxstudio to go into our linux environment
  4. Click on the Terminal icon in our Linux environment to open a shell window
  5. Type sudo add-apt-repository ppa:kxstudio-team/kxstudio (you'll be prompted to enter your password)
  6. Type sudo apt-get update to refresh the packages available
  7. Now type sudo apt-get install kxstudio-repos
  8. and one more time sudo apt-get update
  9. and last to update any packages that kxstudio has newer versions of, we will run sudo apt-get dist-upgrade
After doing all of this, the package manager in our Linux installation will now have access to the tons of music programs availabe via kxstudio as well as its original installation. Package managers in Linux are there to work out dependencies so that when you install something, all the pieces needed for it to work will be installed as well and if there is a conflict, the package manager should tell you. 

To make our lives easier moving forward, let's install a graphical package installation tool instead of always using "apt-get" from the command line.

  1. In our terminal window, type sudo apt-get install synaptic to install the package management tool.
  2. Once this is done, you should see in your applications menu (upper left of laptop), under the System menu, an option for Synaptic package manager. Clicking this will prompt you for your password and will display a graphical window that we can use to install future programs into our environment.

Now we have an easier way to filter and install our software. I suggest pressing the "Search Results" button and type "kxstudio-meta" into the quick filter box. This will show several "meta packages" which contain groups of applications that can be installed all at once.

I started by clicking the box next to kxstudio-desktop. This will install tons of software and drivers for the kxstudio environment including an office suite and a fair amount of productivity software. I like having these, but technically you might not need these for just music. In any event, selecting this and pressing apply installed some 800+ files onto the environment - it takes awhile! 

The next selections you will need include:

Make note of the others, you may want to install more of the codecs (MP3 for example) and some of the other files. Please avoid anything related to the linux kernel since we are sharing the Chrome OS kernel in our environment. Once you go through installing these options, your Applications menu will have a huge multimedia set of programs for music creation. Next comes the fun task of configuring this mess to actually make noise!