Electric instruments still make some noise, so if you must be absolutely silent, then I think you'll have to pick up something electronic. Otherwise, an electric ukulele is pretty compact and a lot of fun to play. 

One possibility you didn't mention is applications for smartphones like iPhones. If you already have an Android or iOS device, there are a number of cheap applications that you can use for learning as well as creating music. I would recommend looking in the "Music" category for your app store and picking some things you like. 

Silent, extremely portable instrument to learn music
As the title says, I would like new windows to open in a set screen size. I believe that the default is that they open in the size of the last window. Sometimes, I want to make a window smaller for some reason, but I want new windows to open as usual. Is there a shell script/command to accomplish this? Thanks 
