Opinion: Best mini keyboard controller for Bitwig

Official support for: bitwig.com
User avatar
KVRAF
10705 posts since 4 Jan, 2017 from Warsaw, Poland

Post Thu Oct 07, 2021 2:31 am

minortom wrote:
Thu Oct 07, 2021 2:29 am
All 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 2:38 am, edited 1 time in total.
Stuff for sale @ Knobcloud: 1 year of Reason+, iZotope Music Prod. Suite 3, Cubase Pro 11



Music tech enthusiast
DAW, VST & hardware hoarder
My "music": https://soundcloud.com/antic604

User avatar
KVRAF
2583 posts since 26 Jul, 2015 from Philadelphia

Post Thu Oct 07, 2021 2:37 am

Since you ate happy with the Nektar T6, the obvious one would be the Nektar SE25. Best one I ever used.

KVRist
230 posts since 18 Sep, 2020

Post Thu Oct 07, 2021 2:38 am

antic604 wrote:
Thu Oct 07, 2021 2:31 am
minortom wrote:
Thu Oct 07, 2021 2:29 am
All 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.

User avatar
KVRAF
10705 posts since 4 Jan, 2017 from Warsaw, Poland

Post Thu Oct 07, 2021 2:40 am

minortom wrote:
Thu Oct 07, 2021 2: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.
Stuff for sale @ Knobcloud: 1 year of Reason+, iZotope Music Prod. Suite 3, Cubase Pro 11



Music tech enthusiast
DAW, VST & hardware hoarder
My "music": https://soundcloud.com/antic604

KVRist
46 posts since 2 Oct, 2005 from Northern California

Post Thu Oct 07, 2021 3:12 am

minortom wrote:
Thu Oct 07, 2021 2:29 am
shenrei wrote:
Thu Oct 07, 2021 1: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.

User avatar
KVRAF
10705 posts since 4 Jan, 2017 from Warsaw, Poland

Post Thu Oct 07, 2021 10:06 am

antic604 wrote:
Thu Oct 07, 2021 2:40 am
minortom wrote:
Thu Oct 07, 2021 2: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.
Stuff for sale @ Knobcloud: 1 year of Reason+, iZotope Music Prod. Suite 3, Cubase Pro 11



Music tech enthusiast
DAW, VST & hardware hoarder
My "music": https://soundcloud.com/antic604

KVRist
230 posts since 18 Sep, 2020

Post Thu Oct 07, 2021 11:57 pm

antic604 wrote:
Thu Oct 07, 2021 10:06 am
antic604 wrote:
Thu Oct 07, 2021 2:40 am
minortom wrote:
Thu Oct 07, 2021 2: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.

User avatar
KVRAF
10705 posts since 4 Jan, 2017 from Warsaw, Poland

Post Fri Oct 08, 2021 12:23 am

minortom wrote:
Thu Oct 07, 2021 11:57 pm
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?
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.
Stuff for sale @ Knobcloud: 1 year of Reason+, iZotope Music Prod. Suite 3, Cubase Pro 11



Music tech enthusiast
DAW, VST & hardware hoarder
My "music": https://soundcloud.com/antic604

KVRist
230 posts since 18 Sep, 2020

Post Fri Oct 08, 2021 2:45 am

antic604 wrote:
Fri Oct 08, 2021 12:23 am
minortom wrote:
Thu Oct 07, 2021 11:57 pm
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?
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.

User avatar
KVRAF
10705 posts since 4 Jan, 2017 from Warsaw, Poland

Post Fri Oct 08, 2021 3:23 am

minortom wrote:
Fri Oct 08, 2021 2: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').
Stuff for sale @ Knobcloud: 1 year of Reason+, iZotope Music Prod. Suite 3, Cubase Pro 11



Music tech enthusiast
DAW, VST & hardware hoarder
My "music": https://soundcloud.com/antic604

KVRist
230 posts since 18 Sep, 2020

Post Fri Oct 08, 2021 3:34 am

antic604 wrote:
Fri Oct 08, 2021 3: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.

User avatar
KVRAF
10705 posts since 4 Jan, 2017 from Warsaw, Poland

Post Fri Oct 08, 2021 3:37 am

minortom wrote:
Fri Oct 08, 2021 3:34 am
antic604 wrote:
Fri Oct 08, 2021 3: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 ;)
Stuff for sale @ Knobcloud: 1 year of Reason+, iZotope Music Prod. Suite 3, Cubase Pro 11



Music tech enthusiast
DAW, VST & hardware hoarder
My "music": https://soundcloud.com/antic604

KVRist
230 posts since 18 Sep, 2020

Post Fri Oct 08, 2021 4:09 am

antic604 wrote:
Fri Oct 08, 2021 3:37 am
minortom wrote:
Fri Oct 08, 2021 3:34 am
antic604 wrote:
Fri Oct 08, 2021 3: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.

User avatar
KVRAF
10705 posts since 4 Jan, 2017 from Warsaw, Poland

Post Fri Oct 08, 2021 4:28 am

minortom wrote:
Fri Oct 08, 2021 4:09 am
Right, 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 :)
Stuff for sale @ Knobcloud: 1 year of Reason+, iZotope Music Prod. Suite 3, Cubase Pro 11



Music tech enthusiast
DAW, VST & hardware hoarder
My "music": https://soundcloud.com/antic604

KVRist
230 posts since 18 Sep, 2020

Post Fri Oct 08, 2021 1:31 pm

antic604 wrote:
Fri Oct 08, 2021 4:28 am
minortom wrote:
Fri Oct 08, 2021 4:09 am
Right, 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!

Return to “Bitwig”