In addition to coding silly things, I also spend my free time making music and coding things that can make music. Here are some music-related applications and sketches that I've written in Processing and JavaScript (using p5.js). There are some differences between the web and downloadable versions because Processing and p5.js use separate sound libraries. For best performance, consider using Chrome or Opera for the web versions.

If you use Chrome, your browser may give you a warning if you try to download a file with the .jar extension. You can safely ignore it and keep the file. To run my JAR files, you may need to update or download the Java Runtime Environment.

If you're a Processing/Java or JavaScript programmer, feel free to play around with my source code!

(In case you're looking for music I've actually written, check out my Bandcamp page.)



Use your mouse to control a synthesizer on your screen! You can use your computer keyboard to pick different waveforms, enable/disable quantizing pitches to semitones, and record the output.



Turn your computer keyboard into a synthesizer keyboard! You can change octaves easily, choose from the same set of waveforms available in RibbonSynth, and record the output.


This is just a Processing sketch with some functions that I wrote to make it easier to use Minim, which comes bundled with Processing, to compose and record chiptune-style music. Save the contents of MusicWriter.pde as a sketch, create a new tab, write a function for changing the playback settings and scheduling notes (following the examples that you see in the demo pieces), and call your function in the playPiece function at the bottom of the main tab.

You can also find my applications on Static Void Games, which is where the JAR files are hosted.