Difference between revisions of "CrystalPiano"

From CCRMA Wiki
Jump to: navigation, search
Line 1: Line 1:
Crystal Piano is an iPad transparent piano that you can blow sound and life into! The instrument is somewhere between a guitar and piano. Keys are like air columns with particles flying in them when played.  You can customize the instrument by choosing a background and particle images.
+
Crystal Piano is an iPad transparent piano that you can blow sound and life into! It was designed by my (Elie Noune) for CS476B (Mobile Music). The instrument is somewhere between a guitar and piano (hence the fender red guitar pick). Keys are like air columns with particles flying in them when played.  You can customize the instrument by choosing a background and particle images.
 
Control the envelope of the sound by pinching the extreme left of the screen. or by blowing into the mic! Experience the detuned piano effect by tapping on the same key multiple times, and the vibrato effect by moving your finger over a key. Use the guitar pick to create second voice harmonics or to play continuous pitches. Record, playback and share by uploading and downloading performances!
 
Control the envelope of the sound by pinching the extreme left of the screen. or by blowing into the mic! Experience the detuned piano effect by tapping on the same key multiple times, and the vibrato effect by moving your finger over a key. Use the guitar pick to create second voice harmonics or to play continuous pitches. Record, playback and share by uploading and downloading performances!
  
Line 16: Line 16:
 
== Motivation ==
 
== Motivation ==
  
 
+
The app store is full of traditional piano applications which try to emulate a real piano on a small touch screen device. I wanted to take advantage of the touch interface to design an instrument inspired by the piano that would provide a more engaging graphical and social experience. As a pianist and guitarist, I also wondered what a piano could sound like with vibrato and slide. Fortunately, mobile computing allows us to answer this question nowadays and that's what I tried to explore with Crystal Piano.
  
  
 
=== Usage ===
 
=== Usage ===
* dsndl
+
 
* sdln
+
* Pinch the extreme left of the screen to control the dynamics of the sound: inward and outward pinching results in a Tremolo effect
 +
* You can also really blow into the iPad mic by turning blowing on!
 +
* Change your background image by selecting a preview from the upper left tab (beach, underwater, sky, snow...)
 +
* Change your particle image by selecting a preview from the upper right tab (snowflake, bird, fish,...)
 +
* Touch a key to see how the red magic pick blows particles in it
 +
* The piano is slightly de-tuned: touching the same key multiple times will slightly modulate the pitch
 +
* Vibrato effect: move you finger on the key as you would do with a guitar fret!
 +
* Slide guitar: slide the red pick along the keyboard, I know you want to! (This is a second voice that you can use to generate harmonics)
 +
* Record a tune by pressing the record button. Press the button again when you're done
 +
* Play back the tune by pressing the play button.
 +
* Upload it to the server pool by touching the upload button: fill in your favorite title and user name and press submit
 +
* Download the last uploaded tune from the server and play it back: you will get transported into the composer's universe where you can hear and see the original performance with its background and particles.
 +
 
 +
 
  
  
 
==Software Design==
 
==Software Design==
* Both server and client running modes are provided within the same executable
+
 
* Virtual Midi keyboards are not required
+
* Class Pendulum to model the oscillation of a pendulum: amplitude, frequency, phase, damping
+
* Class Harmonograph is a class composed of "pendulum" which provides methods to tune these pendula and draw their combined output
+
* Class Game is similar to a Finite State Machine that tracks the game's states
+
* State S0, 3 seconds: Random Interval generated at the start of every round. Interval is played back and its harmonogram is displayed 
+
* State S1, 15 seconds: rock on and enjoy the harmonogram. Target interval is displayed on the right hand bottom corner
+
* State S2, 3 Seconds: We've got a winner, congratulate him and play back the target interval and its harmonogram. New Round(S0)
+
* State S3, 3 Seconds: Someone lost, encourage them, play back the target interval and display its harmonogram. New Round(S0)
+
* Communication between two hosts using Open Sound Control
+
* Messages exchanged: handshaking at start-up, target interval from server to client, round winner and score
+
 
* Graphics using OpenGL/GLUT
 
* Graphics using OpenGL/GLUT
 
* Audio Driver: Real-time Audio
 
* Audio Driver: Real-time Audio

Revision as of 11:20, 17 March 2011

Crystal Piano is an iPad transparent piano that you can blow sound and life into! It was designed by my (Elie Noune) for CS476B (Mobile Music). The instrument is somewhere between a guitar and piano (hence the fender red guitar pick). Keys are like air columns with particles flying in them when played. You can customize the instrument by choosing a background and particle images. Control the envelope of the sound by pinching the extreme left of the screen. or by blowing into the mic! Experience the detuned piano effect by tapping on the same key multiple times, and the vibrato effect by moving your finger over a key. Use the guitar pick to create second voice harmonics or to play continuous pitches. Record, playback and share by uploading and downloading performances!

Crystal Piano

Download the XCode Project at:

http://ccrma.stanford.edu/~noune/256b/CrystalPiano/CrystalPiano.zip

and the design document at:

http://ccrma.stanford.edu/~noune/256b/CrystalPiano/DesignDocument.pdf


Motivation

The app store is full of traditional piano applications which try to emulate a real piano on a small touch screen device. I wanted to take advantage of the touch interface to design an instrument inspired by the piano that would provide a more engaging graphical and social experience. As a pianist and guitarist, I also wondered what a piano could sound like with vibrato and slide. Fortunately, mobile computing allows us to answer this question nowadays and that's what I tried to explore with Crystal Piano.


Usage

  • Pinch the extreme left of the screen to control the dynamics of the sound: inward and outward pinching results in a Tremolo effect
  • You can also really blow into the iPad mic by turning blowing on!
  • Change your background image by selecting a preview from the upper left tab (beach, underwater, sky, snow...)
  • Change your particle image by selecting a preview from the upper right tab (snowflake, bird, fish,...)
  • Touch a key to see how the red magic pick blows particles in it
  • The piano is slightly de-tuned: touching the same key multiple times will slightly modulate the pitch
  • Vibrato effect: move you finger on the key as you would do with a guitar fret!
  • Slide guitar: slide the red pick along the keyboard, I know you want to! (This is a second voice that you can use to generate harmonics)
  • Record a tune by pressing the record button. Press the button again when you're done
  • Play back the tune by pressing the play button.
  • Upload it to the server pool by touching the upload button: fill in your favorite title and user name and press submit
  • Download the last uploaded tune from the server and play it back: you will get transported into the composer's universe where you can hear and see the original performance with its background and particles.



Software Design

  • Graphics using OpenGL/GLUT
  • Audio Driver: Real-time Audio