FingerPlay MIDI is a MIDI and OSC controller for Android. It presents a series of customizable virtual control surfaces, allowing you to map them to MIDI controls in your other music applications. This gets you off the mouse and computer screen, and closer to your instruments. It’s the same kind of app as TouchOSC, a way of performing that’s a bit more live and less laborious than touching single controls with just a mouse. You can configure buttons, sliders, and X-Y pads in FingerPlay, making possible fast and intuitive parameter and program changes.
Renoise is music production and performance software. It is highly configurable, and can be controlled by external MIDI and OSC devices. An add-on tool, Duplex is an add-on tool for Renoise that makes setting up and using external controllers very easily, through the use of open source languages such as Lua and XML, in the form of templates for devices and their functions. At the time of writing, there is no such template for FingerPlay, but it is possible to use it with Renoise directly, even without Duplex’s assistance.
Setup JACK
1. Launch QJackCtl and start JACK.
2. Start Renoise.
3. Load the virtual MIDI kernel module:
# modprobe snd-virmidi
4. In QJackCtl, open the “Connections” dialog. On the ALSA tab, connect a Virtual Raw MIDI port, on the left side, to Renoise, on the right side.

Setup FingerPlay MIDI
1. Download, unzip, and run the Java-based FingerPlay server on your computer.
$ java -jar FingerPlayServer.jar
2. Install the FingerPlay MIDI app on your Android phone. If you don’t have access to the Market, you can manually install the .apk.
3. Turn on your phone’s WiFi, then launch FingerPlay MIDI. Tap the “gear” icon on the top right; this is the configuration menu. Use the following settings:
Server Type: FingerServer
Server Address: (your computer’s IP address, such as 192.168.1.20)
4. Tap the Connect to Server button.
5. Once connected, tap MIDI Out Device, and select the Virtual Raw MIDI device that you connected to Renoise.
Setup Renoise
1. In Renoise, go to the “Track DSPs” tab. Add an *XY Pad device, found in the *Meta section on the leftmost panel.
2. Now add an effect, such as a filter. We’ll use Calf Filter DSSI for this example.
3. On the *XY Pad device, click the “X-Axis Setup” button. Set your destination with the little button on the left, marked CT (Current Track). Choose the track that this effect will apply to. Then in the first dropdown to its right, select Calf Filter DSSI as the device it will control. On the next dropdown to the right, choose the parameter you want to control with the X axis, such as Frequency.
4. Click the “Y-Axis Setup” button. As with the “X-Axis Setup” procedure, choose the destination track, the effect you want to control, and a parameter from the dropdown, such as Resonance.
Now it’s time to start mapping these controls!
MIDI mapping
1. Press Ctrl-M in Renoise. This brings up the “MIDI Mapping” dialog.
2. Check the button marked Allow mapping the same Note/CC more than once. This is important because we are going to be assigning the same axis in FingerPlay to two sliders in Renoise.
3. Click the “X-Axis Setup” button. Now click the Dest. Max slider. It should be highlighted in yellow and bracketed. Once it’s highlighted, you have to tell Renoise to listen for horizontal messages from FingerPlay. On your phone, tap “Configure MIDI Controllers” at the bottom of the options menu. Tap the button labeled Send Horizontal, and wait a moments. You should see a channel and CC number appear in Renoise, on the highlighted slider. In this case, Ch1|CC1. You might need to tap the button on your phone a few times before it sticks; there may be some lag.
4. Repeat this process for the Dest. Min slider. It is important that you have both sliders displaying Ch1|CC1! If only one of the sliders is mapped to an axis, Renoise won’t receive the full range of values from FingerPlay, and the slider will only move halfway, even when you’ve dragged to the extreme end of the X-Y pad in FingerPlay.
Make sure that Map Mode is set to Absolute 7 bit for both Dest. Min. and Dest. Max sliders in the MIDI Mapping dialog! If you see the sliders abruptly jump around, without smoothly changing between values, press Ctrl-M again, click a slider, and change Map Mode to Absolute 7 bit.
You’ve finished setting up the X axis sliders, so now it’s time to setup the Y axis.
5. In Renoise, click the “Y-Axis Setup” button. Now click the Dest. Max slider. You have to tell Renoise to listen for the vertical messages from FingerPlayMIDI. On your phone, tap the button labeled Send Vertical. You should see another channel and CC pair show up on the slider. In this case, Ch1|CC2. Repeat this process for the Dest. Min slider. It should also display Ch1|CC2 when you’re finished.

Again, make sure that Map Mode is set to Absolute 7 bit for both sliders in the MIDI Mapping dialog.
That’s it; you’re done! Close the dialog and play with the X-Y pad in FingerPlay. You should see the parameter sliders on your effects move in response to your finger position.
Known Issues
1. The dot on Renoise’s graphical *XY Pad will not move in response to the pad in FingerPlay. This is okay; FingerPlay still sends MIDI signals to alter parameters; there’s just no visual feedback in Renoise, aside from the sliders moving.
2. You can get most of the same parameter control by just mapping a FingerPlay MIDI axis
directly to one of the parameter sliders in your effect plugin, without having to create an *XY Pad meta-device. However, by using the *XY Pad, you can set Scaling response curves and Auto Reset. The latter option makes the *XY Pad behave like a joystick. Once you take your hand off the FingerPlay pad, the parameters snap back to their middle values.