DrivenByMoss: Bitwig extension for many hardware controllers (version 26.6.1)

Post Reply New Topic
RELATED
PRODUCTS
Bitwig Studio 6$399.00Buy Maschine

Post

moss wrote: Sun Sep 14, 2025 5:23 pm
[*]Push 3
  • New: MPE Pitchbend does now work with the selected scale!
  • New: Added support for configuring the pad sensitivity curve incl. a graphical visualisation.
Many thanks for your hard work to bring scale aware push bends to the Push 3 MPE surface in Bitwig. I see that as per our previous discussion, you did have to write the implementation code for this yourself.

So I'm sorry to bring you pain by reporting that things are not working if you move your 'pitch bending' finger(s) to the left of the pad(s) that were first pressed to trigger the note. The bends end up going up instead of down when moving down from the original note, and then on the way back up towards the original note/pad they start going down instead of up. This is most noticeable if moving finger quite slowly, because the pitches do end up correcting themselves once they reach the pitches that every pad represents, its in all the positions between the centre of each pad that the issue shows up really obviously. At its most noticable, it sounds quite like the sound that old computer games used in racing games where the car is changing gears while increasing speed. The issue doesnt really show itself obviously if your bend is upwards/to the right of the original note triggering pad(s)

I'm not sure if that explanation is good enough so I recorded the resulting pitch data in bitwig and the issue shows up pretty clearly in their visual representation of the per-note pitch bends. Instead of relatively smooth curves downwards from the original note (and in this example, then back up again towards the original note), we get:
Screenshot 2025-09-23 at 19.07.10.png
(The 'sudden drops' and 'sudden rises' are when we reach near the middle of other pads and the pitch corrects itself to where it should have reached gradually, so its actually the gradual ramping phases in this graph that are the error, they are going in the wrong direction).

In regards the additional config steps you had to detail for users in your recent video, I believe this issue arises mostly because in the standard, simplistic controller scripts that Bitwig includes for other MPE controllers, those really simple scripts make use of "noteInput.setUseExpressiveMidi(true, 0, 48);" stuff. And when UseExpressiveMidi is enabled by those scripts, MPE simply works with built in instruments without users having to make the additional config steps that you detailed. And for plugin instruments, users only have to enable the MPE button on the instrument instance. I am not familiar with the much more complicated world of advanced scripting that your work uses, so I am not able to say whether you can make use of something that behaves the same as setUseExpressiveMidi and have it make use of your scripts own stream of generated MIDI data.
You do not have the required permissions to view the files attached to this post.

Post

SteveElbows wrote: Tue Sep 23, 2025 6:21 pm
moss wrote: Sun Sep 14, 2025 5:23 pm
[*]Push 3
  • New: MPE Pitchbend does now work with the selected scale!
  • New: Added support for configuring the pad sensitivity curve incl. a graphical visualisation.
Many thanks for your hard work to bring scale aware push bends to the Push 3 MPE surface in Bitwig. I see that as per our previous discussion, you did have to write the implementation code for this yourself.

So I'm sorry to bring you pain by reporting that things are not working if you move your 'pitch bending' finger(s) to the left of the pad(s) that were first pressed to trigger the note. The bends end up going up instead of down when moving down from the original note, and then on the way back up towards the original note/pad they start going down instead of up. This is most noticeable if moving finger quite slowly, because the pitches do end up correcting themselves once they reach the pitches that every pad represents, its in all the positions between the centre of each pad that the issue shows up really obviously. At its most noticable, it sounds quite like the sound that old computer games used in racing games where the car is changing gears while increasing speed. The issue doesnt really show itself obviously if your bend is upwards/to the right of the original note triggering pad(s)

I'm not sure if that explanation is good enough so I recorded the resulting pitch data in bitwig and the issue shows up pretty clearly in their visual representation of the per-note pitch bends. Instead of relatively smooth curves downwards from the original note (and in this example, then back up again towards the original note), we get:

Screenshot 2025-09-23 at 19.07.10.png

(The 'sudden drops' and 'sudden rises' are when we reach near the middle of other pads and the pitch corrects itself to where it should have reached gradually, so its actually the gradual ramping phases in this graph that are the error, they are going in the wrong direction).

In regards the additional config steps you had to detail for users in your recent video, I believe this issue arises mostly because in the standard, simplistic controller scripts that Bitwig includes for other MPE controllers, those really simple scripts make use of "noteInput.setUseExpressiveMidi(true, 0, 48);" stuff. And when UseExpressiveMidi is enabled by those scripts, MPE simply works with built in instruments without users having to make the additional config steps that you detailed. And for plugin instruments, users only have to enable the MPE button on the instrument instance. I am not familiar with the much more complicated world of advanced scripting that your work uses, so I am not able to say whether you can make use of something that behaves the same as setUseExpressiveMidi and have it make use of your scripts own stream of generated MIDI data.
I sent several questions about their MPE implementation to Bitwig but so far without any answers.

Post

Hello,

I hope this is the right place for this post

I'm trying to get the latest (26.2.1) DrivenByMoss extension working within Bitwig 6, with my AKAI MPC One. I have downloaded the AKAI Pro Network thing and I have my MPC using Ableton Link via Ethernet cable, hooked up to my PC. I have placed the extension file in my Bitwig extensions folder and I'm unsure of how to actually launch the controls.

In the manual it says: The device is auto-detected. If this is not working for any reason, select the Akai Network – DAW Control as
the first in- and output and the Akai Network - MIDI as the second input.


Do this mean I should make a new controller with these settings or am I supposed to apply them elsewhere?

Sorry, bit of a Bitwig noob here :)

Thanks

Post

Hi - it is actually quite a straigthforward act

If not self-detected:
Go to "add a controller".
Search for your Akai
Search your device (check on the bottom left that the reference by Jürgen Moßgraber is being shown)
Push add
And than adjust the in- and output setting according to the manual

Post

If self-detected than simply search for your already activated device.
On the left side to the box saying "Controller". This is indicating that the generic Bitwig script is active.
Click on this and you should see the drivenbymoss alternative script. Simply click on it and it is all fine.

Almost - I have the feeling that you should close and restart Bitwig after this change. But that might not be necessary all the time.

Post

Hey working on a template for clip launcher in Open Stage Control

script sends the command, but when it receives it, the command is unkown.

Sending: /launcher/postRecordingTimeOffset [ 28.0 ] Sending: /update [ 0 ] Sending: /update [ 1 ] Sending: /launcher/postRecordingTimeOffset [ 32.0 ] Sending: /update [ 0 ] Receiving: /launcher/postRecordingTimeOffset [16.0] [ 1.0 ] Unknown OSC command: /launcher/postRecordingTimeOffset [16.0] postRecordingTimeOffset [16.0]

what should I do?
You do not have the required permissions to view the files attached to this post.

Post

Medley wrote: Thu Sep 25, 2025 8:39 pm Hello,

I hope this is the right place for this post

I'm trying to get the latest (26.2.1) DrivenByMoss extension working within Bitwig 6, with my AKAI MPC One. I have downloaded the AKAI Pro Network thing and I have my MPC using Ableton Link via Ethernet cable, hooked up to my PC. I have placed the extension file in my Bitwig extensions folder and I'm unsure of how to actually launch the controls.

In the manual it says: The device is auto-detected. If this is not working for any reason, select the Akai Network – DAW Control as
the first in- and output and the Akai Network - MIDI as the second input.


Do this mean I should make a new controller with these settings or am I supposed to apply them elsewhere?

Sorry, bit of a Bitwig noob here :)

Thanks
First check if the MPC is detected and selected in the little Akai configuration tool.
Then in Bitwig if it is not auto-detected, open the settings, select the controllers page and at the bottom you find the option to add a new controller. Select Akai and then MPC Live I/II, ...

Post

sebastian_blu wrote: Sun Sep 28, 2025 9:55 pm Hey working on a template for clip launcher in Open Stage Control

script sends the command, but when it receives it, the command is unkown.

Sending: /launcher/postRecordingTimeOffset [ 28.0 ] Sending: /update [ 0 ] Sending: /update [ 1 ] Sending: /launcher/postRecordingTimeOffset [ 32.0 ] Sending: /update [ 0 ] Receiving: /launcher/postRecordingTimeOffset [16.0] [ 1.0 ] Unknown OSC command: /launcher/postRecordingTimeOffset [16.0] postRecordingTimeOffset [16.0]

what should I do?
Just checked and it works fine for me. From the exception it looks to me as if the two f ("ff") are a special character.

Post

Is there a way to map a controller to patch change in a VST? Do some VSTs respond to MIDI patch change messages?

Post

brownerthanu wrote: Mon Sep 29, 2025 2:37 pm Is there a way to map a controller to patch change in a VST? Do some VSTs respond to MIDI patch change messages?
Yes, there is the Bitwig device "MIDI Program Change". Insert it before you VST plugin. Check the manual of your VST plugin to see if and how it supports program changes.

Post

DrivenByMoss 26.3 is online!

Get it from https://mossgrabers.de
  • Maschine
    • New: Shift+ARRANGE(R)/IDEAS activates Edit layout.
  • Maschine Mk2/Studio
    • New: CHORDS mode can now be accessed as well. To support it the behaviour of the PAD MODE button has been changed. Press it multiple times to toggle between PAD MODE, KEYBOARD and CHORDS mode. Use Shift+PAD MODE to access the settings of the respective mode.
  • MCU
    • New: Added new setting *Encoder Knob Slow Down
    • which allows to slow down the main encoder.
    • New: Renamed option *Off
    • to *None
    • for the settings 'Main display', 'Has a second display', 'VU Meters' and 'Display Colors'.
    • Fixed: VU meters can be toggled on/off with *Global View
    • again.
Enjoy!

Post

moss wrote: Mon Sep 29, 2025 8:25 am
sebastian_blu wrote: Sun Sep 28, 2025 9:55 pm Hey working on a template for clip launcher in Open Stage Control

script sends the command, but when it receives it, the command is unkown.

Sending: /launcher/postRecordingTimeOffset [ 28.0 ] Sending: /update [ 0 ] Sending: /update [ 1 ] Sending: /launcher/postRecordingTimeOffset [ 32.0 ] Sending: /update [ 0 ] Receiving: /launcher/postRecordingTimeOffset [16.0] [ 1.0 ] Unknown OSC command: /launcher/postRecordingTimeOffset [16.0] postRecordingTimeOffset [16.0]

what should I do?
Just checked and it works fine for me. From the exception it looks to me as if the two f ("ff") are a special character.

I am sorry, I am not sure what you mean special character?

two f characters in the word offset?

did you check from open stage control?

how can I fix this? I should be able to complete my clip launcher once I have this ironed out!

Post

sebastian_blu wrote: Mon Sep 29, 2025 8:28 pm
moss wrote: Mon Sep 29, 2025 8:25 am
sebastian_blu wrote: Sun Sep 28, 2025 9:55 pm Hey working on a template for clip launcher in Open Stage Control

script sends the command, but when it receives it, the command is unkown.

Sending: /launcher/postRecordingTimeOffset [ 28.0 ] Sending: /update [ 0 ] Sending: /update [ 1 ] Sending: /launcher/postRecordingTimeOffset [ 32.0 ] Sending: /update [ 0 ] Receiving: /launcher/postRecordingTimeOffset [16.0] [ 1.0 ] Unknown OSC command: /launcher/postRecordingTimeOffset [16.0] postRecordingTimeOffset [16.0]

what should I do?
Just checked and it works fine for me. From the exception it looks to me as if the two f ("ff") are a special character.

I am sorry, I am not sure what you mean special character?

two f characters in the word offset?

did you check from open stage control?

how can I fix this? I should be able to complete my clip launcher once I have this ironed out!
Yes, I checked from Open Stage Control. I guess you might have copied it from a word processor which combined the two f into a special ff character. Simply type two f and it should work.

Post

oh oh oh yep that did it. I copied it from ur manual. But either way now it works. I am excited to share this template! it is very nice and very useful.

how about scene colors? I am not able to get the LED to show the color atm

Post

sebastian_blu wrote: Mon Sep 29, 2025 9:23 pm oh oh oh yep that did it. I copied it from ur manual. But either way now it works. I am excited to share this template! it is very nice and very useful.
Oh, I see. Good old TeX...
sebastian_blu wrote: Mon Sep 29, 2025 9:23 pm how about scene colors? I am not able to get the LED to show the color atm
There is an error in the manual. Correct is the following like with all other parameters:
/scene/{1-8}/color

Post Reply

Return to “Controller Scripting”