15:50:33 RRSAgent has joined #audio 15:50:33 logging to http://www.w3.org/2012/05/30-audio-irc 15:50:40 gcardoso has joined #audio 15:50:43 trackbot, start meeting 15:50:45 RRSAgent, make logs world 15:50:47 Zakim, this will be 28346 15:50:47 ok, trackbot; I see RWC_Audio()12:00PM scheduled to start in 10 minutes 15:50:48 Meeting: Audio Working Group Teleconference 15:50:48 Date: 30 May 2012 15:51:06 Agenda: http://lists.w3.org/Archives/Public/public-audio/2012AprJun/0452.html 15:51:42 Agenda+ Overview of Opera issues (http://lists.w3.org/Archives/Public/public-audio/2012AprJun/0360.html) 15:59:44 tmichel has joined #audio 16:00:23 RWC_Audio()12:00PM has now started 16:00:30 +??P55 16:00:43 zakim, ??P55 is me 16:00:43 +olivier; got it 16:00:46 +??P58 16:01:15 zakim, ??P58 is me 16:01:15 +tmichel; got it 16:02:48 +Doug_Schepers 16:03:26 jussi has joined #audio 16:04:18 + +1.510.334.aaaa 16:04:19 +??P87 16:04:31 +??P86 16:04:41 we're really not sure if we're in or not 16:04:43 zakim, ??P87 is me 16:04:43 +gcardoso; got it 16:04:48 zakim, mute gcardoso 16:04:48 gcardoso should now be muted 16:04:55 nothing happens after entering 28346# 16:05:01 zakim, ??P86 is me 16:05:01 +jussi; got it 16:05:06 try again - I've had to do it twice 16:05:12 me too 16:05:21 Are you using the US bridge? 16:05:37 I am using zakim@voip.w3.org 16:05:51 from my sip software (x-lite 4) 16:06:04 the European bridge has been flaky 16:07:01 we started by trying the US one (since the Europe ones have never worked for me) 16:07:24 try waiting until it's told you the instructions, that seems to help sometimes 16:07:25 passcode recognition can be bad. I suggest trying a few times. 16:07:34 +1 to jussi's suggestion too 16:07:35 couldn't reach the european bridge neither 16:07:36 the conference code is 28346, right? 16:07:43 yes 16:08:07 this time it beeped a few times and then silence 16:08:14 different, but still wrong :) 16:08:21 zakim, who is making noise? 16:08:32 olivier, listening for 10 seconds I could not identify any sounds 16:10:58 zakim, +1.510.334.aaaa is crogers 16:11:01 +crogers; got it 16:11:19 http://www.w3.org/2011/audio/charter/2012/charter-proposed.html 16:11:27 philipj has joined #audio 16:11:36 + +46.3.13.48.aabb 16:11:43 Zakim, I am aabb 16:11:43 +philipj; got it 16:11:51 Zakim, mute me 16:11:51 philipj should now be muted 16:13:00 Zakim, unmute me 16:13:00 philipj should no longer be muted 16:13:48 FILT3R has joined #audio 16:14:03 Zakim, mute me 16:14:03 philipj should now be muted 16:14:58 ACTION: Olivier to send prose on UCR and MIDI for the scope of the proposed charter 16:14:58 Sorry, amibiguous username (more than one match) - Olivier 16:14:58 Try using a different identifier, such as family name or username (eg. ot, folivier3) 16:14:59 +??P81 16:15:11 ACTION: ot to send prose on UCR and MIDI for the scope of the proposed charter 16:15:11 Created ACTION-48 - Send prose on UCR and MIDI for the scope of the proposed charter [on Olivier Thereaux - due 2012-06-06]. 16:15:49 + +46.3.13.48.aacc 16:15:55 Zakim, unmute me 16:15:55 philipj should no longer be muted 16:16:04 Zakim, aacc is marcus 16:16:04 +marcus; got it 16:16:13 zakim P81 is Alistair 16:16:18 Zakim, mute me 16:16:18 philipj should now be muted 16:16:19 zakim, P81 is Alistair 16:16:19 sorry, Alistair, I do not recognize a party named 'P81' 16:16:21 Zakim, mute marcus 16:16:21 marcus should now be muted 16:16:34 zakim, 81 is Alistair 16:16:34 sorry, Alistair, I do not recognize a party named '81' 16:16:34 http://lists.w3.org/Archives/Public/public-audio/2012AprJun/0452.html 16:16:51 zakim, ??P81 is Alistair 16:16:51 +Alistair; got it 16:16:56 zakim, take up agendum 1 16:16:56 agendum 1. "Overview of Opera issues (http://lists.w3.org/Archives/Public/public-audio/2012AprJun/0360.html)" taken up [from olivier] 16:17:23 Zakim, unmute me 16:17:23 philipj should no longer be muted 16:17:26 Scribe: Alistair 16:18:07 Zakim, unmute me 16:18:07 gcardoso should no longer be muted 16:18:32 Zakim, unmute marcus 16:18:32 marcus should no longer be muted 16:19:02 zakim, mute gcardoso 16:19:02 gcardoso should now be muted 16:19:12 Zakim, mute me and marcus 16:19:13 I don't understand 'mute me and marcus', philipj 16:19:18 Zakim, mute me 16:19:18 philipj should now be muted 16:19:20 Zakim, mute marcus 16:19:20 marcus should now be muted 16:20:31 http://lists.w3.org/Archives/Public/public-audio/2012AprJun/0360.html 16:20:37 Olivier: Marcus or Philip, would you like to spend a couple of minutes giving an overview of the issues you added to the tracker? 16:20:38 Zakim, unmute me 16:20:38 philipj should no longer be muted 16:21:54 Philip: We read the spec from beginning to end, imagining how we would try to implement it. We noted things that were hard or impossible to implement + some editorial issues where we thing things need to be brought closer to normal web development. 16:22:58 Philip: Some issues are consitency re: string ENUMs. The tickets that we put under "architecture" are things that we thing will make a big difference to starting implementation. 16:23:22 Olivier: Chris Rogers, I think you have started tackling these architecture tickets. Could you speak to this? 16:23:32 Issues pending review -> http://www.w3.org/2011/audio/track/issues/pendingreview 16:23:56 Chris Rogers: I have started on these. We have had some good discussions on the list aout circular routing. 16:24:02 Agenda+ ISSUE-24 CircularRouting 16:24:08 zakim, take up agendum 2 16:24:08 agendum 2. "ISSUE-24 CircularRouting" taken up [from olivier] 16:24:20 ISSUE-24? 16:24:20 ISSUE-24 -- Undefined behavior for circular graphs -- pending review 16:24:20 http://www.w3.org/2011/audio/track/issues/24 16:24:39 ISSUE-24 changeset -> https://dvcs.w3.org/hg/audio/rev/74bd0f9f2fb6 16:25:56 Olivier: The solution proposed in the link above has not been comented on yet. When I read the pros, that you can create a circular graph with an exception, this raises questions. 16:26:27 Chris Rogers: You could create a circular graph with one node, this was just meant as an example. I can change the documentation to make this clearer. 16:28:25 Philip: The change propposed does not define what a 'cycle' is, or what it should sound like when you create one, or when to throw an exception. We don't quite agree with the solution proposed. The solution we were thinking of was to generate silence or NaN in those cycles. 16:28:45 Chris Rogers: So you are saying, if there is no delay node in the cycle, then generate silence. 16:29:39 (marcus speaking) 16:30:03 Marcus: I suggest writing a pseudo-code example to further explain the desired behavior. 16:30:43 Marcus: Another thing proposed was to stall the graph, though this API does not contain the idea of stalling, so generating silence seems sane. 16:30:50 Zakim, unmute marcus 16:30:51 marcus should no longer be muted 16:31:15 my bad, thought Marcus was speaking above, it was Philip 16:31:29 Marcus: One thing that is not covered here, is if you have loops that involve audio params, what should happen then? If you take output from one node and connect to the audio param itself, which would be a loop. 16:31:52 Chris Rogers: Well we could adopt a similar approach that we use in normal audio, where we require a delay. 16:32:10 Marcus: Yes, I think we should document this desired behavior. 16:32:14 zakim, mute marcus 16:32:14 marcus should now be muted 16:32:17 Chris Rogers: OK I can do that. 16:32:18 Zakim, mute marcus 16:32:18 marcus was already muted, philipj 16:33:07 Philip: The spec says that delay nodes are required, but you also have the issue of JavaScript processing nodes. It's not quite clear about the delay in JavaScript nodes, and it is unclear if that delay is reflecting in the timestamps. Are these timestamps shifted? 16:33:36 Philip: it is relevant for loops because you can implement delays with javaScript or passthroughs with JavaScript. 16:34:17 Chris Rogers: The JS Audio node is going to have latency. If there are any loops, that latency is going to be part of the effect. That is going to be true of any element that have latency. Most do not have latency. The dynamics processer has a small look-ahead latency. 16:34:32 Philip: Does that mean it would be OK to have a loop with the dynamics node? 16:35:08 Chris Rogers: That's a good question. We can let cycles exist without any delay nodes at all and accept that there is an implicit delay (a minimum delay) associated with the node. 16:35:27 tmichel has joined #audio 16:35:53 Chris Rogers: That is one approach we can take is not require delay nodes at all, with the understanding that there would be a minimum delay asc. with the block processing size. 16:36:23 +??P8 16:36:43 Philip: Is it acceptable to have a min. delay of the block size in a loop. Say you want to have a 1-2 sample delay, then that would not be doable. 16:36:44 zakim, ??P8 is me 16:36:44 +tmichel; got it 16:37:04 Chris Rogers: That's right, if we are assuming that there would be a min. delay doing cycles, then we wouldnt be able to have feedback loops that small in samples. 16:37:28 Chris Rogers: We have a 128 sample min block size. I could see us reducing that down to 64 / 32. 16:38:03 Philip: It becomes kind of propblematic to have the behavior to depend on this block size. Because if everyone uses different samples settings it could become unmanageable. 16:38:42 Philip: To have compatability, wouldnt we have to have the exact same size? It seems like it could be problematic to specify the exact block size that you would have to use. 16:39:55 Olivier: I think the suggestion is not to standardize the min block size use but to standardize a min. delay which would be farly small regardless of what block size the implementation uses. 16:41:59 Chris Rogers: I think we should set this by milliseconds, not samples. I think this will give us better accuracy across different machines. 16:42:43 Philip: Should we be using a multiple of the framesize to specify in milliseconds? 16:43:58 q+ to talk about the priority of constituencies (later) 16:44:10 Philip: If we say it is 3 milliseconds, calculated from 48khz. But if you have 3ms. at 88khz then that would leave it smaller than you block size. 16:45:06 Chris Rogers: If the sample rate goes low, then it would require that the block size be smaller. 16:45:59 Philip: Is it worth it define it in ms instead of smaples? 16:46:23 Chris Rogers: We couldm but we will then come across the issue of two machines with different processing power sounding slightly different. 16:47:05 Philip: What would happen if the spec said we should support arbitarty block sizes? 16:48:08 Chris Rogers: It's not that it is impossible, but it's tricky. When you create delays that are tweaked, say down to 1 sample, then you have to be prepared to construct the graph on low sample size, or reconstruct on the fly, which adds complications. 16:48:09 ack she 16:48:09 shepazu, you wanted to talk about the priority of constituencies (later) 16:49:06 Doug: The highest level of priority should be the user experience. We should err on the side of making the user experience as good as possible first, then the developer experience. 16:50:01 Chris Rogers: I tend to agree with that, but we have not discussed there being a huge performance difficulty bringing the graph size down to a smple size of 1. There is a huge performance cost going down to those block sizes. Users would have to be aware of this. 16:50:43 Doug: If that would hurt the user experience, that is something we should try and aviod where possible, even if it means the implementors have to follow the spec more stringently. 16:51:19 Olivier: Can we leave it to the implementation to decide how to handle the delay being to small? 16:51:40 Chris Rogers: I think we can do something like that, but I would not output silence, but I would clamp the delay to the min. that the implementation can support. 16:52:48 Philip: Things that are undefined will be depended on by people, who will end up haivng to reverse engineer things, and end up having to use the same block size. I dont agree with leaving this undefined. 16:53:02 Chris Rogers: So if it is defined, do you want to defined it in ms. or samples? 16:54:21 Philip: It seems that if fixed size buffers are required in this spec, then it seems we should outline that in the spec. I think using "samples" is going to be a clearer path towards implementation. 16:54:48 Philip: The same graph at the same sample rate will sound the same, but using the native sampling rate of the system you might get different results. 16:55:27 Chris Rogers: We do that currently. I am fine with that. We could define this at 128 or 64 samples and perhaps add an attribute in the future where this could be settable by the developer. 16:55:56 Philip: That sounds reasonable. I think the API will look strange from the outset, but would be implementable. 16:56:21 Agenda+ ISSUE-49 16:56:28 Philip: I think if we all agree, we can just specify this and make the decision if/when someone says "this is not good enough to meet x/y/ use cases." 16:56:43 Philip: Clamping delays to block size could be risky because people will depend on the behavior. 16:56:54 Chris Rogers: OK. 16:57:11 Philip: We should pick wisely on this blocksize as we will likely have it for a long time. 16:57:42 Chris Rogers: We could go down to 64 to (like PureData etc). But 128 seems to work. 17:00:43 Resolved: it is OK to have a circular graph so long as there is a delay. The minimum delay should be 128 samples. 17:00:49 q+ to suggest that any proposed solutions to issues be added to the issue 17:01:02 ack sh 17:01:02 shepazu, you wanted to suggest that any proposed solutions to issues be added to the issue 17:01:17 Zakim, mute me 17:01:17 philipj should now be muted 17:01:20 Zakim, mute marcus 17:01:20 marcus was already muted, philipj 17:01:46 Doug: As a note, there are no binding resolutions until we finish the spec., but anyone who goes against the resolution should only do so respectfuly, for a very good reason and with caution. 17:01:49 Resolution: it is OK to have a circular graph so long as there is a delay. The minimum delay should be 128 samples. 17:02:23 Doug: The reason for the solution is to provide clarity for those watching the process, and for us to go back and be able to see why and how we made a decision. 17:02:42 (regarding resolutions, /me points everyone to http://www.w3.org/2011/audio/wiki/Main_Page#Meeting_Minutes_and_Resolutions if you don't know it already) 17:03:18 Doug: If you have a proposed solution, even if you are not sure if it is the right way to go forward, you should add it. If you have suggestions on how to resolve it, please include them to you issues. 17:03:32 me too, not just marcus 17:04:24 Olivier: I will add the resolution to the issue and leave it Open review until Chris R. has had a chance to work with the spec. 17:05:15 Olivier: Thank you all for attending. Talk soon. 17:05:16 Zakim, unmute me 17:05:16 philipj should no longer be muted 17:05:22 -olivier 17:05:23 -Alistair 17:05:23 -jussi 17:05:25 -Doug_Schepers 17:05:26 -crogers 17:05:27 rrsagent, draft minutes 17:05:27 I have made the request to generate http://www.w3.org/2012/05/30-audio-minutes.html olivier 17:05:30 -philipj 17:05:31 -gcardoso 17:05:38 -marcus 17:24:28 FILT3R has joined #audio 18:13:11 colinbdclark has joined #audio 18:17:08 FILT3R has joined #audio 18:57:18 jernoble has joined #audio 19:15:04 FILT3R has joined #audio 19:30:15 -tmichel.a 19:35:15 disconnecting the lone participant, tmichel, in RWC_Audio()12:00PM 19:35:17 RWC_Audio()12:00PM has ended 19:35:17 Attendees were olivier, tmichel, Doug_Schepers, gcardoso, jussi, crogers, +46.3.13.48.aabb, philipj, +46.3.13.48.aacc, marcus, Alistair 20:12:05 FILT3R has joined #audio