Index: third_party/WebKit/LayoutTests/webaudio/Oscillator/start-sampling.html |
diff --git a/third_party/WebKit/LayoutTests/webaudio/Oscillator/start-sampling.html b/third_party/WebKit/LayoutTests/webaudio/Oscillator/start-sampling.html |
index 4d2c31a969b7bcf94aa8cc334fe6113e72b1f3ab..59b6994d5a7ad0c87f8d346ba9e5cf1bcf836956 100644 |
--- a/third_party/WebKit/LayoutTests/webaudio/Oscillator/start-sampling.html |
+++ b/third_party/WebKit/LayoutTests/webaudio/Oscillator/start-sampling.html |
@@ -1,22 +1,23 @@ |
-<!doctype html> |
+<!DOCTYPE html> |
<html> |
<head> |
- <title>Test Sampling of Oscillator Start Times</title> |
+ <title> |
+ Test Sampling of Oscillator Start Times |
+ </title> |
<script src="../../resources/testharness.js"></script> |
<script src="../../resources/testharnessreport.js"></script> |
<script src="../resources/audit-util.js"></script> |
<script src="../resources/audit.js"></script> |
</head> |
- |
<body> |
- <script> |
+ <script id="layout-test-code"> |
// Experimentation indicates that this sample rate with a 440 Hz |
// oscillator makes for a large difference in the difference signal if the |
// oscillator start isn't sampled correctly. |
let defaultSampleRate = 24000; |
let renderDuration = 1; |
let renderFrames = renderDuration * defaultSampleRate; |
- |
+ |
let audit = Audit.createTaskRunner(); |
audit.define( |
@@ -82,13 +83,13 @@ |
function testStartSampling(should, startFrame, thresholds) { |
// Start the oscillator in the middle of a sample frame and compare |
// against the theoretical result. |
- let context = new OfflineAudioContext(1, renderFrames, |
- defaultSampleRate); |
+ let context = |
+ new OfflineAudioContext(1, renderFrames, defaultSampleRate); |
let osc = context.createOscillator(); |
osc.connect(context.destination); |
osc.start(startFrame / context.sampleRate); |
- return context.startRendering().then(function (result) { |
+ return context.startRendering().then(function(result) { |
let actual = result.getChannelData(0); |
let expected = new Array(actual.length); |
expected.fill(0); |
@@ -97,21 +98,20 @@ |
// |
// sin(2*pi*f*(t-t0)) |
// |
- // where f is the oscillator frequency and t0 is the start time. |
+ // where f is the oscillator frequency and t0 is the start time. |
let actualStart = Math.ceil(startFrame); |
let omega = 2 * Math.PI * osc.frequency.value / context.sampleRate; |
for (let k = actualStart; k < actual.length; ++k) { |
expected[k] = Math.sin(omega * (k - startFrame)); |
} |
- let prefix = "Oscillator.start(" + startFrame + " frames)"; |
- should(actual, prefix) |
- .beCloseToArray(expected, { |
- absoluteThreshold: thresholds.error |
- }); |
+ let prefix = 'Oscillator.start(' + startFrame + ' frames)'; |
+ should(actual, prefix).beCloseToArray(expected, { |
+ absoluteThreshold: thresholds.error |
+ }); |
let snr = 10 * Math.log10(computeSNR(actual, expected)); |
- should(snr, prefix + ": SNR (dB)") |
- .beGreaterThanOrEqualTo(thresholds.snrThreshold); |
+ should(snr, prefix + ': SNR (dB)') |
+ .beGreaterThanOrEqualTo(thresholds.snrThreshold); |
}) |
} |
@@ -143,8 +143,7 @@ |
let osc2 = context.createOscillator(); |
// Creates a cosine wave. |
let wave = context.createPeriodicWave( |
- Float32Array.from([0, 1]), |
- Float32Array.from([0, 0])); |
+ Float32Array.from([0, 1]), Float32Array.from([0, 0])); |
osc2.setPeriodicWave(wave); |
osc2.connect(merger, 0, 1); |
@@ -158,7 +157,7 @@ |
osc.start(); |
osc2.start(quarterWaveTime); |
- return context.startRendering().then(function (result) { |
+ return context.startRendering().then(function(result) { |
// Channel 0 = diff |
// Channel 1 = osc with start |
// Channel 2 = osc with gain |
@@ -170,13 +169,13 @@ |
let oscGain = result.getChannelData(2); |
let snr = 10 * Math.log10(computeSNR(oscStart, oscGain)); |
- let prefix = "Sample rate " + sampleRate + ": Delayed cosine oscillator"; |
- should(oscStart, prefix) |
- .beCloseToArray(oscGain, { |
- absoluteThreshold: thresholds.error |
- }); |
- should(snr, prefix + ": SNR (dB)") |
- .beGreaterThanOrEqualTo(thresholds.snrThreshold); |
+ let prefix = |
+ 'Sample rate ' + sampleRate + ': Delayed cosine oscillator'; |
+ should(oscStart, prefix).beCloseToArray(oscGain, { |
+ absoluteThreshold: thresholds.error |
+ }); |
+ should(snr, prefix + ': SNR (dB)') |
+ .beGreaterThanOrEqualTo(thresholds.snrThreshold); |
}); |
} |