Click the green flag to begin, then use your computer's keyboard to play notes. This includes: Row 1: 1234567890 Row 2: QWERTYUIOP Row 3: ASDFGHJKL Row 4: ZXCVBNM When Piano Mode = 1, Rows 2 and 4 are like the white keys on a piano, and Rows 1 and 3 are like the black keys. Some keys are not used in this mode. When Piano Mode = 0, each key from left to right, top to bottom, goes up by a half step. Hold SPACEBAR while playing notes to sustain them (four beats instead of one). LEFT/RIGHT arrows: Change base note by a half step UP/DOWN arrows: Change base note by an octave Adjust options like "Instrument" and "Tempo" by moving the sliders. Save and Load will be slow for songs with lots of notes. Turn on Turbo Mode to make it run MUCH faster (Shift+Click green flag). Post your songs' save codes in the comments!
Keyboard image from VMPK (http://vmpk.sourceforge.net). If you can read or write sheet music (or want to try), http://musescore.com has a great community for sharing and offers free, open source software. TECHNICAL NOTES --------------------------- Since there are some limitations to how Scratch responds to simultaneous key presses and playing notes, several versions were attempted to properly handle notes played together or in quick succession. The current method involves lists, broadcasts, and cloning. If you can devise a more efficient way, especially without clones to represent each played note, let me know! Future improvements: 1) *DONE* Enable saving and loading songs via generated text code 2) *DONE* Add way to set tempo for adjusting length of notes 3) *DONE* Add way to easily change instruments 4) *DONE* Extend range of keys playable (use more keys) 5) *DONE* Allow switching between keyboard configurations (piano-style, half-steps in a row) 6) *DONE* Improve and clean up screen in general (hide lists when not needed) 7) *DONE* Add a Keyboard sprite to show notes of available keys 8) Redo note highlighting method to be more responsive and accurate (currently glitches when quickly repeating notes or changing base note during playback) 9) Add visual feedback on piano to highlight keys being pressed 10) Improve recording to begin on first note and continue seamlessly when adding on to an existing recording 11) Add option to count down recording start to give time to get ready 12) Add new graphical settings menu to replace sliders 13) Add a way to share longer song save codes 14) *Working but needs improved performance before release* Auto-harmony/chords (pick an interval above or below) Possible but more difficult or crazy ideas: 1) Add ability to loop a recording 2) Support multiple instruments at the same time 3) Add ability to loop multiple tracks and easily add or drop while playing 4) Visualize sounds using physical properties (wavelength of notes) 5) Illustrate some other connections between music theory and physics 6) Show notes written as sheet music while playing 7) Add drums or other sound features in an interesting way 8) Shorten save codes (compression algorithm; what is the most efficient way to store sequences of notes and timings?) Will consider but might not do: 1) Add ability to click on the piano to play notes