Opinion: Best mini keyboard controller for Bitwig

Official support for: bitwig.com
RELATED
PRODUCTS

Post

minortom wrote: Thu Oct 07, 2021 10:29 amAll Shift+Plugin does on my M32 is switch it to MIDI mode.
Are you using Bitwig's script or Moss' one? In the latter device control is available only for S-series (going by the User Manual: https://github.com/git-moss/DrivenByMos ... umentation).
Last edited by antic604 on Thu Oct 07, 2021 10:38 am, edited 1 time in total.
Music tech enthusiast
DAW, VST & hardware hoarder
My "music": https://soundcloud.com/antic604

Post

Since you ate happy with the Nektar T6, the obvious one would be the Nektar SE25. Best one I ever used.
Follow me on Youtube for videos on spatial and immersive audio production.

Post

antic604 wrote: Thu Oct 07, 2021 10:31 am
minortom wrote: Thu Oct 07, 2021 10:29 amAll Shift+Plugin does on my M32 is switch it to MIDI mode.
Are you using Bitwig's script or Moss' one?
It does that with both Moss and Bitwig's native.

Post

minortom wrote: Thu Oct 07, 2021 10:38 am It does that with both Moss and Bitwig's native.
Hmmm. Weird. Native script's documentation says it should work:

https://github.com/bitwig/bitwig-extens ... A_M-Series

I'll check it in the evening and report back.
Music tech enthusiast
DAW, VST & hardware hoarder
My "music": https://soundcloud.com/antic604

Post

minortom wrote: Thu Oct 07, 2021 10:29 am
shenrei wrote: Thu Oct 07, 2021 9:59 am I own a Keylab 49MK2 and the Bitwig native integration is almost perfect for me. The only hiccup was assigning controls to faders in Daw mode. Switching to to user mode solves this problem.

The native support on the M32 works well out of the box. The knobs control track volume and panning by default. Pressing shift + plugin switches control to Bitwig remote knobs. With the Komplete Kontrol plugin, there is another mode for it you can switch to.
All Shift+Plugin does on my M32 is switch it to MIDI mode.
Yep. From there the knobs control the remote control knobs pretty much automatically.

Post

antic604 wrote: Thu Oct 07, 2021 10:40 am
minortom wrote: Thu Oct 07, 2021 10:38 am It does that with both Moss and Bitwig's native.
Hmmm. Weird. Native script's documentation says it should work:

https://github.com/bitwig/bitwig-extens ... A_M-Series

I'll check it in the evening and report back.
Works fine here.
Music tech enthusiast
DAW, VST & hardware hoarder
My "music": https://soundcloud.com/antic604

Post

antic604 wrote: Thu Oct 07, 2021 6:06 pm
antic604 wrote: Thu Oct 07, 2021 10:40 am
minortom wrote: Thu Oct 07, 2021 10:38 am It does that with both Moss and Bitwig's native.
Hmmm. Weird. Native script's documentation says it should work:

https://github.com/bitwig/bitwig-extens ... A_M-Series

I'll check it in the evening and report back.
Works fine here.
When you say it works fine, do you mean the PLUGIN button lights up and you're able to press it and control the device and see parameter names when touching knobs, or that SHIFT-PLUGIN switches to MIDI mode and it magically works like @shenrei described?

This is what I'm seeing: PLUGIN button is dark, pressing it does nothing; pressing SHIFT-PLUGIN calls up MIDI mode, I can page through templates and knobs send out CCs that they are mapped to but it doesn't automatically control device's remote parameters (as expected, really). I wonder if something is amiss with my setup if we're seeing different behaviors, and how I can fix it.

Apologies to OP for hijacking this thread.

Post

minortom wrote: Fri Oct 08, 2021 7:57 amWhen you say it works fine, do you mean the PLUGIN button lights up and you're able to press it and control the device and see parameter names when touching knobs, or that SHIFT-PLUGIN switches to MIDI mode and it magically works like @shenrei described?
When I press Shift+Plugin it lights up and whatever device is currently in focus (or is the 1st device on active track) I can control its remotes or - if remotes page is hidden - some controls have a coloured "triangle" next to them and I can control them with knobs.

It basically works like the fallback "MIDI controller with 8 knobs" script that you'd use with unsupported keyboard.
Music tech enthusiast
DAW, VST & hardware hoarder
My "music": https://soundcloud.com/antic604

Post

antic604 wrote: Fri Oct 08, 2021 8:23 am
minortom wrote: Fri Oct 08, 2021 7:57 amWhen you say it works fine, do you mean the PLUGIN button lights up and you're able to press it and control the device and see parameter names when touching knobs, or that SHIFT-PLUGIN switches to MIDI mode and it magically works like @shenrei described?
When I press Shift+Plugin it lights up and whatever device is currently in focus (or is the 1st device on active track) I can control its remotes or - if remotes page is hidden - some controls have a coloured "triangle" next to them and I can control them with knobs.

It basically works like the fallback "MIDI controller with 8 knobs" script that you'd use with unsupported keyboard.
Oh I see what I did there, I messed with the M32 MIDI templates and had knob CC channel set to 2, changing it back to 1 made it work. I'm guessing you're not seeing parameter name displays and all knobs are absolute, right?

For anyone else curious, this is their implementation https://github.com/bitwig/bitwig-extens ... .java#L222 and it's not very deep:

Code: Select all

	protected void bindMacroControl(final PinnableCursorDevice device, final MidiIn midiIn) {
		final CursorRemoteControlsPage remote = device.createCursorRemoteControlsPage(8);
		final AbsoluteHardwareKnob[] macroKnobs = new AbsoluteHardwareKnob[8];
		for (int i = 0; i < 8; i++) {
			final int index = i;
			final AbsoluteHardwareKnob knob = surface.createAbsoluteHardwareKnob("MACRO_" + i);
			macroKnobs[i] = knob;
			knob.setAdjustValueMatcher(midiIn.createAbsoluteCCValueMatcher(0, 14 + i));
			final RemoteControl parameter = remote.getParameter(index);
			parameter.setIndication(true);
			mainLayer.bind(knob, parameter);
		}
	}
Seems they simply expect a default factory MIDI template, map 8 parameters to CCs and call it a day.

Post

minortom wrote: Fri Oct 08, 2021 10:45 am...I'm guessing you're not seeing parameter name displays and all knobs are absolute, right?
Yes, no parameter name & value on M32 display and knobs act as encoders (I belive that's 'relative').
Music tech enthusiast
DAW, VST & hardware hoarder
My "music": https://soundcloud.com/antic604

Post

antic604 wrote: Fri Oct 08, 2021 11:23 am Yes, no parameter name & value on M32 display and knobs act as encoders (I belive that's 'relative').
I mean, if you move the knob in Bitwig and then turn the knob on M32, it will jump back to the hardware knob's current value.

Post

minortom wrote: Fri Oct 08, 2021 11:34 am
antic604 wrote: Fri Oct 08, 2021 11:23 am Yes, no parameter name & value on M32 display and knobs act as encoders (I belive that's 'relative').
I mean, if you move the knob in Bitwig and then turn the knob, it will jump back to the knob's current value.
That depends on your Settings / Controllers - at the top you have takeover modes. I use 'relative', because M32 knobs are endless encoders, so they inherently don't have any 'value' to them, just + and - move 'around' the current value of the parameter.

And yes - Bitwig usually only provides basic support. They leave it to Moss to add all the bells & whistles ;)
Music tech enthusiast
DAW, VST & hardware hoarder
My "music": https://soundcloud.com/antic604

Post

antic604 wrote: Fri Oct 08, 2021 11:37 am
minortom wrote: Fri Oct 08, 2021 11:34 am
antic604 wrote: Fri Oct 08, 2021 11:23 am Yes, no parameter name & value on M32 display and knobs act as encoders (I belive that's 'relative').
I mean, if you move the knob in Bitwig and then turn the knob, it will jump back to the knob's current value.
That depends on your Settings / Controllers - at the top you have takeover modes. I use 'relative', because M32 knobs are endless encoders, so they inherently don't have any 'value' to them, just + and - move 'around' the current value of the parameter.
Right, but in the default M32 MIDI map they aren't endless (there is a setting for absolute/relative and by default it's absolute). Meaning that if a knob is currently at 126 and you turn it right, it will go up to 127 and no more. In relative mode the knob will emit a single value of 127 for every right "click" and 0 for every left (the true endless behavior). The implementation code I pasted expects the knob to be absolute.

So, in Bitwig, if a parameter is currently set at 0.5 (64 CC) and the knob's last CC value was 126 and you turn it right, then:

- In "immediate" takeover the parameter will jump to 1
- In "catch" nothing will happen until you turn the knob left and it crosses the CC value of 64, then the parameter will follow the knob
- In "relative scale" it will scale the remaining ranges, meaning it will take a single right click to go to 1 and 126 left clicks to go to 0 — so not quite endless behavior, it will just turn the bitwig knob left and right at different speeds depending on the current parameter and hardware knob values.

Post

minortom wrote: Fri Oct 08, 2021 12:09 pmRight, but...
Well, I don't know what to tell you. It's basic, but works here. If you've modified your templates (mine is Default 1 or whatever) then obviously there might be some issues. But it seems like you know what you're doing, so either change the template or modify the script around your template :)
Music tech enthusiast
DAW, VST & hardware hoarder
My "music": https://soundcloud.com/antic604

Post

antic604 wrote: Fri Oct 08, 2021 12:28 pm
minortom wrote: Fri Oct 08, 2021 12:09 pmRight, but...
Well, I don't know what to tell you. It's basic, but works here. If you've modified your templates (mine is Default 1 or whatever) then obviously there might be some issues. But it seems like you know what you're doing, so either change the template or modify the script around your template :)
Pardon, got carried away reacting to how basic the implementation was and your mention of endless encoders. Thanks for checking and reporting!

Post Reply

Return to “Bitwig”