W3C home > Mailing lists > Public > public-audio@w3.org > July to September 2014

Re: automation - all

From: Siim Petser <siim.petser@gmail.com>
Date: Wed, 3 Sep 2014 16:34:36 +0300
Message-ID: <CAFCvmUZerOvpBwrLJBVW2iY8cWR96xrG13CHviJrohkoAse3WA@mail.gmail.com>
To: Chris Lowis <chris.lowis@gmail.com>
Cc: "public-audio@w3.org" <public-audio@w3.org>
Hello Chris,

I have currently 81 oscillators working at the same time creating 9 notes
max.
Its not a standard way to produce sound but but the result was surprising
and made me happy. In this case I figured that using only envelopes(which
is also a very comfy way to do it) to start notes was more sensible than
recreating the nodes. This method kinda tossed the need for
createOscillator/start/stop out completely.

In my app, the sound could change each bar(1-10 seconds or so).
Recreating oscillators and rerouting filters is with the help of setTimeout
requires splitting the timer and also the workload would be much bigger
than using a simple native scheduling function that changes a few values
only. Individual notes can last longer than one bar so each one should have
their own little schedule. js timer is not always reliable and can cause
"bleed" and also as I said earlier, its a pretty hard job to figure out the
proper way to do it (the damn lag is a serious threat). My little app needs
a guaranteed switch before the "deadline". Doesn't need to be bit-perfect
timing or super clean sounding even.

But it's just my case. I got greedy because I saw that the api could handle
zounds of different nodes with ease and had some ideas what could be done
with them. Just you wait when the api becomes a standard and attracts more
and more witty sound-geeks with all sorts of ideaz:p

Well, cheers and good luck with your work!
Siim








2014-09-03 13:44 GMT+03:00 Chris Lowis <chris.lowis@gmail.com>:

> Hi Siim,
>
> This sounds like an interesting use-case, and I don’t know what the
> feelings of the group are on automating parameters like that. One thing to
> remember though is that it is cheap to create nodes, so you could have, for
> example a “spare” sawtooth oscillator created to replace your sine
> oscillator and then schedule it to “start” at the same time as you schedule
> the old one to “stop” - if that makes sense? I’m not clear what your
> particular use case is, but it could be an approach. You may want to handle
> the discontinuities introduced using envelopes as you suggest.
>
> Cheers,
>
> Chris
>
>
>
>
> On 2 September 2014 at 21:49:43, Siim Petser (siim.petser@gmail.com)
> wrote:
> > Hi!
> >
> > I would currently like to change the type of an oscillator and the type
> of
> > the filters with automation(with setvalueattime). I could use js
> settimeout
> > but its already used for the main loop and would be very tricky and hard
> to
> > figure out to get it working right then.
> >
> > It even doesn't have to have a neat and quiet switch (that can be fixed
> > with envelopes), just the possibility would be enough most of the time
> > (like it is with nice enough daws..). But the point is - if its possible,
> > then give the option to do that with any node, with any parameter. I
> don't
> > know all of them thoroughly enough and don't know what people would
> really
> > need but sure if many people use the api for their sound, then certainly
> > some will want to have a some more control some day.
> >
> > ...or have I missed something and its already possible somehow?:p
> > Anyway, thanks for paying attention and also for the coolest web thingy
> > ever:)
> >
> >
> >
> >
> > 2014-09-02 21:14 GMT+03:00 Chris Wilson :
> >
> > > What parameters are you concerned about not having access to?
> > >
> > >
> > > On Fri, Aug 29, 2014 at 1:44 PM, Siim Petser
> > > wrote:
> > >
> > >> Hi!
> > >>
> > >> Scheduling stuff:
> > >> Without giving full control of all the possible parameters, it's
> gonna be
> > >> a (useful) toy. It's already quite awesome what you have done, pls go
> all
> > >> the way.
> > >>
> > >> Siim
> > >>
> > >
> > >
> >
>
>
Received on Wednesday, 3 September 2014 13:35:23 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:50:14 UTC