15:02:39 RRSAgent has joined #audio 15:02:39 logging to http://www.w3.org/2014/05/15-audio-irc 15:02:42 Zakim has joined #audio 15:02:48 zakim, this will be audio 15:02:49 ok, olivier; I see RWC_Audio()12:00PM scheduled to start in 58 minutes 15:02:59 Agenda: http://lists.w3.org/Archives/Public/public-audio/2014AprJun/0045.html 15:03:07 Agenda+ Review Action Items 15:04:09 Agenda+ Constructors CfC 15:04:34 Agenda+ worker-based ScriptProcessorNode (Github 113) 15:04:46 Agenda+ Review PRs for promises 15:54:15 kawai has joined #audio 16:01:18 RWC_Audio()12:00PM has now started 16:01:25 + +1.650.214.aaaa 16:01:32 zakim, aaaa is e 16:01:32 +e; got it 16:01:35 zakim, aaaa is me 16:01:35 sorry, cwilso___, I do not recognize a party named 'aaaa' 16:01:39 trackbot, start meeting 16:01:41 RRSAgent, make logs world 16:01:43 Zakim, this will be 28346 16:01:43 ok, trackbot; I see RWC_Audio()12:00PM scheduled to start now 16:01:44 Meeting: Audio Working Group Teleconference 16:01:44 Date: 15 May 2014 16:01:47 zakim, e is me 16:01:47 sorry, cwilso, I do not recognize a party named 'e' 16:01:51 zakim, e has me 16:01:51 sorry, cwilso, I do not recognize a party named 'e' 16:01:53 rtoyg_ has joined #audio 16:02:00 zakim, +e has me 16:02:00 sorry, cwilso, I do not recognize a party named '+e' 16:02:06 zakim, aaaa is cwilso 16:02:06 sorry, olivier, I do not recognize a party named 'aaaa' 16:02:19 sigh 16:02:29 RWC_Audio()12:00PM has now started 16:02:36 +e 16:02:46 zakim, +1 has me 16:02:46 sorry, cwilso, I do not recognize a party named '+1' 16:02:47 +[IPcaller] 16:02:48 + +1.617.455.aaaa 16:02:54 zakim, +e has me 16:02:54 sorry, cwilso, I do not recognize a party named '+e' 16:02:58 + +44.303.040.aabb 16:03:00 zakim, e has me 16:03:00 +cwilso; got it 16:03:05 zakim, aabb is me 16:03:05 +olivier; got it 16:03:08 zakim, e has rtoyg 16:03:08 +rtoyg; got it 16:03:33 +[IPcaller.a] 16:03:54 zakim, Ipcaller.a is kawai 16:03:54 +kawai; got it 16:04:00 agenda? 16:04:12 am I aaaa ? 16:04:22 Agenda+ midi demos page 16:04:27 Zakim, aaaa is me 16:04:27 +padenot; got it 16:05:14 zakim, who is here 16:05:14 olivier, you need to end that query with '?' 16:05:17 zakim, who is here? 16:05:17 On the phone I see e, [IPcaller], padenot, olivier, kawai 16:05:19 e has rtoyg 16:05:19 On IRC I see rtoyg_, kawai, Zakim, RRSAgent, colinbdclark, cwilso, slightlyoff__, Domenic_, padenot, mdjp, rtoyg, trackbot, olivier, paul___irish 16:05:29 zakim, e is cwilso 16:05:29 +cwilso; got it 16:05:33 zakim, who is here? 16:05:33 On the phone I see cwilso, [IPcaller], padenot, olivier, kawai 16:05:34 cwilso has rtoyg 16:05:34 On IRC I see rtoyg_, kawai, Zakim, RRSAgent, colinbdclark, cwilso, slightlyoff__, Domenic_, padenot, mdjp, rtoyg, trackbot, olivier, paul___irish 16:06:18 agenda? 16:06:20 +[IPcaller.a] 16:06:52 chrislowis has joined #audio 16:06:54 zakim, take up agendum 1 16:06:54 agendum 1. "Review Action Items" taken up [from olivier] 16:06:55 https://www.w3.org/2011/audio/track/agenda 16:07:14 olivier: action 11 on me to organise constructors CfC 16:07:21 zakim, close action-100 16:07:21 I don't understand 'close action-100', olivier 16:07:23 olivier: that's organised now. 16:07:33 action-101 done 16:07:40 action-101 closed 16:07:40 Closed action-101. 16:07:53 olivier: I've checked with the TPAC organisers, and we're not overlapping. 16:08:14 olivier: monday-tuesday should be for the audio group. 16:08:20 olivier: wednesday all together 16:08:40 olivier: I haven't heard from Matt recently (re ACTION 87) so leaving open 16:08:45 action-87 16:08:45 action-87 -- Matthew Paradis to Review http://docs.webplatform.org/wiki/apis/webaudio, suggest updates -- due 2014-03-06 -- OPEN 16:08:45 http://www.w3.org/2011/audio/track/actions/87 16:08:49 olivier: ACTION 89 is in progress. 16:08:53 action-89 16:08:53 action-89 -- Paul Adenot to Look at current implementations, and draft interface to request mathematical oscillator (issues/127) and specify phase (base on pr 270) -- due 2014-03-06 -- OPEN 16:08:53 http://www.w3.org/2011/audio/track/actions/89 16:09:02 padenot: that's right, last update was people weren't sure if it was needed. 16:09:15 padenot: I think we can close #127 16:10:36 olivier: I'd like to have something for this, even if it's in the backlog. 16:10:42 padenot: #244 ? 16:10:58 olivier: that looks ok. It's odd that we had something discussed, a PR and now we're not sure ... but? 16:11:31 cwilso: I'm trying to remember, I think I commented on the first PR that I thought he had claimed that the oscillators were mathematically, having fixed the phase issue. 16:12:15 olivier: Action 96. We have an agenda item on. 16:12:30 olivier: Actually it's done, we have proposals etc. I think we can close it? 16:12:50 cwilso: I think so - there's one subtlety here that I wanted to bring up. 16:13:27 cwilso: mentions https://github.com/WebAudio/web-audio-api/issues/113#issuecomment-42858944 16:13:31 cwilso: I think there's a tension between providing something that will make ScriptProcessor "first class" - i.e. make them "zero" latency, and being able to farm them off to workers and do parallel stuff. 16:14:01 cwilso: really the only way to make things zero latency is to to make things synchronous - that is you can ask for the input and output at the same time and get the same result. 16:14:11 cwilso: which is not how they're designed at the moment. 16:14:36 cwilso: I think it's a better idea to put the ScriptProcessor in the "audio thread". 16:15:13 cwilso: so the question I have here is are we looking for something that turns ScriptProcessor into a node with zero latency? Or are we looking for something that turns them in to something that can be parallelised? 16:15:49 joe: my recollection here is that we wanted something that could enable algorithmic sound generation from the audio thread. 16:16:21 cwilso: having the code hop between the threads (main thread vs audio thread) means that it's almost impossible to avoid latency. 16:17:39 joe: I've never been too keen on the idea of explaining the rest of the api in terms of the ScriptProcessor node - seems a bit pedantic. 16:18:07 joe: but as an application developer, I want to know that if I put JS into that node, I'll get the best deal for doing so. 16:18:50 joe: I don't know if a "worker" is needed for that in order to do so, I think they just need to be in a "vacuum" so they have minimal dependencies 16:18:54 padenot: like shaders? 16:19:13 ScribeNick chrislowis 16:19:18 joe: yes! But without the DSL - so just JS that can be uploaded to the audio thread so to say. 16:19:20 Chair: olivier 16:19:28 ScribeNick: chrislowis 16:19:32 joe: I think it's tough at the moment for developers to work out what's happening. 16:20:43 cwilso: I think the problem with that shader idea is that you have to define how it interacts with the rest of it's world - does it get its own thread? But if we say do these things get folded into the audio thread - we need to know whether they get their input synchronously. 16:20:57 padenot: I think I'd prefer to have things syncronous on the audio thread. 16:21:27 padenot: but it needs a lot of thinking. 1 how to get things on and off the thread, how to avoid biasing the audio thread 16:21:36 cwilso: locking / glitching will be possible in that case. 16:22:15 cwilso: if we had a async system like we have now ... then the rest of the system could run, but the scriptprocessor would be on another thread so it would "glitch" on its own, which is not better in an audio sense. 16:22:51 cwilso: the confirmation I was looking for is that we're not looking for a system that takes advantage of multiple cores to do audio processing in real time. 16:23:04 cwilso: it sounds like if you have that use case you need to think a bit harder. 16:23:12 joe: I think that's a fine starting point. 16:23:38 joe: you can still achieve some parallelisation by processing different parts of the graph in a certain way. 16:24:35 cwilso: I agree with you Paul, about how to get parameters on to the thread - maybe we need a simple example which would show how to reimplement the gainnode or something like that. 16:24:49 cwilso: I think I have enough information to rework my proposal. 16:24:59 olivier: and that covers off one of our agendum too. 16:25:12 action-96 closed 16:25:12 Closed action-96. 16:25:56 Action 98 is on jernoble who is not here. 16:25:56 Error finding '98'. You can review and register nicknames at . 16:26:04 olivier: Action 98 is on jernoble who is not here. 16:26:16 olivier: 96 is on me, which I haven't done yet. 16:26:23 zakim, close agendum 1 16:26:23 agendum 1, Review Action Items, closed 16:26:24 I see 4 items remaining on the agenda; the next one is 16:26:24 2. Constructors CfC [from olivier] 16:26:31 zakim, take up agendum 2 16:26:31 agendum 2. "Constructors CfC" taken up [from olivier] 16:26:39 http://lists.w3.org/Archives/Public/public-audio/2014AprJun/0044.html 16:27:33 cwilso: http://lists.w3.org/Archives/Public/public-audio/2014AprJun/0047.html 16:28:28 cwilso: dominic put something in the ticket. The terseness came from having constructors that took some of the parameters. 16:28:54 cwilso: I think it would be useful to have some of the parameters in the factories too. 16:29:11 cwilso: I was talking to rtoyg - anything that is an audionode must be connected to a context. 16:29:57 cwilso: There are two nodes that are constructed that are not part of the context PeriodicWave and AudioBuffer. 16:30:15 cwilso: The former, PeriodicWave actually does need the context since it's samplerate dependent. 16:31:08 cwilso: the latter, we could talk about whether we could share the buffers between context. At the moment you have to call that from the context, currently it is called from the context and resamples to its sample rate. But it doesn't need to be that way for creating the buffer itself. 16:32:08 cwilso: when you're trying to build a DAW, or a DJ app, you need multiple audio outputs to make this happen. 16:32:43 cwilso: croger's answer at the time was to have a sound card with multiple channels and to do the routing yourself. 16:33:17 cwilso: but if you have two separate audio devices, today you'd have two separate audioContexts, but we don't have that API today. 16:33:55 cwilso: the really painful thing today would be duplicating audio buffers across multiple contexts, which you don't want to have to do if you don't have to. 16:34:30 cwilso: I don't have a problem with the proposal, you want to make context a required attribute and raise on the constructor of all nodes, except audio buffer. 16:34:39 +q 16:35:22 padenot: I agree, we talked to the webrtc people 3 months ago, about switching devices - this api is coming, so we should make sure it fits. 16:35:26 ack chrislowis 16:36:08 chrislowis: if we introduce constructable nodes, do we keep the existing factories on AudioContext? 16:36:25 olivier: yes, I think we agreed we wouldn't break the existing interface. 16:36:44 padenot: we'd break the world if we didn't! 16:37:08 zakim, close agendum 2 16:37:08 agendum 2, Constructors CfC, closed 16:37:10 I see 3 items remaining on the agenda; the next one is 16:37:10 3. worker-based ScriptProcessorNode (Github 113) [from olivier] 16:37:18 zakim, close agendum 3 16:37:18 agendum 3, worker-based ScriptProcessorNode (Github 113), closed 16:37:19 I see 2 items remaining on the agenda; the next one is 16:37:19 4. Review PRs for promises [from olivier] 16:37:26 zakim, take up agendum 4 16:37:26 agendum 4. "Review PRs for promises" taken up [from olivier] 16:37:47 olivier: I was wondering whether it was needed at all to review these. 16:37:55 zakim, what's the number? 16:37:55 I don't understand your question, chrislowis. 16:38:00 zakim, what is the number? 16:38:00 I don't understand your question, chrislowis. 16:38:15 uncontroversial 16:38:24 zakim, close agendum 4 16:38:24 agendum 4, Review PRs for promises, closed 16:38:25 I see 1 item remaining on the agenda: 16:38:25 5. midi demos page [from olivier] 16:38:32 zakim, take up agendum 5 16:38:32 agendum 5. "midi demos page" taken up [from olivier] 16:39:00 olivier: as I said earlier, I haven't touched my action item which was to review the demos page. 16:39:14 olivier: in particular, we don't have MIDI demos on that page at all. 16:39:58 olivier: my question is quite simple : is there any reason why we shouldn't have both? 16:40:02 q+ 16:40:07 ack chrislowis 16:41:29 chrislowis: what is the purpose of the demos page? 16:41:44 chrislowis: is it to show people how to use the APIs etc, as it originally was? 16:42:22 olivier: I agree that I would prefer to only have demos that are aimed at learning, but at some point the demos page transitioned from learning resources to an honours role of people doing good stuff with the API. 16:42:37 olivier: I don't know whether we want to tell people that we don't need that any more... 16:42:57 olivier: but I don't want us to be the official repo of sanctioned uses. 16:43:24 cwilso: perhaps we should separate it into two parts - the educational stuff and the top, and a second section of cool demos. 16:43:47 cwilso: the bar should probably be education / some level of documentation - but that probably rules mine out! 16:43:59 olivier: I think they are mostly like that. 16:44:35 cwilso: 99% of the demos I wrote were mostly "I wonder if I can do this"? And then I did it and the demo was done. And they don't have a lot of dependencies. 16:44:47 cwilso: but I didn't document or clarify every line. 16:46:07 olivier: OK, not hearing any objections to having the WebMIDI demos to the list. 16:46:16 olivier: and I'll add a category. 16:46:41 Topic: AOB 16:46:50 olivier: that was all for the agenda that I had. But as it's the first call for a while with both cwilso and padenot, I thought I'd remind you that you wanted to schedule an editor's face-to-face 16:46:54 olivier: any progress? 16:47:50 cwilso: no, is the short answer. I did mention it to padenot and jernoble... I think we're realistically talking about sometime in August which is getting close to TPAC anyway. 16:49:04 olivier: I'm very happy for editors / implementors to get together and hack on issues together, but I want us to be able to reflect on them as a group. 16:49:06 cwilso: sure. 16:49:28 olivier: AOB? 16:50:19 olivier: then if there is no other business the call is adjurned. The next one is on the 29th May. Any known regrets? 16:50:24 Next meeting proposed: 29th May 16:50:25 cwilso: should be ok. 16:51:00 olivier: let me know asap if not. 16:51:07 -cwilso 16:51:09 -olivier 16:51:10 -padenot 16:51:10 -kawai 16:51:13 -[IPcaller] 16:51:15 -[IPcaller.a] 16:51:15 rrsagent, draft minutes 16:51:15 I have made the request to generate http://www.w3.org/2014/05/15-audio-minutes.html olivier 16:51:16 RWC_Audio()12:00PM has ended 16:51:16 Attendees were [IPcaller], +1.617.455.aaaa, +44.303.040.aabb, cwilso, olivier, rtoyg, kawai, padenot 16:51:37 zakim, aabb is me 16:51:37 sorry, chrislowis, I do not recognize a party named 'aabb'