Since Feburary 2011, I've been writing a keyboard/theremin/sequencer application to generate music for Android phones and tablets. Since it's inception it's been downloaded over 100,000 times with over 30,000 active users, receiving over 1200 ratings (averaging 4.5 stars), as well as being featured on several prominent android sites. It makes heavy use of Processing, pdlib, and my custom MSAFluid library for Android. From a programming standpoint, I'm proud of it's code quality. Check out the source on Github. It was designed after a past application of mine for my old PC based touchscreen. I use it for my band, shy guy says. Check it out on the Google Play
The premise of the application is intended to be minimalistic: the x-axis controls pitch, and the y-axis controls a user-determined parameter. For starters, it's y-axis is set to control volume, but it can be changed to a wide variety of effects. Parameters can also be set to a definite value, instead of controlled by any axis.
The x-axis is variable as well. It can be scaled, as well as quantized. The user selects the lower and upper bounds of the pitch. Vertical lines on the screen represent notes. Double-thick lines are octave markers, thin lines are sharps and flats, and normal lines represent the whole notes. While in 'continuous' mode, the x position of the touch directly maps to the pitch. A crosshair is drawn at this point, so the performer can see exactly where it lines up to the notes. While in 'quantized' mode, the x position is rounded to the nearest note. In this mode, the key lights up, to indicate a rounded keypress, like a keyboard.
More recently, a sequencer has been introduced with many of the same concepts as the original theremin instrument. For every spot on the grid, the user can drag up and down to adjust the y-axis value, which produces rich and dynamic sequences.