Pianoteq3 For Linux: A Product Review
On the 15th of May 2009 the Modartt company announced the release of version 3.0.3 of their award-winning Pianoteq, a professional-quality digital keyboard instrument created by an audio synthesis method known as physical modeling. The program is vastly praised by its users, but in order to feel the love you've had to run a Windows machine or a Mac box. Until now, that is. The latest release introduces various new attractions, and the one that interests me the most is support for a native Linux version. Check it out, commercial music software's finest virtual keyboard instrument is now available for Linux.
By the early 1990s the established traditional methods of subtractive, additive, and FM audio synthesis were well-represented in a variety of hardware implementations. Sound samplers were becoming increasingly sophisticated, and computer capabilities were advancing towards realtime audio synthesis and sample playback. Synthesizer manufacturers began to explore new approaches to audio synthesis, eventually finding marketable results in vector synthesis, granular synthesis, and physical modeling.
Physical modeling represents a radical departure from traditional synthesis methods. Instead of setting values for waveforms, filters, and amplifiers physical modeling presents the user with parameters based on the material and structural characteristics of an instrument. For a physical model of a piano the parameter set would include characteristics such as the size and material composition of the soundboard, string length, key weight, and so forth. In addition to these factors physical modeling also considers and designs the excitation of the material, i.e. how it responds to faster or slower playing techniques or to harder or softer materials. Given the number and variety of such factors for any instrument one might well believe that audio synthesis by physical modeling is likely to be a very complex task.
Pianoteq (Figure 1) is multifaceted software for physical modeling a variety of keyboards. In its simplest application the program can be used as a MIDI-controlled sound module to provide an excellent piano to the user's audio armoire. At its further reaches Pianoteq is a design palette for the creation and edition of new sounds modeled upon the physical characteristics of the keyboard family of musical instruments (piano, organ, harpsichord, et cetera).
Version 3.0.3 is the first release of Pianoteq with a native Linux version. The developers have included a README in the package to explain the Linux-specific necessities, and I'm happy to note that those necessities are few and commonly encountered. A realtime-enabled kernel is recommended, as is the JACK audio server system (with QJackCtl), and that's about it. I installed Pianoteq on two 32-bit systems and two 64-bit machines, all of which run rt-enabled kernels, and I experienced no difficulties installing and running the software. Pianoteq worked out of the box for me, and I applaud the developers at Modartt for their attention to the details of Linux-specific packaging and configuration.
Pianoteq lays to rest the assertion that a sampled instrument necessarily sounds better than a synthesized one. Sampling appears to be the solution for the composer who wants the most realistic sounds, but sampling's limitations start to show themselves quickly. Parameter control is problematic and typically restricted to performance controls, i.e. the sound itself is already "hard-coded". Realistic sample-based music often requires dozens of versions of the same sound, each of which presents the sound with a new playing technique or expressive gesture. In contrast, a synthesized sound typically allows direct access to the parameters that define those techniques and gestures. Realistic sample sets also tend to be very large, a factor that determined the evolution of certain disk-streaming technologies. Again, by contrast the code for a synthesized sound is only a set of more or less complex instructions to the hardware renderer. The entire patch code for a synthesized sound of a real instrument may be an order of magnitude smaller than its corresponding sample(s) and requires no special additional technologies. The sound of a grand piano is a marvellously complex audio phenomenon, and it is to Pianoteq's great credit that it matches the realistic sound of a sampled piano, with more significant parameter control and far smaller storage requirements.
Installation And Configuration
Installing Pianoteq is as simple as unzipping the package into your home directory. As far as I could tell no startup icon is included. To start the program, issue this command from its directory:
An info panel will appear over the main display. Close it, then proceed to the File->Audio/MIDI setup dialog (Figure 2) and configure Pianoteq for your audio and MIDI devices. Restart, and that's it, you're ready to play with Pianoteq.
Incidentally, I encountered the same ease of installation and setup when I reviewed the first Linux release of Renoise, so I wasn't too surprised to learn that the Pianoteq developers had followed the good example set by the Renoise Linux package. I welcome the addition of such excellent music software into the Linux audio world, and I hope that future packages will continue to be so free of hassle and frustration.
Pianoteq's GUI is based on the graphics capabilities of the JUCE applications development framework. JUCE also provides support for ALSA and JACK, thus making it a happy choice for cross-platform multimedia software developers.
At first glance Pianoteq looks like a colorful edutainment program, but a little longer look reveals its true powers. Figure 3 shows Pianoteq with its parameter windows opened. Most of the eye candy is functional, i.e. the virtual keyboard plays along with MIDI input, the virtual pedals follow the relevant controller messages, and the effects sliders respond to realtime MIDI control. Additionally, the GUI changes the temperament and playable range on the keyboard according to the capabilities of the selected instrument. Various additional hidden windows can be opened from the Windows menu. Though it seems rather novel at first, Pianoteq's GUI is easy to navigate and control. Frankly, it's very cool.
The Mic Placement window is a good example of Pianoteq's attention to the details of modeling a sound. Figure 4 shows off the interactive display for determining the placement of two microphones around the virtual piano. You can maneuver the microphones to any preferred positions, in realtime if you like (though see below for an evaluation of Pianoteq's realtime performance controls), and each position will have a more or less audible effect on the sound.
Pianoteq can be played by any MIDI keyboard or other MIDI controller, and your performance can be saved as a MIDI file. The program includes a simple MIDI file player and can render its output to a WAV file. MIDI continuous controllers and other MIDI messages can be mapped to Pianoteq parameters for automating realtime parameter control.
I've focused my initial review on the included piano models, with minor tweaks to accommodate the listening environment. For my first test I loaded MIDI files into Pianoteq and played them with the C3 Bright model. The particular pieces are stylistically distinct, but both works demonstrate a broad range of expression and dynamics. However, they had been arranged originally for an FM synthesized piano, and I wanted a somewhat brighter overall sound from the default model. I set the default dynamic range to 40, slightly increased the hammer hardness, and adjusted the EQ curve.
You can hear my tweaked model playing The Maiden And The Nightingale by Enrique Granados and Stefan Wolpe's Form For Piano. I've also placed passages at eg-pianoteq.ogg and eg-sampled.ogg to compare the sound of a sampled Yamaha Maestro grand piano (played by LinuxSampler) with that of the tweaked C3 Solo Recording piano.
Alas, I'm no keyboard player, so my realtime experiments were limited to control via external sequencer and some realtime performance with a Casio CZ101. The CZ is a poor choice for Pianoteq, its keyboard range is a mere four octaves, it has no aftertouch, and its MIDI velocity value is fixed at 64. However, I have a large library of MIDI files of classical piano music I transcribed many years ago, so I could still give Pianoteq some stress tests with music by the great master composers for the piano. I'm pleased to say that so far the program has taken everything I can throw at it and has performed flawlessly.
The user's manual makes it clear that Pianoteq wants a CPU of at least 1.5 GHz so I expected high CPU usage figures. Rates ran up to 55% during the performance of the Granados piece on my least-capable machine, a box powered by a 2 GHz CPU, but performance was stable, with no audio glitches or xruns.
Parameter updates were another story. Given the program's overall professionalism I was surprised that parameter control updates were not always instantaneous and that audible glitching occurred during some parameter changes. No xruns were reported by QJackCtl, and no audible artifacts occurred during normal play.
The user's manual is available from the Help menu. However, an installation error (?) hides the required PDF from the program. Move the needed file from ~/Pianoteq30/Documentation/pianoteq-english.pdf (or pianoteq-francais.pdf) to ~/Pianoteq30/pianoteq-english.pdf and you should then be able to open it from the Help menu. The manual is clearly written, and new users are well-advised at least to peruse its contents.
The Help menu also offers a link to video tutorials, and an extensive FAQ sheet is posted on the Pianoteq home site.
Patches And Presets
Pianoteq comes with a set of two grand piano instruments and two demo instruments for electric piano and vibraphone sounds. Commercial and free add-ons are available, including the outstanding instruments from the KIViR (Keyboard Instruments Virtual Restoration) project (free to registered users).
User-defined presets in FXB format can be downloaded from the Pianoteq Web site. Some presets require add-on instruments, others work with the stock Pianoteq keyboards.
My sequencer of choice includes a nice jukebox feature for which I've set up a variety of playlists, including some lists dedicated to 19th-century and 20th-century piano music. Pianoteq never faltered through more than a hundred pieces, JACK reported no xruns, and the audio output was splendid. At release version 3.0.3 Pianoteq is a mature and well-tested product for Windows systems and the Mac, and its developers obviously wanted Linux users to enjoy the full Pianoteq experience.
By the way, I simply opened my sequencer, set it up for jukebox playback, pressed the spacebar, and the music poured forth. If the JACK audio system is selected it defaults to autoconnection, ditto for the JUCE MIDI ports, so I never touched QJackCtl's connections panels. Sweet.
As of 24 May 09 Pianoteq's price is €249 (~$350US). For your money you get access to all versions of the program, including the 32-bit and 64-bit versions for Linux. Support channels include email and a discussion forum. Registered users can also access a special area for downloading program updates and free add-ons.
I looked at other reviews of previous incarnations of Pianoteq to gain some perspective on its price point. Those reviewers were not shocked. The product delivers on its promise and it is considered a great value by the clear majority of reviewers.
Great praise to the awesome Philippe Guillaume and his brilliant crew. Pianoteq is simply amazing. Its sound quality is excellent, its user interface is attractive and invites interaction, the add-on instruments are wonderful, et cetera, et cetera. It's not free and it isn't open-source software, but its developers are certainly interested in the open-source community of music makers. In this community member's opinion, Pianoteq for Linux gets four out of four big stars (or Emperor penguins, take your pick).
Similis sum folio de quo ludunt venti.
- Readers' Choice Awards 2014 Poll
- Give new life to old phones and tablets with these tips!
- Memory Ordering in Modern Microprocessors, Part I
- Source Code Scanners for Better Code
- Tech Tip: Really Simple HTTP Server with Python
- Raspberry Pi: the Perfect Home Server
- RSS Feeds
- Linux Systems Administrator