The Bitwig Studio DAW transforms Linux computers into music workstations
Tunesmith
Bitwig Studio is the first complete music workstation offered as a commercial product for Linux. Now, Linux finally offers music production software that has, up to now, only been available on other platforms.
The Berlin-based startup Bitwig [1] announced plans for a new major league digital audio workstation for Linux about two years ago. About a year ago, a beta version of Bitwig Studio for Linux came out for testing, and in March 2014, the company finally released a complete version (Figure 1), having completely eliminated the bugs from the beta.
Besides the freely licensed Ardour and its smaller "siblings," such as Qtractor and MusE, musicians also have access to commercial and proprietary music production suites on Linux. Most are geared to the needs of electronic music producers. Renoise and Tracktion are built natively for Linux, whereas Reaper is a Windows program optimized for operation with Wine.
None of the top names in music production software – Steinberg Cubase, Magix Samplitude, Avid's Pro Tools, or Ableton Live – run on Linux. Time and again, musicians have said they would love to use Linux, if they only had access to a digital audio workstation like the suites they are accustomed to working with in Windows or Mac OS. Now they do.
Bitwig Studio presents a perfectly designed, professionally built, complete software suite for musicians. The program provides options that are new on Linux, especially for composition and live performances. Additionally, Bitwig offers a high degree of flexibility that other commercial programs can rarely live up to.
The manufacturer supplies the program as a 64-bit DEB package [2], making it easy to install on any Debian derivative. Bitwig expressly states "Ubuntu 12.04 or later" as a system requirement, but people have already reported successful installations on Debian, Arch Linux, Fedora, and other distributions. The prerequisite is a 64-bit system; Bitwig Studio does not run on a 32-bit kernel.
Licensing
In our lab, the suite installed smoothly on Kubuntu 13.04; on startup, it prompted me for a username and password, which you need to create when you register on Bitwig.com. The registered account is also used to manage licenses – Bitwig fortunately does not bother its users with USB dongles and the like.
For use without an Internet connection, a key file can be downloaded from the user section of the website. With a standard license, you can use Bitwig Studio on up to three computers at the same time, and you can download packages for all supported operating systems from the user section. For your first tests, you can also retrieve a free demo package [2]; however, you cannot save your work in it.
After completing the registration ceremony, you need to confirm a EULA, and then things get interesting: Bitwig offers downloads of several collections of samples and MIDI templates, which you can use as the basis for your projects and to explore the program's capabilities. Most of them come from Bitwig itself, with others from third parties. The latter are, however, usually only reduced versions of larger packages that you can purchase elsewhere.
The downloads are stored in ~/.BitwigStudio
. Additionally, Bitwig sets up a ~/Bitwig Studio
directory, where it saves your settings and projects.
Made for Linux
After the relatively long startup process, Bitwig feels like a native Linux program. Unlike some other cross-platform programs, I had no problems with window management, virtual desktops, or other Linux-specific functions. That may well be because Bitwig has its own Java runtime onboard, which provides the suite's Java interface.
All interface elements respond without delay. The actual signal processing – you can easily see that it has been carefully optimized for Linux – does not run as Java bytecode, but as a classic binary.
For audio interfaces, you can choose from Alsa, Jack, and the anachronistic OSS. For all the tests in this article, I used Jack, which has established itself as a standard for audio on Linux (also see the "Jack in the Box" boxout at the end of this article). After changing to the interface of your choice, you can immediately choose the ports offered by the selected interfaces as inputs/outputs. However, the changed settings only take effect after restarting Bitwig.
Very shortly after the release of version 1.0, the selection of audio interface did not work correctly: As in the beta, PortAudio threw an ugly error message. Just two days later, the problem disappeared, without any trace of a Bitwig upgrade. Bitwig shows available updates at the start; the download can be started automatically, then you install the appropriate package with dpkg or a tool like GDebi. After installation, you then need to click your way through the well-known first-launch wizard, which worked fine for all seven updates presented during the trial period.
Version 1.0.7, which ran for most of the test, exhibited virtually no problems with the existing functions. Every module and every feature I tried worked with constructive results. At second glance, however, a few shortcomings were identified: For example, the sound file preview in the browser did not always work; Bitwig only listed VST modules in the file area of the browser, but not in the intended device list. Some problems in detecting MIDI devices connected via USB were the only problems that really restricted functionality.
Attempts to force Bitwig to output noise, or even crash, through adventurous experiments with complex, demanding actions, were fended off perfectly (Figure 2). With 28 audio channels plus 10 MIDI tracks – each with its own sound generator – a couple of Xruns (buffer under- or overruns) occurred on the Alsa back end. However, they had no audible effect, and they only appeared when all channels needed to output a signal at the same time. Jack was adjusted to keep maximum latency to below 8 milliseconds, which is quite an ambitious value for a commercial laptop.
Compact Versatility
Bitwig Studio is a complex program with many features, which inevitably leads to a complex interface, but one that can remain comprehensible with some careful planning. The concept that Bitwig designers adhere to relies on a combination of relatively simple menus without submenus, plus the interface responses to user commands that automatically reconfigure the program window.
Bitwig thus mutates into a "new" program, depending on the function invoked by the user, that in itself is as clear-cut as possible. With the exception of a few configuration modules, all this happens in the four sections of the main window; only standalone plugin interfaces are allowed to open their own windows (see the "Hidden Tricks" box).
The toggles for the main modes – Arrange, Mix, and Edit – are at the bottom left. These modes consist of combinations of panels. To the right, you can select individual panels for the main toolbox (bottom center). The vertical box on the left displays information and tools for both work areas in the center and automatically follows the currently enabled program elements, such as tracks in the Arranger or sound clips in the Editor box.
This concept turns out to be quite clever: Almost all the compilations tried in our lab appeared understandable and were easily controllable. However, as with all automatic functions, I was sometimes left wishing I could do some things manually.
The View menu, top center, provides some simple switches for this purpose that let you display or hide panel boxes as required. In this menu, you can also select panels that do not appear in the automatic compilations. If you use more than one display, you will also find switches that enable optimized Bitwig setups for multimonitor mode.
The tracks in the Arranger can only be set to "small" or "very small." For precise editing, therefore, it makes sense to switch to Clip Editing mode. When you double-click the box-like icon at the bottom, it transfers a clip to the Arranger and automatically adjusts to its format: MIDI clips open in a piano roll editor and sounds in a wave editor.
Top left in these tools are some small switches that let you enhance the simple standard editors. For example, you can edit material in a Layer view that displays all the tracks in a stack, as in the Arranger, or directly superimposed. In the classic Track mode, you can enlarge tracks as needed, so that you can inspect and edit notes and sound graphs in detail.
The foil-like Layer view lets you stretch or compress audio material to match quantized MIDI notes precisely in another track (Figure 3). The quality of Bitwig's tools for stretching and compressing audio material proves to be excellent. Everything works in real time and instantly appears in the graph, and you will not notice a change in the sound except with extreme settings.
Closely connected with the Arranger and Editor are various automation functions. A comprehensive presentation of all the possibilities is well beyond the scope of this article; however, all the parameters of the controllers and plugins associated with a track can be controlled remotely with lines that you draw by hand or by moving the sliders. You can apply curve features to the lines, if needed; automation can be bound both to the timeline in the project as well as to a clip. (See also the "Macros" box at the end of the article.)
Bitwig Studio internally uses a proprietory data format for notes and control commands, which it sends to sound generators and effects. In contrast to traditional MIDI, this format supports precise settings and the transmission of control signals to individual notes in a clip. For example, you can use a line within a chord to manipulate a single tone and change its pitch.
Loopy
Bitwig comes from the electronica scene; thus, it offers a variety of options for working with loops, in addition to all the usual functions for classical recording of handmade music.
The program offers the usual loop functions, such as analysis tools for finding individual tones in sound samples and determining the probable bpm (beats per minute) speeds of samples. The samples can be adapted to the project speed without changing the pitch. In the tracks, you can put together loops with the mouse pointer on the right edge of the sound clips.
Bitwig Studio also has a special, fully loop-oriented project view. The Clip Launcher is a matrix that follows the tracks vertically but forms an arbitrary number of columns horizontally – Bitwig calls them "scenes" (Figure 4).
The Scene columns contain boxes that can record MIDI or audio loops. Bitwig Studio does not trim the clips to a standard length; rather, it plays their entire content in a loop. The signal is sent to the output of the track that forms the respective level in the scene; it can be edited in the mixer, just like the sounds recorded in the normal Arranger tracks. A mouse click is all it takes to enable empty boxes for recording from the sound card, assuming recording is enabled for the track in question.
You could use this approach to, say, record an eight-bar drum pattern on one track, record 12 bars of bass in another box, and then put your guitar solos in other boxes. Bitwig ensures that the tracks are cued in sync on the first beat – at least the beginning of the recording – and it repeats the material of all your active clips for as long as you want. You do not need to drop the clips into the same Scene column to do this. The program also plays multiple clips on the same track at the same time.
The only other easy-to-use application for Linux that lets you do something similar is Seq24 [3]. However, the program is a pure MIDI sequencer; it does not have its own sound producer and cannot be used with audio recordings.
Solid Teamwork
Plugins are responsible for creating and editing sounds in today's music software. Bitwig Studio exclusively supports VST plugins natively compiled for Linux. It cannot do anything with LADSPA or LV2, and any VST effects in the Windows DLL format installed on Linux also do not appear in the plugin list.
In the Bitwig Browser (at the far right), the first tab is Devices and Presets, and in our lab, it only listed VST plugins compiled as native Linux libraries after I added the /usr/local/lib/vst
and /usr/lib/vst
directories as Library Locations. Both synths and effects from MDA, linuxDSP, and Loomer then worked perfectly, just like the built-in modules.
For a good overview of VST software that is natively available for Linux, visit the linux-vst website [4]. Although Bitwig Studio was built for 64-bit systems, it can still use 32-bit plugins as well (see also the "Tips and Tricks Online" box).
Tips and Tricks Online
Bitwig Studio comes with a 300-page, easily understandable PDF manual. Bitwig itself and the growing community of fans also provide documentation and instructions on the Internet.
The Bitwig YouTube channel [5] offers a wide selection of video tutorials. They are characterized not only by hands-on skills but also by brevity and their focus on the essentials.
The Bitwig Tutorials [6] page offers an unofficial collection of Bitwig how-tos. The Traktor Bible [7] page, which offers a variety of aids for using the Traktor sequencer, has announced a similar project for Bitwig for the future.
The Bitwig Studio plugin interface lets you interconnect several plugins to create new, more complex modules that behave internally as coherent modules. This nesting (Figure 5) represents a first step toward a fully modular construction kit This plugin interface with the flexibility of a modular synthesizer is announced for Bitwig Studio 2.0. I had the opportunity to see a working experimental version of this in action.
To keep problems with third-party plugins in check, Bitwig Studio processes extensions separately from its own audio engine. Under Options | Preferences | Plug-in management, you can select whether to run all the plugins in a shared container (Global processing for all plug-ins) or individual modules in their own containers (Independent processing for each plug-in). This means that Bitwig's audio processing can remain fully operational in the event of a plugin crash; the crashed module can be restarted with a single click (Figure 6).
The automatic plugin scan worked perfectly in our lab, from a purely technical point of view. The plugin management tool displays everything and automatically identifies problems in an installed module. However, the Linux VST modules installed on the test computer did not appeared in the Devices section of the browser. In the Files section to the right (Figure 7), everything was fine, and I was able to drag all the virtual devices from there into the project.
Macros
You can usually set all sorts of parameters on virtual sound generators. Much like their role models made of sheet metal and electronics, software synthesizers and effects typically offer a variety of controls that let you design sounds. Unlike hardware devices, however, you can also adjust all the parameters via software. For example, all adjustable parameters follow automation curves that you draw in the Arranger tracks.
Bitwig takes this one step further: If you can do this with automation curves, why should you not be able to attach parameters to any curve function? In the world of synthesizers, such functions existed well before the first digital plugins; they are usually known as envelopes or LFOs. In Bitwig, you will also find these classic curve generators, but you can apply the function to any parameter and to several parameters simultaneously.
If you click on the white arrows below the LFOs, you can apply the function to any parameter, even to effects that are not directly part of the synth whose LFO you are using. With an active arrow, move the mouse cursor to the parameter you want the envelope to follow. Suitable parameters are highlighted in light green or blue. After clicking, the mouse pointer changes to an up/down arrow. When you move this, a light green area appears on the controller that is controlled by the LFO from now on.
LFO envelopes are pre-programmed curve functions that give the user many options. However, arbitrary audio recordings can also be regarded as curves – in Bitwig, curves derived from normal sounds can also be applied to plugin parameters. In the toolbox with the internal Bitwig plugins, first click on the FX box top right; then, click the plus sign on the right and choose Audio Mod from the list below Modulators.
Audio Mod can be connected with the audio output of a track in the project, but Bitwig does not yet automatically find signals in the current Jack network. Once the track is playing something, the module generates an envelope from the sound, which you can then apply like a standard LFO. For example, a filter that attenuates a synth can follow a snare drum on any track in the project. The synth must be installed in the Audio Mod by clicking on FX module.
Bottom left in the Device box, a double arrow, the Presets and Macros button, opens a section with eight assignable sliders when clicked. These sliders, which are referred to as macros, do not have their own curve functions; they are designed to let you operate several controllers from a single point (Figure 8). The mapping works as described for the LFOs; moving the mouse pointer up and down the during assignment defines the control path. This means you can select the maximum value range that you want to control and avoid extreme settings where applicable. Macros can also follow envelopes and automation lines.
Jack in the Box
Bitwig is pretty much perfectly integrated with Linux in terms of the installation and its interface. However, for music software, it is at least as important that the program can also set up the authoritative Jack and ALSA MIDI Linux audio environments.
In this respect, Bitwig Studio is still a little ambiguous. On one hand, the audio engine is rock solid. No scratches or dropouts occur even in hour-long sessions with a high system load. With 30 and more tracks, several synthesizers, and dozens of effects, this is a remarkable achievement. Bitwig cannot be persuaded to cause disturbances in Jack either, despite wild experiments with automation and sound manipulation.
On the other hand, Bitwig also lacks some features that other programs for Jack offer by default. Although Bitwig identifies both the sound card connections and the outputs of the native Jack programs running at the same time as Bitwig, you cannot combine them individually with arbitrary internal Bitwig ports, unlike Ardour or Qtractor. Instead, you need to decide on one Jack port provider under Options | Preferences | Audio. Whereas Ardour lets you simultaneously record the output of the Guitarix virtual guitar amplifier on one track and the microphone connected to your sound card on another, Bitwig makes you choose one or the other.
This deficiency can be ironed out using the Jackmixer utility. Bitwig detects all the ports that you create in Jackmixer as if they were "physical" sound card inputs. If you choose Jackmixer as an audio input in Bitwig, the Audio Inputs section offers you a numbered list of all Jackmixer ports. With a few experiments, you can quickly find out which number belongs to which Jackmixer port and then connect it with the internal ports created in Bitwig (Figure 9). This means that you can cleanly and separately record synthesizers such as Alsa Modular Synth and Yoshimi, or effects such as Calf or Guitarix, in Bitwig. After selecting Jackmixer as an input, you need to restart Bitwig for the settings to take effect.
After the restart, Bitwig not only connects with Jackmixer, it also shows the internal ports it created for Jackmixer in QjackCtl. These can then be connected to the Jack outputs of applications such as the Guitarix guitar amplifier or soft synths such as Alsa Modular Synth. For this to work in the future, you need to launch Jackmixer with the ports that Bitwig detected as set up before starting Bitwig; otherwise, Bitwig reports an error and refuses to set up a single input.
The audio problem can be solved by creating ports for Jackmixer, but things look less rosy for MIDI devices. Although my USB keyboard could be set up as a generic MIDI keyboard, Bitwig did not recognize the notes I played on it because of a bug that interferes with Jack MIDI. In Version 1.0.8 this problem is partially solved. Bitwig now works with external MIDI ports when the virmidi module is loaded with:
modprobe snd-virmidi
If you rely on a MIDI keyboard, you will thus want use the Bitwig demo [8] to test whether your model can be used with Bitwig.
Bitwig offers an open JavaScript API for connected hardware, so one hopes that this ugly problem will disappear as more and more devices are integrated into the somewhat cumbersome Bitwig connection by manufacturers and knowledgeable owners.
Conclusions
Bitwig Studio presents itself as a perfectly designed, professionally built, complete software for musicians. Especially for compositions and live performances, its Clip Launcher matrix offer options that are new on Linux. The automation functions also prove to be highly developed. The modular structure of the plugin section offers a flexibility rarely seen from other commercial programs.
The price of US$ 400 (EUR 300, UK£ 260) appears tolerable, considering that the complex technology of Bitwig Studio works perfectly and stably on Linux; it makes efficient use of available computing power and otherwise acts in all respects as you would want any native Linux application to behave.
If classic studio programs for Linux, like Ardour or Qtractor, fail to satisfy your special requirements, you could well find what you've been looking for in the form of Bitwig Studio.
Infos
- Bitwig: http://www.bitwig.com
- Download: http://www.shareit.com/product.html?productid=300623384
- Seq24: http://www.filter24.org/seq24/
- VST for Linux: http://www.linux-vst.com/
- Bitwig on YouTube: https://www.youtube.com/user/bitwig
- Bitwig tutorials: http://bitwigtutorials.net
- Traktor Bible: http://www.traktorbible.com/en/
- Bitwig demo: http://www.bitwig.com/en/bitwig-studio/download.html