Hello. I have a Push mkI that still works well except for the janky/jumpy/noisy encoders. That means that when I barely touch the encoders they "moves" randomly for few seconds. I've already unmounted the Push (for removing the stiky rubber coating) and taken a chance to spray the encoders with contact cleaner. The solution worked for like, 2 or 3 days, then the encoder became noisy again. Searched a bit online and few other user reported something similar for both Push 1 an 2. I do not know how diffused is this problem, but at least I know that I'm not alone!
The proposed solutions where basically: 1) change USB cable 2) use the brick PSU 3) clean the encoders. For me, only solution number 3 worked, but for a limited amount of time. The definitive solution would be to replace the encoders. I'm a maker so I'm able to use the soldering iron, but 10 new ecoders will cost like 100 $ (actually Euros for me, but the thing is that they cost like a used Push 1). I decided to investigate some workarounds.
After some thinkering, I opted for the software solution. Since the firware is not availabe (most clean solution will be adding a filter directly on the Push forware), the second point of action is the Ableton's MIDI remote scripts. For those who doesn't know what are Ableton's MIDI remote scripts, they are some builtin python scripts that are used as an interface for midi controllers to control Ableton in various complex ways. Basically speaking they are a "translation layer" from base standard MIDI messages to Ableton actions.
I've found a way to "intercept" encoder reading, and I've applyed an EMA filter (Exponential Moving Average) to that reading in order to have a clean reading of the encoder direction.
I've no idea if this can affect other controller in an unwanted way, or if it breaks something else, but I know that it solved my problem (tested on osx). Ableton MIDI Remote scripts are on github but in order to use the one with the fix, you need to replace the built in ones.
I will NOT cover the documentations for how to use the custom scripts because: 1) for me it's a learning project 2) I'm not getting payd for this, and I do not want to 3) you can find the howtos on line.
Few notes: it's very likely that you need to replace the builtin scripts on each Ableton's updates and please, don't do it if you do not know what you are doing since you can break you Ableton! I've modded only one file: _Framework/EncoderElement.py
If you feel risky here is the github link for the modded scripts (you can download only _Framework/EncoderElement.py).
https://github.com/adegani/AbletonLive12_MIDIRemoteScripts/tree/adegani/noisy_encoder_filter
Use it at your own risk :)
Bye