Linux Multimedia Studio (LMMS) aka "sal likes a bit of techno"
Freebirth is very primitive. Reborn was withdrawn
after Propellerhead threatened the author with litigation. Reborn was
an exact copy of the Rebirth UI so I do see their point. Last year
Propellerhead announced that Rebirth was now free for anyone who wanted
it, available from the "Rebirth Museum".
I wonder whether this changes the status of Reborn. The last one is
LMMS. LMMS allows you to make your own music in a kind of "easy to use point and click" way. It's nowhere near Fruity
Loops Studio for polish and scope and sheer range of available sounds
but it's a fine start in that direction. I played around with LMMS when
it was at an earlier version but it crashed after a few operations more
or less constantly. Recently I saw a notice of a new version somewhere
so I downloaded the latest source code which is now at version
Prebuilt packages are available for various distros including Ubuntu but when I installed them apt complained and insisted they be removed before any further installs/upgrades were allowed. Time to do some compiling. So I thought why not write up the process of compiling and installing it while I'm at it.
I'm going to build it on Ubuntu. My Ubuntu (5.10 Breezy) has a fair amount of extra stuff (KDE, koffice, mplayer et al) installed via apt and the built in Add Application tool. However, this will be the first code I've compiled on this particular install. One of the extra bits I've added is the nautilus-open-terminal package. This adds an "open in terminal" option to the right click menu which saves a lot of messing around with cd'ing on the command line - lazy I suppose, but it's a great little time saver (KDE also has this option in the right click "Actions" menu). I'm also using the "single click" mouse option for all events because I don't like double clicking (I'm either too fast or too slow).
Right click on the tar.bz2 file and use the "Extract here..." option. Click on the resultant folder to open it and then right click and "open in terminal".
I type ./configure to start the build process. The first thing that happens after a few lines have scrolled past is that the process halts and says
checking for C++ compiler default output file name... configure: error: C++ compiler cannot create executables
This means that there's something missing. On Ubuntu the correct command here is sudo apt-get install build-essential (build-essential is a meta-package that installs all the programs needed to compile software. Build-essential is only a tool set, I'll need to install further development libraries for LMMS to build properly).
At this point the Ubuntu CD is asked for. For me this is problematic, it's Friday evening and my Ubuntu CD is at work, which is shut till Monday. So, back to the command line.
sudo vi /etc/apt/sources.list to edit the file, (to "comment out" the line referring to the Ubuntu CD - "commenting out" means inserting a # at the beginning of the line you want ignored).
sudo apt-get update to reload the list
sudo apt-get install build-essential
This time it runs for longer and then stops and says
checking QTDIR... configure: error: *** QTDIR must be defined, or --with-qtdir option given
The qt3 directory is in /usr/lib, so my first choice is to rerun configure with the --wth-qtdir=/usr/lib/qt3 option, but this doesn't work. A little searching reveals I need to install libqt3-mt-dev to get past this point. Installing this requires 36 other packages to be installed.
sudo apt-get install libqt3-mt-dev
This time round ./configure runs through to the end but there's a series of warnings about missing files that LMMS needs in order to work properly. I need to install some more dev files. Specifically, I need to install the alsa-dev package, the libjack-dev package, the SDL-dev package, the libvorbis-dev package, the SDL_sound package, the libsamplerate-dev package and the libsndfile-dev package.
For a list like this, when I'm not sure of the precise file names I need more information.
apt-cache search PACKAGE-NAME
apt-cache search libsndfile
libsndfile0 - Library for reading/writing audio files
libsndfile0-dev - Library for reading/writing audio files
mffm-libsndfilew-dev - wrapper for the libsndfile audio file handling library
moc - ncurses based console audio player
sndfile-programs - Sample programs that use libsndfile
libsndfile1 - Library for reading/writing audio files
libsndfile1-dev - Library for reading/writing audio files
Consequently I know what command to issue:sudo apt-get install libsndfile1-dev
Sometimes apt-cache search returns a lot of results which scroll past very quickly, there's two main ways of dealing with this. I can either pipe the output of apt-cache search into less. This displays the results "one screen at a time" so I can read the output.
apt-cache search PACKAGE-NAME | less
The | symbol means "pipe" which literally directs output from one command into another command instead of dumping it to the terminal window (stdout). The second command then dumps its output to the screen.
The other way is to pipe the output to grep. This stands for Global Regular Expression. Grep searches for whatever you tell it to as long as it's in some sort of string/pattern.
Example: the command apt-cache search X produces a lot of output. Suppose I wanted to find the x11proto-xf86bigfont-dev package. With grep it's easy
sudo apt-cache search X | grep bigfont
This filters the search results and only displays packages from the list of packages with "X" and with the phrase "bigfont" in their name.
Why have I mentioned all this? Well, there's two ways to deal with all these dependencies, from the command line or using the GUI. The GUI tool for this job is Synaptic. On Ubuntu it's in the System/Administration menu. You can also call it up from the command line. sudo synaptic
Synaptic provides you with a "Search" button, a "Reload" button, an "Upgrade" button and an "Apply" button. You can search for each file and install it with Synaptic (right click on the file name and choose the "Install" option) or, you can use apt-cache search and apt-get install to do it from the command line. Synaptic is just a graphic way of accessing the same commands without having to type them.
The command line is better. Why? Because if for some reason you can't get the desktop up and running you're going to need to know how to use the command line. For a task like this either way is just as good, we are, after all, seeking to get LMMS installed and running. But if we can learn a little along the way then that can't hurt either now can it?
The files I installed from the command line are as follows:
(A fair amount of extra packages were needed in order for these ones to install. This is normal).
You can install them one at a time, or chain them together and install them with one single sudo apt-get install package1 package2 package3 etc
Now I rerun ./configure and this time I get no warnings and the following at the end.
LMMS will be able to use
* ALSA for audio- and MIDI-input/output
* JACK for audio-input/output
* OSS for audio- and MIDI-input/output
* SDL for audio-output
* libvorbis for encoding/decoding OGG-files
* SDL_sound for sample-decoding
* libsndfile for sample-decoding
* libsamplerate for internal samplerate-conversion
=== LMMS - INFORMATION ===================================================
= LMMS has been configured successfully. Now you can build it by typing 'make'. = After the compilation-process has finished, you can install LMMS by
= typing 'make install'.
Note: both the ./configure and make stages of this process are run as user and not with the sudo prefix to the command. I only need sudo when it comes to installing.
sudo make install
OK, hooray for me! I just built and installed some software.
Now, I type lmms (as user, not with sudo) and the "Welcome to LMMS" dialogue appears.
Next I get the LMMS splash screen and another Setup dialogue box appears. I don't change any of these settings, I just click on OK. A warning appears telling me most changes won't take effect until the next time I start LMMS, but since I didn't change anything I don't restart. Next the full LMMS interface appears. Both the Setup dialogues can be rerun from the Settings menu at any time.
You can set LMMS to run like the Gimp, in separate windows with no overall background window. To access this feature see the Settings/Show Settings Dialogue.
Getting Started with LMMS
LMMS typically opens maximised and has four smaller windows open within it. On the very left hand side of the main window is a vertical row of icons. Starting from the bottom and working upward they are; the root directory, the Home directory, Presets, Samples, Projects and Instrument plugins. A single click opens each and a single click closes again. Go to the My Projects icon and click on it. Have a mooch about in the Cool Songs, Covers and Demos folders. Double click on a title to load it and click on the play button on the Song Editor.
A lot of the songs have quite a rough sound as compared to commercially produced stuff. But that's the difference between free software and software that costs thousands. LMMS does have the ability to load samples provided by the user, so you're not tied to the midi-ish sounding samples that come with.
A Simple Demo
Click on Project and go to New Project. In the Song Editor click on the Add Beat/Bassline button (third one from the left) Next, open up the My Samples directory and double click on the "drums" folder. A single click on each sample will preview it for you and a double click will load it up to the beat+bassline editor. Double click on the bassdrum03.ogg sample, go the Beat+Bassline Editor and click on the first beat of each of the four groups of beats - they should light up green. You can preview the loop by pressing the play button.
Now return to the Song Editor. Right click on the words beat/bassline 0 and type "drum" into the little window that appears then press Enter. Now click in the track to the right of the drum sample. A bluebox should appear under the cursor. Left click and hold to move this so it's square to the beginning of the track. Now mouse-over the right hand edge of the blue box until the cursor turns into the left/right arrow. When it does, left click and hold and paint the sample across the track to the right.
Now repeat the process but this time choose one of the hi hat samples. Make sure you click on the New Beat/Bassline button first. When you come to putting the hi-hat hits in, put them on the third beat of each bar. Repeat the process of renaming the sample and painting it in. This time when you press play you get that distinctive alternating drum/hat rhythm that underpins techno. Stop the playback, add a new beat/bassline and this time go the "basses" folder. Find a sample you like and add it to the mix. In case you were wondering if this whole thing is going to turn out in monotone, right click on the first green hi-lighted tab in the new bass sample you just added and choose "open in Piano Roll". This is where you can start to add chords and runs using the initial sample. The same goes for the other sounds. Any sample can be sent to the piano roll. A note of caution here, some of the samples, particularly some of the keyboard samples don't appear to work. Whether this is faulty samples or a fault with my system I don't know.
And that about wraps it up. The rest is up to you. For the musicians amongst you there is some mention of VST plugins being made to work with LMMS on the website - see the screenshot section. This makes LMMS potentially a lot more powerful as there are some awesome VST plugin synths (Pro52 & Absynth to name two) and sound processors available.
|Subject||Topic Starter||Replies||Views||Last Post|
|Possibly easier install||SFN||3||2,511||Mar 13, 2006 5:17 AM|
You cannot post until you login.