F2F 2021 Minutes for May 19

May 19Attendees

Michel Buffa, Jack Schaedler, Raymond Toy, Christoph Guttandin, Ruth John,
Paul Adenot.

Minutes

   -

   16:00-16:10 UTC (9:00-9:10 am PDT): Set up calls
   -

   16:10-18:00 UTC (9:10-11:00 am PDT): 18 Priority-2
   <https://github.com/WebAudio/web-audio-api-v2/issues?q=is%3Aopen+is%3Aissue+label%3Apriority-2>
   issues
   -

      Issue 115: Support "interrupted" state in AudioContext
      <https://github.com/WebAudio/web-audio-api-v2/issues/115>
      -

         Christoph: Safari has the new interrupted state.
         -

         Michel: I have a spatial audio system in my car.  When you get a
         call, the player fades out.  When done, it fades in and recovers its
         original state. This can also apply to other apps.  Another
app can grab
         the audio output, and block webaudio.
         -

         Christoph: For a browser, you shouldn’t need to know what caused
         it.  Just that something blocked playback.
         -

         Raymond: I think one use case is video playing.  A call comes in
         and audio stops, but video continues.  When the call ends,
audio continues
         from where it left off, but video has advanced.
         -

         Christoph: WebAudio in one tab.  Start and stop an osc. Then
         switch tabs.  The original tab is in an interrupted state.
Switching back
         automatically resumes playing (silently).  Solution is to
have an osc at
         very low level constantly playing, there’s no interrupted
state. For power
         savings?
         -

         Raymond: Chrome does something similar for silent tabs.  HW is
         turned off after n sec.  When non-zero audio starts, HW is re-attached.
         -

         Jack: Seems like a bug in safari?
         -

         Christoph: A new scenario is a chat app that dings when you get a
         message. If you’ve switched tabs, is the ding not played?
         -

         Raymond: Good question.
         -

         Raymond: “interrupted” seems useful.  But we need more examples to
         be able to spec it out.
         -

         Jack: I agree, and would prefer to know.  Want to show a button or
         something when you come back.
         -

      Issue 102: Change to HRTF and know when it's done
      <https://github.com/WebAudio/web-audio-api-v2/issues/102>
      -

         [Raymond describes the issue]
         -

         Christoph: If you set HRTF in the constructor what happens?
         -

         Raymond: HRTF is done async, so you get a pass through (ro
         silence) for a bit until it’s ready and audio suddenly
changes. So it can’t
         help in constructor, but could have a promise for setting
HRTF to tell you
         when it’s done.
         -

         Raymond: So, just need to name the method for setting the mode
         which returns a promise.
         -

      Issue 85: Multithreading
      <https://github.com/WebAudio/web-audio-api-v2/issues/85>
      -

         Raymond: I think Paul’s TPAC 2020 still holds
         -

         Ruth: I think it still holds. What’s the use case for multiple
         audio contexts?
         -

         Raymond: not sure.
         -

         Jack: My hot take: It should be up to implementers to do smart
         multithreading without the devs using WebAudio to care about
         multithreading. In other words, this should be something
implementers do if
         they want to be 8x faster than another browser.
         -

         Raymond: Agreed.  Browsers should do this.
         -

         Ruth: Need more background.
         -

         Jack: Probably someone has 16 cores, but sees only one in use.
         -

         Raymond: Hard to do since load of each node is different so it
         needs to be balanced carefully so as not to waste cpu or
spend extra time
         syncing.
         -

         Paul: Csound seems to have solved this, but doesn't always work.
         Some topologies fail.
         -

         Raymond: Csound figures it out itself?
         -

         Paul: Yes,  It’s based on some thesis.  Oh.  It was
         Supercollider.  Author also writes lock-free algorithms for Boost.
         -

         Raymond: Seems pretty difficult since webaudio is so dynamic.
         Load on subgraphs can change a lot.
         -

         Jack Could be difficult to communicate to people how it works.
         -

         Raymond: Really difficult to match expectations.
         -

         Jack: Could be up to the browser to do something.  Like how
         convolver can use multiple threads.
         -

         Raymond: What’s the conclusion here?  TPAC 2020 still holds?
         -

      Issue 79: Remove compileStreaming from AudioWorklet
      <https://github.com/WebAudio/web-audio-api-v2/issues/79>
      -

         Raymond: Hongchan says there’s nothing to do.  They’re
         implementation bugs.
         -

         Paul: I can file a bug on FF for this.
         -

         Christoph: But it is working now
         -

         Raymond: Yes, but I think Hongchan says it shouldn’t be.
         -

         Raymond: Ok with closing it as Hongchan says.  There’s nothing to
         do in the spec.  These are all impl bugs.
         -

         [Paul files FF issue and closes the bug]
         -

      Issue 67: Support Q and S for shelf filters
      <https://github.com/WebAudio/web-audio-api-v2/issues/67>
      -

         [Raymond describes issue]
         -

         Paul: Is there anything more to do?
         -

         Raymond: Just pick the names and add the equations.
         -

         [Raymond to update the issue]
         -

      Issue 66: Incremental delivery of OfflineContext
      <https://github.com/WebAudio/web-audio-api-v2/issues/66>
      -

         Paul: We’re interested, especially for DAWs
         -

         Jack: This is very appealing.
         -

         Paul; Having a close method to stop the oac is needed.  And
         “startRenderingStreaming” would handle the streaming part.  Maybe
         interleaved?
         -

         Raymond: Interleaving makes sense fro streaming.
         -

         Raymond: Need a concrete proposal
         -

         Paul: SO add “close” to close the context.  Streaming stops.
         startRenderingStreaming that returns a stream with interleaved float32
         values.
         -

         Jack: That sounds amazing. This will make people very happy.
         -

         [Paul writes summary]
         -

      Issue 28: Set Convolution buffer asynchronously
      <https://github.com/WebAudio/web-audio-api-v2/issues/28>
      -

         Raymond: Don’t think anything has changed since TPAC 2020.  Just
         need to update with the proposed changes.
         -

         Jack: Proposal still totally makes sense to me
         -

         Ruth: Yeh +1 for promise based all the things
         -

         [Raymond to update issue saying we will do it as stated]
         -

      Issue 30: Cancel AudioScheduledSourceNode.stop()
      <https://github.com/WebAudio/web-audio-api-v2/issues/30>
      -

         Raymond: Just need to decide what to do.
         -

         Paul: No strong feelings
         -

         Raymond: Prefer not adding new api.  Allowing infinity is ok.
         -

         Raymond: What should we do?
         -

         Paul; Ok.  Then NaN would be allowed
         -

         Raymond: Seems ok for NaN to cancel the stop
         -

         Paul: Let’s do this if it makes sense to people.
         -

         [Paul updates issue]
         -

      Issue 38: When does stop(time) stop?
      <https://github.com/WebAudio/web-audio-api-v2/issues/38>
      -

         Paul: I think we have agreement per the lastr comment
         -

         Raymond: Ok.  Just need to update the spec to say something.
         -

      Issue 39: Use SharedArrayBuffer for getChannelData
      <https://github.com/WebAudio/web-audio-api-v2/issues/39>
      -

         Paul: With streamable OAC, will this work?  Need ask questions.
         We have WebCodecs for encoding.  AudioBuffer is really the
old object style.
         -

         [Paul updates issue]

Received on Wednesday, 19 May 2021 21:13:13 UTC