Hey Chuck Users, I'm a computer programmer, guitarist and singer who lives in London. Recently I have moved away from pure acoustic performances and have been using boss loop pedal and effects in gigs which has been fantastic but I'm already finding limitations. Then I had the idea that I might be able merge my programming skills with my music and program my own loop pedal rig using ChuCK software and a midi foot controller. It would be able to loop my guitar and voice multiple times live (like traditional loop pedals), turn loops on and off, and also apply real time manipulation, ping pong delays, pitch shifting, algorithmic harmonizations and who knows what else. I would control this all with a midi foot controller and a laptop while I play and sing. I was wondering if anyone has tried doing this type of thing before? A lot of what I have read seams to be more about virtual synthesis rather than real time audio manipulation/looping in a live performance? Is this something ChuCK could do well? What about performance, stability, or latency? I'm going to download ChuCK and play around to try and find these answers myself soon but any useful pointers and suggestions would be most appreciated. Thanks in advance for your help, Jacob http://myspace.com/jacobdoran/
Jacob:
An emphatic YES: ChucK is great for live manipulation as well as for synthesis.
In my experience, ChucK is well-nigh ideal for what you're after. In
my alt-deviant-jazz band, I play ChucK exclusively. (My band mates
play tenor sax, guitar, acoustic bass and drums.) One of our favorite
patches is where I capture snippets of what someone has just played
(via microphone) and subsequently apply an "audio cuisinart" to it:
looping, pitch and time scaling, etc. I use a six axis joystick and
a dinky little keyboard for controls, and they work well with ChucK.
Since I need to follow someone else's tempo, a "tap tempo tracker"
lets me play loops that stay in synch with the drummer. And I
typically wail HARD on ChucK for an hour at a time without any
crashes. I could go on, but you get the idea.
Since you're a programmer, you'll appreciate that ChucK does NOT
provide a lot of pre-canned libraries -- it's up to you to develop
your own sounds and how you control them -- but I consider that a
feature of ChucK and not a bug, akin to painters who grind their own
pigments rather than buy pre-made colors.
- Rob
2010/5/18 Jacob Doran
Hey Chuck Users, I'm a computer programmer, guitarist and singer who lives in London. Recently I have moved away from pure acoustic performances and have been using boss loop pedal and effects in gigs which has been fantastic but I'm already finding limitations. Then I had the idea that I might be able merge my programming skills with my music and program my own loop pedal rig using ChuCK software and a midi foot controller. It would be able to loop my guitar and voice multiple times live (like traditional loop pedals), turn loops on and off, and also apply real time manipulation, ping pong delays, pitch shifting, algorithmic harmonizations and who knows what else. I would control this all with a midi foot controller and a laptop while I play and sing. I was wondering if anyone has tried doing this type of thing before? A lot of what I have read seams to be more about virtual synthesis rather than real time audio manipulation/looping in a live performance? Is this something ChuCK could do well? What about performance, stability, or latency? I'm going to download ChuCK and play around to try and find these answers myself soon but any useful pointers and suggestions would be most appreciated. Thanks in advance for your help, Jacob http://myspace.com/jacobdoran/ _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
On 18 May 2010 18:39, Robert Poor
An emphatic YES: ChucK is great for live manipulation as well as for synthesis.
In my experience, ChucK is well-nigh ideal for what you're after.
Indeed. And on top of that we have the Lisa UGen, which does much of this out of the box and which was made by Dan who is also both a programmer and a musician playing more traditional instruments. I suggest taking LiSa for the core of the system and once that works looking into analysis to make any transformations on the original material or whatever hybrid-techniques you come up with "aware" of factors like pitch, note onset, zero-crossings, etc. Inspired by Nick Collins's papers on breakbeat-cutting I got into starting such operations with a analysis stage and I'm never going back. He primarily talks about things like transients for beat-detection but there is no reason why that perspective couldn't be adapted to deal with pitch or any number of other factors. Assuming you can keep the latency down you can give commercial pedals a real run for their money in this field. I'd be tempted to look into a expression pedal (not just switches) or perhaps a accelerometer bolted to the guitar itself to control parameters beyond a simple on/off. I'd also try to keep the graphical feedback to a bare minimum (if anything) and instead focus on trying to create features so so simple (yet powerful) that this isn't needed. Go for it! Ask questions! Post sounds! Yours, Kas.
Kassen wrote:
Indeed. And on top of that we have the Lisa UGen, which does much of this out of the box and which was made by Dan who is also both a programmer and a musician playing more traditional instruments.
I've never been able to grok LiSa -- the doc and examples leave me confused. Maybe could someone write up an example that demonstrates the basic Echoplex use case? Record from dac On start event, start recording On stop event, loop recording and pass through dac On overdub event, loop recording and start recording another loop from dac michael
I've never been able to grok LiSa -- the doc and examples leave me confused. Maybe could someone write up an example that demonstrates the basic Echoplex use case?
We lack a example like that? That's a issue, imho. We need something like that in the examples dir; it'd be useful and aside from the literal working demonstrate a example of how we can integrate ChucK in (electro) acoustical setups. I'll make one this week, remind me if I slack on this. I "need" one anyway as I've been meaning to get into the electric guitar that I got out of a bass-player's trash when he was moving :-) Yours, Kas.
I've always used the comments at the end of the file
examples/special/readme-LiSa2.ck as an LiSa Ugen API reference, although I
think that there are still many undocumented "features" of LiSa. I'd love
to have a basic example for this--all our LiSa examples do granular munging,
which is only one trick in the canon (and the least basic one at that). I'd
be glad to add my $0.02 to a basic example of a rather under-used Ugen.
Cheers,
Mike
2010/5/18 Kassen
I've never been able to grok LiSa -- the doc and examples leave me confused. Maybe could someone write up an example that demonstrates the basic Echoplex use case?
We lack a example like that? That's a issue, imho. We need something like that in the examples dir; it'd be useful and aside from the literal working demonstrate a example of how we can integrate ChucK in (electro) acoustical setups.
I'll make one this week, remind me if I slack on this. I "need" one anyway as I've been meaning to get into the electric guitar that I got out of a bass-player's trash when he was moving :-)
Yours, Kas.
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
I've use ChucK a lot for recording my guitar and then do stuff with it,
controlled by a Roland PK-5A (an organ-style pedal MIDI controller). It
works great! Ive used LiSa for this. If working with organ bass pedals feels
strange I've heard good stuff about the Behringer FCB1010.
My view is that you don't need anything besides ChucK to get this to work -
in fact, other stuff would only get in the way. But that's just me. (Granted
I've done this sort of thing on the NMG2 as well, but I didn't mix it with
ChucK - I use one instrument at a time).
For particular issues with LiSa or other things, do a post and quite
probably me or someone else can help out (I think electro-music.com is
better for that kind of stuff, though this mailing list also works I guess).
One thing I struggled with (possibly only a problem on the MOTU units) was
getting the right input in to ChucK.
/Stefan
2010/5/18 mike clemow
I've always used the comments at the end of the file examples/special/readme-LiSa2.ck as an LiSa Ugen API reference, although I think that there are still many undocumented "features" of LiSa. I'd love to have a basic example for this--all our LiSa examples do granular munging, which is only one trick in the canon (and the least basic one at that). I'd be glad to add my $0.02 to a basic example of a rather under-used Ugen.
Cheers, Mike
2010/5/18 Kassen
I've never been able to grok LiSa -- the doc and examples leave me confused. Maybe could someone write up an example that demonstrates the basic Echoplex use case?
We lack a example like that? That's a issue, imho. We need something like that in the examples dir; it'd be useful and aside from the literal working demonstrate a example of how we can integrate ChucK in (electro) acoustical setups.
I'll make one this week, remind me if I slack on this. I "need" one anyway as I've been meaning to get into the electric guitar that I got out of a bass-player's trash when he was moving :-)
Yours, Kas.
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
-- http://michaelclemow.com http://semiotech.org
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
-- Release me, insect, or I will destroy the Cosmos!
I'm had at Live Performanse of Chuck. SqrOsc n => SawOsc p1 =>HPF hpf => LPF lpf => Chorus r =>Pan2 p =>dac; p1 => blackhole; //////LFO moduration OSC/////// PulseOsc o =>blackhole; PulseOsc lfo; 5 =>lfo.freq; 1 => lfo.gain; .999 => o.width; 1 => o.gain; 11 => o.freq; //////////reverb/////////////// 2 => r.modDepth;//MAX::3!! 2 => r.modFreq; .1 => r.mix; ///hpf 3~ too bad!!!~//// 20 =>hpf.freq; 16000=> lpf.freq; 110/2 => n.freq; 10 => n.gain; p =>blackhole; 2 => p1.gain; 110 => p1.freq; 44 => p1.phase; //Std.rand2(.15,0.9)=> p1.width; //.50 => p1.width; 15 => float t; // Pan smaller == smoother 150::ms => dur T; ///////////////////////////////////// // carrier frequency 4 => float cf; // modulator frequency 440*12 => float qf => p1.freq; // index of modulation 10 => float index; ///////////////////////////////////// // time-loop while( true ) { 110/3 => n.freq; 10 => n.gain; // modulate qf + (index * qf * p1.last()+ t ) => p1.freq; Math.sin(t) => p.pan; T / 1::ms *10 +=> t; // advance time by 1 samp (now + 1::samp) => now; //140::ms =>now; Math.sin(t) => p.gain; // Math.sin(100) => p1.width; ((lfo.last() + 1.0) / 4.0) * 4 => o.gain; 125::ms => now; 55/2 =>n.freq; // p =>blackhole; 3 => p1.gain; //110 => p1.freq; 1/3 => p1.phase;//////point !!!!"%"or"/"is difference print!!! //Std.rand2(.15,0.9)=> p1.width; //.0001=perc;// Math.sin(.1) => p1.width; 10 => float index; 125::ms + now => now; } while(true){ (100::samp + now) => now; } a,simple code but able very frex soundcontrol. takashi On 2010/05/19, at 3:09, Stefan Blixt wrote:
I've use ChucK a lot for recording my guitar and then do stuff with it, controlled by a Roland PK-5A (an organ-style pedal MIDI controller). It works great! Ive used LiSa for this. If working with organ bass pedals feels strange I've heard good stuff about the Behringer FCB1010.
My view is that you don't need anything besides ChucK to get this to work - in fact, other stuff would only get in the way. But that's just me. (Granted I've done this sort of thing on the NMG2 as well, but I didn't mix it with ChucK - I use one instrument at a time).
For particular issues with LiSa or other things, do a post and quite probably me or someone else can help out (I think electro-music.com is better for that kind of stuff, though this mailing list also works I guess). One thing I struggled with (possibly only a problem on the MOTU units) was getting the right input in to ChucK.
/Stefan
2010/5/18 mike clemow
I've always used the comments at the end of the file examples/special/readme-LiSa2.ck as an LiSa Ugen API reference, although I think that there are still many undocumented "features" of LiSa. I'd love to have a basic example for this--all our LiSa examples do granular munging, which is only one trick in the canon (and the least basic one at that). I'd be glad to add my $0.02 to a basic example of a rather under-used Ugen. Cheers, Mike
2010/5/18 Kassen
I've never been able to grok LiSa -- the doc and examples leave me confused. Maybe could someone write up an example that demonstrates the basic Echoplex use case?
We lack a example like that? That's a issue, imho. We need something like that in the examples dir; it'd be useful and aside from the literal working demonstrate a example of how we can integrate ChucK in (electro) acoustical setups.
I'll make one this week, remind me if I slack on this. I "need" one anyway as I've been meaning to get into the electric guitar that I got out of a bass-player's trash when he was moving :-)
Yours, Kas.
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
-- http://michaelclemow.com http://semiotech.org
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
-- Release me, insect, or I will destroy the Cosmos! _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
Jacob Doran wrote:
I'm a computer programmer, guitarist and singer who lives in London. Recently I have moved away from pure acoustic performances and have been using boss loop pedal and effects in gigs which has been fantastic but I'm already finding limitations. Then I had the idea that I might be able merge my programming skills with my music and program my own loop pedal rig using ChuCK software and a midi foot controller. It would be able to loop my guitar and voice multiple times live (like traditional loop pedals), turn loops on and off, and also apply real time manipulation, ping pong delays, pitch shifting, algorithmic harmonizations and who knows what else. I would control this all with a midi foot controller and a laptop while I play and sing. I was wondering if anyone has tried doing this type of thing before? A lot of what I have read seams to be more about virtual synthesis rather than real time audio manipulation/looping in a live performance? Is this something ChuCK could do well? What about performance, stability, or latency?
Great question -- I'm looking forward to all the other responses in this thread. I will make the argument that it would be difficult to implement all of what you wish to do in ChucK directly, rather you will most likely end up with a hodge-podge of software tied together by JACK (or a similar audio routing tech) and MIDI and/or OSC for control change communication. JACK Audio Connection Kit http://jackit.sf.net/ Open Sound Control (OSC) 1.0 Specification http://opensoundcontrol.org/spec-1_0 For instance, I use SooperLooper for looping guitar and homemade instruments. I drive it programmatically via OSC in ChucK or Processing in response to keyboard, sound analysis, or timing-related events. SooperLooper http://sonosaurus.com/sooperlooper/ SooperLooper.ck in LicK http://github.com/heuermh/lick/blob/d66920295670221c50757cbaa4419d104549f8b0... Sooper Looper Java API via OSC interface http://sonosaurus.com/slforum/viewtopic.php?f=17&t=110&sid=dca55c845a6a41b54a382f8cc95a443f Since you have a MIDI foot controller, you could just use SooperLooper's MIDI interface directly. I'm uncoordinated with my feet, so I stick with code. :) michael
On 18 May 2010 18:47, Michael Heuer
I will make the argument that it would be difficult to implement all of what you wish to do in ChucK directly, rather you will most likely end up with a hodge-podge of software tied together by JACK (or a similar audio routing tech) and MIDI and/or OSC for control change communication.
Aside from how any non-trivial code demands that we consider structure, and how creating a instrument means thinking hard about our own artistic perspectives (both of which are hard, even if good end-results typically look like it's easy) I don't really see what would be very difficult here for ChucK as a system. I feel everything mentioned *should* be possible so if there turn out to be real issues we might need to look at them together and see what the issue is. As I see it the hardest part here will likely be the interface. "real" loopers are so nice partially because they are so simple. That presents real challenges for a "advanced looper". Maybe you for see other issues? Yours, Kas.
participants (7)
-
Jacob Doran
-
Kassen
-
Michael Heuer
-
mike clemow
-
Robert Poor
-
Stefan Blixt
-
田岡 卓