Beatstep Pro and Bitwig
29 Jan 2016
[Update, 12/12/2016]: I put together a new Bitwig script for Beatstep Pro to address some of the shortcomings I discovered with the scripts discussed in this post. Notably, the new script supports controlling device params and macros without having to manually map the BSP encoders, navigating tracks, browsing/selecting presets and a few other things.
Arturia's Beatstep Pro, released last year, is a versatile hardware step sequencer with an impressive feature set. You get 3 independently programmable sequencers: 2 melodic and 1 for drum programming. You can program velocity and gate times per step. There are randomization controls that can be configured globally or per sequencer. You get connectivity for MIDI and CV gear. And with the latest firmware update, you get pattern chaining and quantized pattern launching. For the money, it's a tough package to beat. (If you're looking for a keyboard controller with step sequencing capabilities you might be interested in the KeyStep, introduced at this year's NAMM show and showing that Arturia's not done with their sequencer spree yet.)
While the Beatstep Pro is awesome for sequencing hardware instruments, you can also use it to sequence virtual instruments. If you, like me, use Bitwig Studio, there are a few ways to get a Beatstep Pro pumping sweet, sweet MIDI data into your Bitwig tracks. I'll tell you about the ones I know about here.
To use a Beatstep Pro with Bitwig, you'll need to use a third-party controller script.
There are quite a few scripts hosted on Bitwig's site; you can search them on the community scripts page. But there are many scripts that you won't find there. As suggested by the KVR forum on Bitwig scripting, GitHub is a great place to search for controller scripts. This is where you'll find scripts for the Beatstep Pro.
One of your choices is a script by "Moss", who's created a bunch of controller scripts for Bitwig, including one for the Beatstep Pro. You can learn more about his Beatstep Pro script here. I opted not to go with this implementation because it attempts to turn the Beatstep Pro into a comprehensive control surface for Bitwig Studio vs focusing on its sequencing capabilities. It seemed too complicated for my tastes and incorporated Beatstep Pro functionality in such a way that the sequencing capabilities came across as a secondary concern. But if you're looking for a deep integration that uses the Beatstep Pro more as a control surface and less as a sequencer then this script may work well for you.
A couple of notes from the GitHub wiki on the Moss script:
...stay away from all buttons on the left except the Shift button when you use the Bitwig script!
...you cannot control the lights of the pads and steps, which means you have to navigate it rather "blind".
Another option and my current favorite is a script by "justlep", which you can find here. I like this script because it's simple and lets you use each of the Beatstep Pro's sequencers in Bitwig with minimal effort. Each sequencer of the Beatstep Pro uses a separate MIDI channel and most of what the script does is create separate note inputs for each sequencer using the Beatstep's default MIDI channel settings. It also makes the 16 encoders assignable in the Beatstep's control mode. Clock sync from Bitwig works if you set the sync mode on the Beatstep Pro to "USB". A nice script addition would be to automap the encoders to device parameters and macros without having to manually assign them but the lack of this feature isn't a dealbreaker for me. If you want to get up and running quickly with your Beatstep Pro and Bitwig, justlep's script should work well for you.
Let's have a quick look at one more option for getting a Beatstep Pro sequencing with Bitwig. Your third choice is to use a script by "cyhex", which you can find here. This is based on the script by justlep but adds automapping for device params and macros, and supports track/device/preset navigation in control mode. This sounds awesome but the script also requires that you load a custom configuration template on to your Beatstep Pro, which is less awesome. I tried using the script without the template with little success and settled on the simple but functional script by justlep. I may come back to this one and spend a little more time with it as the encoder automapping and basic navigation support sound pretty compelling. It'd be great if you could do it with the default Beatstep Pro config, though.
If you've got a Beatstep Pro and use Bitwig you should be able to get them working well together with one of these scripts. And if you know of any other Bitwig controller scripts out there for the Beatstep Pro let me know!