I've achieved  dreadfulness with this. Okay, will vary the rhythm etc and reduce the range, get a more interesting scale, but... hmm!
SawOsc s => JCRev r => dac;
.1 => s.gain;
.1 => r.mix;
1 => int incsamp;
0 => int ps;
1 => float height;
0 => float maxsofar;
0 => float freq;
SndBuf buf;

"/home/forrest/chuck/examples/basic/om.wav" => buf.read;

buf.samples()  => int numSamples;
 Std.rand2(1, numSamples-1) => incsamp;
while(true){
(incsamp + ps) % numSamples => ps;
buf.valueAt(ps) + 0.125 => height;
Std.mtof(Math.ceil(Std.fabs(500.0 * height)) ) => freq => s.freq;

if(freq > maxsofar) {
freq => maxsofar;
<<< maxsofar >>>;
}
0.75::second => now;
}






On Sun, Apr 19, 2020 at 1:42 PM Forrest Curo <treegestalt@gmail.com> wrote:
Um. that works.
So does this:
SndBuf s => blackhole;
"/home/forrest/chuck/examples/basic/om.wav" => s.read;
float samples;
0 => int i;
while (s.pos() < s.samples())  {
    <<< s.last() >>>;
    s.pos() => i;
    (s.valueAt(i)) => samples;
    <<< samples >>>;
    samp => now;
}

I was having trouble trying to read a sndBuf like an array, or put its contents into an array.
Maybe I was reading numbers off the end of the file. Declaring
'float samples[]; '
and doing
's.valueAt(i) => samples[i];'

got me a 'Null pointer' error.

Stumbling over syntax, I guess. Thanks for help!

On Sun, Apr 19, 2020 at 10:54 AM Perry Cook <prc@cs.princeton.edu> wrote:
This is truly odd.  I don’t have easy means to test it.   I don’t
know why it wouldbe broken dependent on the dac, however.

For fun you might try something like this, just to verify that the
valueAt() function is what’s busted.

SndBuf s => blackhole; 
“Fred.wav” => s.read;

while (s.pos() < s.samples())  {
    <<< s.last() >>>;
    samp => now;
}

PRC

> On Apr 19, 2020, at 9:00 AM, chuck-users-request@lists.cs.princeton.edu wrote:
>
> Send chuck-users mailing list submissions to
>       chuck-users@lists.cs.princeton.edu
>
> To subscribe or unsubscribe via the World Wide Web, visit
>       https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
> or, via email, send a message with subject or body 'help' to
>       chuck-users-request@lists.cs.princeton.edu
>
> You can reach the person managing the list at
>       chuck-users-owner@lists.cs.princeton.edu
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of chuck-users digest..."
>
>
> Today's Topics:
>
>   1. sndBuf.valueAt (Forrest Curo)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Sun, 19 Apr 2020 07:30:15 -0700
> From: Forrest Curo <treegestalt@gmail.com>
> To: ChucK Users Mailing List <chuck-users@lists.cs.princeton.edu>
> Subject: [chuck-users] sndBuf.valueAt
> Message-ID:
>       <CAAn-Ecy0LKVHCWmoUL2Y7w67rsibhRAHOOkN1neZyU=az3vm=g@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Using chuck linux-jack this gives me reasonable numbers between -1 and 1.
> Using chuck linux-alsa I'm able to play the file I've read into sndBuf; but
> trying to copy it via .valueAt gives absurdly high ["out of range"] numbers
> at each point. [It can be a different high number different times I run
> chuck, but the number it is turns up at every point I sample.]
>
> Is there a fix for this? Aside from using jack on a computer where it
> befnurgles the midi?
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20200419/76d94eef/attachment-0001.html>
>
> ------------------------------
>
> _______________________________________________
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
>
> End of chuck-users Digest, Vol 176, Issue 4
> *******************************************

_______________________________________________
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users