13:29:11 RRSAgent has joined #audio 13:29:11 logging to http://www.w3.org/2015/06/01-audio-irc 13:29:13 RRSAgent, make logs world 13:29:15 Zakim, this will be 28346 13:29:15 I do not see a conference matching that name scheduled within the next hour, trackbot 13:29:16 Meeting: Audio Working Group Teleconference 13:29:16 Date: 01 June 2015 13:29:24 zakim, this meeting spans minight 13:29:24 I don't understand 'this meeting spans minight', ChrisL 13:29:39 zakim, this meeting spans midnight 13:29:39 I don't understand 'this meeting spans midnight', cwilso 13:29:47 kawai has joined #audio 13:29:49 joe has joined #audio 13:29:55 rrsagent, this meeting spans midnight 13:31:16 zakim, pick a victim 13:31:16 sorry, ChrisL, I don't know what conference this is 13:31:21 BillHofmann has joined #audio 13:31:27 zakim, this is webaudio 13:31:27 sorry, ChrisL, I do not see a conference named 'webaudio' in progress or scheduled at this time 13:31:36 oh zakim get a grip 13:31:53 Todd has joined #audio 13:32:26 http://www.w3.org/2015/07/zakim.html 13:33:03 scribenick BillHofmann 13:33:25 zakim, this is webaudio 13:33:25 sorry, BillHofmann, I do not see a conference named 'webaudio' in progress or scheduled at this time 13:35:54 Joe: we can start working back from the goal 13:36:03 Joe: in pretty good shape WRT issues in the spec 13:36:24 Matt: we should "fan the work out" to be more efficient 13:37:06 Joe: wide review will be the easiest thing to accomplish - lots of folks interested in the spec 13:37:36 Agenda: two halves - more discussion of issues (Monday); schedule/work plan (Tuesday) 13:37:49 Joe: no hard and fast rule about "what will be done" by TPAC 13:39:35 ChrisL: used to have Last Call; now you just have to show what you did before CR; used to be that if you did CR and had major changes, you had to go back to LC 13:40:08 ChrisL: aim is a document that includes all feedback, response, and feedback makers' response to this 13:40:30 Doug: two main issues - finishing the spec; completing a test suite and getting implementation reports 13:41:28 zakim, this is audio 13:41:28 sorry, BillHofmann, I do not see a conference named 'audio' in progress or scheduled at this time 13:43:38 Doug: need (for tests) to have a Test Tsar - first identify key features to test as a requirement for CR 13:43:44 Doug: need to do implementation reports 13:45:11 ChrisL: test can also come when there is a difference in implementations 13:45:28 Doug: can issue errata on a spec if we find a bug 13:45:49 Matt: how long do you leave things open; etc 13:46:27 Doug: realistically, need to have a set of key tests, and at least two passing implementations of each of these 13:47:31 Doug: then, 3 months for technical and organizational review (includes steps in there) 13:51:35 Doug: SVG has had a group "stay at home F2F" - all on IRC, can jump on the phone - if we had 2-3 of those < TPAC, we could actually get the spec done before TPAC 13:52:01 Doug: post-TPAC, concentrate on getting tests in - could be done by a few months after TPAC 13:55:05 Roll Call: 13:55:42 Doug Scheppers - W3C Staff Rep 13:55:58 Bill Hofmann - Dolby 13:56:08 Todd Gehring - Dolby 13:56:22 (focused on browser technology) 13:56:47 Joe Berkowitz - President of Noteflight 14:00:00 Chris Wilson - Google; spec editor for Web MIDI, ex-WebAudio spec editor 14:02:19 Hongchan Choi - Google - works on Blink 14:03:30 Chris Lilly - W3C Staff Rep 14:04:12 s/Lilly/Lilley/ 14:04:15 Raymond Toy - Google - works on WebAudio 14:05:10 Kawai - Yamaha (AMEI) 14:05:27 Matt Paradis - BBC (co-chair) 14:05:39 s/Noteflight/Noteflight - co-chair/ 14:06:02 Paul Adenot - Mozilla 14:06:11 colinbdclark has joined #audio 14:07:07 --------------- 14:07:41 Next item - walking through things needing reviews; 14:08:18 s/Next item/Topic:/ 14:08:46 https://github.com/WebAudio/web-audio-api/labels 14:08:50 thanks 14:10:08 https://github.com/WebAudio/web-audio-api/issues?q=is%3Aopen+is%3Aissue+milestone%3AUncommitted+sort%3Acreated-asc 14:11:15 Issue 391 - Specify nominal ranges for AudioParam 14:11:33 bug 391 - Specify nominal ranges for AudioParam 14:12:23 Assign to Paul, v1, ready for editing 14:14:37 Next bugs: biquad filter issues 14:15:50 bugs 426, 427, 428, 429, 430, 431, 432 - refer to audio cookbook, however, the implementations don't match - should we make them match, or make the spec match the implementation 14:21:01 recommendation is to make the formula match the implementation 14:23:15 mark as ready for editing; should acknowledge audio cookbook 14:23:54 bug 436 - handling attributes set to null 14:26:18 Audio EQ cookbook is at http://shepazu.github.io/Audio-EQ-Cookbook/audio-eq-cookbook.html 14:26:52 ACTION: rtoyg to add acknowledgment to Robert Bristow-Johnson in Web Audio API spec 14:26:52 Error finding 'rtoyg'. You can review and register nicknames at . 14:27:23 ACTION: raymond to add acknowledgment to Robert Bristow-Johnson in Web Audio API spec 14:27:23 Created ACTION-120 - Add acknowledgment to robert bristow-johnson in web audio api spec [on Raymond Toy - due 2015-06-08]. 14:33:40 proposed action - values will be nullable, but can only assume the value of null in their inited state, otherwise will throw InvalidStateError 14:35:15 bug 444 14:36:49 proposed: just document - should be oncomplete last 14:37:23 bug 447 14:37:47 (Difference in loudness from different implementation) 14:39:46 mozilla now aligns; but how to spec? 14:43:37 Joe: notes issue 91 specifies the behavior we want, pretty much 14:45:42 Joe: proposes re-titling to "Define built-in oscillator output more carefully" 14:47:09 Joe: output of a built-in oscillator must be equivalent to the output of an equivalent PeriodicWave with normalization. 14:49:00 bug 452 14:51:05 resolution: fix spec to cite MediaStreamAudioDestinationNote as well... 14:51:38 bug 457 - Clarify behavior when DelayNode output is connected back to delayTime AudioParam, creating a cycle 14:55:06 resolution: will mute 14:56:15 Joe - propose punt to v.Next 14:56:17 GitHubBot has joined #audio 14:56:17 [web-midi-api] cwilso pushed 1 new commit to gh-pages: https://github.com/WebAudio/web-midi-api/commit/439c238bd40470b9902a7689729bf6a3b3cf120e 14:56:17 web-midi-api/gh-pages 439c238 Chris Wilson: Fixes #149. 14:56:18 GitHubBot has left #audio 14:57:20 bug 459 - ChannelMergerNode in a cycle has unspecified behaviour 14:57:41 resolution: already fixed... 14:57:47 (per cwilso) 14:58:56 scribenick: shepazu 14:59:48 Topic: issue 460 15:00:10 cwilso: there's a error, it doesn't increase in real time 15:01:04 ... it represents the current time of the next block to be processed (the beginning of the next rendering content frame) 15:01:18 ... let's just remove the word "realtime" 15:01:46 joe: that's what #460 says 15:02:18 ... this is covered in #381 15:03:19 ... marked as ready for editing, in v1 15:03:38 Topic: issue 464 15:03:58 ChrisL: accept as invalid state error 15:04:09 Topic: issue 465 15:04:47 joe: where are we on this? the topic changes 15:05:02 joe: do we just change them from floats to doubles? 15:05:29 ... there's loss in precision going back and forth 15:06:28 rtoyg: the issue is that internally in Chrome, we use floats.... you can't evaluate it in JS, making it hard to write a test for it 15:06:48 padenot: I think we have the same behavior in FF 15:07:09 ... seems a bit brutal to just use double, but... 15:07:54 rtoyg: then implementations need to handle it better, and that could be disruptive 15:08:18 joe: WebIDL could be a double, but specs internally could use floats 15:08:48 BillHofmann: might set wrong expectations to developers 15:09:00 ... on precision 15:09:48 padenot: instead of flooring, do we round? 15:10:01 ... having the param the same as the sample makes sense to me 15:10:21 ChrisL: flip it the other way around 15:11:09 ... say the interface type is floats, but say that implementations may promote to double for improved precision of intermediate calculations 15:11:48 joe: leaving it as float makes sense ... 15:12:40 ... note to developers that if they are going to go between integer-based units, converting between sample rates and times, to use round rather than truncation 15:12:49 rtoyg: not sure that solves the issue 15:13:20 [quibbling] 15:13:47 rtoyg: when you look at in isolation, yes... but... 15:14:48 rtoyg: I'll look at it closer, but good enough for now 15:15:07 resolved 15:15:59 Topic: issue 468 15:17:01 ChrisL: this is a great case of wide and substative review 15:17:18 s/substative/substantive/ 15:17:51 joe: I think this a good issue, but it's a big change, so maybe move to v2? 15:18:12 cwilso: this is absolutely a valid use case 15:18:31 ... whether we want to implement it as doing FFT before and after, not sure 15:18:40 ... maybe we do need an FFT library 15:19:31 ... maybe someone should prototype it as demonstration 15:19:33 see http://chinpen.net/webaudiofftperf/ 15:20:01 ... that pipeline is indeed complicated 15:20:38 ... the performance test was using scriptprocessor, because it couldn't do anything else 15:21:19 .... this needs to be done in audioworkers 15:22:37 cwilso: step 1 should be implementing a native FFT library that works on arrays, not audio specific 15:23:18 ... along the lines of the Extensible Web 15:23:48 Topic: issue 469 15:24:05 joe: I understand why people want this 15:24:19 ... but it seems a bit underdefined 15:24:31 ... seems like it's about the performance of the graph 15:24:57 BillHofmann: sigh 15:25:18 .... would you spec exposing a latency? seems like it lead to a loop 15:25:30 ... maybe we should limit latency? 15:26:23 ChrisL: who are we doing this for? (discussed different use cases) 15:26:55 cwilso: I didn't mention in the bug that they are using a compressor 15:27:19 joe: doesn't make sense to talk about latency in this way if the output is different than the input 15:27:49 ... seems like a non-issue with respect to what they mention, should it be separate issues? 15:28:18 ... the root is that the original spec talked a lot about spacialization, and not enough about delay 15:31:46 ChrisL: i hadn't know there was this much latency in the graph 15:31:57 padenot: it's because of lookahead 15:32:48 shepazu: should we note this in the spec? 15:35:52 [debate about value of warning devs] 15:36:38 joe: maybe we could have proper latency reporting in v2? 15:36:56 rtoyg: not sure that latency in compressor is even computable 15:39:03 [discussion of pros, cons, and constraints] 15:39:18 hongchan has joined #audio 15:40:18 ChrisL: maybe a note to say, "when latency is important, developers should calculate this offline" 15:49:31 hongchan has joined #audio 15:58:38 BillHofmann has joined #audio 16:03:56 Topic: 470, already assigned to padenot 16:04:05 Topic: 471 16:04:22 padenot: maybe it's a equal-power vs. equalpower issue ? 16:05:31 cwilso: I'm current fixing it, it's just an editorial issue 16:05:40 Zakim has left #audio 16:05:55 [web-audio-api] cwilso pushed 1 new commit to gh-pages: https://github.com/WebAudio/web-audio-api/commit/d9286b46c4feff2bf6f4b2df3f5e414d9abc4a41 16:05:55 web-audio-api/gh-pages d9286b4 Chris Wilson: Fixes #471 16:06:26 padenot: it should not be hyphenated 16:06:32 Topic: 474 16:07:09 [web-audio-api] cwilso pushed 1 new commit to gh-pages: https://github.com/WebAudio/web-audio-api/commit/3392038eb9b207ae23f30f97baae3aab20da01f6 16:07:09 web-audio-api/gh-pages 3392038 Chris Wilson: Fix hyphenated instances of "equal-power" (part of #471) 16:08:24 [web-audio-api] cwilso pushed 1 new commit to gh-pages: https://github.com/WebAudio/web-audio-api/commit/f608f6c2c27f46c1f6865e997b8673e055caf619 16:08:24 web-audio-api/gh-pages f608f6c Chris Wilson: Further hyphenation fixes (#471) 16:11:04 joe: Resolution: AudioWorkerNode are implementing postMessage, the behaviour should follow the definition of postMessage 16:11:36 padenot: we will need input from people working on script, and proabably worker 16:12:47 Topic: 477 16:13:02 Resolution: "just fix it" 16:13:08 Topic: 478 16:14:26 Resolution: it's already fixed upstream, we can just close it 16:14:33 Topic: 480 16:16:45 cwilso: We should probably use NotSupportedError here, when setting the channel count to something bigger than the supperted range 16:16:59 Topic: 481 16:18:15 Resolution, closing it without change, see comment 16:18:28 Topic: 482 16:19:45 cwilso: the .value is never going to give you something interesting here 16:20:27 joe: is the intrinsic value a concept that is defined when the audio is connected to an AudioParam 16:20:39 cwilso: it's probably defined as "largely useless" 16:20:47 cwilso: (reading spec...) 16:21:33 joe: there is another issue that capture the fact that .value needs to be defined, does it returns the "computed value" 16:22:21 joe: reading 2.5.3, audio connected don't change .value 16:22:41 joe: neither scheduled parameters nor audio input change the .value 16:22:59 cwilso: not true, it depends how you read it 16:23:19 joe: we could say "it does not matter" 16:23:29 cwilso: it's described in the section where it says "when read...." 16:23:58 joe: if we leave the spec alone, this particular issue is resolved, but we have the issue about "intrinsic value" meaning 16:25:24 Topic: 486 16:26:47 joe: I can tell you from using this API that computing a time for when it reach 0 is hard 16:32:41 ... lengthy discussion about the fact that this is hard ... 16:33:29 shepazu_ has joined #audio 16:38:43 ChrisL has joined #audio 16:39:16 ChrisL has joined #audio 16:40:07 rtoyg_m has joined #audio 16:42:35 rtoyg_m_ has joined #audio 16:42:46 shepazu has joined #audio 16:43:54 ... more discussion ... 16:44:42 Resolution: we just point to setTargetAtTime, because this is the wrong method for the job 16:44:54 Topic: 489 16:47:18 Resolution: we leave it like that for v1, because it's a crappy API anyways, and works is gonna happen in v.next 16:47:45 in the meantime, more useful information can be put in the error console 16:51:55 cwilso: it's already specced, just close this 16:54:53 Topic: 496 16:55:11 cwilso: we can't fix that in v1. MediaRecorder is at the wrong level of abstraction for now 16:55:30 s/wrong/possibly wrong/ 16:56:08 joe: it's gonna be addressed in the future by reworking encoding and decoding APIs 16:56:20 Topic: 497 16:57:36 Resolution: This is just editorial 16:57:40 Topic 503 17:01:15 Resolution: if you cancel...(), then you should be able to go back to using .value 17:06:02 also, setting the value calls cancelScheduledValues() under the hood 17:06:20 Topic: 504 17:07:11 "just do what the comment says" 17:07:28 Topic 506: 17:12:21 "that's not webaudio's problem" 17:12:33 Topic 509: 17:12:53 resolution is to switch to a-rate. engines might perform optimizations 17:19:36 colinbdclark has joined #audio 17:50:24 hongchan has joined #audio 17:55:03 kawai has joined #audio 17:56:10 rtoyg_m has joined #audio 18:04:21 Issue https://github.com/WebAudio/web-audio-api/issues/510 18:05:37 todd has joined #audio 18:05:45 shepazu has joined #audio 18:06:06 joe: Complicated issue with some confusion from the developer 18:07:20 joe: Shows the complexity of automation methods. We have discussed exposing a way to get automation values. 18:07:57 padenot: Suggests reimplementing audioparams in JS. 18:08:41 padenot: Or function to probe automation value 18:10:27 hongchan has joined #audio 18:11:22 padenot: holdValueAtTime makes some sense to hold the value. 18:11:42 cwilso: Isn't that the same as cancelValueAtTime? 18:14:06 joe: What does cancelValueAtTime actually do? 18:14:29 cwilso: Technically doesn't work with setTargetValue. 18:14:40 all: It's completely broken. 18:16:45 cwilso: Developer basically has to implement automation to figure out what happens and adjust parameters appropriately. See DJ app. 18:19:56 hongchan has joined #audio 18:20:11 cwilso: cancelScheduledValues needs to be updated to handle setTargetValue 18:20:28 joe: What do people what really want? 18:21:11 cwilso: We should give an example of ADSR to show how to do it. But basically requires devs to compute automation. 18:21:40 joe: Close this issue since it doesn't add any new info not already covered elsewhere. 18:22:35 https://github.com/WebAudio/web-audio-api/issues/512 18:23:19 todd has joined #audio 18:24:43 padenot: Can't have everything. 18:25:36 joe: Clarify spec to hint that ABSN can be used for any length, not just short samples. 18:26:03 https://github.com/WebAudio/web-audio-api/issues/513 18:28:03 cwilso: jer's answer is correct. 18:29:16 Next issue: all dezippering issues. 18:30:49 See https://github.com/WebAudio/web-audio-api/issues/76 for primary issues 18:36:55 joe: Resolve 76 that dezippering is equivalent to setTargetAtTime, with some differences. 18:42:39 joe: Add new issue that describes how dezippering applies on initial value. 18:44:23 joe: Example: If value is 2, and node starts, no dezippering should happen, and value should start at 2. 18:46:02 rtoyg_m: What about gain nodes that don't have "start" times. 18:46:14 joe: Wouldn't it be poetic to remove dezippering again? 18:47:34 rtoyg_m: Might break things. 18:48:55 cwilso: But what would we break? Needs to be explained better. 18:49:44 hongchan has joined #audio 18:51:46 joe: Document the current state so we don't break anything and tell people how to do what they want. 18:55:45 cwilso: It happens in bad places (freq/detune on oscillator). 18:56:34 cwilso: Don't bake in current state if we want a spec to last 10 years. 18:57:16 cwilso: Document where we want it or complete remove it. Volume (gain) control is really the only place it makes sense. 19:00:47 joe: Dezippering is too complicated to actually explain. 19:01:11 shepazu: If we remove dezippering, is there any place we really need it? 19:01:19 padenot: delay time needs it. 19:01:52 see glowport, here: http://whitefiles.org/rws/r02.htm 19:02:00 s/port/pot/ 19:02:12 padenot: FF does dezippering only for delay time. 19:03:44 note - the glowpot must have been just before my time at the bbc 19:04:21 shepazu: Should we just tell people how to do smooth volume changes? 19:05:58 BillHofmann: LIkes the removal of dezippering. 19:07:42 joe: Not knowing when and how dezippering is a burden on developers. 19:08:52 cwilso: Remove everywhere including delay node. Need to tell developers what todo to make params changes smoothly. 19:09:43 shepazu: Any cost to implementations? 19:10:02 rtoyg_m, cwilso, padenot Very minor implementation cost. 19:10:24 hongchan has joined #audio 19:15:43 shepazu_ has joined #audio 19:30:38 hongchan has joined #audio 19:31:26 scribenick: ChrisL 19:32:21 joe: proposed tail-between-legs retraction of previous retraction on dezippering 19:32:36 ... needs revision on delaynode 19:32:57 (group): really? gone 19:33:17 OH" this is about how it is implemented, not how it is made" 19:34:23 rtoyg: chrome will change to take into account removal of dezippering (and magical treatment of first value) 19:34:56 todd has joined #audio 19:35:29 joe: volunteers to do the spec edit, removing auto dizippering, how to use automation, and effect on delayNode 19:35:58 BillHofmann: (reads from spec on delayNode) 19:36:26 close all the dizippering issues 19:37:04 BillHofmann: if users are not complaining, and ff does no dezippering, that means it is not an issue 19:37:42 mdjp: (points out parked PR 393 to remove dezippering, already) 19:38:42 Topic: Walk through issues marked as Need WG Review 19:38:58 joe: https://github.com/WebAudio/web-audio-api/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+WG+review%22 19:40:36 (agenda reshuffle discussion) 19:41:19 self.congratulate() - method not found 19:41:26 https://github.com/WebAudio/web-audio-api/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+WG+review%22 19:42:13 https://github.com/WebAudio/web-audio-api/issues/532 19:42:38 todd_ has joined #audio 19:43:17 padenot: starting to impl audio worker. dev knowing a lot about workers pointed out many issues 19:43:30 todd has joined #audio 19:43:50 ... compared web worker and audio worker spec. listed issues, quoting worker spec 19:44:23 padenot: conept of worker tightly coupled to OS thread 19:44:55 ... base inteerface has a ton of stuf, most of which we don't want as its on the audio thread 19:45:26 cwilso: like what? 19:45:33 padenot: fetch, promise, setInterval for example 19:45:51 cwilso: can audio processing threads fork? 19:46:07 padenot: do not want jiting on audio thread 19:47:11 ChrisL: sounds like a base class of an execution context 19:47:23 padenot: yes, but that is a big project 19:48:04 cwilso: yes, audio workers in a shared thread, not a high startup performance cpost or memory cost. 19:48:27 ... long lived, file transfers is an issue 19:48:46 padenot: postMessage with transferrable 19:49:20 cwilso: how to have code sitting that knows to do this 19:49:47 padenot: no traditional event loop. execute between blocks 19:50:29 padenot: queue that is emptied at th beginning of each block 19:51:02 cwilso: avoid setTimeout etc. postMessage requires an event loop 19:51:57 cwilso: architectual layering here is a proble (as roc pointed out long ago) 19:52:46 ... lack input ad output device access. workers we tried to build on top in a web worker with other stuff pushed into it. 19:53:07 ... would not lke to see a totally different beast for that 19:53:27 cwilso: stilll issue of jiting code 19:53:39 shepazu has joined #audio 19:54:18 padenot: a few blockers here 19:54:53 joe: expensive things clearly identified, like setup costs 19:55:09 todd has joined #audio 19:55:13 hongchan has joined #audio 19:55:31 ... assume yyou make a global factory with the expensive startup. node creation and running is light 19:55:56 ... lack a way for worker script to indicate setup complete, resady to go 19:56:00 padenot: promises 19:56:23 (do we, don't we) 19:56:34 cwilso: promise inside global scope 19:57:03 joe: script cant do stuff asynchronously 19:58:08 cwilso: method called to get a promise that resolves when it is ready 19:58:55 joe: lack a mechanism for deferring own return 19:59:43 cwilso: (deja vu on complexity analysis) 20:00:28 cwilso: design not done yet 20:00:59 cwilso: can take feedback to TAG, see what they think 20:01:59 padenot: beyond scope of webaudio. similar to graphics synced on vsync 20:02:21 ... video workers 20:03:14 BillHofmann: sounds like a base class indeed. do we know exactly what we are asking? 20:04:20 padenot: to multiplex on the same thread, this stops it being as lightweight as 20:04:40 joe: needs to not be tied to a single thread 20:05:12 joe: running in a same thread is not visible 20:05:30 padenot: deterministic 20:06:17 joe: doset up outside then handoff the thread 20:06:47 cwilso: concerned about hit from new audio worker 20:07:33 BillHofmann: feel like nodeing a new script node that triggers computation 20:07:50 cwilso: eval jit is in thread 20:08:04 padenot: how to spec it is the main issue 20:08:20 s/eval just is in thread/eval jit MAY be in thread?/ 20:09:01 padenot: so we need to talk to others 20:09:37 padenot: setTimeOut? 20:09:54 cwilso: needs to look at current time 20:10:21 ... needs postMessage 20:10:41 cwilso: (fft library) 20:11:01 joe: who will take this further 20:11:17 cwilso: happy to continue 20:11:47 padenot: set of requirements is non-traditional 20:12:44 https://github.com/WebAudio/web-audio-api/issues/445 20:13:27 joe: getUserMedia is input only, not io 20:13:37 https://github.com/WebAudio/web-audio-api/issues/445 20:14:06 joe: returns a device ID 20:14:23 (points to spec) 20:15:33 joe: filtering depends on anti-fingerrinting issues 20:15:57 ... also no channelcount, hedphones etc 20:16:48 BillHofmann: they are clearly ommitting, not forgetting 20:17:22 joe: permissionsare not clear, do get a decent default 20:18:11 shepazu: requiring permissions is fine 20:18:42 joe: ca get an array f thsese, inc channel cont 20:19:04 (several) its an opaque ID 20:19:45 joe: need a few more attributes, to count 20:20:22 joe: if access has been granted, they are ok with adding extra info 20:20:50 joe: need access to at leasdty one device before getting a list 20:21:20 joe: (example, asking for headphoes) 20:22:12 mdjp: connecting to default device 20:22:27 BillHofmann: persistent means 20:22:40 shepazu: session persistent 20:23:52 BillHofmann: makes multiple devices worthless 20:24:42 (catch 22 enumeration). constraint structure 20:25:00 ... is missing for audio 20:25:46 (reads persistent ids section) 20:26:37 shepazu: needs a clear, public blog post to establish the use cases 20:27:56 joe: their LC is underway 20:29:01 shepazu: accessibility requirement to access one of several audio devices used for different purposes or with different characteristics 20:30:50 shepazu: point out the input and output assymmetry 20:31:44 padenot: people are doing all sorts of stuff with webrtc if you give them access 20:36:18 BillHofmann: will help on the blog post aspect 20:41:19 hongchan has joined #audio 20:42:33 https://github.com/WebAudio/web-audio-api/issues/419 20:44:25 joe: current tme does not change in realtime, its an advance time on eext audio quantum 20:44:48 ... want to relate it to a performance, change dom, visual change and be synced to audio 20:44:57 .. need mapping functions 20:45:12 cwilso: its estimation, not strict mapping 20:45:35 ... driven by separate crystal so changes over time wrt another thread 20:45:46 padenot: drift 20:46:36 cwilso: wanted a window performance now related to current time in audio context 20:46:52 ... a pair of times, one in each system 20:47:03 joe: maybe safer, with pause and resume 20:47:20 so do current time only 20:48:08 cwilso: asking with window performance time maps to a given audio thread time 20:49:24 padenot: (bluetooth can add huge drift) 20:49:48 joe: add new audio context attribute for current time, and dom timestamp corresponding to current time 20:49:58 ... so we can do the math and make estimates 20:50:56 cwilso: need to smooth jitter to estimate latency 20:52:38 simplify issue 12 by removing the dom timestamp, and point the oter isue at issue 12 20:53:47 padenot: intervals reasonably safe 20:55:08 (discussion of jitter reduction) 20:55:57 cwilso: like a getter not an attribute 20:56:01 joe: readonly 20:56:25 padenot: another absolute time, not a latency quantity. derive it 20:56:52 padenot: good enough synchronization 20:58:59 padenot: normally, you get a consistent number when asking for time. good for start methods, get a consistent result when starting a lot of them 20:59:07 this would be different, less stable 21:01:03 padenot: mostly needed for audio and video sync. playhead offset, needs cross thread calculation. a latency that evolves onthe main thread is not easy to use 21:02:19 joe: so impl difficulties to advance in real time 21:03:51 cwilso: chris had this in a build to smooth jitter but did not expose it 21:04:22 hongchan has joined #audio 21:05:31 joe: how di i get the dom hires timestamp? 21:05:38 padenot: add the latency 21:07:03 padenot: even with bluetooth and external usb soundcards you get a decent number 21:07:29 joe: 250ms latency common on android 21:09:05 https://github.com/WebAudio/web-audio-api/issues/340 updated 21:10:34 kawai: we can use thys to sync with MIDI host? 21:11:02 cwilso: yes. but currentTime does not advance uniformly. WebMIDI uses performance time 21:11:10 s/thys/this/ 21:12:47 https://github.com/WebAudio/web-audio-api/issues/335 21:12:58 progressCallback in decodeAudioData #335 21:13:29 joe: propose a per-decode object rather than adding more stuff to promises 21:14:58 cwilso: this is a crappy api lets not fix it but instead add a better one later. it has an update as least, and is light 21:15:13 ... in the long run, avoid it 21:15:47 jernoble: Ick! 21:16:26 padenot: byte buffer to audio/video is complex. so one member that says appendData, wemiss something 21:17:05 ... (wonders about resampling, concludes it is fine) 21:18:20 joe: progress event seems like a medusa. dispatch off the audio context (see the thread) 21:19:08 joe: the progress event will need more machinery 21:19:34 padenot: was full fledged deconing and encoding api, its needed, don't want a short term hack 21:20:05 padenot: want a reall full featured api in v.2 21:20:35 s/decon/decod/ 21:20:56 cwilso: get a good overall progress with some smoothing 21:21:20 padenot: not clear we need a stopgap. its fine for v.1 21:21:35 cwilso: decodes lengthy on mobile, is the issue 21:22:06 (infinite spinners vs. progress bars, UX for the win) 21:22:50 joe: agree on defer and do much better one on v2 21:22:57 padenot: better layering too 21:24:31 cwilso: can live with 21:25:27 padenot: can hook to a completion promise? 21:25:50 cwilso: no, fetch fires progress events to itself 21:26:33 cwilso: give it an object, and it fires progress events to it 21:26:49 cwilso: needs a new event target 21:28:07 joe: creating ab object that will patch events? 21:28:19 cwilso: its a target, not a dispatcher 21:28:27 joe: how do you make one? 21:28:50 cwilso: lots of things are event targets (gives long list) 21:29:44 joe: using callbacks all over this, do that here too? was good suggestion but 21:30:44 cwilso: lots of ways to do this 21:31:06 rrsagent, make minutes 21:31:06 I have made the request to generate http://www.w3.org/2015/06/01-audio-minutes.html ChrisL 21:41:37 ChrisLilley has joined #audio 01:01:26 hongchan has joined #audio 01:03:42 hongchan has joined #audio 01:17:32 shepazu has joined #audio 01:18:07 kawai has joined #audio 01:21:35 shepazu has joined #audio 04:28:15 rtoyg_m has joined #audio