Sonic Pi is a live-coding music program that uses Ruby to generate synth music. Ever since I learned about Algorave earlier this year, I've been really interested in trying out generating music with code, and Sonic Pi seemed like a great place to start.
Sonic Pi is free and open-source, and available for Windows, macOS, and Raspberry Pi. It has a fantastic built-in tutorial that had me writing music right away, and I was really pleased with the quality of the tutorial. I already know Ruby and some intermediate music theory, but it doesn't assume any prior programming or music knowledge.
In about two hours or so, I completed the tutorial and whipped together some rad synth sounds to have on in the background while I code. Check it out on Soundcloud, the code is below!
live_loop :background do sample :loop_garzul use_synth :prophet play :c1, release: 4, cutoff: rrand(70, 130) sleep 4 play :c2, release: 4, cutoff: rrand(70, 130) end live_loop :middle do sync :background use_random_seed 4923 use_synth :tb303 notes = (scale :c2, :minor_pentatonic, num_octaves: 1) sleep 4 8.times do play notes.choose, release: 1, cutoff: rrand(30, 50), amp: 0.3 sleep 0.5 end sleep 4 8.times do play notes.choose, release: 1, cutoff: rrand(30, 50), amp: 0.3 sleep 0.5 end end
There's a pretty active Sonic Pi Twitter account that shares recent creations (some of which can fit in a single tweet!) as well as a forum which I haven't explored much. Have you used Sonic Pi or something else to generate music? Let me know in the comments!