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.

Getting LMMS

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.

Figure 1. LMMS 0.4.4

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.

Using LMMS

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.

Figure 2. The Song Editor.

Figure 3. The Piano Roll window.

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.

Figure 4. The Beat/Bassline Editor.

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).

Figure 5. An automation curve in LMMS.

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.

Plugin Support

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

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.

Outro

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.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Performance Issue's are because of the CPU.

master[mind]'s picture

I have a 2.6ghz AMD dual core which handles LMMS perfectly. LMMS makes extensive use of multiple cores, so a quad core will handle hundreds of instances of Zynaddsubfx with ease. I have used it on a single core 3.0ghz processor(Intel) and LMMS had a hard time keeping up. That is probably the reason for your slowdown. 44.1khz sampling on multiple synths running through multiple plug-ins is a very intensive process. Just my thoughts.

HI i just downloaded LMMS

Anonymous's picture

HI i just downloaded LMMS but it keeps asking me to open it with somthing else called the Archive and then it doesnt take me anywhere...pleese help

LMMS installation

unfa's picture

You propably downloaded a tar.gz file?

Then, you need to extract that archive somewhere, there should be a executive file inside.

That's why it asked you to open it with Archive Manager (I guess) the real application is inside that archive :)

LMMS and Jack lock-up

JClosed's picture

I tried LMMS with Ubuntu studio 9.04. Ubuntu studio is configured with a rt kernel and with a fully disabled pulseaudio (and added audio group). Using a E-MU 0404 card I get a nice low-latency running Jack. All applications are running very well (Rosegarden is the one I use most). The moment however I start up LMMS the startup logo pops up and the whole computer just freezes solid. Even the mouse arrow is immovable. I cannot even switch to another screen using Alt-Fx. All I can do is using the reset button. Now - that's something i did not see in a very, very, very long time.

As far as I tried there seems to be no way to run LMMS and Jack together. The moment you try to do this, the computer turns into a power eating brick. This is really a shame, because Jack (for me) is the centerpiece of the DAW. In Jack you can neatly organize all sound apps together and use really low latency. I will not say LMMS is unusable, because you can output a audio file and use that in a application (like Ardour) that DOES behave with Jack, At this moment however LMMS is of limited use at best. You have to shut down all applications using Jack, and at last Jack itself to use LMMS. This is cumbersome to say the least.

Doing some search I discovered LMMS has a long history of not running very well (or at all) with Jack. As LMMS is free and open software I cannot complain at all. It is really a great piece of software. I only do not understand why making it behave well with Jack is not one of the top priorities. I mean - the use of Jack is becoming almost a standard. If you really want to do some work at a (semi)professional level it is almost unavoidable to use the Jack sound server.

Just my 2 cents.

jackmidi

alex stone's picture

I'd add here that not only solid jack audio implementation, but jackmidi as well, should be on the list of important, and speedy additions to any serious audio/midi application. Jackmidi is sample accurate, and represents the final piece of the puzzle in a unified audio/midi music making environment. If we are to have a single sound system that serves all in our particular niche, something that a lot of noise has been made about in linux for some time, then now's the opportunity to do that.

The jack API has been cleverly written to bring this opportunity to fruition, in as easy a format as possible for devs.

Alex.

Thanks for the review!

Paul Wayper's picture

I should say - thanks very much, Dave, for reviewing LMMS. Toby, Andrew, the other Paul and many others have worked long and hard on this, and it's great to see how far it's developed even since version 0.2 :-) We're planning 0.9 next as a development release and then version 1.0 some time within the next year.

Thanks once again,

Paul

Wiki and sound glitches

Paul Wayper's picture

Hi!

I'm the person who wrote most of the documentation on the LMMS Wiki (http://lmms.sourceforge.net/wiki/index.php?title=NewManual). Unfortunately it's a bit out of date - it refers to the 0.3 version and a few features have been added or changed in 0.4. However, I hope it serves as a reasonably comprehensive introduction to LMMS and goes into some depth to explain its features.

Regarding sound glitches in instruments, these were very common in versions prior to 0.3. It was the result of an envelope following problem, as I understand it, and can be avoided in those versions by making sure your instruments do not have zero attack or release. As far as I know it's been fixed since 0.4.0.

Hope this helps,

Paul

Thanks for this little

Mazza558's picture

Thanks for this little review. I'm in regular contact with the LMMS developers so it's nice to see where we can improve LMMS for everyone.

Your performance issues may actually be down to Ubuntu and its PulseAudio configuration. Under Ubuntu you will experience considerable latency even if you set the audio interface to ALSA. The best way to solve this is to route LMMS directly to your audio hardware, and a mini-guide exists on the wiki in the "Troubleshooting" section for you to solve this.

I should add that Ubuntu users can run a one-command compile/install of LMMS 0.4.5 to save them the hassle of adding PPA repositories. Again, documentation is on the wiki, under the Installation page. If you want VST support through this, you'll need to add the Wine PPA repository and install "wine-dev" before you run the compile command.

Author's reply

Dave Phillips's picture

Mazza558 wrote:

"Your performance issues may actually be down to Ubuntu and its PulseAudio configuration."

Alas, it's not so simple. PulseAudio is disabled entirely on this system. I feel strongly that any system that presents itself as an audio production platform should focus on fully enabling JACK and disabling any & all other sound servers, regardless of quality and utility in normal desktop use. I'm careful to point out that IMO there's nothing inherently awful about PulseAudio, it's simply not the correct tool for managing realtime audio in a production system. Well, not in mine, anyway.

In a Linux audio production system JACK is The Way. IMO the LMMS developers ought to work hardest at providing a rock-solid implementation of JACK, which then opens connectivity to any other JACK-aware application. Value is enhanced exponentially.

Thanks for reading and responding, Mazza, your comments are appreciated.

Best,

dp

Similis sum folio de quo ludunt venti.

My LMMS Experience

Scribe63's picture

Thanks for your review on the latest version of LMMS, on your powerful system. I always look forward to your reviews on Linux Audio Applications.

I used LMMS in the past, and like you said, the rendered output is great and you get good output levels. But, when composing with it, the sonic anomalies makes it a bit discouraging. My beefs were when working with bass lines, i always heard funny distracting noises at the end of phrases. No matter what i tried, in terms of changing the ADSR values, it sounded the same.
My other beefs, and this could be me, has to do with loading the same samples into different beat/baseline editor tracks and or assigning different names, to eventually be assigned as separate tracks in the song editor window. I still have to figure out a work flow to get it right.
I hope you are able to export to a stereo file now, the last time i used it i was only able to export to a mono file.

Beyond those gripes it is a cool and wonderful program, especially it's rendered and or exported files. I do have a couple of tracks i did in it which i like a lot, and will post on my website asap.

If VST support is really

Anonymous's picture

If VST support is really important, note that LMMS runs on Windows too.

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState