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.

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.


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.
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.
Today’s modular x86 servers are compute-centric, designed as a least common denominator to support a wide range of IT workloads. Those generic, virtualized IT workloads have much different resource optimization requirements than hyperscale and cloud applications. They have resulted in a “one size fits all” enterprise IT architecture that is not optimized for a specific set of IT workloads, and especially not emerging hyperscale workloads, such as web applications, big data, and object storage. In this report, you will learn how shifting the focus from traditional compute-centric IT architectures to an innovative disaggregated fabric-based architecture can optimize and scale your data center.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
| Non-Linux FOSS: Seashore | May 10, 2013 |
| Trying to Tame the Tablet | May 08, 2013 |
| Dart: a New Web Programming Experience | May 07, 2013 |
- RSS Feeds
- New Products
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Home, My Backup Data Center
- A Topic for Discussion - Open Source Feature-Richness?
- What's the tweeting protocol?
- Dart: a New Web Programming Experience
- Developer Poll
- Trying to Tame the Tablet
- Reply to comment | Linux Journal
2 hours 6 min ago - Reply to comment | Linux Journal
4 hours 38 min ago - Reply to comment | Linux Journal
5 hours 55 min ago - great post
6 hours 30 min ago - Google Docs
6 hours 53 min ago - Reply to comment | Linux Journal
11 hours 41 min ago - Reply to comment | Linux Journal
12 hours 28 min ago - Web Hosting IQ
14 hours 2 min ago - Thanks for taking the time to
15 hours 39 min ago - Linux is good
17 hours 36 min ago
Enter to Win an Adafruit Prototyping Pi Plate Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Prototyping Pi Plate Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- Next winner announced on 5-21-13!
Free Webinar: Linux Backup and Recovery
Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.
In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.



Comments
Performance Issue's are because of the CPU.
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
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
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
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
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!
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
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
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
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
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
If VST support is really important, note that LMMS runs on Windows too.