I create a lot of music with ChucK, a programming language. Why use computer code to create music? Frankly it seems pretty dorky. And it is! But there are a couple things I like about it.
1. Total control to do weird things. I started out using Garage Band and Ableton Live to make music. These are fine for making normal beat-driven music but not so great for abnormal music. I wanted to do things like randomly shock speed and pitch and mangle samples. Those are easy to do in a programming language. For example, for this tune I created a drum machine that speeds up and slows down. I also manipulated a piano sample by dropping out pieces of it and by using a vocal sample to modulate the piano sample. 2. Total portability. I can carry my laptop around and make strange music pretty much anywhere, I don't even need WiFi. I created this in a hotel room in Williamsburg Va. I can walk into a gig with my laptop and a few connectors and I'm ready to go. 3. Cheap (mostly). ChucK is free (available here) and there's a free online course at Kadenze.com plus tons of free code to start out with (my stash is here). (the computer isn't cheap but I already had one) 4. Freedom to create my own musical (or unmusical) instruments. This is something I created using an FM synth I programmed (in FM or frequency modulation one sine wave modifies another sine wave which modifies another sine wave etc). FM synthesis can be used to make nice bell or piano sounds or some pretty heinous noise, like here. 5. No need to be a great programmer. I have no formal training in coding except for one FORTRAN course I took at the Department of Agriculture in the 1980s. Here's a really simple example: stuff after the // are comments and don't do anything, they just explain what the code does ***************** SinOsc sin => dac; // connect a sine oscillator to the output // (digital audio converter) while (true) { // do the stuff in the brackets forever; we could tell it // to do it a certain number of times or a certain length of time 1 => sin.gain; // turn sin volume up all the way .5::second => now // play for 1/2 second 0 => sin.gain; // turn sin volume off .5::second => now // play silence 1/2 second } **************** This is pretty boring--half second beeps with half second silence. But it would be easy to modify it to change the pitch randomly (multiplying it by a random number between .9 and 1.1); sin.freq()*Std.rand2f(.9,1.1)=>sin.freq; Easy to randomize volume, panning and a bunch of other stuff. ************** But this example illustrates one big downside of using computers--it's really easy to produce boring music. To keep it interesting, I try to introduce tension through dissonance or randomness. It's the same principle I would use making music on anything else (of course it's really easy to produce boring music on a guitar, too). I participated in a livestream in February 2019 where you can see what I'm doing. I'm launching a bunch of chunks of code and fiddling with them in real time. For example, I might double or halve the speed of a drum machine or change the pitch or rate of a sequence. Sometimes unexpected stuff happens--I've had crashes or weird noises come out of the laptop--but for me this is part of the fun. If you want to give it a try download the ChucK interface and try out some code, or check out the Kadenze course. If you have questions hit me up, all my info is here at my NorthWoods site.
0 Comments
|
Charlie KramerFormer Happy Flower makes harrowing and soothing noise using computers, old radios, hacked up keyboards, and sometimes guitars, under the name NorthWoods Archives |