WPT
wpt / webaudio / the-audio-api / the-audiobuffersourcenode-interface / note-grain-on-timing.html
Spec: Web Audio API ↗
Runs: Chrome 155.0.8041.0 (wpt@4a01b83e3, 2026-09-04) | Firefox 157.0a1 (wpt@e7122b73f, 2026-09-04) | Safari 251 preview (wpt@2c385f65e, 2026-09-04) | Ladybird 1.0-70fb3 (wpt@4a01b83e3, 2026-09-04) | Servo Servo 0.6 (wpt@2c385f65e, 2026-09-04) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 111/111 | 111/111 | 111/111 | 111/111 | 111/111 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| # AUDIT TASK RUNNER STARTED. | PASS | PASS | PASS | PASS | PASS | — |
| Executing "Test timing of noteGrainOn" | PASS | PASS | PASS | PASS | PASS | — |
| Audit report | PASS | PASS | PASS | PASS | PASS | — |
| > [Test timing of noteGrainOn] | PASS | PASS | PASS | PASS | PASS | — |
| Found all grain starts and ends is true. | PASS | PASS | PASS | PASS | PASS | — |
| Number of start frames is equal to 100. | PASS | PASS | PASS | PASS | PASS | — |
| Number of end frames is equal to 100. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 0 boundary is identical to the array [0,327]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 1 boundary is identical to the array [490,817]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 2 boundary is identical to the array [980,1307]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 3 boundary is identical to the array [1470,1797]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 4 boundary is identical to the array [1960,2287]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 5 boundary is identical to the array [2450,2777]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 6 boundary is identical to the array [2940,3267]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 7 boundary is identical to the array [3430,3757]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 8 boundary is identical to the array [3920,4247]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 9 boundary is identical to the array [4410,4737]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 10 boundary is identical to the array [4900,5227]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 11 boundary is identical to the array [5390,5717]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 12 boundary is identical to the array [5880,6207]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 13 boundary is identical to the array [6370,6697]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 14 boundary is identical to the array [6860,7187]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 15 boundary is identical to the array [7350,7677]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 16 boundary is identical to the array [7840,8167]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 17 boundary is identical to the array [8330,8657]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 18 boundary is identical to the array [8820,9147]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 19 boundary is identical to the array [9310,9637]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 20 boundary is identical to the array [9800,10127]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 21 boundary is identical to the array [10290,10617]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 22 boundary is identical to the array [10780,11107]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 23 boundary is identical to the array [11270,11597]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 24 boundary is identical to the array [11760,12087]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 25 boundary is identical to the array [12250,12577]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 26 boundary is identical to the array [12740,13067]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 27 boundary is identical to the array [13230,13557]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 28 boundary is identical to the array [13720,14047]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 29 boundary is identical to the array [14210,14537]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 30 boundary is identical to the array [14700,15027]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 31 boundary is identical to the array [15190,15517]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 32 boundary is identical to the array [15680,16007]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 33 boundary is identical to the array [16170,16497]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 34 boundary is identical to the array [16660,16987]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 35 boundary is identical to the array [17150,17477]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 36 boundary is identical to the array [17640,17967]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 37 boundary is identical to the array [18130,18457]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 38 boundary is identical to the array [18620,18947]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 39 boundary is identical to the array [19110,19437]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 40 boundary is identical to the array [19600,19927]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 41 boundary is identical to the array [20090,20417]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 42 boundary is identical to the array [20580,20907]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 43 boundary is identical to the array [21070,21397]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 44 boundary is identical to the array [21560,21887]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 45 boundary is identical to the array [22050,22377]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 46 boundary is identical to the array [22540,22867]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 47 boundary is identical to the array [23030,23357]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 48 boundary is identical to the array [23520,23847]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 49 boundary is identical to the array [24010,24337]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 50 boundary is identical to the array [24500,24827]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 51 boundary is identical to the array [24990,25317]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 52 boundary is identical to the array [25480,25807]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 53 boundary is identical to the array [25970,26297]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 54 boundary is identical to the array [26460,26787]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 55 boundary is identical to the array [26950,27277]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 56 boundary is identical to the array [27440,27767]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 57 boundary is identical to the array [27930,28257]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 58 boundary is identical to the array [28420,28747]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 59 boundary is identical to the array [28910,29237]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 60 boundary is identical to the array [29400,29727]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 61 boundary is identical to the array [29890,30217]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 62 boundary is identical to the array [30380,30707]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 63 boundary is identical to the array [30870,31197]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 64 boundary is identical to the array [31360,31687]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 65 boundary is identical to the array [31850,32177]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 66 boundary is identical to the array [32340,32667]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 67 boundary is identical to the array [32830,33157]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 68 boundary is identical to the array [33320,33647]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 69 boundary is identical to the array [33810,34137]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 70 boundary is identical to the array [34300,34627]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 71 boundary is identical to the array [34790,35117]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 72 boundary is identical to the array [35280,35607]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 73 boundary is identical to the array [35770,36097]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 74 boundary is identical to the array [36260,36587]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 75 boundary is identical to the array [36750,37077]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 76 boundary is identical to the array [37240,37567]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 77 boundary is identical to the array [37730,38057]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 78 boundary is identical to the array [38220,38547]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 79 boundary is identical to the array [38710,39037]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 80 boundary is identical to the array [39200,39527]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 81 boundary is identical to the array [39690,40017]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 82 boundary is identical to the array [40180,40507]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 83 boundary is identical to the array [40670,40997]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 84 boundary is identical to the array [41160,41487]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 85 boundary is identical to the array [41650,41977]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 86 boundary is identical to the array [42140,42467]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 87 boundary is identical to the array [42630,42957]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 88 boundary is identical to the array [43120,43447]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 89 boundary is identical to the array [43610,43937]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 90 boundary is identical to the array [44100,44427]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 91 boundary is identical to the array [44590,44917]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 92 boundary is identical to the array [45080,45407]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 93 boundary is identical to the array [45570,45897]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 94 boundary is identical to the array [46060,46387]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 95 boundary is identical to the array [46550,46877]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 96 boundary is identical to the array [47040,47367]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 97 boundary is identical to the array [47530,47857]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 98 boundary is identical to the array [48020,48347]. | PASS | PASS | PASS | PASS | PASS | — |
| Pulse 99 boundary is identical to the array [48510,48837]. | PASS | PASS | PASS | PASS | PASS | — |
| Number of grains that started at the correct time is equal to 100. | PASS | PASS | PASS | PASS | PASS | — |
| Number of grains that ended at the correct time is equal to 100. | PASS | PASS | PASS | PASS | PASS | — |
| < [Test timing of noteGrainOn] All assertions passed. (total 105 assertions) | PASS | PASS | PASS | PASS | PASS | — |
| # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. | PASS | PASS | PASS | PASS | PASS | — |