Mercurial > hg > piper-vamp-js
comparison perf-test.js @ 109:9d20eb251fbc
Update again to latest plugin-terminology-free schema
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Thu, 06 Oct 2016 14:32:58 +0100 |
parents | 4845fbb1a516 |
children | 90bf9d9f9c95 |
comparison
equal
deleted
inserted
replaced
108:19d4ac80cb5a | 109:9d20eb251fbc |
---|---|
50 frames.set(request.processInput.inputBuffers[i]); | 50 frames.set(request.processInput.inputBuffers[i]); |
51 buffers[i] = framesPtr; | 51 buffers[i] = framesPtr; |
52 } | 52 } |
53 | 53 |
54 const responseJson = vampipeProcessRaw( | 54 const responseJson = vampipeProcessRaw( |
55 request.pluginHandle, | 55 request.handle, |
56 buffersPtr, | 56 buffersPtr, |
57 request.processInput.timestamp.s, | 57 request.processInput.timestamp.s, |
58 request.processInput.timestamp.n); | 58 request.processInput.timestamp.n); |
59 | 59 |
60 for (let i = 0; i < nChannels; ++i) { | 60 for (let i = 0; i < nChannels; ++i) { |
134 return wfeatures.map(convertWireFeature); | 134 return wfeatures.map(convertWireFeature); |
135 } | 135 } |
136 | 136 |
137 function responseToFeatureSet(response) { | 137 function responseToFeatureSet(response) { |
138 const features = new Map(); | 138 const features = new Map(); |
139 const processResponse = response.content; | 139 const processResponse = response.result; |
140 const wireFeatures = processResponse.features; | 140 const wireFeatures = processResponse.features; |
141 Object.keys(wireFeatures).forEach(key => { | 141 Object.keys(wireFeatures).forEach(key => { |
142 return features.set(key, convertWireFeatureList(wireFeatures[key])); | 142 return features.set(key, convertWireFeatureList(wireFeatures[key])); |
143 }); | 143 }); |
144 return features; | 144 return features; |
147 function test() { | 147 function test() { |
148 | 148 |
149 const rate = 44100; | 149 const rate = 44100; |
150 | 150 |
151 comment("Loading zero crossings plugin..."); | 151 comment("Loading zero crossings plugin..."); |
152 let result = request('{"type":"load","content": {"pluginKey":"vamp-example-plugins:zerocrossing","inputSampleRate":' + rate + ',"adapterFlags":["AdaptAllSafe"]}}'); | 152 let result = request('{"method":"load","params": {"key":"vamp-example-plugins:zerocrossing","inputSampleRate":' + rate + ',"adapterFlags":["AdaptAllSafe"]}}'); |
153 | 153 |
154 const blockSize = 1024; | 154 const blockSize = 1024; |
155 | 155 |
156 result = request('{"type":"configure","content":{"pluginHandle":1,"configuration":{"blockSize": ' + blockSize + ', "channelCount": 1, "stepSize": ' + blockSize + '}}}'); | 156 result = request('{"method":"configure","params":{"handle":1,"configuration":{"blockSize": ' + blockSize + ', "channelCount": 1, "stepSize": ' + blockSize + '}}}'); |
157 | 157 |
158 const nblocks = 1000; | 158 const nblocks = 1000; |
159 | 159 |
160 const makeBlock = (n => { | 160 const makeBlock = (n => { |
161 return { | 161 return { |
176 let start = (new Date()).getTime(); | 176 let start = (new Date()).getTime(); |
177 comment("Start at " + start); | 177 comment("Start at " + start); |
178 | 178 |
179 for (let i = 0; i < nblocks; ++i) { | 179 for (let i = 0; i < nblocks; ++i) { |
180 result = processRaw({ | 180 result = processRaw({ |
181 "pluginHandle": 1, | 181 "handle": 1, |
182 "processInput": blocks[i] | 182 "processInput": blocks[i] |
183 }); | 183 }); |
184 let features = responseToFeatureSet(result); | 184 let features = responseToFeatureSet(result); |
185 let count = features.get("counts")[0].featureValues[0]; | 185 let count = features.get("counts")[0].featureValues[0]; |
186 total += count; | 186 total += count; |
198 start = (new Date()).getTime(); | 198 start = (new Date()).getTime(); |
199 comment("Start at " + start); | 199 comment("Start at " + start); |
200 | 200 |
201 for (let i = 0; i < nblocks; ++i) { | 201 for (let i = 0; i < nblocks; ++i) { |
202 result = processRaw({ | 202 result = processRaw({ |
203 "pluginHandle": 1, | 203 "handle": 1, |
204 "processInput": blocks[i] | 204 "processInput": blocks[i] |
205 }); | 205 }); |
206 let features = responseToFeatureSet(result); | 206 let features = responseToFeatureSet(result); |
207 let count = features.get("counts")[0].featureValues[0]; | 207 let count = features.get("counts")[0].featureValues[0]; |
208 total += count; | 208 total += count; |
212 comment("Finish at " + finish + " for a time of " + (finish - start) + " ms"); | 212 comment("Finish at " + finish + " for a time of " + (finish - start) + " ms"); |
213 | 213 |
214 comment("Total = " + total); | 214 comment("Total = " + total); |
215 | 215 |
216 comment("Cleaning up the plugin and getting any remaining features..."); | 216 comment("Cleaning up the plugin and getting any remaining features..."); |
217 result = request('{"type":"finish","content":{"pluginHandle":1}}'); | 217 result = request('{"method":"finish","params":{"handle":1}}'); |
218 } | 218 } |
219 | 219 |
220 window.onload = function() { | 220 window.onload = function() { |
221 test(); | 221 test(); |
222 } | 222 } |