Well, that went well. It went well because there were lots of nice people, the competitors were friendly amongst eachother as well. It went well because nobody had seen ChucK and the mini in action before and now people were interested. In the last place it went well because I won, that's still nice, even if competition is less fun then duets, I think. I was up against two MAX-MSP users who were very talented. They should be because they won previous rounds, this was sort of the finale of the comptition but due to the format that was about three people I was thrown in as a surprise challenger. It was a bit sad for my second oponent who was clearly handicaped by having had to borrow a laptop and was thrown off by the different cursor behaviour, that's probably a huge factor in a graphical system like MAX. I was using the Mini with a external keyboard. The audience was just used to MAX which had been used by all (I think) contenders in all previous rounds and at first they gigled at my batered old keyboard and non-pro typing speed but with chucK a few lines go a long way. One fun moment was showing off "if(maybe)....." which -as I expected went over very well as it realy is quite funny. Because of the 6 minute format and my typing speed I tried to go for eficiency so I didn't dare to spend time on something like "while(float rubber_ducky) {//loop goes here}" which would've been even more funny (try it, it works). For the first round I used the Shakers as something like "Std.rand2(0,22) => shakers.preset;" seemed like the most economical way of quickly generating a nice rithmic yet changing foundation. Then I added a algorithmic bassline based partially on modulating the amount of harmonics in Blit instead of a filter. At one point, due to a misplaced "greater then" which should've been smaller sign my algorithem spun out of controll towards the high end but I was able to remidy this in time and it turned into a pleasant surprise that sounded good This round was a very narrow win, I thought my oponent Luc performed a very strong set of paterned noise and the audience agreed, aplauding at length for both of us, creating a need for a tie-breaking hand-vote-count. I the second round I improvised based on sending Impulse into ResonZ and then treating the result by sampling the dac using LiSa. This didn't go completely perfect but I think the audience picked up that I was considdering all my parameters on the fly and apreceated this. Overall it was a great experience and a huge thrill. I'd definately recomend it to those on the fense. Clearly you'd need to practice but that's only good for your ChucKing skills. I look forward to "defending my title" next season already. Yours, Kas.
That sounds really great, Kassan.
I don't suppose you have any recordings?
I haven't played with the impulse Ugen much, but, I was using the
step last week to play a 16 step waveform. I think I'll go play with
Impulse now, however.
I am finding almost all of the "Academic" music kids at my local
Dorkbot (Melbourne, Australia) are using Max for their work, simply
because it was what their lecturers used. I am hoping to change their
opinions on the matter, and expose them to ChucK!
-Ed
On 6/2/07, Kassen
Well, that went well.
It went well because there were lots of nice people, the competitors were friendly amongst eachother as well. It went well because nobody had seen ChucK and the mini in action before and now people were interested. In the last place it went well because I won, that's still nice, even if competition is less fun then duets, I think.
I was up against two MAX-MSP users who were very talented. They should be because they won previous rounds, this was sort of the finale of the comptition but due to the format that was about three people I was thrown in as a surprise challenger. It was a bit sad for my second oponent who was clearly handicaped by having had to borrow a laptop and was thrown off by the different cursor behaviour, that's probably a huge factor in a graphical system like MAX.
I was using the Mini with a external keyboard. The audience was just used to MAX which had been used by all (I think) contenders in all previous rounds and at first they gigled at my batered old keyboard and non-pro typing speed but with chucK a few lines go a long way.
One fun moment was showing off "if(maybe)....." which -as I expected went over very well as it realy is quite funny. Because of the 6 minute format and my typing speed I tried to go for eficiency so I didn't dare to spend time on something like "while(float rubber_ducky) {//loop goes here}" which would've been even more funny (try it, it works).
For the first round I used the Shakers as something like "Std.rand2(0,22) => shakers.preset;" seemed like the most economical way of quickly generating a nice rithmic yet changing foundation. Then I added a algorithmic bassline based partially on modulating the amount of harmonics in Blit instead of a filter. At one point, due to a misplaced "greater then" which should've been smaller sign my algorithem spun out of controll towards the high end but I was able to remidy this in time and it turned into a pleasant surprise that sounded good This round was a very narrow win, I thought my oponent Luc performed a very strong set of paterned noise and the audience agreed, aplauding at length for both of us, creating a need for a tie-breaking hand-vote-count.
I the second round I improvised based on sending Impulse into ResonZ and then treating the result by sampling the dac using LiSa. This didn't go completely perfect but I think the audience picked up that I was considdering all my parameters on the fly and apreceated this.
Overall it was a great experience and a huge thrill. I'd definately recomend it to those on the fense. Clearly you'd need to practice but that's only good for your ChucKing skills. I look forward to "defending my title" next season already.
Yours, Kas.
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
-- www.loscha.com
On 6/2/07, Loscha
That sounds really great, Kassan. I don't suppose you have any recordings?
No, I don't but I could submit some code that's similar to what I did. The Blit-based bassline in particular came out nicely, I thought. It glitches as the waveform resets but the JCRev can turn those clicks into a nice effect (as long as you mind the gains!). I haven't played with the impulse Ugen much, but, I was using the
step last week to play a 16 step waveform. I think I'll go play with Impulse now, however.
Imulses are great for exciting filters. ResonZ does need a fairly large gain boost before it's loud enough if excited with only a Impulse. I am finding almost all of the "Academic" music kids at my local
Dorkbot (Melbourne, Australia) are using Max for their work, simply because it was what their lecturers used. I am hoping to change their opinions on the matter, and expose them to ChucK!
Yes, that was the exact case here. Marcel, who organsed this, teaches MAX so most competitors were his students. MAX is great, nothing wrong with that, but I would've liked more diversity in this competition (I saw one other night as a spectator). After this finale I suspect next season will see more diversity. I do know that most of those students also get courses on SC so that would also be a likely system to be used next season as well. That's good, I think. IMHO not all MAX users were playing up to MAX's speciffic advantages like I did with ChucK's, using the physical modeling and re-sampling the output. I think that would likely change when more systems enter. Yours, Kas.
I'd love to see your code, Kassan.
I found that varying the Blit Saw, I was able to get somewhere in the
range of timbre I wanted for trying to do a TB-303 type device. I
wasn't too successful, but, I think that this is where one would start
if you were to be a bit more serious about it. It's a future idea for
me to work on. It was interesting to use Blit Saw and Square waves to
test the upper limits of whatever speaker system I was using, and
headphone types and such (and my own hearing, also!).
I need to experiment with the waveshaping functions to get a
distortion that I am happy with. I know people have done a lot of work
with this in CSound, but, the type of distortion I like (the Boss
Metal Zone) would perhaps be better acheived band-splitting the
signal, and then distorting and then combining again. I haven't
attempted this yet. I know the *theory* of what I want to do, and I
own the Metal Zone service manual. Maybe I'll wait for ChucK version
6.2 when I can input specific electronic components :P
You're probably away of how a single impulse => highly resonant filter
is exactly how many voices on analog drum synths work. I suppose I
should get around to having a go at making a drum synth that performed
like that. Randomizing the "components" at startup might prove useful
in humanizing the tone a little bit, as well as adding a low noise
floor, to alter the zero crossing stability whotzit.
-Ed
On 6/3/07, Kassen
On 6/2/07, Loscha
wrote: That sounds really great, Kassan. I don't suppose you have any recordings?
No, I don't but I could submit some code that's similar to what I did. The Blit-based bassline in particular came out nicely, I thought. It glitches as the waveform resets but the JCRev can turn those clicks into a nice effect (as long as you mind the gains!).
I haven't played with the impulse Ugen much, but, I was using the step last week to play a 16 step waveform. I think I'll go play with Impulse now, however.
Imulses are great for exciting filters. ResonZ does need a fairly large gain boost before it's loud enough if excited with only a Impulse.
I am finding almost all of the "Academic" music kids at my local Dorkbot (Melbourne, Australia) are using Max for their work, simply because it was what their lecturers used. I am hoping to change their opinions on the matter, and expose them to ChucK!
Yes, that was the exact case here. Marcel, who organsed this, teaches MAX so most competitors were his students. MAX is great, nothing wrong with that, but I would've liked more diversity in this competition (I saw one other night as a spectator). After this finale I suspect next season will see more diversity.
I do know that most of those students also get courses on SC so that would also be a likely system to be used next season as well. That's good, I think. IMHO not all MAX users were playing up to MAX's speciffic advantages like I did with ChucK's, using the physical modeling and re-sampling the output. I think that would likely change when more systems enter.
Yours, Kas.
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
-- www.loscha.com
On 6/2/07, Loscha
I'd love to see your code, Kassan.
Cool, I'll make a nice version of it tomorow (dog-tirered now) and share it. I found that varying the Blit Saw, I was able to get somewhere in the
range of timbre I wanted for trying to do a TB-303 type device. I wasn't too successful, but, I think that this is where one would start if you were to be a bit more serious about it. It's a future idea for me to work on. It was interesting to use Blit Saw and Square waves to test the upper limits of whatever speaker system I was using, and headphone types and such (and my own hearing, also!).
I think they are great. Varying harmonics is a nice fresh way of modulating timbre and of cource as long as you keep the number down there won't be any aliassing so that's a nice free-be. I need to experiment with the waveshaping functions to get a
distortion that I am happy with. I know people have done a lot of work with this in CSound, but, the type of distortion I like (the Boss Metal Zone) would perhaps be better acheived band-splitting the signal, and then distorting and then combining again. I haven't attempted this yet. I know the *theory* of what I want to do, and I own the Metal Zone service manual. Maybe I'll wait for ChucK version 6.2 when I can input specific electronic components :P
I've been meaning to try wave-shaping using that new function meant for shaping the curve of input signals. that one should be capable of some nice stuff though the CPU load at audio-rate might be high. There's another way that I've been meaning to try to implement but the principle is by a friend of mine and I need to check with him before writing publicly about it. Either way that's a nice field to do some ChucKing in, You're probably aware of how a single impulse => highly resonant filter
is exactly how many voices on analog drum synths work. I suppose I should get around to having a go at making a drum synth that performed like that. Randomizing the "components" at startup might prove useful in humanizing the tone a little bit, as well as adding a low noise floor, to alter the zero crossing stability whotzit.
Yeah, I'm aware of that.... Actually I tend to work with that principle a lot in my music, I'm realy into things like parametric EQ's with extreme settings. You can do a lot in the way of intonation by controlling the exact kind of impulse used. I did some pieces where I excited resonators using traditional drum-kits. It's quite amusing how highhats can turn into ways of bowing a "violin" that way. Yours, Kas.
On 6/2/07, Loscha
I'd love to see your code, Kassan.
As promissed, a version of that bassline for your enjoyment. Copying for educational purposes permitted, permission for public performance also granted but only in modified form ( ;¬) ). No waranties, no refunds. ------------------ //the Blit's waveform will reset sometimes if the Blit is modulated, creating a click, //the JCRev turns those into pleasant sounds but they realy // need those gains or there will be terrible clipping distortion. //I quite like the sound this one makes in this form. Blit b => JCRev r => dac; .5 => b.gain; .5 => r.gain; 40 => int foo; int bar; while(1) { for(1 => int n; n < 5; n++) { n => b.harmonics; 0.25::second => now; } //very simple algorithem to create the melody. //i'd like to hear about other or better tricks, anyone? //tweak the numbers for variations (++bar % 5) +=> foo; if(foo > 43) 40 => foo; Std.mtof(foo) => b.freq; } --------------- I contrasted this against some randomised sound made by the Shakers, of which I sporked multiple versions, then added one or two shreds of Shakers with the PRCRev for contrast. This'll give you some pleasant (to me) mellow techno-ish stuff very quickly with enough parameters to tweak and have fun with. Nothing especially clever here but it has a good ratio of fun per line of code. Happy tweaking! Kas.
Kassen wrote:
On 6/2/07, *Loscha*
mailto:loscha@gmail.com> wrote: I'd love to see your code, Kassan.
As promissed, a version of that bassline for your enjoyment. Copying for educational purposes permitted, permission for public performance also granted but only in modified form ( ;¬) ). No waranties, no refunds. ------------------ //the Blit's waveform will reset sometimes if the Blit is modulated, creating a click, //the JCRev turns those into pleasant sounds but they realy // need those gains or there will be terrible clipping distortion. //I quite like the sound this one makes in this form.
Blit b => JCRev r => dac; .5 => b.gain; .5 => r.gain;
40 => int foo; int bar;
while(1) { for(1 => int n; n < 5; n++) { n => b.harmonics; 0.25::second => now; } //very simple algorithem to create the melody. //i'd like to hear about other or better tricks, anyone? //tweak the numbers for variations (++bar % 5) +=> foo; if(foo > 43) 40 => foo; Std.mtof(foo) => b.freq; } ---------------
I contrasted this against some randomised sound made by the Shakers, of which I sporked multiple versions, then added one or two shreds of Shakers with the PRCRev for contrast. This'll give you some pleasant (to me) mellow techno-ish stuff very quickly with enough parameters to tweak and have fun with.
Nothing especially clever here but it has a good ratio of fun per line of code.
Happy tweaking! Kas.
------------------------------------------------------------------------
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
Inspiring! With so few lines of code! c. -- http://www.cesaremarilungo.com
On Jun 4, 2007, at 2:26 AM, Kassen wrote:
On 6/2/07, Loscha
wrote: I'd love to see your code, Kassan. As promissed, a version of that bassline for your enjoyment. Copying for educational purposes permitted, permission for public performance also granted but only in modified form ( ;¬) ). No waranties, no refunds.
That is quite a lovely timbre. --- Joe M.
That is quite a lovely timbre.
Thanks Joe and Cesare! I was very happy to discover that trick, not sure why exactly it sounds like it does. To me this one has some qualities that I asociate normally with slapping some analogue guitar effects on a synth sound. There are some pritty interesting interactions between that reverb and the Blit, for one thing if you don't cut back the gain of both there is terrible distortion, I would've imagined that just cutting back on the volume of the Blit would also prevent the JCRev from distorting. Maybe it hits some modes of the delays or something. Random bonus trickery that might help someone; It turns out that the dac is just a single object shared by all shreds. This means that if you should encounter clipping in a live context you can run a file that just goes something like; .8 => dac.gain; and all instances of the dac will be scaled. Maybe that was already obvious to everyone but me but I just discovered it a few days ago and I'm finding it very usefull when improvising. Kas.
I am finding almost all of the "Academic" music kids at my local Dorkbot (Melbourne, Australia) are using Max for their work, simply because it was what their lecturers used. I am hoping to change their opinions on the matter, and expose them to ChucK!
Yes, that was the exact case here. Marcel, who organsed this, teaches MAX so most competitors were his students. MAX is great, nothing wrong with that, but I would've liked more diversity in this competition (I saw one other night as a spectator). After this finale I suspect next season will see more diversity.
I am getting really tired of how "MAX-centric" (not to mention mac-centric) everyone who does any kind of experimental (or academic) electronic music is. I guess part of my annoyance is that it's prohibitively expensive, especially for a non-student. I can't afford either Max, or a Mac. But I just find it strange how people are really confused when I tell them I use PD instead of Max, and even though PD is free nobody seems interested in using it. Max just has some sort of "aura" of being the software you are "supposed" to use. The same thing seems to apply to ChucK, except moreso, because code really intimidates these people. They are really using Max because they learned it in class, first, and second they rely on such a huge amount of pre-built stuff, and may have little understanding of basic coding logic. Now, I don't particularly want to build DSP from the ground up (I still don't understsand stuff like fft math very well, or basic filters), but working in PD and ChucK has, I believe, given me a much better idea of the logic of constructing generative works from scratch, so much so that I feel I could learn to do it in almost any environment at this point with a little patience. I highly doubt that the typical Max user could say the same. I also wanted to say that Kassen's report has really inspired me to try to get into livecoding by the end of the some, if I can ever get a break from writing crappy PHP for people's websites... ~David
On Jun 2, 2007, at 6:16 PM, David Powers wrote:
I am getting really tired of how "MAX-centric" (not to mention mac-centric) everyone who does any kind of experimental (or academic) electronic music is. I guess part of my annoyance is that it's prohibitively expensive, especially for a non-student. I can't afford either Max, or a Mac. But I just find it strange how people are really confused when I tell them I use PD instead of Max, and even though PD is free nobody seems interested in using it. Max just has some sort of "aura" of being the software you are "supposed" to use.
i think this really depends on the circles you work in, not to mention country. max seems to be very dominant in anglo-saxon countries and asia, PD more in southern europe, south america. this of course from my completely irrelevant personal point of view ; ) i'm a heavy max user, it's my main tool and i rely on it for every project. it's expensive, though with the student discount, it's definitely great value compared to general commercial software. i think there are a few reasons people don't move en masse to pd: -lack of clear documentation (compared to c74) -the interface seems less friendly -all in all it's more difficult to get into in part due to the image, C74's corporate thing is just more accessible they both have their strengths and weaknesses, which imo are quite different from chuck. things like super collider and chuck are just intimidating because they are text based.
The same thing seems to apply to ChucK, except moreso, because code really intimidates these people. They are really using Max because they learned it in class, first, and second they rely on such a huge amount of pre-built stuff, and may have little understanding of basic coding logic. Now, I don't particularly want to build DSP from the ground up (I still don't understsand stuff like fft math very well, or basic filters), but working in PD and ChucK has, I believe, given me a much better idea of the logic of constructing generative works from scratch, so much so that I feel I could learn to do it in almost any environment at this point with a little patience. I highly doubt that the typical Max user could say the same.
i don't know about the typical max user, but i tend to seriously disagree on this. all tools of this type (max, pd, chuck, sc,...) really depend on understanding it on every level before you can depend on them. the only exception to this seems to be reaktor. best isjtar
I am finding almost all of the "Academic" music kids at my local Dorkbot (Melbourne, Australia) are using Max for their work, simply because it was what their lecturers used. I am hoping to change their opinions on the matter, and expose them to ChucK!
Yes, that was the exact case here. Marcel, who organsed this, teaches MAX so most competitors were his students. MAX is great, nothing wrong with
On 6/3/07, David Powers
but I would've liked more diversity in this competition (I saw one other night as a spectator). After this finale I suspect next season will see more diversity.
I am getting really tired of how "MAX-centric" (not to mention mac-centric) everyone who does any kind of experimental (or academic) electronic music is. I guess part of my annoyance is that it's prohibitively expensive, especially for a non-student. I can't afford either Max, or a Mac. But I just find it strange how people are really confused when I tell them I use PD instead of Max, and even though PD is free nobody seems interested in using it. Max just has some sort of "aura" of being the software you are "supposed" to use.
I have to say "Bump" on that about [Max/Mac] -centricity. I respect Max (hey, it's named after one of my top 5 heroes of music), and I have utmost respect for the work that people like Brad does; Adding ~chuck into Max is awesome. It's a level of coding I will never aspire to, but, as Oppenheimer is misquoted as saying "Who'll bake the Bread?". Please, allow me to indulge you all with a little tale about my history in "computer music". I remember trying to get into CSound back in 1996. I was poorer than a student -- I was on mediocre welfare, living a small town where I had to struggle to get access to a computer with a CD-ROM drive (remember Caddies?). I had to pay to download software at my local town library. Through a bizarre chain of events through someone's website I'd learned about CSound, and this place called IRCAM (where they were doing the vocal effects for a foreign film Farinelli was done). I was spending the majority of my luxury money on copies of Future Music and Sound on Sound because these were the only publications I could get my hands on. It had software on CDs. CDs! I would occasionally get to copy this stuff onto floppy disks (spanned zips) and would play them on my woeful IBM made 386, no co-pro, no sound, non upgradable PS2. With 2 megabytes of ram. I would run a CSound example, y'know, toot1 toot2. Save them to 5K 8 bit sound files, then load up Windows 3.1 where I installed a driver someone got for me from the internet that played wave sounds through your PC speaker. I thought I was so hardcore, and, in a lot of ways, I was. I struggled with CSound for a few weeks, but, due to overwhelming lack of technology, I never got back into it. Instead, I purchased a Synthesizer. I had Mark Vail's book on "Synthesizers". I saw a Dx7IIFD in a store, it was potentially within my price range -- if they'd let me pay it off over 3 months, which, joy -- they did. I ended up getting it. I had NO IDEA about FM at all! It was an uphill battle, but, I managed to get my hands on a copy of "FM Synthesis..." by Chowning & Bristow. That was a whole other kettle of fish. I have a livelong obsession with FM, as you can tell from my website www.loscha.com, particularly the www.loscha.com/ybb page. I've been collecting FM synthesizer service manuals for quite a while, datasheets of different chips, and even old soundcards with discrete FM chips. I dabble in electronics engineering, so, I might make something from the YM3812s one day). It wasn't until 2002 that I owned a computer fast enough to consider doing serious music on (Duron 800) which is what I am using for Chuck, and trying to get into Pd a bit, too. I prefer to use open source sound software whenever possible, I've purchased some software over the years -- well, purchased is a loose term. I've had it purchased for me by caring family members and a few donations from caring fellow musicians. I believe in ChucK, like there are a lot of people out there who believe in Linux, that it can change the world, even in small ways. ChucK will be able to run on Mobile Phones, soon (if it can't already). Hopefully, those guys and gals who get Linux to run on FPGA boards the size of playing cards will be able to squeeze ChucK on there, too. Imagine -- unplugging your USB cable from the side of a box the size of a pack of cigarettes (not that I smoke), plugging in headphones and a few AAs -- and listening to a beautiful piece of music a friend on the other side of the world made last night, generated in real-time right there in your pocket? That would be truly beautiful. And, you know what? I'm pretty sure I'll be alive to see it. -Edward
On 6/2/07, David Powers
I am getting really tired of how "MAX-centric" (not to mention mac-centric) everyone who does any kind of experimental (or academic) electronic music is. I guess part of my annoyance is that it's prohibitively expensive, especially for a non-student. I can't afford either Max, or a Mac. But I just find it strange how people are really confused when I tell them I use PD instead of Max, and even though PD is free nobody seems interested in using it. Max just has some sort of "aura" of being the software you are "supposed" to use.
I agree with a lot of what you are saying here. Max is fine and clearly it's acessible and let's not forget that for some time it was the only system that could do many of those things around and that institutions change at a slower pace then bedroom-studio-ists do. Personally I'm getting the imprssion that if you realy want to take advantage of what Max can do you will quickly end up with a file that's hard to manage and where doing those things isn't that accessible anymore, but I have to add that I didn't seriously use it. Aside from being able to afford to buy things; I think it's great that trying ChucK is free. Low tresholds are a definate pre. I think this is especially interesting in livecoding. The open-ness of that mode of performing is realy harmed IMHO if systems are used that are hard to aquire. Low tresholds are a definate pre in educational systems as well. The same thing seems to apply to ChucK, except moreso, because code
really intimidates these people. They are really using Max because they learned it in class, first, and second they rely on such a huge amount of pre-built stuff, and may have little understanding of basic coding logic. Now, I don't particularly want to build DSP from the ground up (I still don't understsand stuff like fft math very well, or basic filters), but working in PD and ChucK has, I believe, given me a much better idea of the logic of constructing generative works from scratch, so much so that I feel I could learn to do it in almost any environment at this point with a little patience. I highly doubt that the typical Max user could say the same.
I agree, mostly, but I got the impressiont that ChucK code is comparatively un-intimidating. For one thing stuff like "maybe" and "=>" are very intuitive and kind of funny, for another it's compact and there is (still) no need or real use in importing lots of things all the time. I also wanted to say that Kassen's report has really inspired me to
try to get into livecoding by the end of the some, if I can ever get a break from writing crappy PHP for people's websites...
That's great to hear! I think we hardly scratched the surface of livecoding yet. I'd love to see where it could go with different formats, more practice and systems that get optimised for it as we start to understand what's needed. I could for example well imagine that the Mini could get tools and hotkeys that would be especially suited for that style of coding. It's most definately a very exciting fieldd to dable in now. Yours, Kas.
On 6/2/07, Loscha
wrote: I am finding almost all of the "Academic" music kids at my local Dorkbot (Melbourne, Australia) are using Max for their work, simply because it was what their lecturers used. I am hoping to change their opinions on the matter, and expose them to ChucK!
[chuck~] ! (working on an updated version this week a bit...) and of course there's always my fave [rtcmix~]... :-) brad http://music.columbia.edu/~brad
participants (7)
-
Cesare Marilungo
-
David Powers
-
garton@columbia.edu
-
isjtar
-
Joe McMahon
-
Kassen
-
Loscha