I'm going to use both my laptop, iPad and Android mobile phone to create music improvisation cooperation. While each device takes in different role, the main common development depends on Processing open source library for visual sketching and audio filtering production. Features of each devices are described as follow:
- Desktop focus on rhythm and take use of mouse dragging and keyboard. User interface will be friendly and indicates the rhythm or key pressedvia animation feedback.
- iPad (or iPhone)will focus more on graphics due to high performance of browser with Javascript support. Touch events are main part of iPad and audio filtering will be involved to enhance audio effect.
- Android mobile phone is going to have an instruction activity with Material Design card view with some open source projects involved. Action bar will have the main entrance of performance which takes use of accelerometer and touch event to have both audio and graphic interaction.
2. KEY IDEA
Happen to know the multimedia language “ChucK” introduced by California Institute of
Arts. Get inspired from Processing by MIT Media Lab. Since I have interests on music
production, I decide to use Processing to take use of different devices to improvise.
WHY I CHOOSE THIS PROJECT
Generally, I want take advantage of different devices for improvisation. Desktop
has keyboard for control, so I use it for rhythm part. IPad has high performance
of graphics, I combine the animation with audio filtering. Android mobile phone
is not good at graphics, but accelerometer is really interesting.
WHAT IS MY PROJECT
4. CONTRIBUTION
ANDROID IPAD (WEB) DESKTOP
Construct material design tab view
for instructions
Two audio tracks are included and
played with filtering effect.
Take use of movie resources to play
with audio
Improvisation tips shown in snack
bar by clicking color cubes
Brush will have symmetric feature
and various color
Dragging mouse in blank area will
change speed
Use accelerometer position
information to decide audio
Speed and position of brush will
control the color and thickness
4 pieces of audio are included and
controlled by ducks
4 sounds are included and can be
played together.
Keyboard could access sound bank
to play as electronic piano
Drawing graphics will be done
according to accelerometer position
5. DEVELOPMENT
Develop iPad version (JS) which
aims on graphics. Use touch
event to combine drawing and
audio filtering based on gesture
speed and cursor position.
• SonicPainter (University of
London)
Develop desktop version for
rhythm. Use free pictures
resources for short movie and
ducks for start/pause tracks.
• DJTube (University of London)
• BWdotSphereAVS01164 (Movie)
• ImageSaver
Develop Android native
application based on exported
processing project to include
processing support library.
Customize launch activity.
• AccelerometerAndroid
• PagerSlidingTabStrip (Github)
• SnackBar (Github)
• Abstract01js (OpenProcessing)
• Drum Samples (99 Sounds)
INDIVIDUAL WORK
01
02
03
6. Processing will include setup,
draw and event detect to
finish its drawing and
response features
STRUCTURE
In this stage, canvas size and
background will be set.
Related loading process
could be done (e.g. load
audio)
1 SETUP STAGE
Perform infinite drawing for
graphics and can be used for
object initialization
2 DRAW STAGE
For on time response, mouse
press and key input could
realize functions via event
listeners
3 EVENT DETECT
ALGORITHM
7. PUBLISH SOURCE
Rolling World Android Application
https://github.com/willowcheng/rhythm-world
https://github.com/willowcheng/vision-world
https://github.com/willowcheng/rhythm-world
http://www.openprocessing.org/sketch/187154