Jump to content

Cody Loyd

Old Members
  • Posts

    362
  • Joined

  • Last visited

About Cody Loyd

  • Birthday 06/29/1986

Cody Loyd's Achievements

Rising Star

Rising Star (9/15)

  • Collaborator
  • Posting Machine Rare
  • First Post
  • Conversation Starter Rare
  • Good Conversationalist Rare

Recent Badges

10

Reputation

  1. sweet.. i have moved away from PD for the moment to experiment with other things.. but i definitely liked it and will quite likely be going back to it eventually
  2. i don't agree with nicola on that.
  3. oh.. if you wanted... it would certainly be possible to create a patch in MAX/MSP or PD or anything else.. that is controlled by midi, and then use the timing and algorithmic features of ChucK to control the patch.
  4. timing is very flexible. durations other than the given second/ms/etc. can be used. by using coding a line such as this { 3.45676::second => dur NEWDURATION; } you can then use that new duration in any way you like: 2::NEWDURATION => now; .345::NEWDURATION => now; of course you can call it anything you like.. so you could create something like this: 3::second => dur bar; .25::bar => dur quarter; .5::quarter => dur eighth; (1/6)::bar => dur triplet; [/CODE] and then you can use any of these durations in any way. They can be controlled and created while the program is running. If you want to use keyboard/midi/joystick input, you can create and event, and pass time that way, instead of using durations like this: KEYBOARDEVENT => now; the program plays until the event and then moves on. It is easy to code 'functions' for reuse later, in fact, these functions are how you get more than one thing going on at the same time: [CODE] //create two functions: fun void beats() { some code that makes beats..... } fun void melody() { some code that make a melody } //and then you "spork" each function so that they play along independently spork ~ beats(); spork ~ melody(); //also.. don't forget to make time pass (or nothing will actually play!) 365::day => now; //or you could make a time loop, so it plays FOREVER while(true) { 10::second => now; } [/CODE] of course, both of those functions can be set up to take user input, and you can use functions in the more traditional way (to do a recurring mathematical operation for instance)
  5. it works on mac, linux and PC. I use it all on linux..... go to the site that i linked in my above post and click "download chuck" There is a tutorial on that site, and several examples. I learned everything by following the tutorial ( which only helps get you used to the syntax ) and then going through the examples (which is where i learned MOST of what i've done) good luck
  6. thanks everyone for the comments. Compositionally, these really aren't that fantastic, and I am aware of this. These are more experiments in the chuck language. I'll explain a little about whats going on with chuck. ChucK is a programming language. ChucK => Strongly-timed, On-the-fly Audio Programming Language check out the examples on that page to see a little what the code looks like... the language includes things like Oscillators (sine, tri, saw etc.) Envelope Generators, Effects (reverb, chorus, filters etc.) and several synth instruments (of varying quality.. things like flute, plucked string, moog etc.). The language has the ability to read in .wav files from the computer and play them either from memory, or from the HD. The language supports re-usable classes and functions (that is, you can code some sort of 'instrument' and it can be copy and pasteable from program to program.) The language is "strongly timed" which means that everything must be set to run in a certain time frame, or it won't run at all. This means that it is VERY easy to get things running together in sync (something which is not so easy in PureData.. which i have also used.) Ok.. a bit about how I created this stuff. A very important symbol in this language is called "the chuck" and looks like this =>. The most basic program is something like this: SinOsc s => dac; day => now;[/CODE] There is a Sine Oscillator (called 's') which is 'chucked' to the dac (digital audio convertor) and then "day => now" which simply means to make time pass. in this case, this sinewave would play at 220 hz (the default) for exactly one day and then the program would shut down. There are many different durations that one can use: week, day, hour, minute, second, millisecond, and sample. To make the sound change you edit some parameter by chucking the new value to it. we called the sinosc "s" so its frequency parameter would be "s.freq" if we wanted for this sinewave to play at 440, we would add a line of code that says " 440 => s.freq;" [CODE] SinOsc s => dac; 440 => s.freq; 2::second => now; 220 => s.freq; 2::second => now; 440 => s.freq; 2::second => now; 220 => s.freq; 2::second => now; [/CODE] in this program, the sinewave switches back and forth between 440 and 220, playing each for 2 seconds. The language includes a midi to freq converter, so most of the time i code using midi numbers. These pieces all have some sort of random melody or harmony in them which is done by creating an array of midi notes, and then having the program pick randomly from that array, converting that from midi to freq, and then chucking the resulting note to the Oscilator's .freq parameter. I code this into a loop so that the note changes constantly through the whole piece. The beats that are used are external .WAV samples. there is a parameter to ( .rate ) that changes the rate of playback, so i use a mathmatical operation to match the beat to the tempo of the song (or in one example, i matched the tempo of the song to the beat...) There is also a parameter ( .pos ) which is used to tell from where in the file to begin playback (in samples). When the file is read into memory, you can get the number of samples in the file. I divided this number by 8 or 16 or something (for a 4/4 bar) and use the resulting number to 'slice' the beat, by playing back the 8 or 16 slices in a different order (usually random.. :) ) ... does that answere most of the questions you might have?? please feel free to ask questions about the process or the language. cody
  7. lol.. what tone? give me a time.
  8. no i am not.
  9. in case someone missed it or cares.. i uploaded some music that i created with chuck in the electronic forum
  10. chill man.. this isn't myspace or something. you don't have to explode all over the page to get attention.
  11. i know.. i hang out over there a bit. I am 'mrcold'
  12. here are a few tunes that have been coded using the ChucK programming language. These examples are pretty simple, because I'm really not that good at using the language yet. I've only been at it for about a month. In any case, I've created these, and a few others. Most of the melodies and chords are selected randomly from certain scales.. so each performance of this stuff is different. Anyway.. enjoy :) this one is the most 'pop' It's an exercise in breakbeats. The break is sliced into 16 slices which are played back randomly. This one gets a little distorted in a couple of places.. but i don't really care to fix it. The melody has a set rhythm, but the notes are selected randomly from a small set. gameover.mp3 - File Shared from Box.net - Free Online File Storage This one isn't really all that interesting. more or less ambient music.. lots of delay and reverb. untitled1.mp3 - File Shared from Box.net - Free Online File Storage This one is longer than the other two, and has more form.. and more 'stuff' in it. all harmonies and melodies are random. This one uses a whole tone scale quite a bit. messiaen01.mp3 - File Shared from Box.net - Free Online File Storage
  13. dude is a psycho seriously and that's OOOOOk
×
×
  • Create New...