FingerPlay MIDI

FingerPlay MIDI is a MIDI controller for Android. Any changes made to the controllers on your phone are transmitted over the WIFI network to a receiving computer using either OSC messages or its own FingerPlay format. The MIDI messages can then be sent to any music software capable of receiving MIDI input.

qrcode

Download FingerPlay MIDI from the Android Market

Download FingerPlayMIDI-0.9.0.apk if your phone can’t access the market.

Get the source code from Google Code.

A FingerPlay MIDI patch for Pure Data by Bérenger Recoules

FingerPlay MIDI Layout Generator by Bruno Molteni

FingerPlay in Windows with LoopBe1

Download and install Java and remember to set the path to Java.

Download and install a virtual MIDI driver like LoopBe1.

Download the FingerPlayServer zip-file and unpack it somewhere on your hard drive. Start it from the command line with:
java -jar FingerPlayServer.jar

The server will display the IP address and port number you need to connect to it from your phone.

Once you’ve connected, select LoopBe1 from the list of available MIDI output devices.

Start Ableton and make sure LoopBe1 is enabled for input in the MIDI settings.

Any changes made to the controllers in FingerPlay will be sent over the network to Ableton as a MIDI Message.

OSCulator

Click the top right button in FingerPlay to go to the settings screen, choose “OSC Server” as the “Server Type” and in “Server Address” enter your computer’s IP address followed by “:8000″ (which is the default port for OSCulator).

So if your IP address is 192.168.0.4, enter “192.168.0.4:8000″.

If the phone manages to connect you can back out of the settings screen and play around with the MIDI controllers in FingerPlay which will send messages to OSCulator.

If you see the messages coming through to OSCulator, you can click one of them and set its event type to “MIDI CC” and give it a control change value in the “Value” column. This should be enough to send it to Ableton as long as you’ve enabled OSCulator in Ableton Live’s preferences (enable “track” and “remote” for OSCulator under the “MIDI Sync” tab).

Custom layouts

If you create a folder on your sdcard called FingerPlayMIDI and put a file in it called layout.xml, FingerPlay will use that file instead of its own default layout.

Here’s the default layout file:

http://fingerplaymidi.googlecode.com/svn/trunk/client/res/raw/layout_default.xml

Remember to turn off USB storage before starting FingerPlay MIDI or it won’t be able to access the file on the card.

517 Responses to “FingerPlay MIDI”

  1. Aziz Lallouche says:

    Hello,

    Great job !

    I have just one problem : all buttons are sending the same MIDI message :

    midiCommand = 144 channel=0, data1 = 15 data2 = 127
    midiCommand = 128 channel=0, data1 = 15 data2 = 0

    Is it possible to configure each one differently?

    Thanks.

    Aziz.

  2. Bruno Molteni says:

    @flat20 hey, I’m glad you saw this, I downloaded the app and made my little layout maker and then realised development been on hiatus for at least a couple years… so I thought nobody would see it… ^^ I think it could be still better ( allowing you to download the layout.xml file, etc..)

    and concerning the java server, every other midi app for android out there needs a piece of software installed on your computer, and your software has been the easiest to setup to me, and I’ve toyed around with all the major alternatives: touchDAW, touchOSC, and others… so I think that’s even good point of fingerplay, and with respect to better software, yours is pretty cool, its missing a couple of key features (horizontal slider, labels) but its pretty good so far and it could become a lot more ^^

  3. ola says:

    Hi,
    Thanks. This is simply great. I’m able to remote control my n12 using Reaper. Super!
    Rgds,
    ola

  4. deejay says:

    Thanks for the quick reply! good luck for the further work!

  5. flat20 says:

    @deejay unfortunately you can’t display text in the current version of the app. If development picks up again, it’s one of the many things I’d like to add.

  6. deejay says:

    Hi, first of all, very good job on this app, it is very powerful and interresting!
    I have a little question, is it possible to display a text thanks to a modified xml layout with defined parameters like the position of the text. Thank you!

  7. flat20 says:

    @Bruno Wow, that’s a really cool little tool you made! The reason I haven’t worked on FingerPlay for a while is that I really thought there would be better apps out by now.

    The biggest problem with FP was always the need for the Java server app which had to be hosted on your computer. Need to go and research other MIDI apps and see what they’re up to these days.

  8. Bee Bee says:

    With FingerPlayMIDI-0.9.0 on a HTC Legend I get :

    java.net.ConnectException:java.net.ConnectException 192.168.1.102:4444 connection refused.

    The Java server shows:

    Fingerplay server v0.8.0
    Listening on 192.168.1.102:4444
    Waiting for connection from phone..

    Phone Connected.
    Phone Disconnected.

    Look promising apart from the fact that is “refuses” to connect!!!

  9. Bruno Molteni says:

    hey guys I’ve developed this little tool to help me make custom layouts… https://dl.dropbox.com/u/1856630/fingerplay/index.html

  10. Bruno Molteni says:

    Hi there! the app is awesome, already managed to make some custom layouts, it would be really awesome if you could make on option to keep screen on, since sometimes it gets annoying to have to unlock the screen every 5 minutes…
    Apart from that maybe the ability to change the colors of the ui, and maybe add labels… also horizontal sliders… I know im asking for too much, but that would be a nice to-do for the future ^^ best of lucks

  11. malek says:

    great job buddy
    please guys , i need a map ready for traktor .. can u post it?

  12. Matthew says:

    Okay… I’m at my wits end. I have executed the steps above to set up the server but when I open FingerPlayServer all that happens is javaw.exe opens and nothing else. I try to open FingerPLayServer again and another instance of javaw.exe opens and noting else. What I am I doing wrong?

  13. Matthew says:

    Okay… I’m at my wits end. I have executed the steps above to set up the server but when I open FingerPlayServer all that happens is javaw

  14. It works until a certain point, I connect with the loopBe1, the cellular find the java server, Ableton live (8.2) see the loopBe1 in the midi setup, I also can chose loopBe1 from the clips-track midi from menu, but no midi message arrives to Live, the Dos window of the server is receiving everithing, but in Live no way!!! Can you help me?

  15. [...] from the likes of a tablet or smartphone to control software such as Ableton live or Isadora. http://thesundancekid.net/blog/fingerplay-midi/ Share this:TwitterFacebookLike this:LikeBe the first to like this post. Leave a [...]

  16. Tom Estat says:

    Exactly what i needed. But how would a template with a virtual keyboard look like ?

  17. Brayam Garvizu says:

    Buenísimo… gracias… funciona perfectamente… lo utilizo para VJing en una Samsung Galaxy Tab… la posibilidad de controlar proyecciones de video de manera remota, controlar los efectos de video y sonido, es la gloria… gracias nuevamente

  18. Bembe says:

    Hey .. Thx 4 Work. This App is very good.
    100% Function with Traktor because the virtual Device makes this App to a Standard Midi Device …THX … Nice Thing

  19. willem says:

    Im gonna lose my noodles trying too make this work

  20. Nice tool – can I make horizontal sliders?

  21. Michael says:

    Hi there,

    Very nice app but i want to use the App for making live-lasershows. is there any possibility that i can give each pad a special background image (with the xml layout for example)? this is very important to me because with the background image i can identify which laser animation is played with that button. please contact me via email if you want. thanks :)

  22. ziggy says:

    this is tha poop. made good use out of a tablet i had laying around, now i can use it for effects and to trigger scenes in ableton. love love love it. nice cheap touchscreen interface for ableton, can take it right down into the crowd during my set and drop tha next track… so ill.. mad props… -frznk ziggy

  23. tharg says:

    are there any horizontal sliders or knobs? If yes how can we call them from the library?

  24. shadow23 says:

    Does it work with traktor

  25. GH says:

    Does it work with Fruity Loops Studio?

  26. bea says:

    Hey,

    first things first, your app is terrific!

    The only thing that bothers me is that I need to enter the settings everytime I want to assign a slider or an x/y-pad. Is there any workaround to send vertical or horizontal data directly from the layout?

  27. dissed says:

    Got all working and then the control dissappeared. Did it again after re-installing and using for a while… Nice idea – might be good if ever finished and stable.

  28. flat20 says:

    Thanks for the kind words!

    The GUI code is “hidden” because I felt it wasn’t clean enough to release :) . If development starts again I’ll make sure to put it all out there.

  29. Troy says:

    Hi and thank you!

    FingerPlay Midi is a great piece of work! I’m a musician and audio guy, just starting to learn Android/Java .. and this has been an inspiration. Thank you for making the source available.

    Forgive the question, if silly, but I cannot find a few of the classes in /gui.animations in the google code. Is this intentional, or am I missing something?

    Thank you again!

  30. Mike says:

    Thanks a bunch!

    Had trouble getting osc to work but this is perfect for any aplication. Warm greetz from Amsterdam

  31. Hey man I wanted to take the time to say I enjoyed reading your website.

  32. deebow says:

    I’m having some problems connecting to the fingerplay server on my windows 7 machine.

    I start the server and get to here:
    >java -jar FingerPlayServer.jar
    FingerPlayServer v0.8.0
    Listening on 192.168.56.1:4444
    Waiting for connection from phone..

    And I run fingerplay on my archos 101 tablet, go to settings, and put fingerplay server, server address 192.168.56.1:4444 and hit connect to server, only to get a timeout message:
    java.net.connectexception:java.net.sockettimeoutexception: transport endpoint is not connected.

    I have tried disabling my firewall, creating an exception in my firewall, and running cmd as administrator to ensure no special “security features” are causing this.

    Has anyone else had this problem?

  33. martjan says:

    Hi guys!
    first of all: great job!! Thank you for your app!
    We are trying fingerplay with an ubuntu server and some customizations. Here is the post about it: http://martjanplanet.blogspot.com/2011/11/first-fingerplay-midi.html
    If you are interested feel free to contact us (code sharing, new ideas, collaborations and so on…)
    Jumping!

  34. flat20 says:

    Development has pretty much stalled. Not sure what other options are out there for Midi on Android, but by now there should be some alternatives? Maybe one day I’ll get back working on FP :) .

  35. Milenkij says:

    Hello Guys!
    I install FingerPlay on my Icona Tab.
    App crashes when i use more one touch in one time.

  36. wodor says:

    http://wodor.net/fingerPlayLayoutsBeta/ is back
    I have noticed that it works only in firefox, sorry.
    I hope I’ll soon find time to improve it.
    If anybody is interested i can put it on github.

    IS FPMidi still developed ?
    I have noticed that it crashes on Iconia (a 500) when touched by more than one finger (multitouch) .

  37. Paul R says:

    When I enter the full IP address inc port number shown in the Java app on Windows 7 x64 Fingerplay MIDI crashes on my HTC Desire S. When I enter the IP address without the port number it doesn’t crash but the connection attempt times out.

  38. keahi says:

    anyone using with virtual dj?

  39. mauri dj says:

    ciao!ho scaricato dal market di android finger play , ho un mac book pro , un htc negus one , e ableton live 8 installato…non riesco a configurare finger play con il mac per pilotare ableton dal cellulare. help!!!

  40. plasticsoul says:

    Hi!
    Can somebody tell me how can I use fingerplay with pure data? I load the layout but its not working…

    Cheers!

  41. Bob Augustin says:

    @905EPiC

    Go to the settings tab at the Fingerplay app, go to “Configure MIDI Controllers”. For the sliders, go to “Configure Slider 1″. At FLStudio go to the “Link to controller” screen. Now press “Send Vertical” on your phone.
    Voila, you have succesfully connected the slider with FLStudio :) Your problem was that FLStudio was connected with the ‘send press’ button instead of the movement > horizontal/vertical.

  42. papagiorgio says:

    How can i make new layouts what softwate i need to

  43. Joe says:

    If anyone’s unsure what to do when setting the path to java, enter
    ;C:\Program Files (x86)\Java\jre6\bin
    at the end of the path line.
    I also had to use the run command in the folder as the command line gave me an error

  44. Martin says:

    Hey flat20,
    first of all: Nice.
    I want to change the source-code, so the app starts with connection. Address and Servertype I set fix, but where I can put mController.serverConect() ?

    THX

  45. 905EPiC says:

    I’ve gotten the app running on my Samsung galaxy s2 and set up the server software on windows and the virtual midi drivers however in all the sliders and xy pads only send flstudio on or off button presses! I can’t figure out what to edit.to.fix.this plz help

  46. marco says:

    I’ve tried it on my HTC Wildfire-S, linux with FingerPlayServer.
    All works great, except for the pad buttons.
    They all return the same controllerNumber (=15).
    I’ve also tried overriding with the xml layout, but the error remains..

  47. Maciek says:

    Hi! I can’t understand this instruction (only this line) : “Start it from the command line with:
    java -jar FingerPlayServer.jar” My english skills are not so good ;) Can you write more about it or make a video?

  48. liomsi says:

    Hi,
    I installed Fingerplay on my Asus tablet. I would like to make a layout which sends XY position (i should manage to make that) and finger surface. About the finger surface, do you know if it’s possible easily ? What do you use ?
    Thanks

  49. flat20 says:

    It works on Mac already. Your best option is to get OSCulator on your Mac and connect to it with FingerPlay using the OSC protocol.

Leave a Reply