Open micahscopes opened 9 years ago
Any further work on this issue?
Or maybe i should ask, is it even possible to fix this? Because i'm willing to try if it is. Best regards.
@jorgen1005 the sensor data is exposed in the API now, but there's an aliasing issue which prevents having a very low threshold (which was the whole point of exposing the raw sensor data in the first place)
I'll speak up on behalf of all the lurkers who care about this too
On Thu, Jul 26, 2018, 4:02 PM Kyran-C notifications@github.com wrote:
@jorgen1005 https://github.com/jorgen1005 the sensor data is exposed in the API now, but there's an aliasing issue https://github.com/dvhdr/launchpad-pro/issues/36 which prevents having a very low threshold (which was the whole point of exposing the raw sensor data in the first place)
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/dvhdr/launchpad-pro/issues/6#issuecomment-408218182, or mute the thread https://github.com/notifications/unsubscribe-auth/AFN9DR3HOWn-JBzT3n2tLxC2aC6W9D1Vks5uKiBagaJpZM4FjBOV .
So, looks like the alias issue-thread is dead. No update in half a year. Such a shame :(
I'll jump back in and re-express my interest in this being resolved/improved.
@faroit @whibble @dvhdr Any further thoughts? Thanks as always!
@dvhdr @whibble @joefocusrite -- Can we please get a status update? I get the feeling that this project has been abandoned, but it would be good to know Novation's intentions. I purchased the Launchpad Pro and found it to be totally unusable for my primary requirement as a synth controller due to pad sensitivity and premature note-off events. In hindsight I should have just got my money back immediately, but the open firmware looked promising as a way to workaround such shortcomings, so I waited (beyond the purchase return window). After a ton of playing with the firmware, I'm no longer confident that sensitivity can be meaningfully adjusted, but I won't know for certain until the aliasing issue is fixed (which sounds like the fix has been pending commit since Jan 31). It's going to be really disappointing if this hardware is useless to me, especially with the time invested in experimenting with fixes via the firmware.
Please guys. lol
I have contacted Novation support regarding this issue and this thread, so maybe they can get the technicians to submit some further thoughts.
Hey folks, sorry it's been so long. I'll get this over quickly - I've still not got a good answer for you regarding the ADC aliasing issue. The original firmware engineer has moved on, and the rest of the team are busy working on new things.
I don't consider this project dead - but my expertise is not in low level firmware and electromechanical design, and I can't make any commitments regarding this issue.
We do hear you and consider your feedback. Thanks for all of it.
Hello there, whatever its worth to the product owner, I and a friend have been using the LP Pro for days and we both also experienced this problem. We are regularly checking this thread/issue gets a fix (or at least has a workaround) to finally purchase the LP Pro, respectively one for each of us. I think it really is a big issue, and im sure we are not the only ones waiting for this to be fixed before making a purchase. This is not a critic, simply the best feedback I can make to encourage a product I'd love to own.
http://www7a.biglobe.ne.jp/~mpc1000/128xl/padsens.htm
^ the pinnacle of pad sensitivity tuning, as designed by a 3rd party developer for the MPC series
On Thu, Sep 20, 2018 at 7:17 PM, ftwftw0 notifications@github.com wrote:
Hello there, whatever its worth to the product owner, I and a friend have been using the LP Pro for days and we both also experienced this problem. We are regularly checking this thread/issue gets a fix (or at least has a workaround) to finally purchase the LP Pro, respectively one for each of us. I think it really is a big issue, and im sure we are not the only ones waiting for this to be fixed before making a purchase. This is not a critic, simply the best feedback I can make to encourage a product I'd love to own.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/dvhdr/launchpad-pro/issues/6#issuecomment-423364328, or mute the thread https://github.com/notifications/unsubscribe-auth/AFN9DRx7HPWr4gIXWKYTAtMLxo389PHJks5udCICgaJpZM4FjBOV .
I must say, this is the biggest dissapointment i have ever had with a music product. And to think of the potential of the LP pro going to waste, i just get sad really, also very dissapointed with novation.
We've made some improvements to the ADC noise and crosstalk. Check out this branch: https://github.com/dvhdr/launchpad-pro/tree/adc-improvements
A pleasant surprise! Keep up the good work!
Hi @dvhdr ! Any updates regarding the pad sensitivity issue?
Thanks!
hi there, I wanted to checkout the adc-improvements
branch but it looks like the link is dead.
@spacepluk hey - it was merged to master :)
I checked the ADC improvements and played a bit with the code. So, as I see it, the minimum sensitivity cannot be lowered using the raw data.
@dvhdr @whibble are there any plans to further improve on this (e.g. increasing the gain) or do you see any way of a user mod that could be applied to the circuit to increase the ADC gain? In that case it would be great if you could provide any feedback on where to start. Otherwise I would suggest to close this issue.
You're making this too complicated! All you need is your MacGyver hat and ~$3 of Avery 3-ring binder reinforcement stickers. This is a hack I've performed successfully on just about every pad controller I've owned (albeit not with 3-ring binder stickers, but same general principle). And I just did it on the LP Pro and it's fantastic!
Here's what you need:
Here's what you do:
Sensitivity:
I found 2 stickers on each pad gives the best result. 3 and 4 feel incredible, but were causing some crosstalk and pads getting stuck on. 2 seems to be optimal. One pad I downgraded to 1 sticker, since it was getting triggered by adjacent pads. But otherwise, all 2s. Even with 2 stickers, it's very sensitive, even brushing your fingers lightly across the grid will trigger. So if you don't need that much sensitivity, 1 will do you fine. On quick test, pressure sensitivity still works with this hack.
Other notes:
Be careful once you open the unit. I made the mistake of letting the whole pc board underneath the front panel fall out the first time I opened it. It's attached to the small USB board via a surface-mounted pin connector which can be a bit of a pain to align and snap back together. If you follow the instructions above and hold the unit together when you're flipping it over to access the front, then you shouldn't have this problem.
I had some stuck pads which were mitigated by loosening the center screw slightly. This may be something to try if you get any crosstalk/stuck pads when you close it up.
You may need to open up the unit a couple of times to deal with crosstalk, etc. I opened my unit 4-5 times through the course of this project (testing with different sticker thicknesses, etc), all in all it took about 2 hours. It should go quicker for you, since 2 stickers seems to be the max, but you may need to open it a couple of times to adjust pads that may be misbehaving.
Disclaimer:
This is a simple hack and there are not a lot of parts inside the LP Pro to get in trouble with. Still, undertake this at your own risk. And note that it may void your warranty.
@svankov Thanks for the info. I've done a similar thing on my MPK using layers of electrical tape and, while finicky, it did make a huge improvement. I've always thought about doing it with the LPP but didn't want to be the guinea pig. What's interesting in this case, is that we have access to the sensor readings through firmware, so we can mitigate stuck pads and crosstalk by raising the threshold. This whole time we've wanted a way to increase electrical sensitivity, but instead we can increase mechanical sensitivity and then fine tune it through software.
I was working on firmware that had an auto calibration mode where it would take a sensor reading with no pads pushed, and then another reading while the user applies max pressure, and sets the min/max thresholds accordingly. I might revisit that and make it work for each pad individually to compensate for any variation across pads. It could be as simple as doing this mod, and then running through the auto calibration to get max sensitivity, consistently across every pad.
I was working on firmware that had an auto calibration mode where it would take a sensor reading with no pads pushed
@Kyran-C interesting. I thought the adc-improvements
was just giving us access to RAW values and the demo in the master now visualizes the lowest ADC readout with mapping it to the LED directly. Is there a way to really see the ADC noise?
@Kyran-C
did you experiment with this line to get the lower 6 bit of the 12 bit readout?
That's just truncating the sensor value so it can be used to drive the LEDs. If you poll the ADC values with no pads pressed, you get small, time-varying values (the noise floor of the sensors/ADC). If we were to do this mod to effectively have the pads always slightly pressing against the sensors, you'd push past the noise floor of the ADC so that any slight pressure would register with decent strength. You'd set your pad trigger threshold slightly above that, and then scale the pressure into the 0-127 range. It might even have the effect of making pressure more consistent at low levels. As it stands now, the ADC readings are usually a bit jittery with really light touch, but consistent with more firm presses.
@Kyran-c, Hey glad to see another fan of the tape hack! I’ve had a couple of days playing with the modded LP Pro, and have only run into one pad getting stuck on sometimes, so I’ll probably open up the unit and remove one of the two stickers. Pretty impressed at how well the mod seems to be working, I can even do light double finger taps on pads, and they trigger perfectly.
I was on the verge of returning the LP Pro due to how awkward and inconsistent it was at low activation, but I’m glad I opened it up.
Interested to hear if anyone else attempts this mod.
I did the mod, using 3 layers per pad. It's a huge improvement. There's a few stuck pads when I first power it on, but I run the auto-calibration in my custom firmware and it sets the low threshold just slightly above the noise floor. Sometimes I still get some ghosting from the plastic case flexing, so I can manually bump up the trigger threshold a little bit to eliminate that.
I used to have to push my fingers perpendicular to the pads and use arm/wrist to get to full velocity. Now I can hit full velocity with my fingers parallel to the pad surface, only pushing using my fingers. Which means each finger can apply pressure independently instead of having to remain stiff and depend on arm muscles to do the work. Even my pinkie finger can hit max velocity no problem.
I was worried it would reduce the dynamic range of the pads; in other words they'd be easy to trigger but hit full velocity almost right away. But the pads actually feel more dynamic. It's easy now to play soft notes or loud notes. I'm not sure if 4 layers per pad would be any more sensitive or just start to reduce the dynamic range. I'm not going to bother applying more.
I feel like it should have been designed like this in the first place, but it seems pretty common for pad controllers to have a gap between pads and sensors so maybe manufacturers have their reasons. Perhaps tolerance issues with the pad molds, or extra work to assemble or calibrate them?
Either way, the launchpad is now usable as an instrument for me so I'm pretty happy. I still have to implement more features in my firmware to refine the pad response (curve, hysteresis, smoothing) but the current level of sensitivity is pretty encouraging. I'll upload to github once I get things a bit more polished so people can use it or fork it.
Everyone in this thread should really try this mod out, it's super cheap and easy, and it makes a pretty drastic improvement in pad response. Maybe try just 2 layers if you don't want to write your own firmware that lets you fine tune the trigger threshold. 3 layers would most likely give you stuck pads with the stock firmware.
@Kyran-C that sounds exciting. Would you mind to share your firmware fork on GitHub?
@Kryan-C agreed with above. i have not yet installed custom firmware on my launchpad but this will make me take the plunge.
trigger threshholds should be determined by averaging voltage for x seconds after boot, and possibly again at user command.
Wow! This is really exciting! Proud/ashamed to say that I was one of the original complainers (sorry @dvhdr 🤪...).
I'd sort of given up on this thing, since I just haven't found the time to create my own firmware application that would still work seamlessly with the bitwig launchpad pro interface. But this mod is giving me hope! I'm definitely gonna have to try it.
One thing that might still be worth trying is adding some "hysteresis": making it so that it takes less pressure to hold a note down once its already been pressed. You'd basically make the note-off threshold more sensitive. Has anyone tried this yet?
By the way @dvhdr: looking back, I really appreciate how you all responded to this issue. I realize you were busy with the circuit, but you made time to address this. The mod has me wondering if the some of the original prototypes of this thing weren't more sensitive, but that maybe something got lost in bringing it to market. Perhaps it was deemed too risky to have some units with stuck pads, so the physical sensitivity was decreased?
Thank you @svankov, I just did this mod and it worked great!! Some randomly triggered pads that loosening their nearby screw(s) resolved. The Launchpad Pro feels like a higher quality instrument now, and I can play it much more lightly. Highly recommended to everyone who wants to improve the sensitivity. It was fast and easy.
That's just truncating the sensor value so it can be used to drive the LEDs. If you poll the ADC values with no pads pressed, you get small, time-varying values (the noise floor of the sensors/ADC). If we were to do this mod to effectively have the pads always slightly pressing against the sensors, you'd push past the noise floor of the ADC so that any slight pressure would register with decent strength. You'd set your pad trigger threshold slightly above that, and then scale the pressure into the 0-127 range. It might even have the effect of making pressure more consistent at low levels. As it stands now, the ADC readings are usually a bit jittery with really light touch, but consistent with more firm presses.
@Kyran-C I had a bit more time trying to get a better impression of the raw ADC values. I couldn't get anything out of the sensors that looked like to be some starting point for some smart algorithm that could detect the pad hit from noise. Maybe some Kalman filtering would do? In any case, could you share your code with the best ADC -> LED mapping that you got to visualize the lower bits of the sensor?
Okay, this is a very cool controller. You guys did a great job. It's awesome that it's so customizable too, and that you've made this firmware available.
So I wanted to give honest feedback. As a keyboard player, I'm having trouble with the minimum sensitivities for triggering pads on and off. I've tried playing with the velocity settings but that doesn't solve this.
In the open source firmware, is there a way to adjust with the minimum pressure threshold for triggering pads off and on? The current minimum feels much too high. Ideally I'd be able to rest all ten fingers lightly on the pads and get a "consistent" response from each pad, using less than the weight of the hand alone. Holding my arm stiff, right now I can rest my left hand fingers on five pads and none of them will trigger.
Since the pressure applied from the arm is divided over fingers, playing one or two pads per hand is doable (although still clunky), but each additional note becomes more and more difficult. My arms are having to exert a lot of force with this controller, and my fingers are tired.
So if the right hand is already pressing on four pads, a fifth pad becomes difficult to press without releasing pressure on one of the less advantaged fingers. Playing chords and melodies simultaneously is very hard to do because I'm losing notes every time I shift a little to accommodate new ones.
If the issue here is a hardware issue (too much noise at lower pressures), one thing that could help is to make the 'pad off' minimum pressure lower than the 'pad on' minimum. If someone still has their finger pressing on a pad, after having already pressed it with the minimum 'pad on' sensitivity, it's significantly more likely that they want the note to stay on.
For example, sometimes I will play a chord with my thumb, pointer and middle fingers and the melody with the ring and pinky. The pressure from the thumb might pass below the pressure needed to trigger the pad on in the first place, but I still want the note to to be down. Another case for this is when you're holding pads for a long time. I don't want to have to hold the same pressure required originally required to trigger the pad on on for long periods of time.
Right now, it seems like the minimum "pad on" and "pad off" thesholds are set the same. If I slowly press on a pad, I can find a narrow range of pressures the pad flickers on and off with very little change in pressure. This leads me to believe that the sensors are pretty accurate near the current minimum settings, and that some software changes could make me very happy with the controller.
Without much idea of what's going on inside, my hunch is that this controller is physically capable of performing at least as well as the ableton push, which feels a lot more playable to me, but right now it just doesn't feel tuned like a performance instrument. Even using musical typing on a PC keyboard feels hugely more expressive, regardless of the lack of velocity sensitivity, because my fingers have so much more control at the pressures required to press down on PC keyboard keys. That's not meant as a diss :) I'm just being real with you. Since this is marketed as a professional "performance" instrument, I'd expect it to be more expressive than a PC keyboard, not less expressive. Right now, the controller feels tuned like a drum machine.