<div dir="ltr">Thanks for the info Seb - will do.<div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 26 August 2015 at 11:52, s p <span dir="ltr"><<a href="mailto:sebpiq@gmail.com" target="_blank">sebpiq@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><span class="">> since it's really easy to build [cos~] with writing [cos] values to a table¹, wouldn't it make sense to add [cos] and [until] to the WebPd core?<br><br></span>@IOhannes yes that's an option. Unfortunately, table lookups are not that fast in Web Audio API ... and they have some bugs in firefox. In fact there isn't even an object designed specifically for this. I have to use this bloody WaveShaperNode (<a href="http://webaudio.github.io/web-audio-api/#WaveShaperNode" target="_blank">http://webaudio.github.io/web-audio-api/#WaveShaperNode</a>) and a few hacks. Web Audio API is really hopeless at times.<span class=""><br><br>> is it the same situation with [abs~] and [wrap~]?<br><br></span></div>@Julian, [abs~] would be easy, [wrap~] isn't possible with nodes once again...<span class=""><br><br>> Out of curiosity how are the native nodes different from using the ScriptProcessorNode?<br><br></span></div>@Joe, I haven't made any benchmark, but from my experience the performance is very very poor for ScriptProcessorNodes. I have made some tests a while ago on a rather slow smartphone : while I could run several dozen native BufferSourceNodes (interpolated sample playback) without any problem, a single ScriptProcessorNode running a rather simple effect would make the whole page choke, and lots of audio glitches ... It is no wonder when you know that native nodes are optimized C++ running in a separate thread, while ScriptProcessorNode is JavaScript, running in the main thread of the page (which also does graphics, user events and pretty much everything else)<br><div><div><br></div><div>I am also looking forward to AudioWorkerNodes!!! But it has been a rather slow process ... And then when they arrive, there will be a question, which is whether it is more performant to implement the whole DSP in a single AudioWorkerNode (and forget about native nodes altogether), or a mixed solution which uses native nodes whenever possible and AudioWorkers when not. So the future is really uncertain. For this reason I plan to restructure WebPd so that it can support different distributions, with different implementations or different objects. So that it would be possible to choose between one or the other solution easily. Here are the tasks for the next milestone 0.4.0 which I plan to finish for end of September : <a href="https://github.com/sebpiq/WebPd/issues?q=is%3Aopen+is%3Aissue+milestone%3A0.4.0" target="_blank">https://github.com/sebpiq/WebPd/issues?q=is%3Aopen+is%3Aissue+milestone%3A0.4.0</a><br><br></div><div>So @Julian, I'll go with the [osc] + [until] solution. Meanwhile, if you don't wanna wait, you can also fill-up the table with Pd, and save the table contents in the patch. Then just do table lookup as he suggested.<br></div><div>
<br>
</div></div></div><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">On Wed, Aug 26, 2015 at 12:24 PM, Joe White <span dir="ltr"><<a href="mailto:white.joe4@gmail.com" target="_blank">white.joe4@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="font-size:13px">I'll have to use a slow ScriptProcessorNode.</span></blockquote><div><br></div></span><div>Here's to hoping for Audio Worker Nodes aye :(</div><div><br></div><div>Out of curiosity how are the native nodes different from using the ScriptProcessorNode? For something simple like abs~ or wrap~ is performance <i>that </i>drastically worse? </div><div><br></div><div> </div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On 26 August 2015 at 09:53, Julian Brooks <span dir="ltr"><<a href="mailto:jbeezez@gmail.com" target="_blank">jbeezez@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Seb,<div><br></div><div>Thanks for having a go.</div><div>While absolutely agreeing with IOhannes, is it the same situation with [abs~] and [wrap~]?</div><div><br></div><div>Regards,</div><div><br></div><div>Julian]</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On 26 August 2015 at 09:36, IOhannes m zmoelnig <span dir="ltr"><<a href="mailto:zmoelnig@iem.at" target="_blank">zmoelnig@iem.at</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><span>On 2015-08-26 10:25, s p wrote:<br>
> Hmm ... actually I got carried away. I can't implement [cos~] or [env~]<br>
> with native web audio API nodes.<br>
> I'll have to use a slow ScriptProcessorNode. So if performance is not a<br>
> concern for you I'll do it, but I won't integrate it to the core of WebPd.<br>
><br>
<br>
</span>since it's really easy to build [cos~] with writing [cos] values to a<br>
table¹, wouldn't it make sense to add [cos] and [until] to the WebPd core?<br>
<br>
<br>
fgmsdt<br>
IOhannes<br>
<br>
¹ assuming that table lookups in WebPd are as blindingly fast as<br>
anyhwere else.<br>
<br>
<br></div></div><span>_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="http://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
<br></span></blockquote></div><br></div>
<br>_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="http://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br><br clear="all"><br></div></div><span class="">-- <br><div><div dir="ltr"><span style="color:rgb(153,153,153)"><b><span style="color:rgb(68,68,68)">S</span><span><span style="color:rgb(68,68,68)">ébastien Piquemal</span><br></span></b></span><div><span style="color:rgb(153,153,153)"><b><br></b></span><span style="color:rgb(102,102,102)"><b> </b><span style="color:rgb(204,204,204)">-----</span><b> <font size="1">@sebpiq</font></b></span><br></div><div><span style="color:rgb(102,102,102)"><span style="color:rgb(204,204,204)"> -----</span><b> </b><font size="1"><a href="http://github.com/sebpiq" target="_blank">http://github.com/sebpiq</a></font><b><br></b></span></div><span style="color:rgb(102,102,102)"> <span style="color:rgb(204,204,204)">-----</span> <font size="1"><a href="http://funktion.fm" target="_blank">http://funktion.fm</a></font></span><br></div></div>
</span></div>
<br>_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="http://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
<br></blockquote></div><br></div>