chronic overengineering

UPDATE 23.2.2017: Fixed script for Bitwig Studio 2.0+

Background

I came to really like the hardware controller integrated clip launcher functionality on music software a few years ago while playing around with Launchpad and Ableton Live. However I didn't finish a single song properly until I got myself comfortable laying parts in traditional timeline style sequencer with mouse and keyboard. Now after finishing a bunch of tracks I'm testing different hardware controls. For me hardware controllers (and synth's) aren't only inspiring, but they can speed up workflow and can help with mousearm related problems.

During 2016 I had my hands on an probably the most iconic DAW control surface AKAI APC40 controller loaned from Unzyme. I had thoughts on investing for my own controller and APC40 MK1 with $160 secondhand price was high on the list. However the bulky size and non-motorized faders were putting me off, rendering the controller pretty much useless during track mixdown. Maschine Jam improves slightly on this with touchstrips, but I wasn't happy with it's pricetag of $400 as I didn't have a need for the bundled NI Komplete 11 Select having already purchased enough synthesizers and hoarded enough sample audio material.

After some time I resolved into setting up a simple Launchpad grid controller accompanied with custom tablet touchscreen control layout providing the best of what I saw APC40 and Maschine providing, in a package that doesn't take more space in a backbag than a single hardcover book.

Features

Photo

Launchpad Mini

I was on a lookout a few weeks for second hand Launchpad Mini and got a barely used one for $75 (MK2). The stock Bitwig Studio Launchpad controller mapping has the default Ableton Live Launchpad functionality implemented, plus a Ableton Push style clip sequencer which I find inspiring especially for programming percussion. There's also a toggle the clip launcher orientation for either Bitwig arrangement view or the session view and a fancy VU meter.

The Launchpad Mini is pretty much the size of a medium-size tablet such as my iPad Mini 2 that I got cheaply with slighly cracked glass and they fit nicely together.

TouchOSC tablet control surface

I already had bought TouchOSC mobile app some years ago for ~$2, and while looking at it's features found it capable for the things I would need. Setting up the layout with TouchOSC editor was quite straightforward, but in the end it started to act crazy sometimes resizing and moving around some elements that I wasn't even clicking, which took some extra patience to cope with.

During a hunt for a starting point controller layout, someone on Bitwig Studio Users Facebook group also mentioned a Lemur Bitwig template, which is seems quite advanced, but too bloated for my needs. Also though Lemur has some more advanced features and probably a less buggy layout editor, I didn't yet see the $25 pricetag (times two for both iOS & Android) worth it for now.

As a starting point for the I used layout and sciprt by Thomas Helzle and Astartes, which had 80% of functionality already in place and I had played with earlier. It took a couple days to getting my head around the initial script and Bitwig Controller API documentation and some extra time testing and optimizing the layout.

Photo

  • APC40 style mixer page with transport controls, clip stop, track and master volume and toggleable pan, send 1, send 2, device control and macro knobs. Designed to be used with a separate grid controller.
  • Large device control / macro slider page with track and device navigation. More useful for automation recording.
  • 16 drum pads (midi ch 10), transpose up and down, change preset, macro knobs.
  • 2 octave keyboard (midi ch 1), velocity on y-axis, transpose up and down, modwheel, pitchbend, change preset, macro knobs.
  • 4 x XY Pads with in progress sliders and bypass buttons
  • A couple alternative pages with keyboard and XY pads and macro controls built for messing with hardware synths hooked into Bitwig while wirelessly playing notes and controlling FX.
  • Setup page with one-off buttons to midi-learn the xy pads (sending the same CCs). Contains in progress clip launcher I thought to leave there eventhough triggering clips mostly on Launchpad.

USB connected

TouchOSC supports USB-connection currently from iOS devices to Mac/Win via TouchOSC midi bridge (not yet implemented on Linux version). There are also 3rd party solutions for connecting Android as stated on TouchOSC Blog.

Though I've heard Wifi control surface users without any problems losing the connection in middle of a gig, the delay for playing notes or soloing tracks is not good enough and +50ms delay makes the use of a touchscreen controller feel even more flaky compared to hardware knobs and faders.

Installation

Download zip with TouchOSC layout and control script for Bitwig Studio 2.0+

Download legacy version tested working with Bitwig Studio 1.3.5

Extract and copy the TouchOSC directory containing TouchOSC.control.js file to Bitwig controller scripts directory.

  • On Windows %USERPROFILE%\Documents\Bitwig Studio\Controller Scripts\
  • On Mac ~/Documents/Bitwig Studio/Controller Scripts/
  • On Linux ~/Bitwig Studio/Controller Scripts/

Install BitwigTablet.touchosc layout via TouchOSC editor. Run TouchOSC bridge and Bitwig Studio. In Bitwig controller preferences, click "Detect available controllers", and it should setup the controller automatically, as it does with Launchpad with the builtin script for it.

Check the Bitwig control script documentation, or ask me if you face problems. Development version can be found in source code repository.

Room for improvement

TouchOSC and Bitwig Controller API

Compared to using a hardware controller the touchscreen layout is not fixed making it a great tool for prototyping control surfaces and while test driving the mapping for a couple weeks I'm already getting ideas on where to improve.

One TouchOSC drawback is that the fader for pitchbend that does not return to zero position, as the feature is not supported (or I missed it?). This would make the pitch wheel more playable.

With having modular control surface interfacing the track bank, I would also like to see synchronization between different control scripts, so that shifting the bank on Launchpad would shift the controls on TouchOSC accordingly and vice versa. This could be hacked together at least, but I hope to find some official way of sharing date between scripts.

APC40 layout

APC40 control surface mapping is not too usable while working on tracks. It's handy for performing with clip sequencer, but during composing and mixdown (that normally takes most of time) I still need to use mouse 95% of time. A larger amount of mixer strips would be more handy and I'm starting to understand professional studios with crazy amounts of motorized channel strips on mixing consoles.

Having a large amount of mixer faders on a small touchscreen wouldn't work too far. It could be helpful have a layout showing currently selected track's controls that follow the selection on Bitwig GUI. I'm doing some experiments with that in few weeks.