Re: Question about Audio Buffer/Timing

Jeremy Landry <[email protected]> Thu, 22 Feb 2018 10:22:47 -0800
Newsgroups gmane.comp.lang.smalltalk.squeak.squeakland
Message-ID <CAMYa41=oVaC0fJ4v4K0-SWEUXVe4kwejNqiEnHDJ8GBs_rKHfg@mail.gmail.com>
--===============6481097213682238045==
Content-Type: multipart/alternative; boundary="001a1140ab5c804d0a0565d1215c"

--001a1140ab5c804d0a0565d1215c
Content-Type: text/plain; charset="UTF-8"

Thanks for the crossover.  I am subscribed, but generally shy away from
posting there as it seems out of my league and my main interest is in Etoys
since, well, again, leagues and all that.  I know just enough ST to break
things, not build them!  :)

So using the code from this message from Bob Arning:
*Bob Arning* arning315 at comcast.net
<squeak-dev%40lists.squeakfoundation.org?Subject=Re%3A%20%5Bsqueak-dev%5D%20%5Bsqueakland%5D%20Question%20about%20Audio%20Buffer/Timing&In-Reply-To=%3C269cdd30-7c77-6cab-22aa-591eee543b21%40comcast.net%3E>
*Thu Feb 22 15:49:07 UTC 2018*


   - Previous message: [squeak-dev] [squeakland] Question about Audio
   Buffer/Timing
   <http://lists.squeakfoundation.org/pipermail/squeak-dev/2018-February/197505.html>
   - Next message: [squeak-dev] [squeakland] Question about Audio
   Buffer/Timing
   <http://lists.squeakfoundation.org/pipermail/squeak-dev/2018-February/197509.html>
   - *Messages sorted by:* [ date ]
   <http://lists.squeakfoundation.org/pipermail/squeak-dev/2018-February/date.html#197508>
    [ thread ]
   <http://lists.squeakfoundation.org/pipermail/squeak-dev/2018-February/thread.html#197508>
    [ subject ]
   <http://lists.squeakfoundation.org/pipermail/squeak-dev/2018-February/subject.html#197508>
    [ author ]
   <http://lists.squeakfoundation.org/pipermail/squeak-dev/2018-February/author.html#197508>

------------------------------

SoundPlayer class gives a clue:

resumePlaying: aSound quickStart: quickStart
     "Start playing the given sound without resetting it; it will resume
playing from where it last stopped. If quickStart is true, then try to
start playing the given sound immediately."


Just looking at it and taking a guess, it doesn't seem to be *quite* the
thing I was looking for.  I was thinking there's a method/class variable
with a value that could be changed to affect the system, rather than
'poking in' every thing I want to play when I want to play it individually
because the ultimate effect is that Etoys PLAYSOUND:SOUND tile will work as
normal and this seems that it would have to be used instead of the
tiles...I have no idea if this is possible, but I'll also dig around the
class browser in Etoys, maybe I'll stumble into something, but so far, as I
noted, I only found the sound-buffer and sample rates, not the imposed
delay method that I remember reading about.  I remember the reasoning it
was put in was to prevent accidental playing of sounds inside of a
single-frame repeat-tile...i.e. a repeat tile with any value other than 1
and inside of it having a playsound:sound tile would overload the speakers
and make nasty noises because so many things are playing on top of each
other. I actually WANT this.  Based on how sound plays now, you can hear an
'invisible' metronome that makes sure all sounds are separated and equally
spaced apart and in the case of repeat tiles, only seems to accept the last
sound as valid/playable.

Thanks for the help so far!  I'm not expecting a solution because I don't
know if one exists, but my thought is 'if it was done, it can be
undone'...and just looking at how to undo it!  :p



On Thu, Feb 22, 2018 at 9:59 AM, David T. Lewis <[email protected]> wrote:

> There is some follow up discussion happening on the squeak-dev list. I
> don't
> know if it helps, but you can read the posts here if you are not
> subscribed to
> that list:
>
> http://lists.squeakfoundation.org/pipermail/squeak-dev/2018-
> February/197508.html
>
> HTH,
> Dave
>
> On Thu, Feb 22, 2018 at 10:27:18AM -0500, David T. Lewis wrote:
> > Hi Jeremy,
> >
> > I am copying this to the squeak-dev list in case someone there can offer
> > some guidance.
> >
> > Dave
> >
> >
> > On Wed, Feb 21, 2018 at 02:44:21PM -0800, Jeremy Landry wrote:
> > > Hi, I made a quick audio sequencer test in Etoys and found that
> there's a
> > > hidden 'timer' that limits the responsiveness of new sounds that go
> into
> > > the playback buffer (terminology isn't accurate, but hopefully it makes
> > > sense to people).
> > >
> > > I found the sound buffer setting, but was wondering if there's
> something
> > > else that limits how fast new sounds get added to the playback stream?
> I
> > > read somewhere (old-man-aphasia here) that some code was added to
> prevent
> > > overloading the buffer so surely there's a snippet of code I could add
> to a
> > > project to reverse this, if it's what is causing the delay?
> > >
> > > Thanks for any help finding the solution.
> >
> > > _______________________________________________
> > > squeakland mailing list
> > > squeakland-bD51WKytQuId/fn+uklp/[email protected]
> > > http://lists.squeakland.org/mailman/listinfo/squeakland
> >
> > _______________________________________________
> > squeakland mailing list
> > squeakland-bD51WKytQuId/fn+uklp/[email protected]
> > http://lists.squeakland.org/mailman/listinfo/squeakland
>

--001a1140ab5c804d0a0565d1215c
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Thanks for the crossover.=C2=A0 I am subscribed, but gener=
ally shy away from posting there as it seems out of my league and my main i=
nterest is in Etoys since, well, again, leagues and all that.=C2=A0 I know =
just enough ST to break things, not build them!=C2=A0 :)<div><br></div><div=
>So using the code from this message from Bob Arning:</div><div>

<b style=3D"color:rgb(0,0,0);font-family:&quot;Times New Roman&quot;;font-s=
ize:medium;font-style:normal;font-variant-ligatures:normal;font-variant-cap=
s:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transf=
orm:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,2=
55);text-decoration-style:initial;text-decoration-color:initial">Bob Arning=
</b><span style=3D"color:rgb(0,0,0);font-family:&quot;Times New Roman&quot;=
;font-size:medium;font-style:normal;font-variant-ligatures:normal;font-vari=
ant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text=
-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;backgro=
und-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-co=
lor:initial;float:none;display:inline"><span>=C2=A0</span></span><a href=3D=
"mailto:squeak-dev%40lists.squeakfoundation.org?Subject=3DRe%3A%20%5Bsqueak=
-dev%5D%20%5Bsqueakland%5D%20Question%20about%20Audio%20Buffer/Timing&amp;I=
n-Reply-To=3D%3C269cdd30-7c77-6cab-22aa-591eee543b21%40comcast.net%3E" titl=
e=3D"[squeak-dev] [squeakland] Question about Audio Buffer/Timing" style=3D=
"font-family:&quot;Times New Roman&quot;;font-size:medium;font-style:normal=
;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;let=
ter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;whi=
te-space:normal;word-spacing:0px;background-color:rgb(255,255,255)">arning3=
15 at comcast.net<span>=C2=A0</span></a><br style=3D"color:rgb(0,0,0);font-=
family:&quot;Times New Roman&quot;;font-size:medium;font-style:normal;font-=
variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-sp=
acing:normal;text-align:start;text-indent:0px;text-transform:none;white-spa=
ce:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoratio=
n-style:initial;text-decoration-color:initial"><i style=3D"color:rgb(0,0,0)=
;font-family:&quot;Times New Roman&quot;;font-size:medium;font-variant-liga=
tures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal=
;text-align:start;text-indent:0px;text-transform:none;white-space:normal;wo=
rd-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:init=
ial;text-decoration-color:initial">Thu Feb 22 15:49:07 UTC 2018</i><span st=
yle=3D"color:rgb(0,0,0);font-family:&quot;Times New Roman&quot;;font-size:m=
edium;font-style:normal;font-variant-ligatures:normal;font-variant-caps:nor=
mal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;=
text-transform:none;white-space:normal;word-spacing:0px;background-color:rg=
b(255,255,255);text-decoration-style:initial;text-decoration-color:initial;=
float:none;display:inline"></span><p style=3D"color:rgb(0,0,0);font-family:=
&quot;Times New Roman&quot;;font-size:medium;font-style:normal;font-variant=
-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:n=
ormal;text-align:start;text-indent:0px;text-transform:none;white-space:norm=
al;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style=
:initial;text-decoration-color:initial"></p><ul style=3D"color:rgb(0,0,0);f=
ont-family:&quot;Times New Roman&quot;;font-size:medium;font-style:normal;f=
ont-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;lette=
r-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white=
-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decor=
ation-style:initial;text-decoration-color:initial"><li>Previous message:<sp=
an>=C2=A0</span><a href=3D"http://lists.squeakfoundation.org/pipermail/sque=
ak-dev/2018-February/197505.html">[squeak-dev] [squeakland] Question about =
Audio Buffer/Timing</a></li><li>Next message:<span>=C2=A0</span><a href=3D"=
http://lists.squeakfoundation.org/pipermail/squeak-dev/2018-February/197509=
.html">[squeak-dev] [squeakland] Question about Audio Buffer/Timing</a></li=
><li><b>Messages sorted by:</b><span>=C2=A0</span><a href=3D"http://lists.s=
queakfoundation.org/pipermail/squeak-dev/2018-February/date.html#197508">[ =
date ]</a><span>=C2=A0</span><a href=3D"http://lists.squeakfoundation.org/p=
ipermail/squeak-dev/2018-February/thread.html#197508">[ thread ]</a><span>=
=C2=A0</span><a href=3D"http://lists.squeakfoundation.org/pipermail/squeak-=
dev/2018-February/subject.html#197508">[ subject ]</a><span>=C2=A0</span><a=
 href=3D"http://lists.squeakfoundation.org/pipermail/squeak-dev/2018-Februa=
ry/author.html#197508">[ author ]</a></li></ul><hr style=3D"color:rgb(0,0,0=
);font-family:&quot;Times New Roman&quot;;font-size:medium;font-style:norma=
l;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;le=
tter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;wh=
ite-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-de=
coration-style:initial;text-decoration-color:initial"><pre style=3D"color:r=
gb(0,0,0);font-style:normal;font-variant-ligatures:normal;font-variant-caps=
:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:=
0px;text-transform:none;word-spacing:0px;background-color:rgb(255,255,255);=
text-decoration-style:initial;text-decoration-color:initial">SoundPlayer cl=
ass gives a clue:

resumePlaying: aSound quickStart: quickStart
 =C2=A0=C2=A0=C2=A0 &quot;Start playing the given sound without resetting i=
t; it will resume=20
playing from where it last stopped. If quickStart is true, then try to=20
start playing the given sound immediately.&quot;
</pre><br class=3D"gmail-Apple-interchange-newline">Just looking at it and =
taking a guess, it doesn&#39;t seem to be *quite* the thing I was looking f=
or.=C2=A0 I was thinking there&#39;s a method/class variable with a value t=
hat could be changed to affect the system, rather than &#39;poking in&#39; =
every thing I want to play when I want to play it individually because the =
ultimate effect is that Etoys PLAYSOUND:SOUND tile will work as normal and =
this seems that it would have to be used instead of the tiles...I have no i=
dea if this is possible, but I&#39;ll also dig around the class browser in =
Etoys, maybe I&#39;ll stumble into something, but so far, as I noted, I onl=
y found the sound-buffer and sample rates, not the imposed delay method tha=
t I remember reading about.=C2=A0 I remember the reasoning it was put in wa=
s to prevent accidental playing of sounds inside of a single-frame repeat-t=
ile...i.e. a repeat tile with any value other than 1 and inside of it havin=
g a playsound:sound tile would overload the speakers and make nasty noises =
because so many things are playing on top of each other. I actually WANT th=
is.=C2=A0 Based on how sound plays now, you can hear an &#39;invisible&#39;=
 metronome that makes sure all sounds are separated and equally spaced apar=
t and in the case of repeat tiles, only seems to accept the last sound as v=
alid/playable.</div><div><br></div><div>Thanks for the help so far!=C2=A0 I=
&#39;m not expecting a solution because I don&#39;t know if one exists, but=
 my thought is &#39;if it was done, it can be undone&#39;...and just lookin=
g at how to undo it!=C2=A0 :p=C2=A0=C2=A0</div><div><br></div><div><br></di=
v></div><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Thu, F=
eb 22, 2018 at 9:59 AM, David T. Lewis <span dir=3D"ltr">&lt;<a href=3D"mai=
lto:[email protected]" target=3D"_blank">[email protected]</a>&gt;</spa=
n> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;b=
order-left:1px #ccc solid;padding-left:1ex">There is some follow up discuss=
ion happening on the squeak-dev list. I don&#39;t<br>
know if it helps, but you can read the posts here if you are not subscribed=
 to<br>
that list:<br>
<br>
<a href=3D"http://lists.squeakfoundation.org/pipermail/squeak-dev/2018-Febr=
uary/197508.html" rel=3D"noreferrer" target=3D"_blank">http://lists.squeakf=
oundation.<wbr>org/pipermail/squeak-dev/2018-<wbr>February/197508.html</a><=
br>
<br>
HTH,<br>
Dave<br>
<div class=3D"HOEnZb"><div class=3D"h5"><br>
On Thu, Feb 22, 2018 at 10:27:18AM -0500, David T. Lewis wrote:<br>
&gt; Hi Jeremy,<br>
&gt;<br>
&gt; I am copying this to the squeak-dev list in case someone there can off=
er<br>
&gt; some guidance.<br>
&gt;<br>
&gt; Dave<br>
&gt;<br>
&gt;<br>
&gt; On Wed, Feb 21, 2018 at 02:44:21PM -0800, Jeremy Landry wrote:<br>
&gt; &gt; Hi, I made a quick audio sequencer test in Etoys and found that t=
here&#39;s a<br>
&gt; &gt; hidden &#39;timer&#39; that limits the responsiveness of new soun=
ds that go into<br>
&gt; &gt; the playback buffer (terminology isn&#39;t accurate, but hopefull=
y it makes<br>
&gt; &gt; sense to people).<br>
&gt; &gt;<br>
&gt; &gt; I found the sound buffer setting, but was wondering if there&#39;=
s something<br>
&gt; &gt; else that limits how fast new sounds get added to the playback st=
ream? I<br>
&gt; &gt; read somewhere (old-man-aphasia here) that some code was added to=
 prevent<br>
&gt; &gt; overloading the buffer so surely there&#39;s a snippet of code I =
could add to a<br>
&gt; &gt; project to reverse this, if it&#39;s what is causing the delay?<b=
r>
&gt; &gt;<br>
&gt; &gt; Thanks for any help finding the solution.<br>
&gt;<br>
&gt; &gt; ______________________________<wbr>_________________<br>
&gt; &gt; squeakland mailing list<br>
&gt; &gt; <a href=3D"mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]">squeakland@lis=
ts.squeakland.<wbr>org</a><br>
&gt; &gt; <a href=3D"http://lists.squeakland.org/mailman/listinfo/squeaklan=
d" rel=3D"noreferrer" target=3D"_blank">http://lists.squeakland.org/<wbr>ma=
ilman/listinfo/squeakland</a><br>
&gt;<br>
&gt; ______________________________<wbr>_________________<br>
&gt; squeakland mailing list<br>
&gt; <a href=3D"mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]">[email protected]=
ueakland.<wbr>org</a><br>
&gt; <a href=3D"http://lists.squeakland.org/mailman/listinfo/squeakland" re=
l=3D"noreferrer" target=3D"_blank">http://lists.squeakland.org/<wbr>mailman=
/listinfo/squeakland</a><br>
</div></div></blockquote></div><br></div>

--001a1140ab5c804d0a0565d1215c--

--===============6481097213682238045==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kc3F1ZWFrbGFu
ZCBtYWlsaW5nIGxpc3QKc3F1ZWFrbGFuZEBsaXN0cy5zcXVlYWtsYW5kLm9yZwpodHRwOi8vbGlz
dHMuc3F1ZWFrbGFuZC5vcmcvbWFpbG1hbi9saXN0aW5mby9zcXVlYWtsYW5kCg==

--===============6481097213682238045==--