cleanup some divides for manual sound resampling

This commit is contained in:
Stephen Birarda 2015-03-10 13:02:10 -07:00
parent dc0ad09953
commit 271a4e2cae

View file

@ -118,18 +118,17 @@ void Sound::downSample(const QByteArray& rawAudioByteArray) {
destinationSamples[i / 2] = sourceSamples[i]; destinationSamples[i / 2] = sourceSamples[i];
destinationSamples[(i / 2) + 1] = sourceSamples[i + 1]; destinationSamples[(i / 2) + 1] = sourceSamples[i + 1];
} else { } else {
destinationSamples[i / 2] = (sourceSamples[i] / 2) + (sourceSamples[i + 2] / 2); destinationSamples[i / 2] = (sourceSamples[i] + sourceSamples[i + 2]) / 2;
destinationSamples[(i / 2) + 1] = (sourceSamples[i + 1] / 2) + (sourceSamples[i + 3] / 2); destinationSamples[(i / 2) + 1] = (sourceSamples[i + 1] + sourceSamples[i + 3]) / 2;
} }
} }
} else { } else {
for (int i = 1; i < numSourceSamples; i += 2) { for (int i = 1; i < numSourceSamples; i += 2) {
if (i + 1 >= numSourceSamples) { if (i + 1 >= numSourceSamples) {
destinationSamples[(i - 1) / 2] = (sourceSamples[i - 1] / 2) + (sourceSamples[i] / 2); destinationSamples[(i - 1) / 2] = (sourceSamples[i - 1] + sourceSamples[i]) / 2;
} else { } else {
destinationSamples[(i - 1) / 2] = (sourceSamples[i - 1] / 4) + (sourceSamples[i] / 2) destinationSamples[(i - 1) / 2] = ((sourceSamples[i - 1] + sourceSamples[i + 1]) / 4) + (sourceSamples[i] / 2);
+ (sourceSamples[i + 1] / 4);
} }
} }
} }