webbercross — BeatBox Sampler
[XAP File in BitBucket XAP folder]
BeatBox Sampler
Concept
After coming away from the ALPHALABS.CC kick off in London, my head was buzzing with ideas. It took a few weeks to think of a good concept. I was planning on working on the project alone so everything would be down to me; this helped with the concept, as I would not have a graphic designer, illustrator or musician to help with assets for the project. This got me thinking about beat boxers. A beat boxer can make sounds and music with nothing but their voice, so this inspired me to write an app to capture the spirit of this.
Design
Once the concept had been decided I wanted a way of easily capturing sounds and putting them together to make a song. It was quite difficult working out how to design the UI to do this making it easy to navigate but providing sufficient tools to produce something that sounds good. I decided to split the app into two main sections (two pivot controls): a Sampler and a Sequencer. The Sampler would allow the user to record, edit and manage samples and the Sequencer would allow the user to create songs and build tracks.
UI
The user interface is designed to reflect the 'urban' theme of the application, with graffiti font (Amsterdam Graffiti by Jesse Kuipe), stripped down borderless and rounded off controls. The theme incorporates a striking colour scheme of Metro Green (Metro Lime highlight) with default background and foreground brushes.
The Sampler
The Sampler is a Pivot control which has two really simple pad controls for recording and playing back samples and a slider control for setting the pitch. The Sampler uses the phone's microphone to record sounds and XNA SoundEffects to play them back.
The Sequencer
The Sequencer allows the user to create songs, add tracks to songs, assign samples to tracks and provides a custom track control which allows a graphical way of editing beat positions on the track. It is possible to change the bar repeat mode of tracks, so they can repeat every 1, 2 or 4 bars in a song's 4 bar repeat. Tracks and Songs can be played back individually.
Technical Stuff
The app uses Silverlight with a full MVVM pattern. The UI is heavily customised to incorporate the styling and implements a custom Track and TrackMarker control for the bar views which implement the Phone's Tap, Double Tap and Swipe gestures. The sounds are handled through XNA in the service layer.
Collaborators:
Geoff Webber-Cross