ScenePlayer provides most of the reactive music functionality of the amazing RjDj app for iOS (http://rjdj.me/). It comes with one built-in scene, Atsuke by Frank Barknecht. You can find additional RjDj scenes online. (Unfortunately, downloading scenes from RjDj's website isn't possible right now, but several artists have posted scenes on other websites.)
In order to install a new scene, just copy it to the SD card of your device, then launch the ScenePlayer app and add the new scene. Make sure to disconnect your device from your computer first because the app cannot read from the SD card while it is mounted as mass storage on your computer.
Regarding permissions: ScenePlayer requires
* android.permission.ACCESS_COARSE_LOCATION and
android.permission.WRITE_EXTERNAL_STORAGE for tagging and saving recordings;
* android.permission.RECORD_AUDIO for reading audio input from the microphone;
* android.permission.INTERNET for downloading new scenes from websites; and
* android.permission.READ_PHONE_STATE for silencing itself when a phone call comes in.
ScenePlayer is one of the sample apps that come with the free sound engine libpd. You can find the source code at https://github.com/libpd.
Updated for Android 4.2