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 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.

478 Responses to “FingerPlay MIDI”

  1. tharg says:

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

  2. shadow23 says:

    Does it work with traktor

  3. GH says:

    Does it work with Fruity Loops Studio?

  4. 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?

  5. 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.

  6. 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.

  7. 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!

  8. Mike says:

    Thanks a bunch!

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

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

  10. 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?

  11. 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!

  12. 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 :) .

  13. Milenkij says:

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

  14. 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) .

  15. 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.

  16. keahi says:

    anyone using with virtual dj?

  17. 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!!!

  18. plasticsoul says:

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

    Cheers!

  19. 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.

  20. papagiorgio says:

    How can i make new layouts what softwate i need to

  21. 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

  22. 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

  23. 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

  24. 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..

  25. 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?

  26. 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

  27. 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