| // Create an audio graph on an offline context that consists of a |
| // constant source and two gain nodes. One of the nodes is the node te |
| // be tested and the other is the reference node. The output from the |
| // test node is in channel 0 of the offline context; the reference |
| // node is in channel 1. |
| // |
| // Returns a dictionary with the context, source node, the test node, |
| // and the reference node. |
| function setupRetrospectiveGraph() { |
| // Use a sample rate that is a power of two to eliminate round-off |
| // in computing the currentTime. |
| let context = new OfflineAudioContext(2, 16384, 16384); |
| let source = new ConstantSourceNode(context); |
| |
| let test = new GainNode(context); |
| let reference = new GainNode(context); |
| |
| source.connect(test); |
| source.connect(reference); |
| |
| let merger = new ChannelMergerNode( |
| context, {numberOfInputs: context.destination.channelCount}); |
| test.connect(merger, 0, 0); |
| reference.connect(merger, 0, 1); |
| |
| merger.connect(context.destination); |
| |
| return {context: context, source: source, test: test, reference: reference}; |
| } |