electro-music.org   Dedicated to experimental electro-acoustic
and electronic music
 
 Front Page  |  Radio  |  Forum  |  Media  |  Playlists  |  Wiki
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » DIY Hardware and Software » ChucK programming language
Used ChucK live last night
Post new topic   Reply to topic Moderators: Kassen
Page 1 of 1 [15 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
telstarmagikistferrari



Joined: Jun 16, 2008
Posts: 280
Location: Indianapolis, Indiana
Audio files: 43

PostPosted: Sun Mar 29, 2009 10:15 am    Post subject: Used ChucK live last night
Subject description: but what to learn next?
Reply with quote  Mark this post and the followings unread

Hey all,
I just wanted to put it out there that ChucK (even at my low level at competence) comes in very handy live. I played as part of a sound ensemble consisting of
a) a wild beatnik on the mic / typewriter (cool rhythms)
b) one person playing violin, saw, and other hand instruments thru a mic
c) one person with a macbook and an Iphone running cool sound-gathering/repeating software
d) i was using a police scanner, Plogue Bidule, and miniAudicle with some pretty simple code
Adapting code to (in my case) 75 bpm was interesting, and I accomplished it a couple different ways, both with and without the ADSR ugen. Some of the code used was not unlike my last post about randomizing ADSR times. I wonder at this point whether anyone has any advice on what aspect of ChucK to tackle next.. I've figured out how to randomize stuff pretty handily (which is one of the reasons I love chuck), and I understand the way different ugens have different parameters, etc. I'm just sort of at a loss as to where to go next. Arrays? Incrementing? The Step ugen? Impulse? I feel like you folks have a pretty good idea of where I stand and what roadblocks might be in my way at this point. Last night's successful employment of ChucK was well received and really gratifying and encouraging. Any input at all would be welcome.

Mark
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Sun Mar 29, 2009 10:28 am    Post subject: Reply with quote  Mark this post and the followings unread

That sounds way awesome! Was any of that recorded?

Arrays are quite essential, if you didn't get into those yet I suggest you do; you'll wonder how you ever lived without them.

After that I'd suggest reading up on sporked functions and getting into concurrency (a fancy word for doing a few things at the same time).

I'd also do some exercises trying to generate melodies by generating series of numbers through non-random means.

I suggest that while testing these things you try different UGens each a time and see what you like.

Also; have fun.

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
telstarmagikistferrari



Joined: Jun 16, 2008
Posts: 280
Location: Indianapolis, Indiana
Audio files: 43

PostPosted: Sun Mar 29, 2009 10:39 am    Post subject: Reply with quote  Mark this post and the followings unread

Thanks Kassen for the thoughtful reply.. you all are quite gracious and patient. Here's a link to a photo of our performance, I'm the guy with glasses to the left.

http://www.flickr.com/photos/bigcar/3394406616/

There are others that show the other two performers as well.

edit: what are all the math functions? I know Std.rand2 and 2f, Std.mtof, but that's about it. I think I need to go thru the manual again.
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Sun Mar 29, 2009 10:51 am    Post subject: Reply with quote  Mark this post and the followings unread

Well, there is the whole "Math" library (see the manual reference on this) and of course you can use things like this;
Code:

2 => int A;
3 => int B;
while(true)
   {
   <<<"next round!">>>;
   <<< A + B >>>;
   <<< A - B >>>;
   <<< A * B >>>;
   <<< A / B >>>; //notice how it matters whether you use floats or ints!
   <<< A % B >>>;
   A++; //increment
   second => now;
   }

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
telstarmagikistferrari



Joined: Jun 16, 2008
Posts: 280
Location: Indianapolis, Indiana
Audio files: 43

PostPosted: Sun Mar 29, 2009 11:04 am    Post subject: Reply with quote  Mark this post and the followings unread

One thing that's been bugging me to figure out is: how to set up an infinite loop for processing incoming adc signals? I'm sure the answer is simple but it's just escaping me. I want to hear my guitar thru John Chowning's reverb damnit!
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Sun Mar 29, 2009 11:08 am    Post subject: Reply with quote  Mark this post and the followings unread

Easy once you know how :¬)

Code:

adc => JCRev room => dac; //signal chain
.3 => room.mix; //wet-dry mix
day => now; //close enough to infinite?

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
kijjaz



Joined: Sep 20, 2004
Posts: 765
Location: bangkok, thailand
Audio files: 4

PostPosted: Sun Mar 29, 2009 11:10 am    Post subject: Reply with quote  Mark this post and the followings unread

I recommend programming with HID, especially my favorite tool: USB Joystick.

It usually have many buttons and also 3-4 or more axises. They can be very handy in many situations and it looks good as well hahahha.
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 6221
Location: near Austin, Tx, USA
Audio files: 270

PostPosted: Sun Mar 29, 2009 12:09 pm    Post subject: Reply with quote  Mark this post and the followings unread

I agree with what has been said, and I'll add that when I'm thinking of a new project what I sometimes do is look at the documentation pages, especially the UGens page. I look at all those thingies and wonder: "What could I do with this or that UGen". It is also helpful to look at code posted by others including the examples and code posted here. That will give you ideas and you can copy and or modify the code of others. I make use of kijjaz's code all the time, heh.
_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Sun Mar 29, 2009 12:16 pm    Post subject: Reply with quote  Mark this post and the followings unread

Also; code a lot. We can teach you techniques, answer questions and help in other ways but *the* main way to learn about programming is by programming and by reading what others wrote. In that sense ChucK is a lot like a piano; you also master that instrument by playing it a lot.
_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
seraph
Editor
Editor


Joined: Jun 21, 2003
Posts: 12398
Location: Firenze, Italy
Audio files: 33
G2 patch files: 2

PostPosted: Sun Mar 29, 2009 12:44 pm    Post subject: Reply with quote  Mark this post and the followings unread

Kassen wrote:
ChucK is a lot like a piano; you also master that instrument by playing it a lot.

I don't know anything about ChucK but something about the piano Wink it's not about playing a lot (that may help, of course) but knowing what you are doing and being focused. quality time is more important that quantity of time Wink maybe it applies to ChucK too Exclamation

_________________
homepage - blog - forum - youtube

Quote:
Don't die with your music still in you - Wayne Dyer
Back to top
View user's profile Send private message Visit poster's website
telstarmagikistferrari



Joined: Jun 16, 2008
Posts: 280
Location: Indianapolis, Indiana
Audio files: 43

PostPosted: Sat Apr 25, 2009 7:10 am    Post subject: Reply with quote  Mark this post and the followings unread

Code:
TriOsc s => dac;
0.3 => s.gain;
int x;
while (111::ms => now)
{
   ((x * 32)% 21 )+ 200 => s.freq;
    x++;
    111::ms => now;
}


I came up with this after watching kijjaz's livecoding youtube video. It's kind of a breakthrough for me, thanks kijjaz. This is just the first implementation of this kind of math I came up with. I saw the possibilities of modulo right off the bat but didn't know how to implement it. Thanks folks.
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 6221
Location: near Austin, Tx, USA
Audio files: 270

PostPosted: Sat Apr 25, 2009 7:26 am    Post subject: Reply with quote  Mark this post and the followings unread

Telstar, got your code and going to feature it on the next ChucK Show! Do you have any biographical info to add? Kewl dude!
_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
telstarmagikistferrari



Joined: Jun 16, 2008
Posts: 280
Location: Indianapolis, Indiana
Audio files: 43

PostPosted: Sat Apr 25, 2009 9:02 am    Post subject: Reply with quote  Mark this post and the followings unread

nothing other than my thanks to kijjaz for his example. thanks for including my code Inventor! Smile
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
telstarmagikistferrari



Joined: Jun 16, 2008
Posts: 280
Location: Indianapolis, Indiana
Audio files: 43

PostPosted: Sat Apr 25, 2009 11:43 am    Post subject: Reply with quote  Mark this post and the followings unread

Code:
TriOsc s => dac;
0.3 => s.gain;
int x;
while (111::ms => now)
{
   ((x * 32)% 7 )+ 100 => s.freq;
    x++;
    100::ms => now;
}


Here's an alternate version, I kind of like the meditative angle this one takes. Not that I think much of this code, but I appreciate you including it.
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
telstarmagikistferrari



Joined: Jun 16, 2008
Posts: 280
Location: Indianapolis, Indiana
Audio files: 43

PostPosted: Sat Apr 25, 2009 11:45 am    Post subject: Reply with quote  Mark this post and the followings unread

Code:
TriOsc s => JCRev r => dac;
0.3 => r.gain;

int x;
while (50::ms => now)
{
   Std.rand2f(0.05, 0.3) => r.mix;
   ((x *5)% 44 )* 34  => s.freq;
    x++;
    100::ms => now;
}


one more.. feel free to use your favorite.
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
Display posts from previous:   
Post new topic   Reply to topic Moderators: Kassen
Page 1 of 1 [15 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software » ChucK programming language
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
Log in
Username:     Password:      Log me on automatically each visit    


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2026 by electro-music.org