[chuck-users] question about sporking

babiakb at bellsouth.net babiakb at bellsouth.net
Mon Oct 30 19:27:50 EST 2006


the code is up at the chuck forum at electromusic.com.  i decided to separate the functions into separate .ck machines.  everything worked perfectly then.  Machine.add and Machine.remove.  but when they are put all together and sporked in code, when removed, the notes stop processing but the last processed sample ran on for ever.  actually, i tried unchucking the ugens at the end of the function and it still happened.  but when called from .ck files on disk with machine.add and machine.remove everything was fine?!?  

i am using linux, ubuntu.  alsa build.  i believe this is a weird 1.2.7 bug that has something to do with my platform or hardware.  

brian
> 
> From: Spencer Salazar <ssalazar at CS.Princeton.EDU>
> Date: 2006/10/30 Mon PM 06:49:18 EST
> To: ChucK Users Mailing List <chuck-users at lists.cs.princeton.edu>
> Subject: Re: [chuck-users] question about sporking
> 
> This is a strange problem... perhaps you could send some small  
> snippet of chuck source that reproduces the issue?
> 
> One idea that might be worth trying is doing an un-chuck on all of  
> the shred's ugens from the dac before killing that shred.  If I  
> recall correctly, the virtual machine should be doing this for you  
> for free, but maybe something is going wrong with that.  Doing it  
> explicitly is supposed to stop all audio coming out of the ugens that  
> you unchuck.  For example, for a patch like this:
> 
> Blit b => LPF lowpass => dac;
> BlitSquare sq => PRCRev rev => dac;
> 
> you would unchuck everything directly connected to the dac before  
> exiting, like this:
> 
> lowpass =< dac;
> rev =< dac;
> 
> spencer
> 
> On Oct 29, 2006, at 12:03 PM, <babiakb at bellsouth.net>  
> <babiakb at bellsouth.net> wrote:
> 
> > I sent a message earlier today but didn't see it.  if it comes  
> > through twice for some reason, forgive.
> >
> > My problem is this: I spork a shred in code.  I do this with a  
> > reference, like, spork ~ function () @=> Shred @ reference
> >
> > then when it's time to remove, i use Machine.remove( reference,id() );
> >
> > the problem is, with oscillators and stks, the shreds do not stop  
> > audio cleanly.  for example, when i have phasor => lpf => dac and  
> > remove the shred, the notes stop, but a high pitched tone lingers.   
> > also, when BlowBotl => rev => dac and remove the shred, the notes  
> > stop, but a medium pitched noise sound lingers forever.
> >
> > the time is synchronized to beat with now % T etc.  I tried  
> > chucking and unchucking the ugens at the end of every loop.  i  
> > tried with machine.add and remove from file instead of spork.  i  
> > tried setting the gain and freq to zero at the end of every loop,  
> > but all these methods result in lingering sound.
> >
> > how do you completely kill the audio from a shred in code?
> >
> > any help?
> >
> > thanks in advance,
> > brian
> >
> >
> > _______________________________________________
> > chuck-users mailing list
> > chuck-users at lists.cs.princeton.edu
> > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
> 
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
> 



More information about the chuck-users mailing list