So I have been staying in my far aunt's house in a town in East Bay since a week and half ago, since my school's dorm is closed during winter break.
And.... for various reasons (one big reason is I miss playing piano since there is no piano here), I created a virtual piano program. With this program, you can basically press keys on your keyboard and a note will sound. When you release the key, the note will stop. The neat feature is that you can also simulate piano pedal: just press and release the spacebar.
Finally I decided to extend the program so you can also change the instruments: you can play basically any MIDI instruments your device support.
Although the layouting of the keys follow that on the piano, I still find it difficult though to just play right away, because I tend to forgot: what does key "u" correspond to? What does key "b" correspond to?
So I draw piano keys in two sheets of paper. I place one on top of the first row of my keyboard and one below the last row. It helps me a lot!!
Now that I'm used to this position, I have played dozens of songs here in my new "piano" and improvize a lot too, with different instruments! I slept at 4 yesterday playing music.
Download it here:
http://www.stanford.edu/~derianto/shared/program/VirtualPiano.jar
Keys:
zsxdcvgbhnjm = C C# D ... through B, first octave
q2w3er5t6y7u = C C# D ... through B, second octave
i9o0p[=] BACKSPACE BACKSLASH = C C# D ... through A, third octave
spacebar = pedal
up arrow = previous instrument
down arrow = next instrument
There are lists of MIDI instrument code on the web. Some highlights:
0 grand acoustic piano
40 violin
73 flute
123 bird tweet
Issues:
It is known that the program may not produce any sound in some computers.
If it happens to you, I am sorry. I don't know yet what the cause is.
Different computers may produce different sounds. For example, my computer's acoustic grand piano sound may be louder and brighter than your computer's. It is normal, since different MIDI synthesizers produce different sounds.
Sometimes pressing many keys at the same time will produce an error beep instead of sounding a note. This may be caused by the internal working of the keyboard.
Legal:
MIT License
http://www.opensource.org/licenses/mit-license.php
Although I should insert "Copyright (c) 2007 Derianto Kusuma" there,
it means basically you are free to do anything with the program.
This is just for formality lol.
Enjoy...