[chuck-users] LiSa SndBuf rate bug?

Daniel Trueman dtrueman at Princeton.EDU
Sat Nov 15 12:30:24 EST 2008


hmmm... not sure what's going on. the example works as expected for  
me, and as you describe how it should work (plays the whole file  
through at twice speed), using the most recent release of miniaudicle  
and chuck. and the last line should be lisa.duration() * 0.5 => now,  
though that shouldn't affect what you hear.

dt

On Nov 15, 2008, at 12:16 PM, mike clemow wrote:

> Hi Dan,
>
> I guess what I'm trying to say is that, when I run this example, I
> only get the first half of the SndBuf into LiSa and it plays back at
> half-speed when the rate is set to 1.  It seems to me, that this isn't
> right.  Since, the example came with the rate set to 2 in order to
> play back at normal speed, I assumed that you guys knew about this.
>
> buf.samples() * 1::samp => lisa.duration;
>
> This should (however you choose to write it) create a buffer equal in
> size to the SndBuf.
>
> for ( 0 => int i; i < buf.samples(); i++ ) {
>
> 	//args are sample value and sample index (dur must be integral in  
> samples)
> 	lisa.valueAt(buf.valueAt(i), i::samp);
> 	
> }
>
> Here, I understand we're copying all the samples from SndBuf into  
> LiSa.
>
> 1  => lisa.play;
> 2. => lisa.rate;
>
> Playing back with a rate of 2 should make it play back twice as fast
> as normal, if I understand this correctly, however, it doesn't seem to
> do so.
>
> lisa.duration() => now;
>
> This should advance time long enough to hear the whole thing.  This is
> true, but only because we have only the first half of the SndBuf in
> LiSa, and we hear it twice.  This doesn't seem right to me, unless I'm
> missing something.
>
> -Mike
>
>
>
> On Fri, Nov 14, 2008 at 9:24 PM, dan trueman  
> <dtrueman at princeton.edu> wrote:
>> 'tis an example. change the line:
>>
>> 2. => lisa.rate;
>>
>> to whatever you want to get a different rate. just make sure you  
>> change:
>>
>> lisa.duration() * 0.5 => now;
>>
>> to an appropriate value as well, to make sure it plays long  
>> enough....
>>
>> dt
>>
>> On Nov 14, 2008, at 8:10 PM, mike clemow wrote:
>>
>>> Hey folks,
>>>
>>> In the below example (which you will all find in the LiSa-SndBuf.ck
>>> file in examples in your installation), after populating the  
>>> buffer in
>>> the LiSa object with the values of the samples from SndBuf, the rate
>>> of the LiSa object is set equal to 2. in order to play back  
>>> normally.
>>> Why is it not 1?  Why this should be the case makes little sense  
>>> to me
>>> and I respectfully submit this as a bug, unless someone can  
>>> provide a
>>> reasonable explanation.
>>>
>>> Thoughts?
>>>
>>> -Mike
>>>
>>>
>>> -----
>>>
>>> //ugens
>>> SndBuf buf;
>>> LiSa lisa => dac;
>>>
>>> //change this path to your own sample
>>> "/Users/dan/Files/Chuck/LiSa_examples/TomVega.wav" => buf.read;
>>>
>>> //set lisa buffer size to sample size
>>> buf.samples() * 1::samp => lisa.duration;
>>>
>>> //transfer values from SndBuf to LiSa
>>> for ( 0 => int i; i < buf.samples(); i++ ) {
>>>
>>>        //args are sample value and sample index (dur must be  
>>> integral in
>>> samples)
>>>        lisa.valueAt(buf.valueAt(i), i::samp);
>>>
>>> }
>>>
>>> //party on...
>>> 1  => lisa.play;
>>> 2. => lisa.rate;
>>>
>>> //look at some of the data
>>> //returns value at given time, with linear interpolation
>>> <<< Std.rand2f( 0., lisa.duration() / 1::samp ) :: samp  =>  
>>> lisa.valueAt
>>>>>> ;
>>>
>>> //hang on until it's done...
>>> lisa.duration() * 0.5 => now;
>>>
>>> --
>>> http://michaelclemow.com
>>> http://semiotech.org
>>> _______________________________________________
>>> 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
>>
>
>
>
> -- 
> http://michaelclemow.com
> http://semiotech.org
> _______________________________________________
> 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