Skip to content

Commit e799708

Browse files
committed
Use for loop instead of filter (20x faster)
1 parent b699e76 commit e799708

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/containers/sound-editor.jsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -362,9 +362,11 @@ class SoundEditor extends React.Component {
362362
}
363363
backupDownSampler (buffer, newRate) {
364364
log.warn(`Using backup down sampler for conversion from ${buffer.sampleRate} to ${newRate}`);
365-
const newSamples = buffer.samples.filter((element, index) =>
366-
index % 2 === 0
367-
);
365+
const newLength = Math.floor(buffer.samples.length / 2);
366+
const newSamples = new Float32Array(newLength);
367+
for (let i = 0; i < newLength; i++) {
368+
newSamples[i] = buffer.samples[i * 2];
369+
}
368370
return {
369371
samples: newSamples,
370372
sampleRate: newRate

0 commit comments

Comments
 (0)