[chuck-users] web integration (fao Jack Atherton)

Mícheál Ó Catháin micheal.ocathain at gmail.com
Thu Jul 23 15:17:22 EDT 2020


Jack
Thanks very much for the pointers on web chuck!
I've got a very basic setup working here
https://michealocathain.com/av/webchuck-test/.

Note I'm loading Chrome from the cli on a mac as follows:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
--autoplay-policy=no-user-gesture-required

It loads /chuck/micheal2.ck, which in plays aah.wav using a sndbuf ugen.

Chrome takes about 3 sec to load chuckscript.wasm, and about 2 sec to load
aah.wav.  This with an empty cache.  It's quicker to reload after the first
load, but it made me realise that there will possibly be a practical limit
on the size of .wav files loaded.

Has there been any best practice developed on how to (pre)load .wav files
longer than 5 seconds or so?  I'm interested in sampling from several ca. 5
min tracks I have recorded at 24bit, ie ca 100mb. This could be way beyond
the normal user-case for webchuck!!

I'm also curious to know if there is any variant of sndbuf which can handle
mp3's or other compressed formats?


Have done a scan of the chuck-users archive - apologies if I have missed
previous answers to my queries !!


Warm regards
micheal

On Wed, 22 Jul 2020 at 18:23, Mícheál Ó Catháin <micheal.ocathain at gmail.com>
wrote:

> Spencer
>
> Thanks a lot for your suggestions.  Yes, I'm definitely considering OSC
> between peer-peer connect Raspberry Pi's.  Still in testing mode with web
> chuck for now, and will see if it is the right setup for a low latency AV
> installation.
>
> Ideally I'd love to be able to load .ck files within javascript, driving
> visualisations via javascript libraries (I'm still looking into what's
> possible - have looked at p5.js and d3.js so far).
>
> Really useful that you raised the point on UDP.  Would an OSC javascript
> library give the best of both worlds, webchuck to allow chuck drive the
> javascript visualisations, with OSC maintaining low latency
> syncronisation?  I haven't tried yet, but this looks promising...
> https://github.com/colinbdclark/osc.js/
>
> Another consideration I should perhaps point out, is this...  I primarily
> am designing the AV installation for people to experience in person in a
> gallery space - hence the peer to peer set up as a priority.  However since
> the first showing is in October, a second wave lockdown could mean zero
> footfall.  As a backup, I'm looking to be able to run the whole
> installation on my webserver, so that for example a group of 4 friends
> could experience the installation on 4 laptops set up in a configuration of
> their choice in one of their homes.  Amazing to think that this is not so
> far fetched, latency issues aside...
>
> I've run ChucK on a single raspberry pi 3 before, using the linux-jack or
> linux-alsa compilation option. I definitely have LOTS to learn about
> getting the most out this setup, so I'll be glad of any pointers you may
> have, and will keep you and Jack posted!
>
> warmest wishes
> micheal
>
> From: Spencer Salazar <spencer.salazar at gmail.com>
> To: ChucK Users Mailing List <chuck-users at lists.cs.princeton.edu>
> Cc:
> Bcc:
> Date: Mon, 20 Jul 2020 16:54:30 -0700
> Subject: Re: [chuck-users] web integration
> Hey Micheal,
>
> As an alternative, if you intend for the sound to be coming from the
> Raspberry Pis and not a separate computer loading the webpages, you can run
> ChucK locally on the Raspberry Pi and communicate over OSC, though you may
> need to route OSC through Node as Im not certain that standard web browsers
> can send OSC over UDP natively. Its fairly easy to compile chuck on
> Raspberry Pi using the Linux compilation instructions (Ive done a lot of
> work with native ChucK + Raspberry Pi so can fill in any details if
> needed).
>
> Spencer
>
>
>
> On Mon, Jul 20, 2020 at 7:58 AM Mícheál Ó Catháin <
> micheal.ocathain at gmail.com> wrote:
>
>> hi
>> I'm developing an audiovisual installation to tour a number of arts
>> centres in Ireland. I want to use ChucK to drive the audio elements,
>> linking raspberry pi devices (up to 4) connected via hdmi to screens.  The
>> visuals I want to use browsers - probably firefox run off the RPi's.  Each
>> screen then displaying a different page from a javascript application run
>> from one of the RPi's.
>>
>> I've done some initial check online of running ChucK wrapped in
>> javascript, and this github page is the latest activity I can find
>> https://github.com/aknuds1/chuck.
>>
>> I thought it best to check with the user community if
>> 1) there are further developments on running ChucK in the browser
>> 2) if the av setup I'm considering has been done before so I could
>> perhaps link in and learn from others
>> 3) if there are better setups that I should be following...
>>
>>
>> Thanks and kind wishes
>> micheal
>>
>
>
>
> I'm still trying to understand if web chuck is an entirely different setup
> - i.e.,
>
> On Tue, 21 Jul 2020 at 17:00, <chuck-users-request at lists.cs.princeton.edu>
> wrote:
>
>> Send chuck-users mailing list submissions to
>>         chuck-users at 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 at lists.cs.princeton.edu
>>
>> You can reach the person managing the list at
>>         chuck-users-owner at 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. Re: visualizing UGens and UAnae (Mario Buoninfante)
>>    2. Re: web integration (Spencer Salazar)
>>    3. AutoCorr behavior (Curtis Ullerich)
>>
>>
>>
>> ---------- Forwarded message ----------
>> From: Mario Buoninfante <mario.buoninfante at gmail.com>
>> To: Curtis <curtullerich at gmail.com>
>> Cc: ChucK <chuck-users at lists.cs.princeton.edu>
>> Bcc:
>> Date: Mon, 20 Jul 2020 22:18:10 +0100
>> Subject: Re: [chuck-users] visualizing UGens and UAnae
>>
>> You can have dac using multiple channels so that for example you can
>> connect output 3 and 4 to baudline or any other software you want to use.
>>
>> Cheers,
>> Mario
>>
>> --
>> electronic musician, sound artist, creative coder, QA engineer
>> https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com
>> https://github.com/mariobuoninfante
>> https://bitbucket.org/mariobuoninfante
>> On 20 Jul 2020 22:12, Curtis Ullerich <curtullerich at gmail.com> wrote:
>>
>> Thank you! Plot seems like it'll do what I need for now. I wonder if
>> there's a way to tee output to be read by sndpeek or baudline from a graph
>> node other than dac.
>>
>> On Mon, Jul 20, 2020 at 2:02 PM Mario Buoninfante <
>> mario.buoninfante at gmail.com> wrote:
>>
>> Also, if you're on Linux I recommend Baudline (http://www.baudline.com/).
>> I often just leave it connected all the time.
>>
>> Cheers,
>> Mario
>>
>> --
>> electronic musician, sound artist, creative coder, QA engineer
>> https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com
>> https://github.com/mariobuoninfante
>> https://bitbucket.org/mariobuoninfante
>> On 20 Jul 2020 21:25, Curtis Ullerich <curtullerich at gmail.com> wrote:
>>
>> Is there a way to visualize the waveforms in UGens and data/waveforms in
>> UAnae? I was hoping to see something in MiniAudicle. It seems like sndpeek
>> could be useful here. My purpose is for debugging, so it doesn't need to be
>> pretty. I'm dreaming of something that can show any/all units in the graph.
>>
>> Thanks,
>> Curtis
>>
>>
>>
>>
>> ---------- Forwarded message ----------
>> From: Spencer Salazar <spencer.salazar at gmail.com>
>> To: ChucK Users Mailing List <chuck-users at lists.cs.princeton.edu>
>> Cc:
>> Bcc:
>> Date: Mon, 20 Jul 2020 16:54:30 -0700
>> Subject: Re: [chuck-users] web integration
>> Hey Micheal,
>>
>> As an alternative, if you intend for the sound to be coming from the
>> Raspberry Pis and not a separate computer loading the webpages, you can run
>> ChucK locally on the Raspberry Pi and communicate over OSC, though you may
>> need to route OSC through Node as Im not certain that standard web browsers
>> can send OSC over UDP natively. Its fairly easy to compile chuck on
>> Raspberry Pi using the Linux compilation instructions (Ive done a lot of
>> work with native ChucK + Raspberry Pi so can fill in any details if
>> needed).
>>
>> Spencer
>>
>>
>>
>> On Mon, Jul 20, 2020 at 7:58 AM Mícheál Ó Catháin <
>> micheal.ocathain at gmail.com> wrote:
>>
>>> hi
>>> I'm developing an audiovisual installation to tour a number of arts
>>> centres in Ireland. I want to use ChucK to drive the audio elements,
>>> linking raspberry pi devices (up to 4) connected via hdmi to screens.  The
>>> visuals I want to use browsers - probably firefox run off the RPi's.  Each
>>> screen then displaying a different page from a javascript application run
>>> from one of the RPi's.
>>>
>>> I've done some initial check online of running ChucK wrapped in
>>> javascript, and this github page is the latest activity I can find
>>> https://github.com/aknuds1/chuck.
>>>
>>> I thought it best to check with the user community if
>>> 1) there are further developments on running ChucK in the browser
>>> 2) if the av setup I'm considering has been done before so I could
>>> perhaps link in and learn from others
>>> 3) if there are better setups that I should be following...
>>>
>>>
>>> Thanks and kind wishes
>>> micheal
>>>
>>> michealocathain.com
>>> _______________________________________________
>>> chuck-users mailing list
>>> chuck-users at lists.cs.princeton.edu
>>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>>
>>
>>
>>
>> ---------- Forwarded message ----------
>> From: Curtis Ullerich <curtullerich at gmail.com>
>> To: ChucK Users Mailing List <chuck-users at lists.cs.princeton.edu>
>> Cc:
>> Bcc:
>> Date: Tue, 21 Jul 2020 01:07:31 -0700
>> Subject: [chuck-users] AutoCorr behavior
>> As a preamble, I'll note that I posted a question on chuck-dev about
>> AutoCorr/XCorr always crashing for me. This patch
>> <https://github.com/ccrma/chuck/pull/150> seems to fix that.
>>
>> That said, I don't understand the results I get from AutoCorr. For
>> periodic inputs, I expect to see periodicity in the output. For small FFT
>> sample sizes, I see the expected peak at 0, and at large sample sizes I see
>> a second peak at the end of the window. See example plots at 128
>> <https://i.ibb.co/BBZXgBB/autocorr-128.png> and 4096
>> <https://i.ibb.co/Mn5fty5/autocorr-4096.png>. That second peak is
>> correlated with the window size, not the input frequency.
>>
>> Thanks to Mario for his gnuplot wrapper
>> <https://github.com/mariobuoninfante/ChucK_various> that captured those
>> plots.
>>
>> Here's the plotting code if anyone would like to repro:
>> SinOsc s => FFT fft =^ AutoCorr c => blackhole;
>> 4400 => s.freq;
>> 128 => fft.size;
>> 300::ms => now;
>> c.upchuck();
>> Plot plot;
>> "autocorrelation of 4400 hz, 128 samples" => plot.title;
>> plot.plot(c.fvals());
>> 200::ms => now;
>>
>> Should I be using AutoCorr differently? Am I looking at the power
>> spectrum or something, and not the correlation vector like I think I am? My
>> current understanding comes from reading uana_extract.cpp many times with
>> references like this <http://paulbourke.net/miscellaneous/correlate/>.
>>
>> Thanks,
>> Curtis
>> _______________________________________________
>> chuck-users mailing list
>> chuck-users at lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20200723/f4d50f38/attachment-0001.html>


More information about the chuck-users mailing list