LMMS: The Linux MultiMedia Studio
LMMS is music creation software similar to programs such as GarageBand for OSX and FL Studio for Windows. Those programs are designed to streamline the process of making music with a computer in order to get new users into music composition as quickly and painlessly as possible. Their feature sets include preset audio loops, MIDI tracks, and other ready-made musical materials available for immediate use in a piece. Their GUIs invite involvement in the process of making music and it's clear that the designers want the user to have fun with the program and the process. In this mini-review we'll see if LMMS lives up to the precedents set by those programs.
LMMS combines a lightweight DAW (digital audio workstation) with editors for the composition of musical material, including a beat/bassline editor, a piano-roll window for writing MIDI parts, and a song editor for organizing your materials into larger forms. The DAW includes track-based automation for gain and plugin parameters, and a 64-channel effects mixer with support for LADSPA and VST plugins. I'll have more to say about those features and others, but first let's find out where you can get LMMS and how you can install it.
Most Linux distributions include LMMS in their normal repositories. If you're using a mainstream distro just open your package manager, search for LMMS, and let the manager do its job. Alas, most distributions are likely to have only an older package for LMMS. If you want the latest and greatest you'll need to download the source code and compile it yourself. Building LMMS isn't difficult, but the process is beyond the scope of this article. See the LMMS documentation wiki for more information on installing LMMS from its sources.
After LMMS has been installed you'll need to configure it for best performance on your hardware. The Edit menu's Settings dialog provides controls for LMMS's internal buffer size and selection panels for your audio and MIDI devices. For the record, I built the latest version of LMMS (0.4.4) on an Ubuntu 9.04 system empowered with a Linux kernel patched for realtime operation. The system is fully equipped to test LMMS in a variety of configurations for different audio devices, including a consumer-grade soundcard, a pro-audio interface board, and a virtual MIDI ports system.
Start LMMS either by invoking it at a terminal prompt or by clicking on its menu icon. Figure 1 shows off LMMS in its default appearance with a loaded project, though you can change the program skin and its background image via the Settings dialog in the Edit menu.
LMMS lets the user enter the composition process at various levels. You can import whole recordings into LMMS, whether they're sample loops or entire pieces. Drag a file from your samples collection into a track in the Song Editor (Figure 2) and that sample is now available for playing via the Piano Roll (Figure 3) window. Left-click the track name to open the designated instrument - it should be the Audiofile Processor for soundfiles - then double-click in the track itself to open the piano roll editor. When the cursor is in Draw mode you can add note events to the piano roll. You can alter the pitch location and note length, and switching the cursor mode will let you select events for editing by group. The remaining modes provide an eraser tool and a detuner for fine adjustments to the pitches of your samples.
You can also drag sampled sounds into the Beat/Bassline editor (Figure 4). A new track will appear in the window, and again you can open the Audiofile Processor by clicking on the track name. This window is similar to some Old School drum machine interfaces. The display shows a series of tabs representing beat markers which are activated by left-clicking on the tabs/beats. Double-click in the beat tab display to open the piano roll editor (again) to assign pitch levels to your instrument. Individual tracks can be composed for drums and bass to create patterns as simple or complex as you like. Editing in LMMS can be done in realtime, so you can hear your work at the same time you create it. Note though that caveats apply with regards to audio glitching (see below).
LMMS will accept soundfonts in SF2 format and GUS patches (sounds originally formatted for the Gravis Ultrasound audio card), but I didn't test that support.
A track in LMMS can be assigned as a MIDI track, as a container for an audio clip, or as an automation control track. Automation curves dynamically control values for panning, track gain, or plugin parameters to give your sounds greater liveliness and character during playback. Automation is a standard feature on high-end DAWs, it's nice to see it employed in LMMS too (Figure 5).
At the left side of the main display you can see buttons that call up the program's collection of instrument plugins and sampled sounds. LMMS comes supplied with a large set of samples for use in the program, including basslines, drum loops, synth patterns, and more. The program really does try to provide the user with everything needed to compose music. Of course, a Hit Song button would be nice too, but I suspect we'll have to wait for the developers to figure out how to design one. Until then you'll have to supply the creative juices yourself.
You can work with existing material by importing MIDI files or FL Studio project files (in the FLP format). You can also record your own audio or MIDI tracks directly into LMMS. When you've composed your tracks you can play them back all together or you can mute/solo tracks for closer inspection. In accord with its design philosophy the LMMS track editor doesn't offer a broad range of tools. It does provide the tools most used in the basic operation of a DAW. If you need more controls over your material you can export mixes or individual tracks as WAV or OGG files for use in a dedicated soundfile editing environment such as Audacity or Snd. Your work can also be saved as a native LMMS project file.
Personally I found that the best way into LMMS was through playing around with the demonstration files and the completed pieces. You'll learn a lot by seeing and hearing how other users compose their music with LMMS. Of course the quality of those files varies considerably, but they are all very helpful for absolute (and not-so-absolute) beginners.
LMMS supports the native Linux LADSPA plugin specification and the VST/VSTi standard for Windows plugins. Thanks to the Vestige software the Linux version of LMMS can employ VST/VSTi plugs too, though certain caveats apply. The VST load process can be a bit alarming. When I first loaded a VST effect (DFX's Transverb) my mouse and keyboard response became very sluggish. I thought the system was going to freeze, then suddenly the plugin was loaded and ready for use. It worked fine, but a second attempt at loading the same plugin in another session did freeze the system. Loading a VSTi instrument plugin with the VeSTige processor caused the same problem. Like all other mechanisms for VST support in Linux LMMS depends on WINE to instantiate those plugins, and WINE's volatility makes it difficult to predict which plugins will run (I have version 1.0.1 from the Jaunty repos). No such troubles occurred with the LADSPA plugins. Frankly, if you don't need the VST support I suggest doing without it.
If you can't live without your VSTs be sure to check out the LMMS documentation wiki for a database of VST/VSTi plugins known to work with the program. If I can get the performance issues resolved I intend to test some of them and some other favorites. Hopefully I'll post some success stories to the wiki, and I urge other users to do likewise.
Documentation for LMMS is copious and helpful. The program comes with a nice batch of demos, tutorial files, and complete songs for the new user to disassemble and remake as desired. The collection of finished pieces is especially thoughtful. Some of the songs are fine compositions, and they all provide valuable insight on making larger-scale pieces after the user has mastered the basics of the program. In addition to the official help I found a substantial collection of LMMS-related videos on YouTube. Some of the videos focus on the Windows version of the program, but since its operation is identical across platforms those videos are useful for Linux and OSX users as well. Mail lists and IRC are available for communicating with other users and the developers, and the LMMS Sharing Platform offers a neat way to share your songs, presets, patterns, and just about anything else you can create with LMMS.
The Performance Report
LMMS has some excellent features, but alas, performance isn't among them. The program's audio support includes OSS, ALSA, SDL, and JACK, but I experienced different levels of unsatisfying playback from each system. The ALSA, SDL, and OSS backends performed about equally well, though my subjective opinion is that the OSS interface is the slightly better choice. Regardless of interface selection audio glitching occurred more frequently as the performance load increased with more instruments and effects processing. Switching workspaces or sudden mouse movements were also unwelcome to the audio stream. And alas, despite rumored improvements, the JACK connection still suffers from xruns to the point of being unusable.
For the sake of completeness: My Ubuntu Jaunty installation is a 32-bit system, and the test machine is based on a 2.4 GHz CPU with 4G memory and a large fast hard-disk. I seriously doubt that my hardware is insufficient for LMMS, particularly since the machine runs other resource-hungry realtime applications without audio complaints. Incidentally, off-line rendering works as advertised, and the rendered files happily lacked the sonic artifacts produced during realtime operation.
Visually LMMS is a very attractive program. However, it is not just another pretty face. Although LMMS does not intend to be all things for all people, don't let its apparent simplicity fool you. I've exposed only a part of the program in this review. Considerable power lurks under the hood, and the designers have been diligent about addressing the needs and problems faced by beginners. And did I mention that you can't beat the price ?
Alas, its performance issues prevent me from recommending it whole-heartedly. In my opinion LMMS is a very good program, but I think it could be a great one if it can improve its JACK support. Meanwhile it's definitely worth looking into at its current level, and I'll continue to monitor its evolution.
Similis sum folio de quo ludunt venti.
Fast/Flexible Linux OS Recovery
On Demand Now
In this live one-hour webinar, learn how to enhance your existing backup strategies for complete disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible full-system recovery solution for UNIX and Linux systems.
Join Linux Journal's Shawn Powers and David Huffman, President/CEO, Storix, Inc.
Free to Linux Journal readers.Register Now!
|Fancy Tricks for Changing Numeric Base||May 29, 2016|
|Working with Command Arguments||May 28, 2016|
|Secure Desktops with Qubes: Installation||May 28, 2016|
|CentOS 6.8 Released||May 27, 2016|
|Secure Desktops with Qubes: Introduction||May 27, 2016|
|Chris Birchall's Re-Engineering Legacy Software (Manning Publications)||May 26, 2016|
- Tips for Optimizing Linux Memory Usage
- Secure Desktops with Qubes: Introduction
- Working with Command Arguments
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Secure Desktops with Qubes: Installation
- Fancy Tricks for Changing Numeric Base
- CentOS 6.8 Released
- Linux Mint 18
- The Italian Army Switches to LibreOffice
- Petros Koutoupis' RapidDisk
Until recently, IBM’s Power Platform was looked upon as being the system that hosted IBM’s flavor of UNIX and proprietary operating system called IBM i. These servers often are found in medium-size businesses running ERP, CRM and financials for on-premise customers. By enabling the Power platform to run the Linux OS, IBM now has positioned Power to be the platform of choice for those already running Linux that are facing scalability issues, especially customers looking at analytics, big data or cloud computing.
￼Running Linux on IBM’s Power hardware offers some obvious benefits, including improved processing speed and memory bandwidth, inherent security, and simpler deployment and management. But if you look beyond the impressive architecture, you’ll also find an open ecosystem that has given rise to a strong, innovative community, as well as an inventory of system and network management applications that really help leverage the benefits offered by running Linux on Power.Get the Guide