Difference between revisions of "CrystalPiano"

From CCRMA Wiki
Jump to: navigation, search
 
(13 intermediate revisions by the same user not shown)
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 application featuring a breathing transparent piano that you can blow sound and life into! It was designed by me (Elie Noune) for CS476B (Mobile Music). The instrument is somewhere between a guitar and piano, hence the fender red guitar pick on top of the keyboard. Keys behave like air columns with particles flying in them when played. The keyboard is transparent, allowing users to customize the instrument by choosing 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 de-tuned 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 to a server cloud!
  
[[File:CrystalPiano.png|200px|thumb|left|alt text]];
+
[[File:CrystalPiano.png|800px|thumb|center|Crystal Piano Mighty Shark Background]]  
  
 
Download the XCode Project at:
 
Download the XCode Project at:
  
 
http://ccrma.stanford.edu/~noune/256b/CrystalPiano/CrystalPiano.zip
 
http://ccrma.stanford.edu/~noune/256b/CrystalPiano/CrystalPiano.zip
 +
----
  
== Motivation ==
+
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 how the rich piano interface could be used along with guitar string dynamics like vibrato and slide. Fortunately, mobile computing allows us to answer this question nowadays and that's what I tried to explore with Crystal Piano on the iPad.
  
  
 
=== Usage ===
 
=== Usage ===
* dsndl
 
* sdln
 
  
 +
[[File:buttons.PNG|800px|thumb|center|Crystal Piano Tool Bar]]
 +
 +
* 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 picture by selecting a preview from the upper left tab (beach, underwater, sky, snow...)
 +
* Change your particle picture 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.
 +
 +
 +
=== Other Snapshots ===
  
==Software Design==
+
[[File:snow.png|320px|thumb|right|Let it Snow...]]
* Both server and client running modes are provided within the same executable
+
[[File:star.png|320px|thumb|left|Rock N' Roll Stars]]
* Virtual Midi keyboards are not required
+
[[File:birds.png|320px|thumb|center|Birds Flyin' High...]]
* 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
+
* Audio Driver: Real-time Audio
+

Latest revision as of 19:18, 21 September 2011

Crystal Piano is an iPad application featuring a breathing transparent piano that you can blow sound and life into! It was designed by me (Elie Noune) for CS476B (Mobile Music). The instrument is somewhere between a guitar and piano, hence the fender red guitar pick on top of the keyboard. Keys behave like air columns with particles flying in them when played. The keyboard is transparent, allowing users to customize the instrument by choosing 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 de-tuned 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 to a server cloud!

Crystal Piano Mighty Shark Background

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 how the rich piano interface could be used along with guitar string dynamics like vibrato and slide. Fortunately, mobile computing allows us to answer this question nowadays and that's what I tried to explore with Crystal Piano on the iPad.


Usage

Crystal Piano Tool Bar
  • 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 picture by selecting a preview from the upper left tab (beach, underwater, sky, snow...)
  • Change your particle picture 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.


Other Snapshots

Let it Snow...
Rock N' Roll Stars
Birds Flyin' High...