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.


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.


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, enter “″.

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:

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

520 Responses to “FingerPlay MIDI”

  1. «G-Lí†ch» says:

    I can’t understand, when I am using XY-Pad #1 (and some sliders): 1-2 sec. and app (and tablet) hangs for a 3 (sometimes 7-8, after memory release 1-2) seconds!. but XY-Pad #2 works fine! What’s wrong with my tablet?
    Sometimes it hangs when typing IP address.

  2. [...] MIDI or OSC messages from your phone to a computer over the Wi-Fi network. Go to for server software and instructions. Related Posts:TouchMusicAndroidアプリ 「My [...]

  3. Reynaldo says:

    The app closes when i hit two pads at the sametime :/

  4. Isaac P says:

    hi i installed and working ok but i try with a custom layout, copied to the sdcard in a folder etc and fingerplay open the default layout. help!!!

  5. Barnie says:


    I followed the instructions and downloaded everything.

    I load the app on my android phone but when i hit settings, it backs out to the main screen in the app.

    pls help! I have windows 7 with a LG android with NO mini SD card .


  6. Huge collection of free proxies updated daylie.

  7. [...] is an app, FingerPlay MIDI, which uses OSC message in order to communicate over WIFI. Check its source code at [...]

  8. gerardo says:

    when i download loopbe1 it download into computer but when i install it take a long time to install what can i do to install loopbe1

  9. ELMenno says:

    only this app works fine whit java 6 en not whit 7
    7 have problem whit the android app also programming in eclipse foor android thanks
    Download and install Java6!!! and remember to set the path to Java. thats work fine

  10. deegio says:

    Hi everyone, I was wondering if someone had figured a way to set the parameters of the “controlChange” to a “programChange” midi signal inside of the xml layout. Is this even possible? Thanks!

  11. Julio says:

    Hi LAWLKiPz,
    Mine is not in the CLASSPATH, i put in the Path (variable).
    Click in edit. Just add in the end of line. Put a semicolon (;)and the path to java.
    In my computer i put this: ;c:\Program Files\Java\jre6\bin

  12. LAWLKiPz says:

    icant figure the java path stuff. do i just add in that line to the CLASSPATH? or do u replace it?

  13. Julio says:

    Work in progress… Nexus 7 layout to Resolume Arena.

  14. kristoche says:

    upload a video tutorial well explained
    of installed as fingerplaying midi
    install everything and does not work.

  15. flat20 says:

    I’m not currently working on it no. If you want to contact me you can email me at the address listed here:

  16. Tal says:

    Is the a future to FingerPlay? I see you haven’t worked on it much.
    How can I contact you via email as I want to be involved and get this great project a step further.. :)

  17. Wollsen says:

    hi there great program, I have a question, is it somehow possible to change the midi channel to let say channel 5, the reason is that I have multiple midi controllers, so I don’t have reprogram.

  18. Great submit, Although I wasn’t altogether comply on some points initially, onerous by rendering till end, factual appears taking.

  19. Michael says:

    The Pure Data MIDI patch doesn’t work. OSC data arrives fine, but MIDI data is never sent. Would be great if this could be fixed (else this makes the app obsolete for me).

Leave a Reply