Hi,
Just to follow up on this, I was using audio files with a
different sample rate and that was obviously causing trouble.
When dealing with stereo files, both in SndBuf and SndBuf2 samples are accessed in frames:
```
buffer[0] = sample 0 left channel
buffer[1] = sample 0 right channel
buffer[2] = sample 1 left channel
...
```
The only thing that could be a bit misleading is that .samples()
doesn't return the actual number of samples, but number of samples
per channel.
Looking at the source code (ugen_xxx.cpp - row 770) I found the
documentation for .samples() says:
"Total number of sample in frames in the file"
Thus what .samples() returns is technically correct, but I'm
wondering couldn't this be a bit confusing? Maybe not and I should
have just checked that out. Might be one for the SndBuf example.
Cheers,
Mario
Hi Mario , I’m not at my computer right now, but wonder if you’ve tried SndBuf2?
On Wed, Jun 16, 2021 at 8:57 AM mario buoninfante <mario.buoninfante@gmail.com> wrote:
Hi,
I'm working on an algorithm that requires accessing samples from a
stereo file and am using SndBuf to achieve that.
I was expecting that to work so that samples were returned in "frames",
for example:
'''
buffer.valueAt(0) = sample 0 on left channel
buffer.valueAt(1) = sample 0 on right channel
buffer.valueAt(2) = sample 1 on left channel
buffer.valueAt(3) = sample 1 on right channel
...
'''
but that doesn't seem to be the case.
Also SndBuf.samples() always returns the same amount of samples,
regardless the file being mono or stereo (the size matches the time in
msec, so it seems that reports the size of a single channel).
I also played around with .channel(n), but I get the same set of samples
regardless the channel number used.
Then I just now found out that basically the channels seem to be stored
(or at least accessed) sequentially.
Let's say you have a stereo file containing 1024 samples (512 per
channel), you get:
samples 0-511 = left channel
samples 512-1023 = right channel
I was wondering if my assumption is correct, but also if this is
intentional.
Cheers,
Mario
--
musician, QA engineer
http://mbuoninfante.tumblr.com/
https://vimeo.com/creativecodingsalerno
https://github.com/mariobuoninfante
_______________________________________________
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
-- musician, QA engineer http://mbuoninfante.tumblr.com/ https://vimeo.com/creativecodingsalerno https://github.com/mariobuoninfante