If you know in advance what set of files to choose from, you could start by reading in a text file with all the file paths then make the random selection in chuck. This avoids system calls, which can mess with the timing of your real-time application since the chuck VM misses the time spent doing the system call (i.e. Std.system(“sleep 1”) causes mayhem). But if you want to be able to add files to a directory on the fly I think you have to do the system call. Just be aware of the timing issue - maybe it can be done in a thread. -Julian
From: Atte
Subject: [chuck-users] reading random sample Date: January 28, 2015 at 6:32:29 AM GMT-5 To: ChucK Users Mailing List Reply-To: ChucK Users Mailing List Hi
I'm trying to write a function that reads a random samples from a directory into a SndBuf. I'm not aware of the the necessary functionality being available in chuck, so I wrote a bash script that picks a random file from a directory and writes the name with full path to /tmp/random_file. When I call Std.system() I get a warning that I should use --caution-to-the-wind. This works well in chuck, but in fact I'm in miniAudicle, how do I call miniAudicle with that option? Just doing
$ miniAudicle --caution-to-the-wind
makes miniAudicle think I want to start with a blank file called "--caution-to-the-wind"...
-- Atte
From: Atte
Subject: Re: [chuck-users] reading random sample Date: January 29, 2015 at 6:25:08 AM GMT-5 To: chuck-users@lists.cs.princeton.edu Reply-To: ChucK Users Mailing List On 01/28/2015 12:32 PM, Atte wrote:
how do I call miniAudicle with that option?
Nevermind, I'm back to chuck, seems much more stable...
-- Atte
I haven't done this in a while, so I don't have the code at my fingertips,
but I used to read in sound files and then 'preheat' them by accessing at
least one sample. This would force them to get paged in, and (if you had
enough physical memory) would reduce the overhead when you actually went to
access them.
On Thu Jan 29 2015 at 9:50:38 AM Julian Faust
If you know in advance what set of files to choose from, you could start by reading in a text file with all the file paths then make the random selection in chuck. This avoids system calls, which can mess with the timing of your real-time application since the chuck VM misses the time spent doing the system call (i.e. Std.system(“sleep 1”) causes mayhem). But if you want to be able to add files to a directory on the fly I think you have to do the system call. Just be aware of the timing issue - maybe it can be done in a thread.
-Julian
participants (2)
-
Julian Faust
-
Robert Poor