Presonus Faderport FL Studio implmentation -Motorized fader.

Sacco

2014-01-05 23:28:15

Hi. :)

I just finished mapping everything on my Presonus Faderport to use it in FL studio. It came out really nice.

Now, I still have a small problem. While I can move the unit fader and the movement looks perfectly smooth on the fader on the screen, when I move the fader on the screen the unit fader acts jerky.

The problem lies in the fact I don't know how to convert Pitch Bend data into MSB LSB data.

If I use MSB only on the feedback going to the unit, I have the fader moving in big steps only...if I activate LSB the inbetween steps happen asynchronously so the fader moves super jerky. So I decided to leave it in "big steps" mode which is not so bad, but not optimal.

This is what I have:

incoming:

Translator 3: FADER MSB
Options: stop=false
Incoming: MIDI B0 00 tt
Outgoing: MIDI E0 tt vv

Translator 4: FADER LSB
Options: stop=false
Incoming: MIDI B0 20 vv
Outgoing: MIDI E0 vv tt

outgoing:

Translator 5: FADER RETURN MSB
Options: stop=false
Incoming: MIDI E0 mm nn
Rules:
kk=nn/14
Outgoing: MIDI B0 00 kk

Translator 6: FADER RETURN LSB
Options: stop=false
Incoming: MIDI E0 mm nn
Outgoing: MIDI B0 20 00

So probably as you can see here, I just deviced some kind of makeshift to make it "work" but obviously is not the best solution but I have no clue.

Thanks a lot for your help on this one :)

DvlsAdvct

2014-01-06 17:32:19

Hi Sacco

You can place multiple MIDI messages in the Incoming and Outgoing lines, so it listens for a combination of messages. For example, it could read:

Code: Select all

Translator 1: MSB LSB to Pitch Bend
Incoming Message: B0 00 pp B0 20 qq
Outgoing Message: E0 pp qq
Let me know if that helps, at least for the incoming/outgoing. I always have issues with this kind of translation as well, so let's see if we can figure this out. :)

Thanks
Jared

Sacco

2014-01-06 22:04:17

Hi.

Thanks for the clarification over that, I could make it work as you said.

However, on the return to the unit fader the scale doesn't correspond.

When I move the screen fader from 1% to 10% the physical fader moves all the way from 0 to 100%

I can divide the MSB by 10 but if I divide the LSB the fader again behaves all random.

Sacco

2014-01-07 00:02:54

So in other words, this is what I have:

Translator 3: FADER OUT (physical fader controlling software fader, it works fine)
Options: stop=false
Incoming: MIDI B0 00 vv B0 20 tt
Outgoing: MIDI E0 tt vv (note the inversion here, the other way around doesn't work)

Translator 5: FADER RETURN (doesn't work well, MSB works fine if I don't send LSB, I need to scale the LSB timing (clock) to match the Pitch expected values, a simple division is not enough)
Options: stop=false
Incoming: MIDI E0 mm nn
Rules: qq
qq=nn/14
Outgoing: MIDI B0 00 qq B0 20 mm (inverted again, otherwise works even worse)


When I capture the MIDI coming from the Faderport it shows this:

B0 pp 00
-
15 times:
B0 20 10
B0 20 20
B0 20 30
B0 20 40
B0 20 50
B0 20 60
B0 20 70
-
B0 pp 10
-
15 times:
B0 20 10
B0 20 20
B0 20 30
B0 20 40
B0 20 50
B0 20 60
B0 20 70
-
B0 pp 20
-
15 times:
B0 20 10
B0 20 20
B0 20 30
B0 20 40
B0 20 50
B0 20 60
B0 20 70
-
B0 pp 30

etc.. all the way up to B0 pp 70

Is like the fader send some intricate set of data in a specific order and I have no clue on how to translate E0 mm nn pitch bend data into that.

DvlsAdvct

2014-01-07 01:25:50

Can you capture what's coming back from FL Studio?

Sacco

2014-01-07 01:32:01

This is how affects the fader movement.

I'm sending a slow SAW to the software fader (range 0% to 100%)via internal controller, that makes the software fader to move and therefore send the return position data to the motorized fader.

Depending on how I scale I have:
graph.jpg
graph.jpg (90.6 KiB) Viewed 95424 times
And what I try to avoid is that sawtooth motion you see in the middle. I must convert all these sawtooth cycles into one big sawtooth cycle that covers one MSB step so at the end when they're stitch together they all form a straight diagonal line.

That's why I guess I need some kind of counter or logic gating but have no clue about such syntax.

Sacco

2014-01-07 01:56:46

DvlsAdvct wrote:Can you capture what's coming back from FL Studio?
This is what I get back from FL:

http://youtu.be/4SfinGCR4x0

And this from the Faderport:

http://youtu.be/e4yFgdeUabc

florian

2014-01-08 11:43:13

Hi, chiming in...

In general, the messages are defined like this:

Pitch Bend: E0 LSB MSB
14-bit Controller: B0 00 MSB B0 20 LSB

As I can see from the video, FL treats Pitch Bend as a flat 14-bit range from 7F 7F to 00 00 (LSB MSB top to bottom).

Looking at what the FP is sending, it seems a bit arbitrary. Note that it's OK for 14-bit controller messages to omit the MSB part if it is the same as before (that's why you only see occasional B0 00 pp messages). But there are intermittent B0 20 00 messages where they don't make sense.

Normally, you'd expect it to send controller messages in the same range as the Pitch Bend (as specified for 14-bit controllers). I.e. when moving from top to bottom, you'd see
B0 00 7F
B0 20 7F
B0 20 7E
B0 20 7D
...
B0 20 00
B0 00 7E
B0 20 7F
B0 20 7E
...

Anyway, the "correct" translation of pitch bend to 14-bit controller is this:

Code: Select all

Incoming: MIDI E0 pp qq
Outgoing: MIDI B0 00 qq B0 20 pp
No scaling necessary! This could be optimized to only send the B0 00 qq whenever qq actually changes, but it should work the same.

If this doesn't work, then the FP has some non-standard stuff for the fader. It seems that either the LSB or the MSB (if your video starts moving from top to bottom) are inverted. You can undo/redo the inversion by inserting such a rule:

Code: Select all

Rule: pp=127-pp
Maybe you can capture the entire output of the FP moving slowly from top to bottom, and post here (possibly as attached text file)? You can capture MIDI data directly with Bome's SendSX.

Thanks,
Florian

PS: A translation from pitch bend to 7-bit ("normal") controller works as simple as this:

Code: Select all

Incoming: MIDI E0 pp qq
Outgoing: MIDI B0 00 qq

Sacco

2014-01-08 13:44:50

Hi Florian.

Thank :) I will try what you said and also capture the FP data using SendSX

BTW: The FP video is from bottom to top and the data is sending is:

B0 pp 00
-
15 times:
B0 20 10
B0 20 20
B0 20 30
B0 20 40
B0 20 50
B0 20 60
B0 20 70
-
B0 pp 10
-
15 times:
B0 20 10
B0 20 20
B0 20 30
B0 20 40
B0 20 50
B0 20 60
B0 20 70
-
B0 pp 20
-
15 times:
B0 20 10
B0 20 20
B0 20 30
B0 20 40
B0 20 50
B0 20 60
B0 20 70
-
B0 pp 30

etc.. all the way up to B0 pp 70

Sacco

2014-01-08 13:53:50

This is what I got in SendSX (FP fader bottom to top)
FP.txt
(21.27 KiB) Downloaded 1407 times

florian

2014-01-08 14:10:27

hi, now the SendSX capture makes total sense! The FP does send exactly as 14-bit controllers are meant to be.
The straight translation should work:

Code: Select all

Incoming: MIDI E0 pp qq
Outgoing: MIDI B0 00 qq B0 20 pp
Florian

Sacco

2014-01-08 15:58:25

I tried that before and the result is this:

http://www.youtube.com/watch?v=nffxVPYT ... e=youtu.be

In other words the scales don't match. around 8% on the software fader moves the physical fader all the way up.

If I move the software fader ultra slow I can see the translated messages are right as I can see how the LSB little steps move in the right way, is just the scale that is not right.

Any ideas on how to do that? I could divide MSB, by 14 seems to work and I see the fader doing big steps, but the LSB data is a bit more complicated (I guess) to scale. You can see in the graphic above how it behaves.

The funny thing is, that when I move the physical fader with my hand, the values are scaled 1:1 to the software fader...so it works perfectly when sending from FP to FL but the scale is small when sending from FL to FP

Here's the project :)
FADERPORT TO FL PRESET 009.bmtp
(16.53 KiB) Downloaded 1501 times

florian

2014-01-08 21:36:35

Hi, you can calculate the 14-bit value, then scale, and submit as 14-bit controller:

Code: Select all

Incoming: MIDI E0 pp qq
Rules:
 rr=qq*128
 rr=rr+pp
 rr=rr/14
 qq=rr/128
 pp=rr & 127
Outgoing: MIDI B0 00 qq B0 20 pp
So first, rr is calculated, a smooth value that will get values from 0 (bottom) to 16383 (top). The line "rr=rr/14" is the scaling. You may need to experiment a bit here. Then, qq and pp are derived from the scaled rr.

Let me know if that works better...
Regards,
Florian

Sacco

2014-01-08 22:32:23

Brilliant! ausgezeichnet! it works perfectly.

I had to change from 14 to 16 and now works better than ever.

Still have to figure out how to understand your solution. I wouldn't come up with a formula like that ever :D

Danke Sehr Florian. :)

florian

2014-01-08 23:44:23

nice! fortunately, my brain has a hardwired MIDI lobe which spits out formulas like that all the time :)

Would you mind posting your preset so that other users can download it conveniently?

Thanks!
Florian

Sacco

2014-01-08 23:50:29

Naturally :)

Here you have it.
FADERPORT - FL STUDIO.bmtp
(16.55 KiB) Downloaded 1577 times

Sacco

2014-01-08 23:57:36

I still want to manage some things like windows inside FL studio by using windows messages but I still need some documentation from them.

fx-petal

2014-05-29 14:33:02

Hey Sacco!

I've just recently bought a Faderport and I'm trying to translate it for use with Reason 7

When I try to use the Midi Capture feature I'm not getting any values at all while using the fader, pan pot or top 3 buttons: mute solo rec

Everything else receives a Hexadecimal value like the play button: B0 2F 44

Should this be recognized immediately, is there something I've missed. Or do I have a dud piece of gear?

*Apologies for my N00bness.

Sacco

2014-05-29 14:52:02

You should definitely receive messages from any control (fader, pan and all the buttons)

I think you should get Studio One demo, Studio One puts the unit in a certain configuration that is best for your needs to start working on your implementation for Reason.

If reason supports the alphatrack you can trick it into thinking your faderport is an alphatrack. That's what I do on Fl studio. You can also try as a Mackie Control Universal.

Here's my file in case you wanna try, maybe it works out of the box. :)

Good luck on your venture.
Attachments
FADERPORT - FL STUDIO B.bmtp
(16.29 KiB) Downloaded 1331 times

fx-petal

2014-05-30 02:29:24

Hey Sacco,

Thanks for writing back. I downloaded your file last night, I haven't played around with it yet because I only have the classic version of MT. I'm downloading the Presonus Studio One Demo right now I'll let you know how it goes. I have also ordered an Alphatrack online hopefully should be here any day now. Just thought I'd go through the motions of learning how to program something in case I ever run into some non-native control surfaces again.

Cheers!

Sacco

2014-05-30 02:31:16

You found an alphatrack? where? how? they are extinct since a long time. And also why? you have a faderport.

fx-petal

2014-05-30 02:42:20

I managed to find one on ebay and it looks like it's in REALLY good condition!

I bought the Alphatrack just in case I couldn't get the Faderport running properly. I'm having serious trouble so far.

I've bought hardware before ie: Arturia KeyLab49, that wasn't a great control surface out of the box in Reason. But each time I've managed to find a way to make it work using some bloatware or someone else has posted a decent configuration somewhere. I use some of the Re-Touch Control Surfaces to link Maschine and Kong together in Reason.

The Faderport though, like I said, I'm not even receiving a response from the Fader or top couple of buttons. If it doesn't work in Studio One, which I'm pretty sure it will, I'll just take it back to the store I bought it from.

I did try and download a demo for ProTools the other week and use it with that but the demo just became way too much work with piracy protection ignition key type setups that I didn't end up following it through.

cfanatic

2015-09-12 01:51:15

Can Someone Please tell me how to import the Bmtp file into Fl Studio 12 to make my new Faderport work with my Daw.

FaderPort + FL Studio 12

Sacco

2015-09-12 02:26:51

you open the bmtp in the MIDI translator.

You need to put your Faderport in a certain mode, which AFAIK only Studio one does. SO you need Studio One Demo to make it go that mode (you only need to do it once, unless you turn the faderport off, which I don't)

From BMT you need to receive the signal from your faderport and go out thru MT1

In FL you need to setup both In and Out MT1 using port 101 and as an "Frontier design Alphatrack"

I've attached some images showing how it is all hooked up (I took them when I was at v1.7)

Hope that helps, yes is a bit tricky at first. Good luck!
Attachments
Ports Config.jpg
Ports Config.jpg (191.28 KiB) Viewed 89323 times
FL config.jpg
FL config.jpg (97.3 KiB) Viewed 89323 times

cfanatic

2015-09-12 21:50:19

Hey bro, This is way over my head, I can Download Team viewer and have you do it for me.... let me know.

I tried to do everything you said i must but I Don't know exactly how to get it done... thanks a lot for your time bro.

Sacco

2015-09-12 22:04:26

:D

Ok, I've got TeamViewer up and running (just installed it) I guess I just need your ID

cfanatic

2015-09-12 22:51:31

Send me a message on facebook
https://www.facebook.com/kelvin.daly.33

jpatterson4394

2015-12-27 22:40:15

Hey Sacco

This is way over my head too lol, espescially since the only DAW I use is Fl, do you think you can help me?

Sacco

2015-12-27 22:45:18

Try to do as much as you can with what I wrote here then you can write back with further questions. That so I don't have to explain from the very basic.

Is that ok for you?

jpatterson4394

2015-12-27 22:51:18

Yes, that's ok for me, thank you :)

Sacco

2015-12-28 13:36:48

Hi guys.

Here's an updated version, now you can use the faderport pedal input port to record immediately. Useful when you need both hands to play an instrument. I did this to be able to record guitar more efficiently.

The pedal I'm using is a BOSS FS-5U (is a momentary pedal, not toggle)

Press and hold pedal: Starts record

Lift pedal: Stops record.

There are a couple more translators, one to be able to convert VOL to MOD using my M-Audio keyboard pedal input (using an Ernie Ball VPJR to record string dynamics while playing for example) those you can just ignore if you want, but if you wanna use them the translator uses port BMT 2 (you must enable your keyboard to BMTP first and from BMPT to FL using that port)
Attachments
FADERPORT - FL STUDIO.bmtp
(19.13 KiB) Downloaded 1189 times

jpatterson4394

2015-12-28 20:33:00

Hey Sacco,
I've never used Studio One and it just finished downloading over night.
How do I set my FaderPort to AFAIK mode?

Sacco

2015-12-28 22:26:16

AFAIK means (As far as I know) ;-)

You put the Faderport in "Studio One Mode" just by launching Studio One, if the faderport was already configured in the "external devices" inside the options then you're set. If the Faderport wasn't yet added there then you must do it manually (use the template provided by Presonus in that window)

Try making one song in Studio One, if you hit buttons (like play and stop) and Studio One responds then you're set....just close Studio One, wait for some seconds, like 10 (cause for some reason Studio One closes that slow)

Then open BMTP and set ports accordingly, same for FL.

If for some reason things aren't working yet, makes sure the ports you're using are right. Check with my screenshot above.

In the new BMTP version the project default ports are listed in the main window. Here's a screenshot, it should have the ones I've marked with arrows. I'm not sure but I think the new BMTP handles ports differently, they're embedded in the project and you don't need to set them up manually so I guess you must just open the file I gave you, ignore everything that has to do with gear you don't have and all you need to do is to set the ports in FL
28-Dec-15 10-18-26 PM.jpg
28-Dec-15 10-18-26 PM.jpg (66.04 KiB) Viewed 80006 times
Note that in FL you must NOT enable the faderport directly, BMTP is doing that, then you manage the Faderport from FL via the virtual port 1 (BMT1)...these ports can have other names in your system (like Bome MIDI translator virtual port 1) but I'm using "short names" as in the last screenshot.
28-Dec-15 10-24-58 PM.jpg
28-Dec-15 10-24-58 PM.jpg (67.25 KiB) Viewed 80006 times

jpatterson4394

2015-12-29 05:31:38

What do I set these inputs and outputs to?
And also do I need to buy the full version of BMTP, because I can't purchase it because my debit card keeps getting declined?
Attachments
Screenshot (6).png
Screenshot (6).png (225.07 KiB) Viewed 79929 times
Screenshot (5).png
Screenshot (5).png (225.58 KiB) Viewed 79929 times

Sacco

2015-12-29 08:41:33

I think you need to get the full version cause the so called "rules" are not gonna work on the classic version. Rules are common in my faderport implementation, specially on the motorized fader.

Maybe Florian can chime in as I believe the full version 1.8 tries to open the appropriate ports automatically..tho I'm not sure 100%

You should set ports as it suggest in those boxes:

MIDI IN: Faderport
MIDI Out: MT1 (virtual port 1)

and second box:

MIDI In: MT1
MIDI Out: Faderport

I'm not completely sure, as my implementation is complex and also my ports are already set up so BMTP doesn't ask me for those anymore. You should experiment.

If BMTP (or FL) says something about "ports unavailable" or "being used" or "out of memory" is because the ports aren't set in the right order (I suggest you to assign ports in FL first exactly as in the screenshot above to make sure that side is right). Once you have them right everything should work, you should be able to control FL from your Faderport and conversely if you move a fader in the mixer or play in FL you should see the motorized fader moving or transport lights blinking.

Don't worry, it sounds all complicated but once is all set up all will work seamlessly and you'll not need to do it again. (at least until you reinstall windows)...once you got the ports right I suggest you to take more screenshots and have them handy in a future reinstall, that's what I did so I don't have to remember it all.

florian

2015-12-29 11:37:54

Hi,
phew, many things happening here!
  1. The "classic" edition is not suitable indeed, you need the Pro edition for this.
  2. The trial version of the Pro edition should be fine, although you do need to restart it after 20 minutes trial time.
  3. jpatterson, I'll contact directly to sort out the purchase problem
  4. handling of MIDI port has not changed much for version 1.8, the settings are just rearranged to better match the logic.
  5. To set up the MIDI ports, the FaderPort alias should be set to the Faderport input and output MIDI ports (just select them from the drop down lists). I'll fix the problem that the alias "FaderPort" appears twice in the list.
Thanks,
Florian

Sacco

2015-12-29 12:13:09

BTW: In your case you'll need only one virtual port....I just enable four of them cause I use those for other gear and other BMTP configurations.

jpatterson4394

2016-02-29 23:47:29

Hi Sacco, i got the faderport to work with fl studio but the actual fader does not work, the loop button doesnt work, and the stop and record buttons don't work, do you know how to fix these?

Sacco

2016-03-01 00:06:26

They should....are you sure the Input port for Bome MIDI translator in FL studio is set as an "Frontier design Alphatrack?"

jpatterson4394

2016-03-01 01:08:26

Yes it is

Sacco

2016-03-01 01:35:09

Mhhhh...did you double check all?

If everything is set correctly it should just work.

Unless for some reason you disabled some of the translators?

Let me know you could solve it.

wigglefist

2016-04-02 23:04:32

Hello everyone.... and thanks to all have posted assistance in getting Faderport to work in FL Studio 12.

I've downloaded the BMTP files and have my Faderport working with FL12, but for whatever reason I cannot move the fader physically and have it move the corresponding fader in FL. However, if I click and drag the fader with the mouse, the Faderport does move. Also, I can't seem to get the pan knob to work. Any further assistance is greatly appreciated and thank you in advance!!!

Have a great weekend...

Sacco

2016-04-03 00:12:52

Hi.

Can you post screenshots of how do you have it setup in both FL and BMTP?

If everything seems ok you can check if either of them are opened as admin, I think if one is and the other is not they don't communicate well. I open them both here normally, not as admin.

wigglefist

2016-04-03 01:47:25

BMTP.png
BMTP.png (186.47 KiB) Viewed 76924 times
Attachments
FL12.png
FL12.png (302.74 KiB) Viewed 76924 times

Sacco

2016-09-30 16:59:50

Seem you're not getting feedback from BMTP to FL

- Are these checked? (FL menu "Options")
2016-09-30_16-58-53.jpg
2016-09-30_16-58-53.jpg (12.44 KiB) Viewed 74239 times
- Is FL running OR BMTP running with admin privileges? I run both without (also cause it gives problems with FL in other areas). It can happen that is one of them is in admin mode one cannot communicate to the other. Doubt is the problem but worth checking that out.

- In BMTP You can see on the right your MIDI in out ports as well as their aliases. You can try deleting some of them (keep a backup) and close/open MBTP so it asks you to assign the missing ports then you assign the right ones.

Sacco

2016-09-30 17:49:56

Here's an update.

- Fixed the Solo button being lit as you mute a track. It works properly as you solo and mute.

It works better as before, however in special cases (going out from ALT solo to Mute) the mute button won't lit and you'll need to click again twice to make it work. I cannot do anything about it in BMTP I believe, all I see is that FL is not sending the required message during a special case in the mixer.

Instead is sending one message that I cannot use on both cases cause there will be a conflict in the two "S/C" (special case) MUTE LIGHT ON and OFF that prevents me from doing it right. I have no idea if a rule can help me given that there seems to be e piece of MIDI information missing from FL'S mixer.

I leaved the dummy extra translators, maybe someone can figure that out.
FADERPORT - FL STUDIO.bmtp
(20.6 KiB) Downloaded 1135 times

florian

2016-10-01 16:14:11

Hi Sacco, thanks for posting your project! Florian

Sacco

2016-10-01 17:45:48

It's a pleasure to help the community. :)

sjcaldwell

2018-03-03 18:26:14

Hi Sacco,

I'm wondering if maybe you can help this other user out on the new forum. He has tried your solution without success and
unfortunately I don't have a faderport to help him out.

https://www.bome.com/support/kb/faderpo ... swer-15182

Sacco

2018-03-03 19:47:22

Thanks. Done ;-)

sjcaldwell

2018-03-03 19:55:37

Thanks much Sacco!

Sacco

2018-05-09 05:00:21

New update:

- Fixed the STOP button, is not turned on all the time.

- Fixed the SOLO / MUTE Lights at last!!! (oh not really when going from mute to solo, but works better now)

- Uses the pedal switch as play /stop (very useful) (I use a Boss FS-5U aka momentary)

- As usual keep in mind there are other stuff related to my personal setup (such as the Keystation 88) so feel free to delete/disable those. There is an extra part so you can rescale an expression pedal in your keyboard.

I'm now working to see if I can reset the slider if I double tap on it. (EDIT: No idea...I sort of need an incoming sensor translator that detects a specific MIDI message occured twice within a certain time window)
Attachments
FADERPORT - FL STUDIO 4.bmtp
(21.2 KiB) Downloaded 1011 times

sjcaldwell

2018-05-10 19:21:18

Hi Sacco,

Thanks for this! If you need to see how to implement double tap with a timer within a given period, please visit the new forum and post a request there. I'll be happy to help!

Steve

sjcaldwell

2018-05-10 19:36:42

Actually I just remembered I did a Youtube tutorial video on this subject.

https://youtu.be/kmQo3hCu504

Sacco

2018-05-10 21:44:35

Thank you, very useful video.

I saw it, tried stuff, so far I get only this:

Translators: FADER TAP TIMER and FADER RESET

I can trigger the timer manually although I cannot make the fader reset to the default 0dB position yet, only min or max. Communication is ok between the trigger and reset translators so at least that's working

I can't trigger it by hitting the touch sensor twice, (measured by poly pressure = 01)..don't know why yet.

I can't figure out why he used ga as global variable, where is ga getting his value from, I'm guessing ga=ga+1 but still, I'm not versed on this so I don't know why he uses ga while the receiver message is being used as pp.

Anyway, I think also that video relates to something different than what I need so I shouldn't take those rules to the letter.
Attachments
FADERPORT - FL STUDIO beta.bmtp
(21.71 KiB) Downloaded 1027 times

sjcaldwell

2018-05-10 23:15:41

Hi,

If you have follow-on questions, feel free to open a new question on the new forum. I used ga as an arbitrary global variable for the demo. I typically use local variables like pp for things that do not need to be shared between translators. Since there are two translators, involved and variables need to be static. I just chose the first two available ga and gb.

Steve

Sacco

2018-05-10 23:27:31

sjcaldwell

2018-05-11 00:04:30

Thanks, better that way!